Monday, July 10, 2017

Monday: I don't have anything cool to put here today.




Sunday, July 9, 2017

Sunday: Ugh, fine.

I decided I wanted Five Guys today.
So, you know, Five Guys.
It was done faster than they've ever made anything.  I didn't even have time to sit down before they called my number.

Then I drove back home, and eventually decided that I should probably go for a walk.  I didn't feel like driving down to Magic Island, so I just went around the neighborhood.  That's when I decided that I really don't like the new Pokemon Go update, because gyms now all have six people in them, and it's a pain in the ass to fight them all.  Plus, since they have these stupid raids running like all the time, even friendly gyms can't have anyone added half the time.  Basically, unless you have a group of people to play with, that entire part of the game is impossible.

Then I walked past the Korean place, thought about getting kalbi there for dinner, didn't, got home, and decided I really did want kalbi.

Also pancakes, so I drove down 90% of the way to Magic Island anyway.
¯\_(ツ)_/¯



Saturday, July 8, 2017

Saturday: Spidered Men

As said by Kraven the Hunter.
Who is not in the new Spider-Man movie.  However, I kept thinking about him, because Vulture (who is in the new Spider-Man movie) has a jacket that reminded me of him, because Kraven has that fur ruff on his vest.

Obligatory ticket picture.  With ok soup.
It's a pretty good movie.  Spider-Man gets a new start that makes sense given the rest of the Marvel movie stuff, Tony Stark keeps being a jerk, and everything mostly works out fine in the end.  I hope they have Ned in every Marvel movie forever, because he is probably the best character.  Donald Glover's "I've got ice cream in here" quote is good, and I'm glad that Aunt May isn't completely clueless.  I'm also wondering how much money was in the truck they backed up to Gwyneth Paltrow's house for her five minutes of screen time.

And it opened with the Squirrel Girl song:


And here's Doreen fighting Kraven:


"Why are you talking so much about Squirrel Girl instead of Spider-man?" Because she's awesome, duh.

Also Spider-Man didn't have his Spidey Sense, which is kind of a big thing to be missing.



Friday, July 7, 2017

Friday: Thanks, jerk in the pickup truck swearing in the street outside.

I didn't have a picture for today, and going out to see you shouting randomly before nearly crashing your truck (twice) made me try to take a picture of the moon.
It worked about the same as always.


I finally have my RSS saved items back below 1000.  I should really sort out the ~600 items that have been there for more than a year.

Thursday, July 6, 2017

Thursday: No seriously, this week is all messed up for me now.

I spent part of the day thinking it was Monday, because we had a meeting, and those are usually on Monday.  But it's not, so tomorrow I have to try and sort out things that I want to finish this week.

Also, I learned that the answer to "I have all this crap in a data frame, and I want answers for each subset, but I don't want to have to do any work" is ddply.  Originally I did this with work data, but using the NSF PhD statistics works as well.

library(plyr)

nsf = data.frame(read.table("./matched.dat",sep='\t',header=TRUE))
nsf$R = nsf$female / (nsf$male + nsf$female)
q = ddply(nsf, .(broad_field), function(x) c(m = mean(x$R),s = sd(x$R), quantile(x$R, c(0.0, 0.5, 0.75, 0.90, 0.98, 1.0))))
                           broad_field         m           s
1                            Education 0.6780287 0.012619293
2                          Engineering 0.2169928 0.014537864
3                  Humanities and arts 0.5035801 0.007278568
4                        Life sciences 0.5384433 0.017871779
5    Mathematics and computer sciences 0.2479207 0.009173072
6                               Otherb 0.5059506 0.011422802
7 Physical sciences and earth sciences 0.3117802 0.018656152
8       Psychology and social sciences 0.5832883 0.011162981

        50%       75%       90%       98%      100%
1 0.6816616 0.6865097 0.6927421 0.6930276 0.6930990
2 0.2220837 0.2279097 0.2304950 0.2320948 0.2324947
3 0.5058046 0.5084105 0.5096879 0.5120727 0.5126689
4 0.5453048 0.5518069 0.5544373 0.5564318 0.5569305
5 0.2466649 0.2529897 0.2614564 0.2629909 0.2633745
6 0.5105890 0.5143730 0.5165125 0.5207457 0.5218040
7 0.3140528 0.3249957 0.3339903 0.3353106 0.3356407
8 0.5849175 0.5890918 0.5946965 0.5973446 0.5980066

Ok, so the quantile data isn't super useful with the NSF data, but still.  Means and sigmas for each factor, and for the work data, pulling the quantile stuff was useful.  Then, hubris took hold, and I wondered if I use this to do linear fits to each factor as well.  The answer is no, not with ddply, because that reads and writes a data frame, and lm outputs a model object.  So you have to use dlply to save those models in a list, and then make a data frame from the stuff you care about in the list:

f = dlply(nsf, .(broad_field), lm, formula = R ~ year)
coeffs = ldply(f,coef)

coeffs$x2010 = (coeffs[,2] + 2010 * coeffs[,3]) * 100
coeffs$m = coeffs[,3] * 100

                           broad_field (Intercept)          year    x2010           m
1                            Education   -5.318890  0.0029835418 67.80287  0.29835418 
2                          Engineering   -7.627153  0.0039025598 21.69928  0.39025598 
3                  Humanities and arts   -1.145504  0.0008204401 50.35801  0.08204401 
4                        Life sciences   -9.438112  0.0049634604 53.84433  0.49634604 
5    Mathematics and computer sciences    1.055520 -0.0004017907 24.79207 -0.04017907 
6                               Otherb   -3.713211  0.0020990852 50.59506  0.20990852 
7 Physical sciences and earth sciences  -10.098766  0.0051793762 31.17802  0.51793762 
8       Psychology and social sciences   -4.194659  0.0023770883 58.32883  0.23770883 

And yes, x2010 is the same as the mean above, and m (percent change per year) is approximately 1/5 of the sigma above.  Taking a quick average of just the math, engineering, and physical sciences data for 2017 gives something like 28%.  The lack of improvement in math is a problem, and engineering starts at a deficit.  The depressing thing is that even with the highest improvement rate for the physical sciences, it's still something like 40 years until parity.

Also a plot:

library(ggplot2)
ggplot(nsf,aes(x=year,y=R,color=broad_field)) + geom_point() + geom_line() + geom_smooth(method=lm)
ggsave("/tmp/with_fits.png")

Yes, I'm sure there's a line thickness parameter I could have changed.  Whatever.

Wednesday, July 5, 2017

Wednesday: Mid-week holidays shouldn't be allowed.

They should just become long weekends.  Like Thanksgiving does.

While in California, I picked up the new Hawkeye trade, which follows young cool Hawkeye instead of old grumpy Hawkeye.  While reading, I realized something.  Kate's costume makes no sense.

From the cover.  I'm just noticing the art has the string on the wrong side of her arm.
Ok, having one sleeve kind of makes sense, since shooting a bow is going to cause bruises and scrapes if you don't cover up the arm holding the bow.  But what's with the holes?  Her shoulder and hips get super hot, and need to be cooled?

Apparently I didn't notice this throughout the entire previous series that I read while in France.
My best guess is that they're kind of like pockets.  ¯\_(ツ)_/¯  It's a good series.



Tuesday, July 4, 2017

Tuesday: My plan for today was to eat hot dogs, take a walk, eat more hot dogs, and watch some fireworks.

I did all those things, and did more editing for SciPy stuff.  I do not like how Snek handles Unicode, because that handling appears to consistently be "be as difficult about everything as possible."

I also drew a very bad picture of how different parts of a probability distribution are included in a calculation.
 And I battled more with my Magikarp, so I have more data to include in the plot from yesterday:
This is the "most useful" version.

This splits two data points into their true input JP and the 5% and 25% scaled values.  I had boosts on those two runs, so the scaled values are probably more correct.
I also need a better way to put code into blogs.  I've decided I'm going to copy my R code when I make things like this, so I can find them later.  It really is super easy:

j = data.frame(read.table("./jp",sep='\t',header=TRUE))
ggplot(j,aes(x=jp,y=height)) + geom_point() + stat_smooth(method='lm',formula=y ~ sqrt(x), col='red')
ggsave("/tmp/jp2.png")

And I took a walk:
The moon was out.
 I saw four geckos and one dog that threw up.  I was happier for one of those.
This didn't quite capture all the pinks and purples.
And then I came home and had my code insulted.  If the input data wasn't so bad, the code would do a better job on it.  More webpages should be designed with a structured data concept.

Then there were fireworks:

Boom!

Ka-ka-boom!

Ba-fszzzzzzzz.

Boom boom boom siziziziziz.

Boom ka boom!

Boo boom!

Boom boom boom boom!

Boom ka boom boom!

Boom boom boom boom boom boom boom boom!

Fazzzzzzzzzzzzzzzzzzz.


Monday, July 3, 2017

Monday: I should have just taken the four day weekend. I would have been about as productive.

However, last night, I was able to plot up and fit how the height a  Magikarp jumps scales with JP:
JP/1000, obviously.  But my "this feels like it's a square root" idea seems to be supported.  This is just one pass through the league I'm currently battling.
And today I finally decided that I wasn't going to find an easy way to reshape this table of PhD recipients, so I just wrote a perl script to do it.  Once it was in nice "field/year/numbers" format, I was able to get R to make a pretty plot:
So I guess the 24% value probably isn't too far off.
f = data.frame(read.table("./matched.dat",sep='\t',header=TRUE))
ggplot(data=f,aes(x=year,y=(female / (female + male)), color=field)) + geom_line(aes(group=field)) + geom_point()


Sunday, July 2, 2017

Sunday: And then I went home and discovered that I got the wrong damn size of lightbulb.

But first, hot pot.  This is apparently way more popular here than KBBQ, so I wanted to try it out.  This place is nice, because they have personal pots.

I'm not in general super worried about raw beef, but having a boiling cauldron to sterilize everything is good too.
It was good, but it's not as good as KBBQ.  There are more veggies available at hot pot, so it's "healthier," and the meat is AYCE, but it's also single meat.  There were gyoza and shumai on skewers, but then they don't get crispy (obviously).  Also they smuggle scalding broth into your mouth to attack you.

Also it's kaiten style:

See?
That makes it convenient to get a bunch of different veggies and sides.  I'll probably be back, but it didn't trigger as many good feelings as KBBQ.  Now I want kalbi again.



Saturday, July 1, 2017

Saturday: So I've decided that this weekend is "try all new restaurants" weekend.

Partially because I started yesterday with the kalbi, and partially because the place I was going to go for lunch doesn't do the Korean fried chicken and waffle anymore, and what use is that place, really, if they're going to stop making the best thing ever?

In any case, back in Alameda, I had another delicious Monte Cristo, so I spent a chunk of the morning browsing yelp.  Eventually, I found what looked like a decent version.

It's more "just a bar" than my picture of "gastropub." 
"Shouldn't the name have given it away?"  Yes, fine, but when I google "gastropub," I get something closer to what I have in my head: lots of tables, decent lighting, wacky decorations.  This is a lot more bar.  But whatever, the important thing is the foo:
P+J fries.  They're basically BBQ chips, but in fry form.
It's a bit much.  They're extra salty, and when I got outside (where there was light to see) I discovered that I had piles of BBQ dust under my fingernails.  Ick.  I still ate them all, but it's a bit much.
The main attraction.
 It's a bit greasy, but works pretty well.  Cafe Jolie is better, but this is probably my option when I want one here.

Then to the park to learn how much I hate the new Pokemon update.
Because it takes forever to take out gyms now.  There's always six opponents, and you have to punch them all like three or four times to make them go away.
Sure, I didn't have to use all of my team, but who cares.  Also raids just get in the way.  I don't want to fight a level 90382 Quilava.  I have a garbage fire otter, I don't need another one.  Why is this mid-tier jerk doing raids anyway?

And the gym didn't even change color when I took it over.  Great.
Not that it mattered, because while I was wasting time punching the other gym that's now there, I was kicked out, because unless you plan on playing with a team, apparently Niantic doesn't care about you.  Wonderful.  I earned one coin for the time I was in the gym, after spending like ten minutes fighting it.

Then it started to rain and my phone died before I could finish the second gym.  So I gave up, plugged in my phone, drove to Target, and had my phone die again when I got there, because I guess the car charger is enough to keep it going, but not enough to actually charge it.  Plus, Target no longer sells the stupid long fluorescent tube bulbs that go above my kitchen sink, so that trip wasn't even productive.

I bought popsicles, because I was angry, and Target had popsicles, and I didn't have popsicles, and I wasn't about to sit there and let stupid Target lord that shit over me when they can't even be bothered to sell the stupid light bulb I need.

Then I went home and watched internet crap until I was hungry again.  I had a different place selected, and google suggested walking.  Since I only did one lap at the park before my phone died, I went with it, but then they were stupid busy, so I ended up going to a different place, so that's what I'm going to talk about.
 
Bar Koko, the place that I think I've mentioned before, with some kind of note like, "I can see it from my couch."  It's a pretty good candidate for places to walk to for dinner.
And it has a bar, but less of one than P+J.
They're also not super speedy, but whatever.  There were three other groups in there for the entire time I was there, so it doesn't seem like they're too busy.
The hummus was pretty good.
I went with the "all the food" option.
It was a lot of food.
Another good option.  This is definitely going into the rotation.



Friday, June 30, 2017

Friday: Like, it became an obsession.

Kalbi.  As the day came to a close, I decided I wanted kalbi.  Looking over pictures of KBBQ on my blog didn't help, as that just made me want kalbi even more.  That eventually led to me deciding to just go get some at the fast food Korean place by work that I never go to.

The kalbi.
I should go there more often than never.  This wasn't a cheap plate, coming in at like $17, but that's with four veggies (I doubled up on the potatoes, because I like those potatoes, even if they aren't as good as the Gogi Time ones).  All the veggies are cold, which I guess isn't a big deal.  I should have gotten mandoo, which are just gyoza with a pseudonym.

In any case, the kalbi is thin, and that means it gets cold fast, and it means that the fat doesn't cooperate as much as it would on a thicker slice.  Still, the meat has good flavor, is tender away from the fatty bits, and they put a nice char on it.  The rice soaks up all the delicious kalbi flavor, and this totally covered what I wanted it to.

Now I have to decide if this means I don't get USBBQ this weekend, and if this means I don't try a hot pot place as well.


In unrelated notes, I was reading my new Squirrel Girl trade, and I saw this, and thought, "well, that's probably the greatest panel in this comic, wow Nancy is great":
Nancy doesn't like it when you touch her friends with your grabby hands.
But then, later, the same issue came up with not only the greatest panel in this comic, but probably one of the greatest panels in a comic ever:
It's not this one, but it's good to get the lead in.
 It's this one:
Don't mess with Doreen.
In final news, I discovered that if I let my name classification code use recent names from the SSA, then it actually correctly classes a bunch of names I had to add exceptions for.  It turns out that after about 2008 or so, there's an influx of names that aren't in previous years.  I'd had a thought that recent names would be useful when I wrote the first version, but never sat down to actually look at the details.


  • This is here specifically for the Clow Reed one.
    • (It's the one about problems and solutions).
  • I heard a song by this artist/group on the way home from work, so it's in a tab right now, so it's a link.
    • How does Soundcloud work?  Can you download things?  Is there a way to buy albums?  I really like this "S-Trig" one.
  • Today is Sailor Moon's birthday.
  • I watched this video like four times last week, because "let's watch the glitter cat video!" kept being requested.
  • I'm tempted to print out some of these.
  • Deadpool/Spider-Man.
  • I would have liked to see a bit of code, but the main point is that this blog post quantifies what I thought: France is full of old people.
  • For the two that I watch enough to care about, this is pretty much exactly my thoughts.
  • That's kind of a cool image classification method.
  • A) It's stupid that this happens at all.  B) "He said he disliked her ideas so he behaved the way he did to make her go away."  Yeah.  Sure.  That's a totally normal way to deal with people.

Thursday, June 29, 2017

Thursday: I would have been productive today.

But everything conspired to not work.  I was able to get one thing running, and tomorrow I'll probably spend a large chunk of the day aborting and restarting shit that should have run today, but things decided not to work.  I'm also increasingly concerned that my database ingest is taking far longer than it should be, and I'm not sure how to fix it.  One thought is to pull out the select statement stuff, and do that in one pass, and just insert directly.

And although I still need to do a time breakdown, this shows that my classification thing is reasonably consistent.  This shows the time average over existing entries.  Something like 98% have classification deviations are less than ~5%.  There is some evidence of class switching, but I haven't sorted out how I want to break that out.
I have caught up on RSS, but I have a massive backlog.



Wednesday, June 28, 2017

Wednesday: My tummy still hurts.

And to be fair, although the rest of the being sick stuff sucks, it's the tummy pain that I hate the most.  Having it all clear up would be great, but just no tummy pain would be nice.

I was able to get some work done today, mostly because I have a lot of tasks that need to be launched and checked while it processes.  Also some light talk edits.  I really should sit down and prove that the thing I don't think is important is not important, but that's hard to do when distracted by defective digestion.

I also hope things are better tomorrow because I have a doctor appointment tomorrow.  Not one that'd be helpful with tummy issues, but still.

Soup is good for sad tummies.
I need to sort through RSS stuff, but I have enough other stuff for links today.



Tuesday, June 27, 2017

Tuesday: A Bad Post.

Partially because I spent today catching up on work stuff, and then spent most of the evening catching up on internet stuff.  I'm still not caught up on either thing, though.  So no pictures from today, and no links.

Plus, my stomach hurts, and I don't know why.  I suspect it's an issue with me eating weird yesterday due to travel.  I'm also super sleepy, so hopefully those two things will sort each other out.


Monday, June 26, 2017

Monday: Travel.

I had a late flight, so I was able to cram in a bunch of Saga.
I did not finish.
I could have though, but I didn't see that my flight was delayed until I'd already reached the BART station.
Where I discovered you can get a medal for feeding your friends in the gym.
 A delay means I could get a sandwich.
Pastrami.

And I had an ok seat.
I wanted to do laundry when I got home, but I'm slowly beginning to think I should just go to bed and do that tomorrow.

Sunday, June 25, 2017

Sunday: My last full day here was super busy.

After waking up later than I've been waking up this trip, but still earlier than is usual for a Sunday, we went to the coffee place to do some coding and brainstorming on stuff for SciPy.  I think this is my first actual mention of it, even though I've spent a lot of this trip working on code for it.  "Are you going to the conference?" No, almost certainly not.  I don't think I could swing a second conference through work.  "Also, don't you hate Snek?"  Yes, I am still not a fan of Snek.  Snek has lots of problems that apparently most users find appealing.  I do not understand this.  Also, my professed dislike of Snek makes it unlikely that I can get my boss to pay money.

Still, Snek is just a tool, so it's not like things can't be done with it.  I would appreciate more helpful documentation, but whatever.  I'll just curse at the pathological implementation of unicode.

Then I got some essential groceries for the dinner party that showed up on the schedule for today.
So pretty much a standard "make a whole bunch of food" kind of event.

Unrelated, but I have no idea what is going on in this ad.  Is the lady explaining how this rack of computers is helpful in returning products?  Is the guy returning the tablet, and she's showing him the new machine overlords?  I am just confused.
 And there was a bit of drawful.
A man on roller skates riding a bike.