journal
all all entries rss SoML excited dreams runes YRUU ultimate KTRU skate sleepy nihongo
Rob is 20,117 days old today.
prev day next day printable version

Entries this day: Ami Dekita Emailing_AaronE Sweet_tweak Yurika_lesson free_hugs

Ami

6:22pm JST Thursday 15 November 2007 (day 13749)

I had a bit of a brain freakout with Ami today. Last night we had a deep conversation (I wrote about it, right?), and this morning Ami texted me to see if she could call me. I texted her back and told her what time my train would arrive and she called me soon thereafter.

First mistake: the train was a bit late, so when she called, I answered the phone though I was still on the train, and I mucked up my chance to count the chirps that signal THE END OF THE LINE. Minimum I've counted is 15. Maximum is 21. I think today broke the max, but I can't be sure because I answered the phone as they were beeping, and lost count.

Second mistake: Ami is not Hitomi. But when Ami was like, " [ silence ], so uh, [ silence ], are you okay?" My brain totally flipped back to the agonizing conversations with Hitomi that were something like, "yes, I was fine until you started asking me," etc until it devolved to "please god, can we not talk about this on the phone?" and spiraled and burned to "I hate you; never call me again!"

First good point:

I knew what was happening in my brain, but I couldn't control it past, "I need to let you go." Fortunately, Ami let me go.

Second good point:

When I called Ami back a few minutes later to attempt an apology, even though my brain broke again, I was able to firmly say, "let's not talk about this on the phone," and even though she was crying, "not talk about it tonight (planned already not to see her tonight (we got shizzle to do!)), but we'll talk about it Friday."

And that seems to be perfect. No contact today, but I'm about to call her and thank her.

Zipping off to meet Yurika for our first English lesson in a long time.

permalink

Dekita

11:56am JST Thursday 15 November 2007 (day 13749)

Aight, I've added the N, SUM, and AVG values to a different page, and shrunk down the template of the page to a more digestable size (makes better use of screen real estate).

Oh, and I moved the code from the wrong file to the correct file, with appropriate links across the files.

Now I wonder if I can remember what the next step was in this little project.

permalink

Emailing AaronE

6:20pm JST Thursday 15 November 2007 (day 13749)

HI Aaron

Thanks for your hard work on the smugmug exporter!

I looked for a FAQ on your site, but couldn't find one.

If you don't mind, I've got a few questions that I've listed in order
of importance to me.  ;-)

1) can I upload pics such that the image title ends up on Smugmug?
The comments map to Smugmug's Description, but I don't see the iPhoto
titles anywhere.

2) How can I tell what version I've got installed?  I just downloaded
your October release, and in iPhoto, it works as suggested (shortcut
keys, etc), but I wonder if there's a way to check the actual version
to be sure.

3) In what language is Smugmug Exporter written?  I can probably
search online to figure it out, but I could easily come up with the
wrong answer, so I'm asking you.

4) do you think a code change to make #1 work above would be very
difficult?  I checked out the code from SVN, scanned through it a bit,
and was like, "I should probably email him first," before I try to
learn a new language figure out how to compile and install it.

If you're interested, I wrote an extension to embed Smugmug pics to
MedaiWiki wikis.
http://robnugen.com/wiki/index.php?title=Smugmug_extension_for_MediaWiki

  Thanks!
   - Rob

--
The love that you give is the pain that you release.

7:19pm JST

Three hours later, his reply:

Hi Rob,
  I'll post a FAQ on my site soon to answer these questions for others.

For now, see my responses below:

> 1) can I upload pics such that the image title ends up on Smugmug?
> The comments map to Smugmug's Description, but I don't see the iPhoto
> titles anywhere.

 my understanding is that the smugmug api for uploading pictures does
not support titles for pictures.  Pictures can have file names and
descriptions.  I *could* set the filename of an image to the iPhoto
title for that image.  I may add an option for this in the next release.

> 2) How can I tell what version I've got installed?  I just downloaded
> your October release, and in iPhoto, it works as suggested (shortcut
> keys, etc), but I wonder if there's a way to check the actual version
> to be sure.

 This is more painful than it should be.  I'll make the version of
the plugin displayed in the user interface for the next release.

> 3) In what language is Smugmug Exporter written?  I can probably
> search online to figure it out, but I could easily come up with the
> wrong answer, so I'm asking you.

 Objective-C

> 4) do you think a code change to make #1 work above would be very
> difficult?  I checked out the code from SVN, scanned through it a bit,
> and was like, "I should probably email him first," before I try to
> learn a new language figure out how to compile and install it.

 it should be as simple as changing the following line in SMRequest.m
(uploadImageData:) from:
 CFHTTPMessageSetHeaderFieldValue(myRequest, CFSTR("X-Smug-
FileName"), (CFStringRef)[self cleanNewlines:filename]);
to
 CFHTTPMessageSetHeaderFieldValue(myRequest, CFSTR("X-Smug-
FileName"), (CFStringRef)[self cleanNewlines:title]);

hope this helps.

thanks!
-ae
permalink

Sweet tweak

6:12pm JST Thursday 15 November 2007 (day 13749)

Hells yeah. After procrastinating / reading mySQL toots about joins and temporary tables, I felt I had enough knowledge to tweak the following SELECT:

    SELECT
        um.*
        ,us.url
        ,us.site_name
        ,cl.category_name
    FROM
        (
            SELECT
                um.uid ,um.name ,um.nickname ,um.pc_email ,um.sex ,um.prefecture_code
                ,um.regist_date ,um.apply_cnt ,um.deny_cnt ,um.consent_cnt ,um.request_cnt
                ,um.no_pay_cnt ,um.pay_cnt ,um.max_consent_date ,um.status
            FROM 
                (SELECT 
                    um.*
                    ,count(up.status) as apply_cnt
                    ,count(case when ur.status = 2 then 1 else  null end) as deny_cnt
                    ,count(case when ur.status = 3 then 1 else  null end) as consent_cnt
                    ,count(case when ur.status = 4 then 1 else  null end) as request_cnt
                    ,count(case when ur.status = 5 then 1 else  null end) as no_pay_cnt
                    ,count(case when ur.status = 6 then 1 else  null end) as pay_cnt
                    ,max(ur.consent_date) as max_consent_date
                FROM
                    User_Master as um 
                    left join User_Publish as up on um.uid = up.uid
                    left join User_Remun as ur   on up.publish_id = ur.publish_id
                GROUP BY 
                    um.uid
                )  as um
                left join User_Site as us on um.uid = us.uid and us.status <> 9
                left join Category_List as cl on us.caid = cl.caid
                {$this->_where_sql}
            GROUP BY
                um.uid
            ORDER BY
                um.uid DESC
            {$limit_sql}
        ) as um
        left join User_Site as us on um.uid = us.uid and us.status <> 9
        left join Category_List as cl on us.caid = cl.caid
        {$this->_order_by_string}

Cause when I first looked at what I had to grok, I was like, "eep!"

But, after the toots and a break, emailing AaronE, and shtuff, I looked at the code and realized it was actually an easy change:

    SELECT
        um.*
        ,us.url
        ,us.site_name
        ,cl.category_name
    FROM
        (
            SELECT
                um.uid ,um.name ,um.nickname ,um.pc_email ,um.sex ,um.prefecture_code
                ,um.regist_date ,um.apply_cnt ,um.deny_cnt ,um.consent_cnt ,um.request_cnt
                ,um.no_pay_cnt ,um.pay_cnt ,um.max_consent_date ,um.status
            FROM 
                (SELECT 
                    um.*
                    ,count(up.status) as apply_cnt
                    ,sum(up.mission_score) as mission_score_total
                    ,count(case when ur.status = 2 then 1 else  null end) as deny_cnt
                    ,count(case when ur.status = 3 then 1 else  null end) as consent_cnt
                    ,count(case when ur.status = 4 then 1 else  null end) as request_cnt
                    ,count(case when ur.status = 5 then 1 else  null end) as no_pay_cnt
                    ,count(case when ur.status = 6 then 1 else  null end) as pay_cnt
                    ,max(ur.consent_date) as max_consent_date
                FROM
                    User_Master as um 
                    left join User_Publish as up on um.uid = up.uid
                    left join User_Remun as ur   on up.publish_id = ur.publish_id
                GROUP BY 
                    um.uid
                )  as um
                left join User_Site as us on um.uid = us.uid and us.status <> 9
                left join Category_List as cl on us.caid = cl.caid
                {$this->_where_sql}
            GROUP BY
                um.uid
            ORDER BY
                um.uid DESC
            {$limit_sql}
        ) as um
        left join User_Site as us on um.uid = us.uid and us.status <> 9
        left join Category_List as cl on us.caid = cl.caid
        {$this->_order_by_string}

Except for one detail. It didn't work!

But, it didn't break, so I was halfway okay.

I scanned it again... Ohhhhh. Of course!

    SELECT
        um.*
        ,us.url
        ,us.site_name
        ,cl.category_name
    FROM
        (
            SELECT
                um.uid ,um.mission_score_total ,um.name ,um.nickname ,um.pc_email ,um.sex ,um.prefecture_code
                ,um.regist_date ,um.apply_cnt ,um.deny_cnt ,um.consent_cnt ,um.request_cnt
                ,um.no_pay_cnt ,um.pay_cnt ,um.max_consent_date ,um.status
            FROM 
                (SELECT 
                    um.*
                    ,count(up.status) as apply_cnt
                    ,sum(up.mission_score) as mission_score_total
                    ,count(case when ur.status = 2 then 1 else  null end) as deny_cnt
                    ,count(case when ur.status = 3 then 1 else  null end) as consent_cnt
                    ,count(case when ur.status = 4 then 1 else  null end) as request_cnt
                    ,count(case when ur.status = 5 then 1 else  null end) as no_pay_cnt
                    ,count(case when ur.status = 6 then 1 else  null end) as pay_cnt
                    ,max(ur.consent_date) as max_consent_date
                FROM
                    User_Master as um 
                    left join User_Publish as up on um.uid = up.uid
                    left join User_Remun as ur   on up.publish_id = ur.publish_id
                GROUP BY 
                    um.uid
                )  as um
                left join User_Site as us on um.uid = us.uid and us.status <> 9
                left join Category_List as cl on us.caid = cl.caid
                {$this->_where_sql}
            GROUP BY
                um.uid
            ORDER BY
                um.uid DESC
            {$limit_sql}
        ) as um
        left join User_Site as us on um.uid = us.uid and us.status <> 9
        left join Category_List as cl on us.caid = cl.caid
        {$this->_order_by_string}

And now it works poifectly.

permalink

Yurika lesson

8:26pm JST Thursday 15 November 2007 (day 13749)

Nice to see ゆりか still working hard in her studies. She had done her best to transcribe a three.25 minute conversation from some podcast. I checked her work and then we went over it to make sure she knew all the grammar and most of the vocab. I couldn't really explain a couple of the words: "boost" as a noun, and "considerate" was a bit difficult, but I think she got it. There may have been one more.

We're going to meet again in 2 weeks. Before then, she may type up another podcast and email her text plus a link so I can correct her transcription and send it back. That way she can have a better chance and more time to really grok it before coming in to the lesson.

Hmmm. Since they are podcasts, I wonder if they are already transcribed somewhere.. and if not; I wonder if the publishers would like a copy of the transcription....

あっ、I forgot to tell her about the Castle of Dreams. She might enjoy that as an English resource.

permalink

free hugs

9:39pm JST Thursday 15 November 2007 (day 13749)

After our lesson, ゆりか and I walked to where I give free hugs. She asked me about it and giggled a bit before becoming my first hugger of the evening.

Pretty average turnout tonight. Right at 30 hugs in 1 hour. One of the hugs was of top notch excellence. It lasted about 15 or 20 seconds and included awareness of breathing, chest to chest and ear to ear connection.

At the end, two guys from Dublin (who have been hanging out in Tokyo for 2.5 weeks) continued their hanging out by hanging out with me. They each held the sign for a bit and each logged about 3 or 4 hugs. They seemed to have a higher rate of huggage than I, since they were all, "free hugs?" "how about a free hug?" and engaging the crowd a bit.

They had arrived just as I was at 28 hugs and 4 minutes to go. They were my last two hugs and I got one more when the first guy was holding the sign. They hung out for a bit and then headed out drinking... which I guess explains why they said they've been here for 2 weeks, but not really seen much.

Right now (9:46pm) I'm headed home on the train; we just stopped in 代官山。

permalink
prev day next day