Tag essay (93)

FlightPredictor: a postmortem
Mood: nostalgic
Posted on 2014-06-06 23:32:00
Tags: palm essay palmpre projects
Words: 559

Two weeks ago I noticed that FlightCaster, the backend service that FlightPredictor uses for all its data, had disappeared. The API wasn't responding and the website was down. FlightCaster had been acquired by NextJump in January 2011, so the writing had been on the wall for a while.

I started working on the first version of FlightPredictor for webOS in March 2010. I like traveling and planes, and the fact that FlightCaster used machine learning to predict when flights would be late sounded both cool and useful. When I saw their API was free to use that cinched the deal. I'm still not sure what the business plan was for a free API (this is why I'm bad at business!), but many thanks to Jason Freedman for making that possible. Jonathan Chase was also very helpful in answering my API questions and helping me with problems.

I sold a decent number of copies, but that aside, FlightPredictor opened a lot of doors for me. It was featured on the Palm homepage (well, its icon was :-) ), it won in the Palm Hot Apps competition (which came with $1000), Palm gave away 5000 copies for the TouchPad (and paid me for them!), and it was featured in the short-lived webOS Pivot magazine. I also got to travel to Palm HQ in 2010, where webOS 2.0 was introduced (day 1, day 2, day 3) and 2011, to get engineering assistance for my TouchPad apps. (recap) And you can draw a pretty straight line to my involvement in the webOS community to my Nokia Developer Ambassador position after webOS was killed.

Back in 2011 I wrote about what I want to get out of app development, and that still rings true.

Unfortunately some of the webOS numbers are lost to the Palm reporting system change in 2012, but:

FlightPredictor for webOS Phones:
4.29 stars (24 ratings)
released May 2010 (started March 2010)
total copies sold: not sure, but probably in the 1000-2000 range
101 sold in 2011
28 sold in 2012
9 sold in 2013
1 sold in 2014

FlightPredictor HD (for the HP TouchPad):
3.22 stars (59 ratings)
- this had a lot of 0 star ratings - I wonder if this was from people who got the app for free and then didn't like it or something?
released July 2011 (started April 2011)
total copies sold: probably around 1000? plus 5000 that Palm gave away. See here and here for some raw numbers
16 sold in 2012
13 sold in 2013
0 sold in 2014

FlightPredictor for Android:
4.92 stars (13 ratings)
released November 2011 (started September 2011)
total copies sold: 466

FlightPredictor for Windows Phone:
4.0 stars (38 ratings)
released March 2012 (started December 2011)
total copies sold: 139
84 sold in 2012
44 sold in 2013
11 sold in 2014

FlightPredictor for Windows 8:
4.5 stars (4 ratings)
released August 2012 (started April 2012)
total copies sold: 201
24 sold in 2014 (can't get data for other years :-( )

What's Next
Well, I have this nice shell of a flight tracking app, and I would love to integrate it with Cortana on Windows Phone. It will be a fair amount of work, though, and I'm somewhat actively working on two other apps right now, and it looks like it's going to be a busy rest of 2014. So: we'll see!


On the Kansas and Arizona "religious freedom" gay discrimination laws
Mood: thoughtful
Posted on 2014-02-23 21:37:00
Tags: essay gay
Words: 277

What with the Kansas Legislature passing a bill providing for "religious freedom" by allowing businesses to discriminate against gay people (although the bill didn't pass the state Senate), and then with the Arizona legislature passing a similar bill and sending it to the governor (it is unclear whether she will sign it or not), it got me thinking a bit.

I think I'm actually OK with letting people that would be directly participating in a same-sex ceremony (like, say, a photographer) choose to not be hired. It feels weird to compel people to be a part of such a personal ceremony when they wouldn't want to be there. (and would you really want to hire a photographer who didn't want to be there?) But the further away you get from "individual person" (i.e. hiring an agency to send a photographer) and "same-sex ceremony" (i.e. serving a gay couple at a restaurant), I quickly get less OK with things. And both of these bills had very broad language.

In general, I think if you're at work you don't really have a right not to be offended. If you work at a restaurant, your job is to serve people, regardless of if you disapprove of them. And don't even get me started on "religious freedom" of businesses, which sounds about as absurd to me as "free speech rights" of businesses (read: ability to donate unlimited money to politics). If you're a bona fide religious organization, then you can discriminate all you want, but other than that your business doesn't have a religion.


Apparently the Kansas version may have just been a political ploy with no intention of passing? Weird.


Mere Christianity: on morality
Mood: pensive
Posted on 2014-01-30 23:18:00
Tags: essay
Words: 212

I recently reread Mere Christianity and I had forgotten how much good/interesting stuff is in it. (also in it: stuff I disagree with!)

One point in particular that struck me this time around is his thoughts on morality. (specifically Christian morality, but this point has relatively little to do with Christianity per se) He says that if someone has a psychological condition that makes them deathly afraid of cats, the act of facing that person's fear and picking up the cat may show more courage than a healthy man who wins the Victoria Cross. (word of advice: don't search for "Victoria Cross") Conversely, someone who can appear quite nice may be that way only because of their heredity/upbringing and has never tried to be nice, and you should be judged on what you have done for yourself, not what you were born with.

Reading that made me think: Hey, I do this to myself! (in a bad way) I'm a pretty patient person most of the time, and I can feel unduly proud of that. Two things:
- I'm probably not as patient as I imagine myself to be, given rose-colored glasses and all that
- But more importantly, I'm mostly patient by temperament - it's not really something that I've worked particularly hard at.


a few thoughts about Oblivion (with spoilers!) and my emotional state
Mood: weird
Location: home!
Posted on 2013-11-16 23:09:00
Tags: movies essay
Words: 249

I just got back from a quick jaunt to St. Louis, and on the way back I watched Oblivion. (the recent Tom Cruise sci-fi movie)

beyond here lie SPOILERS for Oblivion

Near the end of the movie, it becomes clear that Tom Cruise (he has a name in the movie but, come on, he's Tom Cruise) and his wife Julia are going to have to sacrifice themselves to defeat the evil Tet, and Julia has to go up there in suspended animation. So we see Tom Cruise fly up there with the suspended animation pod and stuff happens and eventually he opens the pod and it's Morgan Freeman! (who is the leader of the humans but, come on, he's Morgan Freeman)

I did not see this coming (which is more than I can say for another major plot twist), but my first thought was that this was horribly unfair to Julia. She volunteered to martyr herself to save humanity, but Tom Cruise robbed her of that right, and now she has to live without him, which struck me as very very sad. Is that weird?

Anyway, I usually like unexpected endings to movies, but I was pretty bummed about this. Some combination of watching a movie while traveling/on an airplane and without David around often puts me in a weird emotional state. And I was very excited to see that there was indeed a happy ending when one of Tom Cruise's clones found Julia! (which actually made total sense)


A few thoughts about the George Zimmerman trial
Mood: thoughtful
Posted on 2013-07-15 10:52:00
Tags: essay
Words: 157

- "Not guilty" doesn't mean "he didn't do it", it means "the prosecution couldn't prove it beyond a reasonable doubt". There really wasn't a ton of evidence at the trial, and obviously Trayvon Martin wasn't there to tell his side of the story.

- It sounds like the dominant narrative is something like: Zimmerman is wandering around the neighborhood, sees Martin who he thinks looks suspicious based on some sort of profiling (racial or otherwise), follows him and eventually confronts him. Then there's a fight and Zimmerman shoots Martin.

- While there's certainly an element of "self-defense" there, the fact that Zimmerman caused the confrontation (after being told not to by 911 dispatchers and, hopefully, common sense) makes me feel like he is somewhat culpable for Martin's death - if he hadn't confronted him, none of this would have happened. Manslaughter feels like an appropriate crime to charge him with.

I thought this was a pretty good take on the trial.

1 comment

Arrested Development: a word of caution
Posted on 2013-04-28 17:24:00
Tags: essay
Words: 148

The new Arrested Development episodes come out in less than a month (May 26, to be exact), and it is exciting. But! Here are some reasons to temper your optimizm:

- It went off the air 7 years ago. That's a long time, and while it's pretty impressive they managed to get all the cast back, I'm not sure about the writers and such.

- Each episode is going to focus on one character. (presumably because it was hard to schedule everyone) This sounds sad to me, because I really enjoyed the interaction between the characters.

- Arrested Development was great; but inevitably we look back at it with rose-colored glasses. (even if the new episodes are as good as the old ones, they'll probably take a few viewings to fully appreciate...)

- Regression to the mean!

So, my advice is to keep your expectations low, and maybe we'll be pleasantly surprised.


PictureNotes: new Windows Phone app submitted! and on omitting features
Mood: accomplished
Posted on 2012-12-02 00:08:00
Tags: essay windowsphone projects
Words: 172

I just submitted the app I've been working on, PictureNotes, to the Windows Phone Store!

The idea is that if you're on vacation or somewhere you're taking a lot of photos, you can write captions or record voice notes right then. (I got the idea when we were on vacation and I took a lot of photos :-) )

I originally imagined the app as a Lens app (which is new in Windows Phone 8), but I ran into some issues with orientation changes - the live picture from the camera kept moving around. It mostly worked, but it was not a great user experience and since you can get most of the functionality by editing existing photos, I decided it wasn't worth making the app look bad by including the Lens part. (of course, now that I think about it I might have a way to fix it...maybe for the next version!)

Anyway, I don't think it'll be useful for that many people, but it will be useful for me, and that's good enough.


quick thoughts on Surface pricing
Mood: excited
Posted on 2012-10-16 09:20:00
Tags: windows essay
Words: 279

The pricing for the new Microsoft Surface leaked this morning - supposedly it's $499 for the 32 GB version, $599 for the 64 GB version, and a touch cover will run $119.

First: yes this is just a leak, and I saw some wishful thinking that the leak was on purpose and the real prices will be $100 lower. This seems pretty unlikely given that things leak all the time, and since it's coming out in 10 days someone probably just pressed "Publish" too early.

As a Windows 8 app developer, I wish Microsoft was giving these away for free :-P But I think $499 is a reasonable starting price - you can argue that it's cheaper than the iPad (since the $499 iPad only has 16 GB of storage), but the cheapest one is the same price (although this is ignoring the old iPad 2's that start at $399...and I'm guessing Apple still sells a lot of those?). Of course, that's what the TouchPad started at and that didn't turn out so well, but Microsoft can always cut the price later to juice sales if they want.

And they've already started running commercials, and I think it will get a good amount of press since it's launching with Windows 8.

The touch cover is interesting - my gut reaction was "$119 for a cover??" but then I remembered how awesome it is. Nice that they're featuring it in ads, and I think if people play with one at a Microsoft store they'll understand why it's worth the price.

(for the record, I am totally planning on getting one...probably the 32 GB version with a touch cover. Haven't decided on colors yet :-) )


Mitt Romney and the 47%
Posted on 2012-09-24 21:13:00
Tags: rant essay taxes politics
Words: 611

(yes, I realize I'm late on this, but dang it I was out of town when this happened and I'm not going to miss it!)

So! Mitt Romney said some things about people who don't pay income taxes last week. From the article:

Fielding a question from a donor about how he could triumph in November, Romney replied:
There are 47 percent of the people who will vote for the president no matter what. All right, there are 47 percent who are with him, who are dependent upon government, who believe that they are victims, who believe the government has a responsibility to care for them, who believe that they are entitled to health care, to food, to housing, to you-name-it. That that's an entitlement. And the government should give it to them. And they will vote for this president no matter what…These are people who pay no income tax.

Romney went on: "[M]y job is is not to worry about those people. I'll never convince them they should take personal responsibility and care for their lives."

A few things about this!

- It is true that 47% of people paid zero federal income tax last year. It is not true that these people paid zero taxes total. If you earn a wage, you pay payroll taxes. Everyone pays sales taxes. If you own a house, you pay property taxes. (and if you rent, part of your rent goes towards them) Most states have a state income tax. If you have a car, you pay registration fees, etc., etc., etc. Undoubtedly there are some number of people who don't pay any taxes (assuming they qualify for the Earned Income Tax Credit or some other refundable credit), but certainly not 47%.

- Fun fact - members of the military earn a lot of their income as tax-free!

- The statement that these people "will vote for the president no matter what", is clearly untrue. Taking a random national poll with crosstabs I could find, 43% of those that make less than $30K a year (which I think is a reasonable proxy) said they would vote for Romney. 43% is a lot bigger than 0%.

- More generally, people don't not pay any federal income taxes because they don't want to - they don't because they don't make a lot of money. I'm an agog at the logic here. Is he saying that people just don't want to get jobs? With unemployment still above 8%, and four job applicants for every open position, this is just hogwash. And somehow Mitt Romney knows that not only do they not want jobs, but they believe they're entitled to all sorts of things like, um, food.

- I don't even understand what he would change about this. Make sure everyone pays some taxes by eliminating things like the standard deduction and the EITC, one of the largest anti-poverty programs the US has? The only thing that makes sense is that he thinks people are choosing not to work because they're lazy and get food stamps. I just don't believe that's true in any sort of significant numbers.

- This is what class warfare sounds like, not things like "hey, maybe we should raise taxes on income over $250K or $1M" or something like that. No one (well, OK, not me) is saying that rich people are bad people - we just want them to pay their fair share. Taxes are not punishment.

- And, to be a little less fair, Mitt Romney is about the last person I want to talk to me about poor people. What does he know about their struggles?

(hey, Bill Clinton agrees with me!)

OK! I feel a little better now.


Windows 8 - PasswordHash now available, getting excited!
Mood: hopeful
Posted on 2012-08-24 13:19:00
Tags: windows essay windowsphone projects
Words: 281

PasswordHash is now available on the Windows Store! This is particularly nice for me as I've been using Windows 8 more and now I don't need to keep a browser tab up to the PasswordHash homepage. The port was pretty quick since it does so little (and I like the brown :-) ) - one feature that I did add was auto-clearing of the master password and generated password field. Since state for apps tends to stick around in Windows 8, now you don't have to worry about explicitly clearing those fields or closing the app.

(there's also a new version of FlightPredictor which makes the text more readable and fixes a crash when you purchase the app - whoops!)

I'm starting to get more excited in Windows 8 the more I learn about it. (just yesterday I learned that Windows+X or right-clicking the space where the Start menu used to be brings up a bunch of useful shortcuts) It seems like apps are flowing into the store at a good rate - I saw an estimate of 50-100 per day somewhere.

The developer experience has been quite good over the last few months. The new app hub for Windows 8 is very functional (and they even upgraded the Windows Phone app hub, which fixed a bunch of my complaints), and the four times I've submitted apps they've gone through the entire review process in under 24 hours, which is pretty amazing.

I'm hoping downloads of FlightPredictor pick up - it would be nice to have a review or two when Windows 8 releases "for real" in late October. Until then, I'm working on porting the same-sex marriage map to Windows 8 - it's coming along quite nicely!


long post on Paul Ryan's tax plan
Mood: thoughtful
Posted on 2012-08-13 23:23:00
Tags: essay taxes politics
Words: 862

This weekend Mitt Romney picked Paul Ryan as his running mate. I think this is a good choice that really clarifies the election, as Ryan is a pretty staunch conservative. (according to DW-Nominate he's the most conservative VP pick ever)

Prior to this, Ryan is probably most famous for his budget plan, known as "The Path to Prosperity", which the Republicans in the House of Representatives passed earlier this year. I posted about this last year, but I thought I'd take a closer look at the proposal after reading that Mitt Romney would pay 0.82% in taxes under the Ryan plan. (!) This is because the plan eliminates taxes on capital gains, dividends, and interest.

The full plan (warning: big .pdf) includes a bunch of non-tax stuff (including the plan to turn Medicare from defined-benefit to a defined-contribution), but I just read through the tax parts because I'm not a total masochist :-) For those of you following along at home, these are on pages 59-67.

It starts by saying the tax code is complicated (true!), and unfair because of the special credits, deductions, and loopholes that apparently cost $1 trillion a year(!), which is roughly how much the government actually collects in individual income taxes. That is...well, surprising.

It then shows a pair of graphs claiming to show that tax revenue really just depends on GDP and not the tax rates. Here they are:

I think the first one is a little misleading - you can't just look at the top tax rate and use that to determine how high the "overall" tax rate is - the other brackets and rates matter too. (although, to be fair, that's a lot of variables and it's hard to combine them all) For example, in 1950 the top tax rate was 90%, but that bracket didn't start until an income of $400K, which in today's dollars is roughly $3.6 million. (by comparison, the top tax rate today is 35%, but it kicks in at an income of ~$400K) I'm honestly not sure about these graphs - one interpretation is that as tax rates go up, people take more steps to avoid paying taxes. (using offshore accounts, etc.) Another interpretation is that the "average" tax rate hasn't really changed that much over the years.

The proposal talks about the corporate tax rate for a while, which it points it is the highest in the industrialized world (or will be soon, anyway), but lots of companies get around paying the full rate anyway. It says it would be better to lower the rate and eliminate loopholes, which I agree with (and Obama has proposed as well). One thing I did have clarified is that nearly 75% of small businesses file taxes as individuals, which is why Republicans often say that raising individual income taxes "hurts small businesses". (why do they do this? Seriously question...is it just easier than actually incorporating? I have no idea...)

Anyway, the gist of the whole thing is to reduce our current six bracket system (10%, 15%, 25%, 28%, 33%, and 35% - see current brackets here) to a two bracket system with 10% and 25% rates. One might immediately notice that this is a pretty huge tax cut for people making more than $400K/year. I also think that doing this in the name of "simplification" is a bit of a dodge - is the fact that we have six brackets instead of two really what makes the tax code complicated? No, it's all the deductions, credits, etc.

I'm not even going into the idea of not taxing capital gains, dividends, and interest (which I didn't even find in the plan, confusingly enough). One argument for not taxing these things is that it's "double taxation", since for example corporate profits are taxed, and then the dividends they pay out of their remaining money is taxed again. The phrasing always seemed weird to me, as if each dollar is only ever taxed once, which is of course totally untrue! When I get money in my bank account from my paycheck, that's money that has already been taxed, and then when I go out and buy a new phone, I pay sales tax on that too.

Finally, the whole premise of the tax part of the plan is that we can afford to lower the tax brackets by reducing deductions and loopholes and such. The problem is that a lot of these deductions (like, say, the home mortgage interest deduction) are really popular, so the plan cleverly takes the tack of not saying what would be removed. This makes it somewhat less of a plan and more of an idea. I'm wondering whether there actually was a real plan somewhere (after all, the House of Representatives passed something!), but I sure couldn't find it.

The plan also refuses to fund Obamacare, because why not? At this point it's really looking more like a wish-fulfillment scenario than a serious plan.

So...yeah. The whole idea of balancing the budget by cutting taxes (even the plan admits that revenues will be lower in 2014 and beyond) and then cutting spending even more (but, of course, not cutting defense spending), is really not that serious.

1 comment

Fitbit: status after seven months of wearing one
Mood: okay
Posted on 2012-08-02 13:19:00
Tags: reviews essay
Words: 283

I've been wearing my Fitbit for seven months now (initial impressions here), and it seems like as good a time as any to see how it's going.

I've kept my weekly goal at 70,000 steps. Looking at my FitCalendar, I've made my goal every week except one in which I was sick. Clearly some weeks have been better than others, but I'm proud of myself for sticking to the goal.

I definitely feel like having the numbers changes my behavior (which is the point, really) - I can remember plenty of instances where I have to force myself to go out for a walk (or, worst case, walk round and round the kitchen) to get up to 10K steps.

I might not make my goal this week or next week (because I can't wear it during the musical, I don't get credit for steps, and I'm exhausted from the musical so I'm giving myself permission to not kill myself to get up to 10K), but even so I'm pleased with how things are going.

A word of advice to Fitbit users: use the belt holster! Everyone I know who has just clipped the Fitbit itself to their pants/whatever has lost it. I've had a few close calls even with the holster. (I've lost it twice during musical runthroughs, hence the rule above!)

I also have one base station for home and another one for work, which was donated to me by someone who lost his Fitbit. That makes it pretty convenient to charge, and since there are a number of people that sit near me that have one, it will sync down their data too. :-)

Final verdict: Yay for Fitbit! (and yay for me!)


a sensitive kid
Mood: thoughtful
Posted on 2012-08-01 17:03:00
Tags: essay
Words: 118

When I was in kindergarten, every kid had their name on the wall with a hook and a happy face hanging from it. If you misbehaved, your happy face got downgraded to a "neutral face", and if you did it again, a sad face.

I was a good kid, so my face was always happy. One day, the class was acting up in general (the details are lost to time) and so the teacher gave us all neutral faces. I hadn't done anything wrong, and was very upset by this.

It occurred to me today that while I've learned to be less sensitive (usually by distancing myself when necessary), at heart it still bothers me when this happens.


let's all calm down re Chick-Fil-A
Posted on 2012-07-22 12:51:00
Tags: essay gay politics
Words: 175

Apparently people are surprised that Chick-Fil-A is against same-sex marriage. First of all, I don't know why this is such a surprise - it's pretty obvious the founder of Chick-Fil-A was Christian, and he certainly passed that down to the restaurants (closed on Sunday, etc.), and sadly these days that's enough to pretty much assume they're against same-sex marriage.

But I don't think you have a moral duty to boycott Chick-Fil-A (or, say, prevent them from opening in Boston). If you want to boycott Chick-Fil-A, or it makes you uncomfortable to eat there, then sure, go ahead. But it's not like Chick-Fil-A is the Westboro Baptist Church. And I guess I have an allergic reaction to overly politicizing everyday life. Society is polarized enough already - I don't want to live in a world where Republicans and Democrats can't even eat at the same restaurants based on their political affiliations!

A reasonable middle ground - eat at Chick-Fil-A, and donate money to the Human Rights Campaign to offset whatever small percentage of your money goes to anti-gay organizations.


a typical Texas summer: in three acts
Mood: quixotic
Posted on 2012-06-27 13:06:00
Tags: travel essay
Words: 70

Act I: Yesterday I was at a Microsoft event in Dallas. From 1-6 PM I was in the same freezing room. The thermostat must have been set at 65 or something...it was unbearably cold.

Act II: Walking outside into the 100+ degree heat felt glorious for the two minutes it took to get to my car, which had been sitting outside all day.

Act III: Enter car; face melts off.


on personal responsibility and the Coast Guard
Mood: irritated
Posted on 2012-06-26 09:18:00
Tags: travel essay
Words: 214

(I'm in Dallas today for a Windows 8 thing)

When I woke up this morning, I turned on HLN (nee Headline News) to wake up. They were doing a segment about a woman whose family had to be rescued by the Coast Guard - it looked like they were staying in a beach house on the coast of Florida when Debby hit.

I assume that this sort of thing is in the Coast Guard's mission, and yay for them, but: nowhere in the half of the interview I saw was it implied that maybe the family shouldn't have been, you know, on vacation in a beach house when a freaking Tropical Storm was scheduled to hit. The tone of the interview was oddly light - the interviewer asked the woman how she kept the dogs from running away, and if their vacation had been "ruined".

Being rescued by the Coast Guard should not make for an amusing family story - they (presumably) risked their lives to some extent to save the woman's family because they were stupid or stubborn and put their own lives in danger. It felt like the interviewed glorified their stupidity instead of pointing out that people really should stay out of the way of tropical storms and not stay on the beach. Sheesh!


Windows Phone 7 App Hub - my complaints
Mood: irritated
Posted on 2012-05-16 19:52:00
Tags: rant essay windowsphone programming
Words: 479

In the wake of complaining about background tasks in Win 8 (that was later rescinded), here are my complaints about the Windows Phone 7 App Hub, where you submit new apps and look at download numbers, etc.

Before I begin: I rant because I care :-) I'm still very happy with Windows Phone 7 (and Windows 8!) development, and plan on sticking around it for a while, unless of course Microsoft pulls a webOS like HP did. (dear Microsoft: please don't do this!) But there is some serious need for improvement here.

(Had I been writing this a few months ago, my number one complaint would be that the page itself was dog slow, but Microsoft seems to have fixed that. Yay!)


When I load the App Hub page, 95% of the time I have a simple question: How many copies did my app sell today? For webOS and Android, their consoles answer an equivalent question: how many copies has the app sold over its lifetime? Let's count the number of clicks it takes to answer that question:

First I load the page (I won't count this as a click), and I see something like this:

You might think the answer to my question is right by the word "FlightPredictor": 101. Or at least you might think that's the total number of sales. Sadly, it is the number of downloads in the last 30 days. This is interesting information (as is the graph at the bottom), but it doesn't answer my question. So click 1 is to click on the "101" number, which by the way does not do the same thing as clicking "FlightPredictor".

That takes us to this screen:

Here we can see a nice pretty graph, which is again interesting, but it only covers the last thirty days. So clicks 2-4 are setting the Start date to March 1, which is before FlightPredictor was released. (for bonus fun: this will take one more click every month!) Then click 5 is clicking Refresh Report, which shows me the full graph. But the numbers include trial downloads, which I am interested in, but I don't get paid for. To see the paid numbers, click 6 is clicking on Details, which takes me to this screen:

and then click 7 is advancing to page 2, where I can see the paid downloads for the US. If other countries had any paid downloads, I guess I'd have to add those up.


So...yeah. In theory I could get by with not resetting the date range and use the "export details" button to look at an Excel spreadsheet and look at just the most recent daily numbers that way, but most of the time I'd much rather be able to see the numbers in a browser, rather than firing up Excel. It would be really nice if this information was more easily accessable!


Windows 8 Metro: everything is fine re background tasks, nothing to see here
Mood: satisfied
Posted on 2012-05-14 21:17:00
Tags: windows essay windowsphone programming
Words: 137

After kvetching a bit about Windows 8 Metro background tasks, Jared Bienz set me straight.

The right way to do this is to either use push notifications to update the tile, or a TileUpdateManager to have it poll for tile updates. In both cases the difference is that you're not actually scheduling a background task - you're just providing a way to get a tile notification, which is a bit of XML that describes how to change the tile.

Now, this isn't ideal for me the programmer, since I need to set up an extra server, but it does scale better with lots of different apps and preserves battery life, etc. So it's all good, and hopefully lots of Win 8 apps will take advantage of one of these two ways to get power-efficient live tiles that update!


Windows 8 Metro background task restrictions are way too strict (even versus Windows Phone 7!)
Mood: confused
Posted on 2012-05-08 13:43:00
Tags: windows rant essay windowsphone programming
Words: 548

Edit: See the followup post on why this isn't a big deal, and the right way to do updating live tiles in Windows 8 Metro.

I've been working on porting FlightPredictor to the shininess of Windows 8 Metro. One of the key features of FlightPredictor is the ability to pin a live tile for a flight, and have that live tile update periodically in the background.

On Windows Phone 7, there are a lot of restrictions on background agents like the one in FlightPredictor that updates the live tiles. The agent can't run more frequently than every 30 minutes (and when it actually gets called is not that regular), if it runs longer than 25 seconds it gets killed, and most importantly there's a limit to how many you can have active on the phone - Microsoft says phones must allow 6, but my Lumia 900 allows a maximum of 9. I've actually hit this limit, because live tiles that are always up to date are cool.

So, I've started to work on this for Windows 8 Metro, and I found this whitepaper about Metro background tasks. There are a bunch of new ways to trigger running tasks (when you have internet access, for example, or when a user logs in), but you can also trigger them every 15 minutes, which is nice. There are also CPU requirements (now they're measured in CPU-seconds instead of wall time that the task runs) as I would expect.

Unfortunately, you can't use the TimeTrigger unless you display information on the lock screen. This requires extra user permission, which is OK enough, I guess. I wasn't planning on looking into showing flight info on the lock screen, but if that's necessary for my app to work the way I want it to I'm fine with that.

But here's the kicker: a user can only have seven apps show information on the lock screen. And three of these (Mail, Calendar, Messaging) are builtin! So this leaves four slots for apps to run based on a TimeTrigger in the background.

Now for the rant-y part: this is crazy. I have a bunch of apps that run in the background on my phone - as I said, having auto-updating live tiles is one of my favorite features of Windows Phone. To drastically cut the number of apps that can do this on an OS that's designed for a tablet (so presumably better battery life, etc. than on a phone) is way too strict and a step backwards.

It is possible I've missed something here, and I'd love to hear feedback on it. This is just a policy decision - what I would really like is the ability to run based on a TimeTrigger even if my app isn't on the lock screen, with reasonable limits.

Addendum: one way around the limit on Windows Phone 7 is to use push notifications - then your app doesn't have to run in the background and doesn't count against the limit. But it looks to me from reading the Metro whitepaper is that even apps that want to run based on a push notification have to be on the lock screen. Or is there a way to use a push notification to update a tile without having an app run? I'm not sure...


A little down about Windows Phone 7
Mood: disappointed
Posted on 2012-04-18 22:49:00
Tags: essay windowsphone projects
Words: 285

Been a little bummed out recently. Here's why:

- My brand new Lumia 900, while generally a pretty awesome phone, has a hardware problem that makes it shut off ~5 times a day. (and then it won't turn on for a few minutes) Hopefully I'll be able to exchange it tomorrow, but in the meantime it's been very irritating.

- FlightPredictor is not selling well, to put it mildly. Despite getting three 5 star reviews (yay!), being reviewed by wpcentral and AAWP, and being featured by AppDeals, so far it's sold a grand total of 14 copies over more than 3 weeks. And some of those were at a discount of 99 cents! Granted, over 100 trials have been downloaded, and it's possible those will convert to paid copies at some point since you get 6 flights for free, but I'm not holding my breath.

So, I'm not sure what I'm doing wrong. Maybe $2.99 is too expensive? Maybe I just need to get the word out more. (i.e. spam Twitter :-) ) I've submitted FlightPredictor to a few promotional things, so we'll see if Microsoft or Nokia bite. (attention Microsoft and Nokia: it's a good app!)

- After being unsure last time, I started work on a Goodreads client and made a bit of progress until the developer of the original app (Bookly) said he was bringing it back. I don't have any unique ideas to add to a client, so I put it on hold while I wait to check out the app. I'm guessing I won't work on it again.

So now I'm working on a financial calculator-type app. (thanks for the idea, brittongregory!) Meanwhile I'm considering playing around with Windows 8 and porting FlightPredictor to it.


Marriage Map for #wp7 released! and a Windows Phone dev crossroads
Mood: thoughtful
Posted on 2012-04-05 13:26:00
Tags: essay windowsphone projects
Words: 504

First, the good news: a Windows Phone version of my same-sex marriage map is now available! (it's free and ad-free!)

It was tricky squeezing in all of the information on a phone-sized screen, but I'm pretty pleased with the results:

Countdown to the first inappropriate app rating in 3...2...1...

I'm at a loss for what to work on for Windows Phone development next; I was working on a side project but was thwarted by OS limitations last night (grrr!), so it's back to the drawing board. Here are my options, as I see them:

I'm going to be out of town this weekend, so maybe I'll let my subconscious think about what sounds the most interesting.


Finishing up a project (is tough)
Mood: resigned
Posted on 2012-04-01 16:25:00
Tags: essay windowsphone projects
Words: 191

So I'm "almost done" porting the ol' marriage map to Windows Phone. Sadly, "almost done" means "I put off all the annoying stuff to the end that isn't hard, but is tedious". Here's a list of said things:

- Making sure the app works when coming out of tombstoning
- Adding an "About" page with links to the homepage, to review the app, tips, etc.
- Turning any constants into settings, and adding the UI to change them and persist them between runs
- Making icons for the app (I need four different sizes!)
- Adding Little Watson so I can get an email when the app crashes (although this seems less necessary now that I know you can get a list of crash stack traces from the App Hub...but it's still nice if I need to follow up or tell people that the crash has been fixed)
- Add links to my other Windows Phone apps
- ...

It's a good thing actually seeing the app available for download/purchase is so rewarding, because finishing the app is a big slog. I can tell because I'm much more distracted by Twitter/reddit/etc. than usual...hopefully there's not much more to go!


theocracy on the march
Mood: sick
Posted on 2012-03-21 11:28:00
Tags: essay gay
Words: 330

Same-sex marriage in the United States

in December 2004 in March 2012

I read Rich Dunbar's first blog post about people who compain about those who "cram their beliefs down my throat" and reacted very negatively to it. Looking back, I realize that I wasn't really being fair (sorry Rich!), but what my mind jumped to was the topic of same-sex marriage.

Some days I'm amazed at what progress the movement has made (see the maps above). This is not one of those days.

I think we have a legitimate case here of "belief cramming" here, and it has to do with something that Rich doesn't talk about: asymmetry. The impact of gays not being able to get married on the gay community is a reasonably big deal - not comparable to segregation or anything, but the denial of ~1138 federal benefits and some number of state ones is a real harm done to us.

What's the impact on those who oppose same-sex marriage? (I'm going to generalize and just talk about organized religion) Well...I'm not sure. No same-sex marriage bill in the country would force churches to marry same-sex couples, as no church is forced to marry any couple they don't want to for whatever reason. (e.g. non-Catholic couples can't be married in a Catholic churc, etc.) The arguments these groups tend to make are extremely vague and hand-wavy - "it will weaken the family" or "it would hurt children" with little to no evidence to back these claims up. Another argument (albeit one I don't hear very often) is that they don't want their tax dollars going to support same-sex couples, but this is pretty weak because you don't necessarily have a right to say what your tax dollars go towards.

Even though historically a strong majority of people have been opposed to same-sex marriage (although this is changing!), this is a case where "tyranny of the majority" applies, and when they are successfully cramming their beliefs down our throat.


Debugging Windows Phone scheduled tasks
Mood: accomplished
Posted on 2012-02-26 14:43:00
Tags: essay windowsphone projects programming
Words: 641

I was about ready to release a beta for FlightPredictor, and then I realized that the scheduled task that updated the flights that are pinned to live tiles (a key feature of the app) was horribly, horribly broken. The reasons I'd been putting off dealing with this are:
- I have a WiFi only device, and so whenever it wakes up from sleep it has to reconnect to the WiFi, and I assumed this was why the tiles didn't update very often. But this is a pretty poor excuse, and turned out to be a little true but didn't account for many of the problems.
- I had trouble finding good ways to debug the scheduled task to figure out what was going on.

So, here are the three things I did to make debugging scheduled tasks a snap! (or, at least, possible)

1. ScheduledActionService.LaunchForTest: One thing that makes dealing with scheduled tasks difficult is that they have pretty tight restrictions - the PeriodicTask that I'm using can't use more than 6 MB of memory, or take more time than 25 seconds, and it only runs every 30 minutes. This last point would make debugging unbelievably annoying - luckily, you can call ScheduledActionService.LaunchForTest in a debug build to make it launch in a minute, or however much time you want.

For some reason, after a while of debugging on an emulator instance this call seems to stop working for me, and I had kinda forgotten that it ever worked at all, so I used it early in development but not since then. But it really does work, and if it stops working, just close and relaunch the emulator! This is a great way when you absolutely, positively have to step through code and see what's going on.

2. Little Watson - Andy Pennell blogged about this, and I had had it recommended to me but hadn't bothered to include it until a week ago. If your application crashes, you can capture the call stack, and then the next time the app is launched you can give the option to email you the stack trace. This is awesome for hard-to-track-down crashes, although I wish the call stack had a little more information. What Andy didn't talk about is the fact you can use this to capture call stacks if your scheduled task crashes! I turned this on yesterday and have already tracked down a few crashes I didn't know were happening - I was hitting the memory limit and not even realizing it...

3. ScheduledTaskLogger - This is my own creation - it's basically a way to log a bunch of data while your scheduled task is running, and then view it later in the main app. This helped me to find a glaring error in my update code (note to self: always look up the return value of CompareTo(), as I've gotten it wrong at least five times now...), and I'm hoping it can help me catch any other issues that arise.

Here are the code files for ScheduledTaskLogger:
- ScheduledTaskLogger.cs - This logs data while the scheduled task is running. You can set how many logs to keep, and also whether it writes out to file after every log message - probably not a good idea for release, but useful if there's a problem that's causing a crash. I also try to save the log in ScheduledAgent_UnhandledException.
- ScheduledTaskLog.xaml and ScheduledTaskLog.xaml.cs - these are the views in the main app that you can use to view the logs. There's also a button to email a particular log to support, although I need to add one that emails of all logs.

Edit: I added this code to the Nokia Developer Wiki.


Anyhow, I've squished a bunch of bugs and am on the lookout for more. I was kind of dreading trying to figure out what was going wrong, but good tools make everything easier!

1 comment

two work vignettes; or, debugging is fun!
Mood: tired
Posted on 2012-01-19 14:20:00
Tags: essay work programming
Words: 414

1. I had a bug filed to me about a hang happening. It started happening after some code I submitted in September that seemed pretty unrelated - I added a flag to let some calls be made in a certain way that _could_ cause a hang, but I only made one call behave that way, and I was pretty darn sure that wasn't happening in this particular example.

So I tried to debug what was happening with the hang, but I don't have a lot of experience figuring such things out, so I asked someone over to help. It took a few hours and we didn't learn too much except it did seem to be related to the flag I added.

After stepping away from the keyboard a bit, I did some thinking, and realized that the only thing that made any sense is that my flag must be set on the call that was happening right before the hang. I couldn't see how that would have happened, but I had an outlandish and unlikely theory.

The next day, I was eager to check it out, and lo and behold the flag was being set! When my breakpoint got hit, I was giddy with happiness because I had reasoned out the problem. Although my outlandish theory was totally wrong (the real culprit was a 64-bit int being silently coerced to a 32-bit int...grrr), I was happy I had deduced what must be happening.

Lesson: I'm often eager to jump in and start debugging, but thinking about the problem (i.e. playing "What Do We Know?") can be valuable too.

2. I was debugging a different problem, and I knew some part of a data structure was returning some sort of error code from a particular operation. Unfortunately, I was debugging a release build, and so I didn't have an easy way of figuring out which one since there was very little debug information about local variables, etc.

So, I dropped down to disassembly (which never lies!) and stepped through one statement at a time. When I found that a particular call returned an error, I would "Set Next Statement" to before the assembly was setting up the call and then step into it. It took a little while, but I was comforted that I was guaranteed to find which part of the structure was returning the error.

Anyway, it was neat because I felt like I was totally in control of the executing code. Fun times!


most depressing football game ever?
Mood: okay
Posted on 2012-01-10 15:06:00
Tags: essay football
Words: 196

As someone who was rooting to LSU, last night's 21-0 loss to Alabama in the national championship game (ESPN, Wikipedia) was the most depressing football game I've ever seen. Alabama made 5 field goals (plus one missed one, and another one that was blocked) and while LSU's defense kept them out of the end zone until 5 minutes left in the fourth quarter, the fact that they were able to attempt 7 field goals is an indication that their offense was just good enough.

Of course, the real fault was the LSU offense - the defense kept them in the game much longer than they deserved. Time after time they'd throw short-to-negative-yard passes and the Alabama defense would jump all over them. But the fact that they were in the game until the middle of the fourth quarter, yet could never score or even get close, made it all the more painful and depressing.

(the most devastating game I've ever seen, of course, is The Comeback, when the Houston Oilers were leading 35-3 in the third quarter and managed to lose. I watched the whole game and went to my room and cried after it was over...)


taking joy in fixing a badly broken LJ app
Mood: cheerful
Posted on 2011-12-29 17:10:00
Tags: lj for webos essay palmpre projects programming
Words: 211

After the latest LJ release, I got a few emails saying LJ for WebOS was badly broken, and lo and behold they were right.

I was not excited about fixing the app, since I knew the code for parsing posts, which is most of what broke, was pretty brittle and terrible. (c.f. "don't parse HTML pages with hand-written state machines") And I don't even use the app much anymore, and it's certainly not going to sell many more copies since it only works on webOS phones, which are not exactly flying off the shelves, and new ones might not exist. So I toyed with the idea of dropping support entirely, but that just felt wrong, even though I'd rather be working on new shiny apps for Windows Phone 7.

Last night I took the first serious stab at fixing things, and it turned out to be much more fun than I had hoped. The app was so nonfunctional it felt like writing a whole new one, and it turns out the new page format is a bit nicer to parse to boot. So I've fixed maybe 60% of the issues already, and hopefully I can fix the rest by next week sometime (pending New Year's festivities) and get back to WP7.


Setting values on a view: webOS vs. Android vs. Windows Phone 7
Mood: curious
Posted on 2011-12-11 13:00:00
Tags: essay palmpre windowsphone programming android
Words: 574

Now that I'm working on porting FlightPredictor to a third platform (Windows Phone), I have a better idea of the differences between the platforms. This post is about one of the more common things to do: taking values in code and making them show up in a view.

For reference, here's a screenshot of the flight info page of FlightPredictor for Android:

This view is one of the most important ones in the app, and there's a ton of information on it. Let's focus on just one part: how to make the flight times (the "4:35 PM - 5:50 PM" in the upper-right corner) show up on screen.

For a blast to the past, let's look at Mojo first. This is the old application framework that is only used for older phones today.

In Mojo, each view is an HTML page, so in our HTML page for the flightInfo view, we include the following:

#{-publishedDepartureTimeStr} - #{-publishedArrivalTimeStr}
(I'm deliberately omitting the layout stuff...maybe I'll cover that in a future post!)
The #{} syntax means to use the property from the templateModel of the scene. (the - means don't escape any HTML in the property). So, my Flight object has these properties, and when pushing the scene I call
this.controller.stageController.pushScene({name: 'flightInfo', templateModel: event.item}, event.item);
The event.item is the Flight object, and since I'm passing it as the templateModel, that's it! All in all, this is pretty simple - as long as the property's already defined in the Flight object, I only have to change one thing (the HTML source of the view) to get it to show up.


Now, let's look at Enyo, the new application framework that is used on the TouchPad (and some newer phones). In Enyo, views are defined by JavaScript that generates HTML. (for a real introduction, see Enyo Basics - From the Bottom Up) Here, the FlightInfo kind includes this for the view:
{name: 'currentFlightTimes', allowHtml: true, content: ''}
and then in the create code for the scene, we have:
this.$.currentFlightTimes.setContent( flight.publishedDepartureTimeStr + ' - ' + flight.publishedArrivalTimeStr);
Here we have two things to do, but it's still fairly straightforward to make new properties show up.


Things are considerably less happy here. First, we have to define the TextView in the layout's .xml file:
<TextView android:id="@+id/flightInfoCurrentFlightTimes">
Then we have to create a variable for this TextView in the Activity class:
private TextView currentFlightTimesView;
Then, in the constructor for the Activity class, we have to get the view:
currentFlightTimesView = (TextView) findViewById(R.id.flightInfoCurrentFlightTimes);
And finally, when we set a flight, we have to set the text on that view:
currentFlightTimesView.setText( flight.getOriginalDepartureTime().getTimeStr() + " - " + flight.getOriginalArrivalTime().getTimeStr());
So that's a total of 4 changes to make, in two different files. This is significantly more irritating than either webOS version, and it really shows up when you have ~20-30 of these to add to the view.

Windows Phone 7:
Back to a world of happiness: with data binding, we can go back to a Mojo-like model and just add this to the XAML:
<TextBlock Text="{Binding PublishedFlightTimes}">
Admittedly, in this case we'd have to add an extra property for this (or make two separate TextBlocks), but there are plenty of cases where I just want a property that already exists. In any event, it's much simpler than Android. Hooray!

So, the final count:

webOS - Mojo1
webOS - Enyo2
Windows Phone1 (maybe 2)

I would be very curious to see what the corresponding number is for iOS - is there a way to do simple templating?


Scare for a Cure
Mood: tired
Posted on 2011-11-01 17:09:00
Tags: essay
Words: 1125

Last week a friend at work mentioned that he was volunteering at Scare for a Cure, and they were generally short people on Halloween night (since it's a school night), so he was looking for volunteers. I've been feeling a bit guilty lately about not volunteering much (especially since I'm probably not going to be doing the tax center stuff I've done in previous years), so I decided to go for it. The downside was that he said it would last until 1 AM or so, but it's only one night so I figured I could deal. (I'm much more willing to do one-offs than things that tie me down for months on end...)

Anyway, I knew almost nothing about it (except that the money went to charity), so when we left work yesterday I tried to put myself in a "leaf on the wind"-type mood, to roll with the punches and other appropriate metaphors. Only issue was that I wasn't feeling great and had a somewhat sore throat. He explained that the haunted house was right next to NI's cofounder's big house, on Richard Garriott's land which he generally lets them use. It was off of 360 in the very nice part of Austin, of course - scenery was beautiful!

We parked and walked down to the site, where I was introduced to Susan, who seemed to be in charge of checking people in and running things to some extent. It became clear that this was a pretty big operation - lots of people wandering around, a costume trailer and a makeup trailer, the whole works! I ate some quick food that was catered by Southern's Fine Dining and reported back to Susan to figure out what I was going to be doing, and she ended up sending me to the Freak Lab, which sounded like fun. Got my costume (muscles bursting out of a shirt) and waited in line to get makeup (scars on my face!). By the time that was done it was getting late - I was done around 7:10 and group 0 was scheduled for 7:30. Of course I had no idea where to go or what to do, but Susan found someone to walk me down to the actual site. (it was pretty dark by this point...luckily I didn't kill myself, as I have terrible night vision)

The whole environment really felt like a mix between backstage at a show and a carnival (owing to the large number of clowns that were wandering around), which was kind of neat. I mostly observed and tried to stay out of people's ways.

It was dark, so this was the only good picture I got - unfortunately you can't see much of the muscles down both arms...

The house itself is (I learned later) on a concrete slab that was going to be an addition to Richard Garriott's house, but it got canceled or something and now the iron bars are rusted through so it's not good for much. Except being spooky - there's something unsettling about plain concrete walls and floors. I was pointed in the direction of Freak Lab, where I met up with the Freakmaster (who I had met before), and he explained how the scene worked. The gist was that some member of a group had already been kidnapped and was led to a cell in the Freak Lab - when the rest of the group got there, they'd let him/her out. But they wouldn't let out another actor in a different cell, who would get angry and call for the Freakmaster, who led them into the lab. There...some stuff would happen (this was out of my sight), usually involving spraying them with blood and someone's face being ripped off. At some point the Freakmaster would realize that they had let his captive out of the cage, and call for the guards. That was my cue to appear and scare them into the next room.

So really I had about 10 seconds of being visible, which was fine with me. I gotta say, the Freakmaster and company did a pretty good job of acting on their feet - he'd usually ask some questions and respond to answers in a creepy way. Groups started coming through around 8, and we got a 15 minute break around 10, then the last group came through our part around 12:20. Our scene lasted 3-4 minutes, and groups came through every 5 minutes or so, so there wasn't a whole lot of downtime. (and sometime there was less than zero!) I decided to kinda growl/yell at the guests as they were on the way out - otherwise they wouldn't see me at all, which seemed like a waste of a creepy costume. This meant my voice was not in good shape by the end of the night - luckily some kind soul had brought Ricola drops, which I downed every 30 minutes. I felt bad for the Freakmaster (who did a lot of talking) and the people that had to scream every single time. Is my voice just much weaker than everyone else's?

I've been in a reasonable number of shows at this point in my life, and there's a certain monotony in doing the same show three times in a day (for the summer musical, day). But that's nothing compared to doing the same scene ~40 times in an evening - by the end it was fairly Groundhog Day-esque. It helped some that we were directly interacting with the audience, but still...yikes.

Anyway, afterwards I was tired and such, but there were some last night traditions to attend to - walking through the house (which was kinda cool since I hadn't seen anything but our lab), a few speeches, a group picture, etc. I of course felt a bit out of place since these people had been doing this for quite a while together, and I was just a Johnny-come-lately. (also: I was tired) But it was fun and they seem like good people, if a little weirder than even other theater people I know :-)

The sad aftermath is that I was exhausted today (of course - got home around 1:30 but was sufficiently wound up/sore throat-y and stayed up for another hour), and I realized that I am apparently allergic to the foam or whatever that the bulging muscles were made of. Nothing too serious, but my arms are blotchy and itchy today.

Summary: If you like haunted houses, you should really check out Scare for a Cure - it's for a good cause and looked to be pretty scary, and they did a lot of work with costumes and scenery and such. (and get the red ticket so you can be covered with blood and such - way more fun that way!)


a dream, Steve Jobs, and some armchair psychoanalysis
Mood: pensive
Posted on 2011-10-20 10:23:00
Tags: dreams essay projects
Words: 320

I spent most of last night working on FlightPredictor for Android. I was happy to be working on it (paying off some technical debt!) but a little dismayed as I looked through the code and realized how much there was left to do that I had conveniently forgotten about. It's coming along though, probably about 65% done. (pending any new issues that come up when I test on a real device)


Then I had a dream about Steve Jobs. (maybe brought on by the Apple tribute website I visited yesterday?) Jobs had already died, but I was back in time somehow the day before, and he was answering questions in a town meeting of sorts. I don't remember the other questions, but when he called on me I just said "Thank you", and he looked back at me with sadness on his face. He knew that he was going to die the next day.

I left the meeting (maybe it was the next day) and sat down outside, and was overcome with tears for a while. Then I woke up, feeling sad and being a little creeped out.


One of the reasons Steve Jobs was so good at what he did is that he was (from what I've read) is that he was insanely dedicated. I don't know about his family life, but he clearly devoted much of his time to Apple. I think last night I was feeling guilty that I don't have more time to work on my non-work programming projects, and there are definitely times where I have a very strong urge to create something. (actually, these days most of my non-work time I feel like "accomplishing something", whether it be finishing a book, writing a review, etc., etc.)

But I need to back off a bit, because I don't want my projects to consume my life. And I need to learn to be OK with that.


jumping on the complaining bandwagon (re Netflix)
Mood: irritated
Posted on 2011-09-19 10:50:00
Tags: rant essay
Words: 243

I woke up this morning and got this email from Netflix. I rubbed my eyes and wondered if I had forgotten about April Fools Day or something.

But no - apparently Netflix is splitting the DVD by mail business into "Qwikster" (note that they don't own the twitter handle, although there is a "coming soon" page at qwikster.com), and the queues between the two services will be totally separate.

This is INSANE. What problem is this solving? The blog post goes on about how businesses are unlikely to move into new markets successfully, and splitting into two companies will help this. But Reed Hastings, the author of the blog post, is the flippin' CEO of Netflix! Is it really so impossible that he couldn't make it happen?

And besides, people were complaining because the price went up, not because you had to pay "extra" for streaming - if they had managed to keep the total price the same, I doubt many people would have complained. I understand that it's harder for them to get good deals on streaming and such, so the price increase didn't bother me that much.

But now I have to manage two different services, and it will cost the same as the new plan that people complained about, and (because I don't care enough to rate movies on both services) my ratings will suffer, and I'll have to check two different places to see if a movie's available. WHO WANTS THIS??


Software development tools I'm grateful for
Mood: grateful
Posted on 2011-09-06 16:42:00
Tags: essay programming
Words: 577

This morning I tracked down a bug with a data breakpoint. Turns out, it was a very stupid bug that I introduced myself last week, so it was a bit like cutting a piece of paper with a chainsaw. But it got me to thinking - I'm really glad we have a full shed of chainsaws when we need them! Here are the tools I use when developing software that I'm most grateful for, with brief descriptions:

- Breakpoints: OK, this is pretty basic, but many of the later things are built on this. Being able to say "stop on this line of code and let me see the values of stuff", as well as single-stepping through code, is good enough to track down most of the easy bugs I come across.

- Conditional breakpoints: Like breakpoints, but you can set a condition that gets evaluated each time and only stops if it's true. Very useful if you have to set a breakpoint in high-traffic areas of code, but you only care about a particular VI that's being processed.

- Data breakpoints: Like breakpoints but more awesomer! Seriously: you give it an address and the program will stop immediately when that value is changed. Very useful for tracking down memory corruptions, or just "what stupid code is stomping on my variable?" type situations. Slows down execution a bit, but it's irreplaceable when you need it.

- Tracepoints: Something I only learned about last month, but in Visual Studio you can configure a breakpoint to output something to the debug window instead of actually stopping. This is invaluable in tracking down weird race conditions and tricky timing problems where actually breaking into the debugger will stop it from happening.

- Source control: Pretty fundamental, but being able to see when a line of code was last changed is occasionally very helpful. (plus, of course, being able to undo whole checkins at once, etc., etc.)

- Remote debugging: This still seems magical to me: you can copy over a small program to any machine, then from my computer I can attach to it and debug it as if it was running on my machine! Great for when a bug requires a bunch of other stuff installed to happen. Made even better by:

- Symbol server/pdb files: We archive all of our official build symbols. So, that means, as long as a remote computer is using an official version of LabVIEW, I can debug it and get symbols to see what function we're broken into, etc. Not always perfect (it can be annoying if your source isn't the same as when the executable was built), but makes my life much much easier.

- VMWare images: a great alternative to needing a physical machine to reproduce a problem on, in case you need a bunch of extra stuff installed. Even better in that it makes possible:

- Replay debugging: This is seriously amazeballs. On a VMWare image, you can try to reproduce a problem. When you succeed, you've basically recorded everything that's happened up to that point, and so you can essentially step back in time to see what went wrong. Think Prince of Persia, but without needing that pesky sand. (also: apparently it makes things kinda slow) I have not had the opportunity to use replay debugging, but I hope I do some day because: wow!

Being grateful for things makes you happy. I'm pretty happy now. What are you grateful for? (or, what did I miss in my list?)


What do I want out of app development?
Mood: pensive
Posted on 2011-08-30 23:10:00
Tags: essay palmpre projects
Words: 443

As I mentioned happily, FlightPredictor HD was chosen in the latest six-pack of free webOS apps. So when I looked at the sales reports for that day, the results were...impressive. I feel weird throwing out numbers, but the total I got from that promo is more than I've earned, total, since I started webOS app development in 2009. It's nowhere near life-changing money but it's more than I expected, especially since I didn't have an inkling on Sunday that it would be featured at all!

Anyway, it's a good opportunity to step back a little and remind myself why I'm doing app development and what my goals are.
- Money: Well, the money's definitely nice. I have no illusions about making enough to replace my day job - even on iOS it's tough to do, and requires a lot of luck (as I understand it). I'm pretty happy as long as I'm making enough to subsidize purchases of webOS hardware, accessories, and the occasional trip to meet webOS folks and learn stuff. With this latest boost, I'm set on that front for a good while.
- Satisfaction: I still get a jolt when I think about people deciding to spend their own money on one of my apps...especially if they like it afterwards! 5 star app reviews and especially emails are very very fulfilling to me. Obviously this promo didn't do a whole lot to further this since the purchases were on HP's dime, but I did get a few good reviews and nice emails.
- Craftsmanship: I like creating things that are high-quality, and that I enjoy using myself. Almost all of my apps fall into this category for me, and most of them were created to "scratch my own itch".
- Programming: Closely related: I like programming, as you can see by the list of random stuff I've done. Some days the high I get from creating something and turning an idea into reality is almost intoxicating.

I like my day job a lot, and I think writing apps full-time would be exciting at first, but after a while I'd be about as happy as I am now - certainly the novelty would wear off! (and not having a fixed salary would stress me out, I'd imagine)

Anyway, that's been on my mind, and I find that writing up my thoughts usually helps organize and clarify them. So...there you go!

(programming note: I actually have some links queued up, but it felt like that was all I posted to LJ, so I wanted to back off a bit. And then this webOS thing blew up and now _that's_ all I post about. So...links tomorrow, unless I forget :-) )


Developing for webOS versus Android
Mood: determined
Posted on 2011-08-29 13:20:00
Tags: essay palmpre projects programming android
Words: 544

Over the weekend, I spent some time working on porting LJ for WebOS to Enyo, and after I got stuck there, I worked on porting FlightPredictor to Android. Since I was developing in both environments, I thought I'd give some more thoughts on Android (here's part 1):

I'm definitely learning more as I go, but there are still some areas (well, most areas) that developing for webOS is way easier than Android. I admit I'm biased in the matter since I've done a ton of webOS development, but sheesh:
- The Eclipse I'm using is decent in some ways and really frustrating in others. (I'm using MOTODEV Studio, because...well, I had an email from them and I just picked something) Keep in mind I'm used to developing in a text editor so the bar's pretty low here. It took me a while to realize that when you start debugging something you then have to switch to the "Debug" perspective to actually see what's going on. And 90% of the time when the app crashes, the only info I can see is that a RuntimeException was thrown, somewhere. (even when it's something easy, like a NullPointerException in my code!) Worse is when none of my code is on the call stack and I don't have the Android source code, so it gives me very little idea of where to start looking.

Honestly, the Intellisense is nice, but it just doesn't feel quite right, and often gets in my way. Hopefully as I get used to it I'll stop fighting with it so much. And the emulator is slow - it takes 15-20 seconds to get from pressing "Debug" to the app actually starting, and given the limited information I get back from the debugger it's almost not worth doing. (although if I know where the problem is, I can set breakpoints, etc., which is nice)

- To include a big list of structured data (i.e. a list of airlines), for webOS I just have to include a simple .js file assigning a big JSON array to a variable. For Android I have to generate an XML file (or a JSON file, I guess? Didn't try that...), and write initialization code to parse the XML file and store it.

- In webOS, doing an asynchronous web request is drop-dead simple - just use an XmlHttpRequest! Yay! In Android you have to spin up a new thread and post messages back and forth and such. Just reading that section of the book I'm borrowing depressed me, and I'm sure when I get to that it will suck.

- I wanted to have a Spinner (a list selector) that displayed a string and would return the associated value if it was selected. You know, like EVERY LIST SELECTOR EVER. Except, no - you can easily display a Spinner with a list of strings, but if you want to do something crazy like associate a value with it, you have to implement some interface and things generally get more complicated. What's so hard about a freaking templatized value type?? This makes me angry.

Anyway, nothing so terrible that I'm giving up, but a lot of annoyances and I really have to be in a tolerant frame of mind or I will start throwing things and cursing.


401's, why have you forsaken me? (adventures in #webOS)
Mood: frustrated
Posted on 2011-08-28 12:33:00
Tags: essay palmpre programming
Words: 671

TL;DR - 401 errors are important! Handle them correctly!

I've started work on porting LJ for WebOS (LiveJournal client) to Enyo and the TouchPad...and it is not going well.

A little background: An XmlHttpRequest is a neat Javascript feature that let's you fetch web pages or other URLs in the background without requiring a page reload. (it's the "X" in "AJAX") Key to the whole app working is being able to access protected posts, and to do this, I have to use an XmlHttpRequest to fetch a post's webpage while adding "auth=digest" to it, saying I want to see the page as a logged-in user sees it. The dance continues with LJ returning a 401 Unauthorized HTTP error, but this has the necessary information to do another request with the proper authentication. (see the Digest authentication section of RFC 2617)

This is all a bit clumsy, but worked great in the existing LJ for WebOS. Last night I got to the point where I was actually trying to get posts in the new version. First up was developing in Chrome - one of the nicest part of the new webOS framework is that it's easy to test most things in Chrome instead of having to fire up the emulator and install it, etc. I noticed that when I tried this code for the first time, I got a bunch of popups in the browser asking for a username and password for various LJ sites. If I hit Cancel on all of them, things seemed to work - the code then saw the 401 error and proceeded to authenticate normally.

This seemed odd, to say the least, so I did a quick search which led me to this StackOverflow page (yay StackOverflow!), which says that's it's a known issue in Chrome and the only way to work around it doesn't work in my case (because I need to know what the headers on the 401 error are).

Well, that's pretty annoying, and seems clearly wrong to me - the user didn't go to this page, so why is she being asked for a username/password? I could see that you might want the option to do this in some cases, but the default should be off.

So I was already a bit irritated and, after a little bit more work, decided to try it in the webOS TouchPad emulator. I watched the logs scroll by as it got to the point that it did the first request for the post pages and then...nothing. Only when I quit the app by throwing the card away did I get some not-really-sensical error indications in the log.

I rebooted the emulator (as it seems to have a problem once you do too many HTTP requests or something), and the same thing happened. I was a bit at a loss - since I wasn't getting any of my log messages I couldn't see at all what was going on. Finally I fired up Wireshark to see the HTTP requests that the emulator was making to see if there was a clue there.

Much to my surprise, I saw it requesting the same pages over and over again! It would do a request, get back a 401 Unauthorized response, and then do a request again, seemingly trying to authenticate with an empty username and who knows what password.

I looked through my code and tried a few things to make sure that I wasn't causing this, but after some more searching I found a private thread confirming this behavior and that it was a bug.

*sigh* I can't make any more progress while this bug exists, and who knows when (or if?) it will be fixed in the OS. So, if anyone asks, this is why LJ for WebOS isn't on the TouchPad, and I guess I'll move on to other projects for now...

(this probably also mean that running the phone-sized version on the TouchPad won't work either, so...sorry about that. I don't have the heart to try it out right now.)


choosing a phone
Mood: conflicted
Posted on 2011-08-25 14:53:00
Tags: essay palmpre
Words: 598

(an aside: my apologies to people reading this who couldn't care less about webOS, etc. The last week has been somewhat traumatic, but my obsession is waning and I'm about ready to move on...)

Well, I've got at least a flavor of my three choices for my next phone's OS. So, let's break this down list-style!

Availability: bad Were I in a perfect world and I could get my hands on a US Pre3, I would do that. However, that doesn't seem to be an option unless HP has a developer program for them (hmm, this hadn't occurred to me...need to check into). One option is to buy a Pre3 from Europe and use it on AT&T, but according to Engadget I will get very little 3G coverage due to frequency differences. Another option is to use the developer Pre 2 I have with AT&T (or get one on Verizon), but the phone isn't that exciting and I'm not sure the status on OS updates, etc.

Phone quality: very good if I can get a Pre3, OK with a Pre 2.

Development environment: very good At least, once the phones get Enyo. Which I still think is going to happen but is kinda risky to plan around.

App catalog opportunities: good Obviously I'm established here, and I have ideas for more apps.

Availability: very good Everyone and their dog has Android phones, including Sprint.

Phone quality: OK The UI is acceptable, but not very exciting to me. Plus there's the fact that phones seem to get OS updates in the "late to never" timeframe.

Development environment: OK Eclipse is fine enough, but I got pretty frustrated doing simple things. I'm borrowing a book which I hope will help, or at least make it clear if things really are that hard...

App catalog opportunities: OK Android is probably the second-biggest app catalog, but there doesn't seem to be a FlightCaster app, which is surprising to say the least. Anecdotally, I've heard that Android users are less likely to pay for apps, but I don't know if that's true.

Windows Phone
Availability: good There's a good selection of phones, although I'd likely wait until the Mango OS update is out (next weekish?) and see if Sprint has any new good phones.

Phone quality: good I really like the Metro interface (it was inspired by airport/subway signage...how could I not like it? :-) ), and the live tiles stuff is kinda neat. I am kinda surprised that copy-paste isn't available yet (coming in Mango) and background tasks (coming in Mango) have pretty draconian limitations on memory usage, etc.

Development environment: good Visual Studio, as always, is a nice environment to work in, and I'm already familiar with the basics of C# and Silverlight. Not only did I get set up and get a list working in one night, I also finished a port of PasswordHash. (not pretty, but it works) It is annoying that I'd have to use my Windows laptop to do it, though.

App Catalog opportunities: OK Irritatingly, there's already a FlightCaster client for Windows Phone, although I think the additions I've made plus updating in the background would make my app better. But that is a bit of a downer.


So I haven't made my decision yet, but I'm currently leaning towards Windows Phone. As I've stated before, I still plan to work on webOS apps as I wait and see what lies ahead for it. (it doesn't hurt that I'm still making good money off of webOS, although the firesale/HP promo halo is starting to fade away)

1 comment

webOS app sales: after the TouchPad firesale
Mood: busy
Posted on 2011-08-23 13:15:00
Tags: palm essay palmpre projects
Words: 137

Well, the last time I did one of these they announced no more webOS hardware from HP, so maybe if I do another one something really really good will happen?

Anyway, the fire sale basically started on Friday. Here are daily numbers for my most popular apps since then - two free, two paid:

FlightPredictor HD827192341
Simple Alarms615181228
Marriage Map162532162179

So things are still going strong! Interestingly, FlightPredictor HD sales are still driven strongly by HP's promo codes (36 of the 41 on Mon), while Simple Alarms is the opposite (only 6 of the 28 on Mon). So I'm curious to see if FlightPredictor HD sales drop off faster than Simple Alarms...


trying to learn Android and missing webOS
Mood: angry
Posted on 2011-08-22 21:53:00
Tags: rant essay programming android
Words: 596

So, here's my plan: try to port FlightPredictor to Android and Windows Phone 7. Hopefully this will lead me toward which platform I'd rather own. Note: I am definitely not abandoning webOS, but I need a new phone and since the Pre3 is only being released in Europe and the European Pre3's will work on AT&T or T-Mobile but won't get 3G service, that's not gonna work.

So! First up is Android, mostly because I can develop for it on Linux. But it's not off to a good start. I'm reading through the mounds of documentation and not getting much of anywhere.

The very first screen in FlightPredictor shows a list of flights with their status and such. So I need to define a list in the UI and each list item I want to display certain properties of the Flight object.

In Enyo (the newest webOS framework), this is pretty easy. My list item code looks like:

{kind: 'HFlexBox', name: 'downTarget', components: [
{kind: 'VFlexBox', components: [
{kind: 'HFlexBox', className: 'flightsList info', components: [
{name: 'flightAirlineNameAndNum', allowHtml: true, content: ''},
{name: 'flightSummary', allowHtml: true, className: 'summary', content: ''},
{kind: 'HFlexBox', name: 'cities', className: 'flightsList cities', components: [
{name: 'flightOriginCity', allowHtml: true, content: ''},
{allowHtml: true, content: ' to '},
{name: 'flightDestinationCity', allowHtml: true, content: ''},
{kind: 'HFlexBox', name: 'times', className: 'flightsList cities', components: [
{name: 'departureTime', allowHtml: true, content: ''},
{allowHtml: true, content: ' - '},
{name: 'arrivalTime', allowHtml: true, content: ''},
and so on, and the code to display it looks something like:
    this.$.flightAirlineNameAndNum.setContent(flight.airline.name + ' ' + flight.num + ' ');
if (flight.category == FlightPredictor.FlightCategories.Current) {
this.$.flightSummary.setClassName('summary ' + flight.summaryClass);
if (this.showCities && flight.category == FlightPredictor.FlightCategories.Current) {
} else {
and so forth.

So, I thought a good first step for tonight would be getting something like this to work in Android.

First of all, the tutorial for ListView seems to assume that you want the list to take up the whole screen. (I want buttons at the bottom for adding a new flight, etc.) Digging around a little more, I found a page that says how to make the list coexist with other controls, and it says to do so I just make a ListView with id "@android:id/list". This is already a bad sign: what if I (gasp!) want two lists in a screen?

But, OK, I'll use your magic id. Some ids look like "@android:id/list" and the rest look like "@+id/flightsHeader" when I'm defining them and "@id/flightsHeader" when I'm referring to them. (why? I have no idea)

So then I have to define my Flight class, with annoying getters and setters that aren't necessary in JavaScript. After another hour of searching and getting frustrated, do I use the ArrayAdapter or a SimpleAdapter? (I'm just trying to define my flights in code - storing them in a database or whatever is for another day) ArrayAdapter lets me pass in an array of them, which I need, but it doesn't let me map the object fields to id's in the list template like SimpleAdapter does. But SimpleAdapter seems to only work on XML objects, or something?

Lists are important. I'm frustrated that the ListView tutorial is so drop-dead simple that it only touches the very simplest use case for a list (yay, a list of strings!) It looks like what I want is something like this list example except
- that's an awful lot of code
- it still doesn't show me how to set values into things in a resource file, which is supposed to be how all non-trivial views are done! Arrrrrrrrgh.

Anyway. Not a productive night. I want to stick it out and accomplish something before giving up, because that seems like the right thing to do, right?


webOS: the day after - on to anger!
Mood: angry
Posted on 2011-08-19 09:55:00
Tags: palm essay palmpre
Words: 248

I think I'm working my way through the five stages of grief here. Today I'm angry at HP for repeatedly saying that it was a marathon not a sprint, etc., and then deciding to kill the TouchPad less than 50 days after it launched. And the Pre3 launched like two days ago in Europe!

(to be clear, no anger at Palm GBU employees - they've been great and it sounds like everyone was blindsided yesterday...and obviously there's a lot of uncertainty for them. Good luck, guys and gals!)

My plans for now are this: keep working on apps, because it sounds like they really do want to license webOS even though the rational thing to do would be to line up a suitor before announcing they're shutting down webOS hardware. This is not rocket science. I'm guessing Apotheker wanted to announce the shutdown during the conference call to convince shareholders things will get better, but man, talk about the worst thing possible for the platform.

So I'll keep at it, with a bit less fervor than before. If I look at mobile OS's that I would want to develop for and can on a Linux machine, that narrows it down to...Android and QNX as far as I can tell. QNX seems to have very little future, and Android doesn't really excite me that much. So, who knows!

I'm not sure what to do about my next phone, given that I don't know what's going to happen with the Pre3.


webOS woes
Mood: sad
Posted on 2011-08-18 17:03:00
Tags: palm essay palmpre
Words: 124

So! HP just announced they're not making any more webOS devices. Maybe webOS will be licensed, maybe not. Signs from inside indicate webOS isn't dead and might be licensed out to other hardware manufacturers, but clearly no such deal is in place yet.

I am: sad (and not sure what to get for my next phone - had my Sprint Pre for over two years and it's not gonna last too much longer), but hopeful that webOS isn't going away for good. I'll probably take a few days off, try not to read too much news, and come back and decide how much effort to spend developing apps. I still enjoy writing apps, and enjoy using them myself, so I'll keep doing that at least...


webOS app sales: how are my apps doing?
Mood: cheerful
Posted on 2011-08-17 20:30:00
Tags: palm essay palmpre projects
Words: 541

After seeing this post about webOS app sales on PreCentral, I thought it would be a good time to look back at my apps' sales. And in this post, you get real numbers, because...why not? :-)

Summary: App sales since the TouchPad release have been impressive. My numbers are a little weird because my paid apps have separate versions for phones (i.e. Mojo) and the TouchPad (i.e. Enyo).

I have four paid apps for the TouchPad, and here are their approximate sales (by number - all apps are 99 cents except FlightPredictor HD, which is $1.99) in July and August:

JulyAugust (as of today)
FlightPredictor HD155180
Simple Alarms165130
We the People HD8565
Private Browser HD5535

A few interesting things:So obviously I find it impossible to say how well the TouchPad is selling, but people are definitely buying apps (myself included!), and for that I am thankful. Here's to webOS's continued success!


crazy webOS app reviews: Marriage Map
Mood: amused
Posted on 2011-08-07 15:36:00
Tags: essay palmpre gay projects
Words: 260

Marriage Map (the webOS version of my same-sex marriage map) got a 1 star rating this morning, with the comment:

It is a shame that marriage is moving from the way God intended it to be. I pray for the souls of those who are blinded by their belief that same-sex marriage is right.

A few things spring to mind:
- Thanks for the prayers! (not intended sarcastically)
- I'm honestly confused about what would make this person happy. I'll presume that same-sex couples aren't going to be able to marry in this person's church anytime soon, so does he think they shouldn't be able to marry in anyone's church? Or is it just the fact that we're able to get hospital visitation rights and the like?
- I tried pretty hard to make the app "non-partisan", so I feel like he's kinda giving 1 star to reality. Although to be fair, I did make the states closer to allowing blue-greenish and the states that don't allow it reddish. (also, 0 of 3 people find the rating helpful, so yay!) I don't usually rate my own apps, but I made an exception in this case to balance it out a bit.

The webOS developer relations team has stated in the past that they're pretty resistant to deleting reviews/ratings unless they contain spam or profanity, so I'm not going to flag it. I guess it's not so bad, given that it's gotten 252 downloads (not great for a free app, but a decent number) and this is the first bad review that's still there.


Why gays should come out at work
Mood: pensive
Posted on 2011-07-01 16:32:00
Tags: essay gay work
Words: 262

David sent me a link to Why gays should come out at work and I almost broke my neck from the vigorous agreeing that followed.

When I started at NI in 2003, David in I weren't out in general, and so I was naturally closeted at work. This was isolating - people asked if I was single or not, and so I said I was single. And then when people asked what was I had been up to last weekend, I would have to leave out things or outright lie.

It probably doesn't sound like a big deal, but it was very uncomfortable at the time, and made me feel dishonest because, well, I was being dishonest!

Even after we did come out to friends and "the world", I felt like it was weird to come out to coworkers, like I'd be making too big a deal out of it. (and I was still fairly uncomfortable with it myself) So I continued to be closeted at work until I left the company in 2006.

Of course, the reason I left the company was that David got a job in Maryland. I wanted to be clear to my coworkers that that's why I was leaving, not because I was unhappy at NI or anything. So I ended up coming out at a group meeting and saying I was leaving. It was fairly terrifying at the time, although everyone was supportive.

Since then, I've been out at all of my jobs and everything's been fine. I even have a picture of David on my desk :-)


A: not much
Mood: thoughtful
Posted on 2011-05-14 22:48:00
Tags: essay
Words: 158

I haven't written much about "life" lately. Mostly that's because things are mostly the same - go to work, come home, and do other random stuff. I know I've said this before, but the years after graduation were filled with moving, switching jobs, and moving. (and getting married...)

Honestly, I'm pretty OK with this. Temporary changes energize me (travel! vacation! new restaurants! etc.) but big life changes kinda do the opposite. I like the feeling of having a place that we live that will be ours for the foreseeable future. Same with my job - though what exactly I do varies from day to day, the people I work with don't.

So I guess this is my way of saying life is generally good. Yay!

Unrelated: Billboard seen between Fort Worth and Dallas: Where's the Birth Certificate? (actually, saw one of these between Austin and San Antonio as well) My question: so do these get taken down now? (maybe not...)


Public life/private life
Mood: frustrated
Posted on 2011-05-11 22:58:00
Tags: essay gay
Words: 94

This article bothers me. Obviously I disagree with the guy, but "being against gay marriage" isn't nearly bad enough to disqualify you from representing the USA, assuming he didn't let it interfere with his duties (and there is no indication that it would have). Yeah, he wasn't fired, but I'd like to know who pressured him to resign.

I live in a country where I can disagree with others on controversial issues and still work with them. One's personal life and views should be reasonably separate from one's public life!

Posted via LJ for WebOS.


links with short commentary: lady gaga, doma, progressive insurance
Mood: thoughtful
Posted on 2011-04-25 13:39:00
Tags: essay links
Words: 451

(today is going to be a LJ-spammy kinda day. My apologies in advance.)

Weird Al was going to do a parody of a Lady Gaga song for his next album. Unfortunately, after a lot of back and forth and wasted time she said no. Then he posted about the saga and it turns out her manager had been speaking for her and she loves the song and gave permission. That's one of the downsides to fame that I hadn't thought about: it's hard enough to protect your reputation as it is, but when people contact "you" and have an entire conversation it seems downright impossible. The only reason this got sorted out is because Weird Al is also famous enough and posted about it. Of course, I don't know what the alternative is - surely Lady Gaga's manager deals with tons of stuff that Lady Gaga doesn't care or doesn't have time for.

The Obama administration has said that they're not going to defend DOMA in the courts. So the House of Representatives hired a law firm to do it for them. Now, presumably under pressure, that law firm has changed their mind and pulled out, and a senior partner has resigned from the firm as a result. My first response: DOMA is bad, so yay! My second response: actually, this isn't a great thing. Our legal system is based on the fact that lawyers will defend unpopular people, and it's up to the jury to decide. (Clement, the senior partner who resigned, made this point in his resignation letter) My third response: Well, this isn't exactly the same thing - law firms aren't obligated to defend things they don't want to, and defending an unpopular person is a lot different than defending an unpopular cause. So I don't know.

I've been hearing ads from Progressive about their Snapshot program, which gives you "a discount for good driving". Apparently you get a discount based on how much you drive and when you drive, as well as if you avoid sudden braking, etc. On the one hand, hey, more data! It would be very very cool if you had access to this data so you could see how "safe" your driving is. I remember reading in a book that programs like this for beginning drivers helped them a lot. On the other hand, plugging a device into my car and giving my insurance company access to this data is not something I particularly relish. They say that your rates won't go up based on the data (and there's no GPS data), but I wouldn't be surprised if both of those change over time. Could they make the Snapshot program mandatory? Or would consumers rebel?


rant: wisconsin, libya
Mood: angry
Posted on 2011-03-17 10:54:00
Tags: rant essay
Words: 317

I support the public workers' rights of unionization and collective bargaining. But Democratic senators fleeing the state to avoid passing the bill seems to be going a bit far. Protests, demonstrations, all these are good ways of expressing opposition. Even recalling some of the Republicans - that's what the recall law is there for. (and this isn't a California-type situation; they still need plenty of signatures) Effectively shutting down the government because you disagree with a bill is not. They were out of the state for three weeks(!) before the Republicans were able to use tricks to pass the bill. It's hard to have the moral high ground when you're not present to vote, though...

Yes, I'm aware that the Texas Democrats did this back in 2003, but that was to protest a highly-unusual out of season redistricting. It's more justified when you're protesting a bill with how the government works.


I meant to write this a week ago, and apparently the US now supports a no-fly zone and airstrikes in Libya. But I wish people would step back and carefully consider whether we want to get militarily involved in another country. Yes, Qaddafi is bad and toppling him would probably be an improvement. But it's a huge step for the US to even enforce a no-fly zone - it's essentially an act of war. (since we have to take out ground defenses as well as shoot down any planes) So what happens if Qaddafi's forces beat the rebels anyway? Do we bring troops in on the ground?

Again, Qaddafi is bad, etc., but we can't compare the situation now versus the ideal (Qaddafi toppled, Libya goes into a friendly democracy with little bloodshed) - we have to look at what effect our actions are going to have. There has to be more thought behind it than this guy is bad, so we should get rid of him. (see: Iraq)

1 comment

Why so few webOS 2.0 apps?
Mood: frustrated
Posted on 2011-03-15 10:37:00
Tags: essay palmpre
Words: 276

(in response to this Precentral article)

As a developer that has apps that run on webOS 1.4.5, here are my current development choices:
1. Work on them using only 1.4.5 APIs, which means any webOS device out there can use my app. (possibly excepting people on Tercel in Mexico - what's up with that?)

2. Use some of the nifty new webOS 2.0 APIs. This means that the vast vast majority of webOS users won't be able to use the app. I don't even have a device that runs webOS 2.0 to test on.

3. Spend time trying to port them to Enyo, which is very clearly the future.

Right now my time is divided between 1 and 3. Using Metrix, I can see that somewhere around 2% of my users are running webOS 2.0+. Not to mention, even if I spent time adding webOS 2.0 specific features, those won't be highlighted in the App Catalog as far as I know.

So...yeah. There's very little incentive to spend time on webOS 2.0 right now.


An aside:

I have two free apps in the catalog - PasswordHash (a simple utility for generating passwords based on a master password and domain) and GAuth (generates codes for Google's two-factor authentication). PasswordHash was my first webOS application and it's really only useful if you use that password-generating scheme. GAuth is useful for anyone that uses Google's two-factor authentication. Guess which app is more popular?

Mind-bogglingly enough, PasswordHash gets downloaded ~7 times/day while GAuth is only downloaded ~2-3 times/day. (actually, PasswordHash had a day two weeks ago when it got 84 downloads!) Maybe people are misunderstanding what PasswordHash does and then deleting it?


Answered: why did HP (i.e. @palm) announce new #webOS products so early?
Mood: thoughtful
Posted on 2011-03-03 10:31:00
Tags: palm essay palmpre
Words: 499

I've seen a lot of speculation (especially now that Apple's announced the iPad 2, which will ship next week) as to why HP/Palm announced their slate of new products so early. So let's take it from the top:

(this is all speculation, of course)

So why did they announce in February when the Pre3 and TouchPad aren't releasing until "summer"?: The Pre3 and TouchPad won't be ready until summer. If HP could release either early they absolutely would.

Well, obviously, but why didn't they wait to announce until shortly before they released? Well, for one thing, the Veer is releasing in "spring". Surely HP wouldn't want to have one event for the Veer and another for the Pre3 and TouchPad.

Also, I think HP is in a tough spot. Palm hasn't had a new phone announced since last October...and that was the Pre 2, which looks exactly like the Pre/Pre Plus with better specs. Not that there's anything wrong with that, but that's not exactly new and exciting. A lot of people were saying that if Palm didn't announce anything new and exciting by CES (later modified to Feb. 9), they'd leave for an Android phone.

But HP CEO Leo Apotheker said they'd ship products within weeks of announcing them! What gives? My guess is that he said this in frustration after learning that the products they were announcing on Feb. 9 weren't going to ship for months.

Why are the Pre3 and TouchPad taking so long, anyway? What about HP's scale and billions of dollars? The Palm acquisition wasn't finalized until July 31. That's just 6 months ago...and you have to imagine that at least the first few months was HP looking at the insides of Palm and figuring out what they wanted to do. That leaves very little time for HP to get more people working on Palm stuff. And usually adding more people slows things down in the short term!

Plus, there are some serious technical challenges here. In addition to working on webOS 2.0/2.1/whatever, for the Pre3 they have to deal with the fact that this is the first webOS device that doesn't have 320px width, not to mention it has a new processor and HSPA+ support. And the TouchPad is all new hardware and the OS looks substantially different. Apple worked on the iPad for a long time before it released.

Bonus question: Will the TouchPad be cheaper than the iPad? No. Apple has the advantage here of huge economies of scale, plus an iteration under their belt to lower costs. I guess it's vaguely possible that HP will lower their usual profit margins or even take a loss, but this isn't a "razor/blades" type model - I can't imagine HP's making any money on app sales, so where would they make money? If HP is willing to take the very-long-term view about increasing webOS adoption, maaaaybe. But I doubt it. My guess for the 16GB WiFi model: $599 ($100 more than the equivalent iPad).


Kickstartin' the weekend
Mood: energetic
Posted on 2011-02-18 16:04:00
Tags: essay
Words: 134

I mentioned Kickstarter a few weeks ago, but the site is really starting to grow on me.

Creating things energizes me, which is why I love programming little side projects and webOS apps. The next best thing is creating vicariously through someone, which is exactly what Kickstarter is. It's low risk, since if the project doesn't make Plus, people come up with a lot of awesome stuff and present it very compellingly!

Here's my Kickstarter page with a list of projects that I've backed/are interested in. Probably the coolest is the Haptica Braille Watch, although they have a lot of money to raise in a short amount of time. The Shape of Design has a nice (albeit long) video. Also, Math dice!

You can also view projects by location: here are the Austin ones.


Big HP/Palm announcement day: recap
Mood: hopeful
Posted on 2011-02-09 17:46:00
Tags: palm essay palmpre
Words: 338

So...quite a mixed bag!

They announced two new phones: one is the Veer, which is a tiny phone (the size of a credit card), and the Pre 3, which is like the Pre but bigger. I want the Pre 3, but it's not coming out until summer. Which would normally be a bad thing, except that odds are it won't be on Sprint, and my contract isn't up until August anyway. But, we'll see!

They also announced a tablet called the TouchPad, which looks pretty sweet but again isn't coming out until August.

So my plan is to probably get a Pre 3 and a Touchpad, but they didn't announce any pricing, carriers, or release dates (other than "summer"). This is a little frustrating, and I'm willing to bet that if they're not saying now we're not going to be happily surprised later. Or maybe it's just because the release is so far off there's still time for the price to bounce around. (or maybe they're waiting on the price of the iPad 2?)

Other not-as-terrible-as-the-internet-says-but-kind-of-annoying news: there will be no over the air update to webOS 2.0 for current phones other than the Pre 2. Hopefully there will be doctors available for all phone/carrier combinations so you can manually upgrade the OS, but this means a lot of people probably won't do it since it's much less convenient. And then it makes targeting particular versions of the OS hard for developers.

So, overall the stuff still looks good, but the wait is gonna kill me!

A few external links:
- Engadget compares the TouchPad to the iPad and other tablets and it holds up well...for now.
- Here's a good hands-on video of the TouchPad.
- John Gruber seems to like the looks of the TouchPad.
- Kindle app for the Touchpad - yay! (but it's unclear whether it's coming to the phones or not)
- Pre 3 hands-on with video
- There's this neato Touch to Share feature that lets you touch the TouchPad and Pre3 together to pass a URL (demo video).


2010: the year that was
Mood: nostalgic
Posted on 2010-12-29 13:46:00
Tags: essay
Words: 465

Ah, 2010! Since I didn't graduate from college, move to Maryland, move back to Texas, buy a house, or get married this year, it seemed a little less momentous than usual. But most years from now on are going to be like that - no giant life-changing things will dominate, so I suppose I should get used to it.

But, stuff did happen! Such as:

- Two couples who are friends of ours got married (technically one was last December 31) - here are pictures:

- I released some paid apps for Palm smartphones. Two of these apps (LJ for WebOS, FlightPredictor) were featured in various Palm-y places, and FlightPredictor was a winner of the Hot Apps contest. In total, I made a few thousand dollars in prize money and sales, which isn't enough to make me quit my job, but still nothing to sneeze at. I spent a lot of time working on a bridge app, and there's still plenty of work to go on it. Relatedly, I attended the first Palm Developer Day in Sunnyvale. (day 1, day 2, day 3)

- I gained a bit of weight - the graph for this year:

All told, that's a gain of 4-5 pounds. Which is not terrible, but you know, not really the direction I was hoping for. (but at least I didn't give up all the gains of 2009...) I didn't try particularly hard, though, so I'm guessing my "set point" for weight is somewhere around 191 lbs. The goal of 180 remains distant, but I'm going to try harder in 2011.

- It snowed, briefly.

- Various house things: we planted a tree in the backyard which is still alive, got solar screens on our bedroom windows and replaced our A/C with a new efficient model, which has saved on energy costs.

- We took the new Austin MetroRail for the first time!

- I wrote incessantly about Don't Ask Don't Tell being repealed so hooray!

- I did a lot of traveling: we went to San Francisco and for work I went to Minnesota and Tennessee and Germany, which was exhausting but fun. (also: to New Hampshire for Christmas, but I haven't put pictures up yet...)

- This summer I took a lot of long lunches to watch World Cup games. Totally worth it! Landon Donovan's goal in extra time to send USA to the second round was ESPN's top play of 2010, and was fairly awesome to watch in real-time. Here's my final summary, complete with adorable tiny flags for countries. Fun World Cup stories: 1 2 3 4

- I reviewed a reasonable number of books.

- We did the tax center thing and the summer musical. I sang in a choir for the first time in a long time, which was fun.

- I wrote a few "essays".

Here's to a good 2011!


on firing people for remarks made outside their job
Mood: contemplative
Posted on 2010-10-29 15:58:00
Tags: essay
Words: 334

Background: last week Juan Williams got fired from NPR for making some comments on Fox News about Muslims. I've kinda gone back and forth about what I think about this - the comments weren't terrible, but they do seem to indicate a bias and NPR is within their rights to fire people who don't represent them well. James Fallows at the Atlantic makes the point that NPR isn't just Fox but liberal - they do strive to report the facts and not let their opinions drive their coverage of the news.

Yesterday, some guy on an Arkansas school board made some really terrible comments about gays saying he wished all gays would commit suicide, etc. His comments were more private (they were made on his Facebook page, not national TV) but a lot more offensive, and certainly point to an inability to do his job fairly. I'm uncomfortable with people being fired for what they say in private, but I think the comments were odious enough to warrant it in this case. (postscript: He quickly resigned and was interviewed by Anderson Cooper, on which he sounded suitably contrite, although it sure sounded like his attitude hasn't really changed...)

Now that so much of our private lives is less private than it used to be, we're going to need to decide what's acceptable. If I'm polite to coworkers during work hours but am a raging racist outside of work, is that grounds for firing? What if I smoke pot, or go out drinking all night? I definitely learn towards the "if it's not affecting your work performance or environment, who cares?" school of thought, but these are going to be real issues. I kinda think that employers shouldn't even be allowed to look at an employee's Facebook page in an official context. What do y'all think?

Creepy Google CEO said that in the future everyone will be allowed a name change upon reaching adulthood in order to "disown youthful hijinks". Maybe it's not such a bad idea...


productivity techniques (or: remembering stuff)
Mood: thoughtful
Posted on 2010-10-20 12:22:00
Tags: reviews essay
Words: 579

I have a terrible short-term memory. As such, I'm constantly afraid of forgetting something important - all of my open loops stress me out.

For events, keeping a calendar is a godsend. I use Google Calendar, which is accessible at home and at work, and automatically syncs with my Palm Pre so I can access it anywhere. Having constant access to my calendar makes me a happy guy! (before getting the Pre I had tried Google Calendar and gone through phases of disuse)

For a todo list, though, I've tried a number of different things without much success. My current theory why nothing has stuck is that a lot of my todos are things that I need to take care of in the next few months. So putting them on a list and staring at them until I finally decide to do them is almost as stressful as having to remember them.

One thing I've done that's worked well is putting time-based todos on my calendar. The easiest example is for checking on a rebate that I send in - after I send it I put a calendar entry 6 weeks from then to follow up on it. It means I have zero to remember, which is the goal. If I get more information about it (i.e. I get an email saying it's in processing with a URL) I can just add that to the calendar entry and resume forgetting about it.

I suppose I could do the same thing with general todos (pick a date for each one and add it to the calendar), but they're generally so flexible that I might want to do it early, etc.

Similarly, I'm terrible at dealing with email. I currently have around 25 emails in my inbox. (although it was up to 40 before I made a concerted effort to scrub them last night) Some of these are just general information that I need to capture somewhere. I tried setting up a personal wiki for this, but it never really got traction because I don't visit it enough. Many of these are reminders of things that should really be on my todo list. And just like todos, having a bunch of emails in my inbox with stuff that I should really do at some point stresses me out.

So I was excited to discover followup.cc yesterday (which is what prompted this post). followup.cc is a service that lets you forward them emails with a date, and on that date they will send you a reminder. This is brilliant for a few reasons:
- In Gmail, it shows up as the next thread in the conversation of the original email, so you have all the context you had when it was in your inbox.
- The way you specify the date is by where you forward it - if I want a reminder on December 17, I'd forward it to Dec17@followup.cc. There's a whole section of different formats you can use, including time from now and future day of week.
- The original message isn't gone, of course, so if you need to access it before the reminder fires you always can. I think I'll label them with a special label to make this easy in Gmail.

Anyway, I'm going to try integrating this into my daily email checking routine for a few weeks and see how it works. Hopefully it's as useful as it seems right now!

What are your techniques for keeping on top of things?


Apple now less evil
Mood: busy
Posted on 2010-09-09 15:10:00
Tags: essay
Words: 232

Remember back when Apple put all kinds of crazy restrictions on how you could write apps for the iPhone, etc.? Well, they had a change of heart - they released a new license agreement that undoes some of that stuff. For example, now apps don't have to be originally written in C/C++/Objective C, and their policy on in-app interpreters and serving ads were loosened as well. As a bonus, there's a surprisingly direct list of reasons your app might be rejected, like

We have over 250,000 apps in the App Store. We don’t need any more Fart apps.

If your App looks like it was cobbled together in a few days, or you’re trying to get your first practice App into the store to impress your friends, please brace yourself for rejection. We have lots of serious developers who don’t want their quality Apps to be surrounded by amateur hour.

We will reject Apps for any content or behavior that we believe is over the line. What line, you ask? Well, as a Supreme Court Justice once said, “I’ll know it when I see it”. And we think that you will also know it when you cross it.
which read like they were written by Steve Jobs himself.

Anyway, I still don't agree with all of their rules, but they've retreated from ridiculous territory, so we can be happy about that at least!


8 webOS apps to buy - while they're on sale!
Mood: cheerful
Posted on 2010-07-02 12:49:00
Tags: essay palmpre
Words: 202

Since the 50% off sale is going on for another few weeks, here are my favorite webOS apps:

  1. FlightPredictor - OK, I'm a little biased here, but it's gotten great reviews on the App Catalog and is one of Palm's Featured Apps. Great for frequent fliers!

  2. Plumber's Nightmare - connect the pipes to leave no gaps. There are 60 levels and it's great when you have a few spare minutes.

  3. My webOS Apps - Very easy way to keep track of your app sales and statuses. Great for webOS developers!

  4. TweetMe - Beautiful Twitter client that's very functional. Just look at those screenshots!

  5. Sports Live! - A great way to keep track of your favorite US sports. Lives in the notification area so you can always know what the score is. There are also cheaper versions available for individual sports - I have the baseball one myself.

  6. Poker Drops - Trace out poker hands for points. The same developer (whom Palm hired a few weeks ago) also wrote Wobble Words, which I'm also a fan of.

  7. FlashCards - A great way to brush up on stuff you should know. I've been working on my state capitals :-)

  8. CrossWords - Tons of puzzles available, and keyboard navigation makes it very easy to use!


Palm: money to burn?
Mood: thoughtful
Posted on 2010-06-30 10:49:00
Tags: essay palmpre
Words: 229

Since the HP acquisition of Palm is expected to close this week, Palm has been spending money on their platform like crazy. To wit:

- On June 17, they announced all apps in the App Catalog would be 50% off until July 9, and they'd reimburse the difference to developers. So instead of making money on every app sale, they're paying the developer for each sale.

- Monday, Palm extended the 50% sale until July 23.

- From the beginning, the policy has been that each app in the catalog (unless it was open source) had a $50 submission fee. Yesterday they announced that not only are they getting rid of that fee, they're refunding all the $50 fees they've collected in the past, which is pretty ridiculously generous.

One could argue that these are nothing particularly new - Palm's been courting developers pretty heavily from the beginning, what with making homebrew very easy to do (no rooting required!) and giving away $1 million in their Hot Apps competition (of which I'm hoping to collect some), and having another Hot Apps competition starting in July for PDK apps. But the timing of these last three moves, plus the fact that they're insanely generous, make me think that they're related to the acquisition. I assume that HP was on board with these moves - if so, it bodes very well for the future of webOS!


Mood: thoughtful
Posted on 2010-05-20 14:19:00
Tags: reviews essay books
Words: 291

I just finished The Big Short: Inside the Doomsday Machine. (I'm turning into somewhat of a Michael Lewis fanboy - really enjoyed this book, Moneyball, and The Blind Side) It tells the story of the subprime mortgage meltdown and in the epilogue talks about the fact that not only were (most) of the companies involved bailed out by the government, but most of the traders who bet on subprime mortgages and lost billions of dollars for their company were let go with generous severance packages. (i.e. millions of dollars)

His implicit argument is that they should have known better (most of the book is about the people who did see the crisis coming ahead of time, bet against subprime mortgages, and made plenty of money) and thus don't deserve to have their job or be rewarded. I'm not defending the giant severance packages, but this is a dangerous road to walk down. If they honestly believed they were making money for their companies, then firing people who failed (and obviously there were a lot of them) could make other traders very wary about doing anything.

And yes, I feel kind of ridiculous defending the traders, but I know I screw up a lot at work and I'd be very paranoid (and cautious to the point of getting very little done) if I thought one mistake could lead to being fired.

On a similar note, some people seem to think that contacting politicians at home or following them around Washington is "fair game" if they don't vote a certain way, or even outing them as gay if they vote against anything gay-related. I believe in a thick line between one's professional life and one's personal life, and such things make me very uneasy.


Scheduling up the summer
Mood: busy
Posted on 2010-05-15 16:55:00
Tags: essay
Words: 74

May: lots of programming stuff, both for Palm's WebOS and for 
Google Code Jam .

June: World Cup!

July: Summer musical rehearsals begin and performances start. Also, Jonathan & Sarah's wedding. This month is going to be crazy!

This is a list of what's occupying my free time (along with the usual social stuff, etc.) so hopefully I will remember not to agree to anything time consuming until August :-)

Posted via LJ for WebOS.


Apple now more evil
Mood: angry
Posted on 2010-04-10 15:23:00
Tags: rant essay gay
Words: 424

I've always been a kind of fan of Apple - back during my technology "coming of age" days (college), Microsoft was dominant and Apple was the little guy struggling to stay alive. They put out the iPod, which was cool, and Mac OS X was UNIX-based which was exciting. Since then I've owned three iPods and a MacBook Pro, all of which I've been happy with.

But, as I mentioned a few weeks ago, now that Apple has had a lot of success, they've started doing a lot of things that make me uncomfortable. The iPhone being such a closed environment should have been a bigger canary in the coal mine.

Apple announced the new features in iPhone OS 4, coming out this summer. Now they've got some sort of multitasking and some other neat stuff. But it turns out there are some seriously restricting changes to the license.

Exhibit A: Apple is requiring that iPhone (and iPad) applications be "originally written" in one of the languages that runs on the iPhone/iPad. Basically, they're saying that you can't use an intermediate layer (like, say, the iPhone compiler in Adobe CS5, which is going to release next week) to write your programs. I can understand why they might want to do this, but regardless it puts a lot of apps out of business and is a big restriction on how people can develop for the iPhone/iPad. Apple may think that apps are "better" that are developed with their tools, etc., but the market should decide this.

So I'm pretty much at the point where I'm rooting against Apple. It makes me sad, because they do make nice products, but the whole closed ecosystem is just too much to bear. Unfortunately, even developers leaving the iPhone platform in droves may not have any real impact on iPhone sales.

(obligatory: Palm's WebOS phones allow you to install even apps that Palm hasn't approved, pretty much the polar opposite of Apple. Go Palm!)

As long as I'm ranting: what the hell, Mississippi? A high school cancelled prom rather than let a lesbian couple attend. Then a judge ruled that the school was wrong, but didn't order them to put on the prom, so some parents organized something. Then something confusing, but the upshot is that the lesbian couple was invited to a fake prom (with only 5 other students, 2 of which are learning disabled) while the rest of the school was invited to the real prom.

Words fail me. I've never been prouder not to live in Mississippi!


health care (basically) passed! and a local shoutout
Mood: ecstatic
Posted on 2010-03-22 14:28:00
Tags: lj for webos essay projects politics links
Words: 409

The health care bill passed the House! The plan is for the Senate to pass it this week and then Obama will sign it into law.

The bill: Here's some information on the final bill - it was confusing for a while with the House bill and the Senate bill, but this is the final one. It expands coverage to 32 million uninsured Americans. It prohibits lifetime limits on insurance coverage and denial of coverage due to preexisting conditions. Yes, it's not a perfect bill, and it's hard to predict how well the cost control measures will work, and there's no public option, but there's a lot of good stuff in the bill. And it will be easier to adjust this bill in the future than if we had started over or given up because it wasn't "good enough". As James Fallows said:

There are countless areas in which America does it one way and everyone else does it another, and I say: I prefer the American way. Our practice on medical coverage is not one of these. Despite everything that is wrong with this bill and the thousand adjustments that will be necessary in the years to come, this is a very important step.

The politics: A bunch of reactions. My thoughts: elections matter, and this is why. (why yes, there is a difference between the Republicans and Democrats!) It's certainly possible this will be a political loser for the Democrats (although I think it will be popular in the long term), but the point of having power isn't to maintain power, it's to get things like this done.

Other randomness:
After canvassing the house for my lost camera, I bought a new one today from Precision Camera and Video. I was happy there - they let me play with it a bit and even open a few cases to find one I liked, and I get a free basic photography class which I might actually take advantage of. Good service and good prices!

Today marks the 100th sale of LJ for WebOS - thanks to all who have purchased it! I have a few new features I'm planning on working on soon. Coincidentally, I just got my first PayPal deposit from Palm, so that's exciting :-) I put myself up on theymakeapps.com.

Capital MetroRail opened today! Finally, commuter rail in Austin. Unfortunately, turnout wasn't great this morning, but I'd give it at least a few months to see how it goes.


Someone is spreading a nasty rumor about formspring.me
Mood: confused
Posted on 2010-03-12 12:06:00
Tags: essay
Words: 648

This article claims that formspring.me was conceived as a phishing site, and is planning on releasing users' data on April 1.

I was ready to share the news with my friends who use formspring, when I had a look at the URL, which is hosted at benkling.com, someone's personal website.

In short: I can't find this article anywhere else - tried searching Google, Google News, Bing, as well as the Associated Press (who the article says published it). Nothing.

The article looks very real - like an embedded Google News page, and the article at first glance looks like a real AP article. But given the above, I guess it's a fake. Very strange!

Edit: Another story about the rumor.

Edit: The article appears down; I've pasted the content under the lj-cut:

LA-based "Formspring.me" service to reveal identities of anonymous users

(AP) – 2 days ago

LOS ANGELES — Twelve administrators of the website Formspring.me, including CEO Mark Baxter were arrested on Monday for data phishing and misleading the public, when the site was revealed to be a "social experiment," which will culminate in the automatic revealing of users' private data on April 1, 2010.

Baxter, 28, was sentenced in Van Nuys Superior Court for the creation of said website, which allows users to "send and receive anonymous questions, and learn more about people you find interesting by following their answers."

Over 2 million people have used the site to communicate anonymously with other users since its creation in 2009.

"We allow users to sign up for an account and ask questions anonymously, but we still store their data next to the question. For legal purposes," said Baxter, in a January interview.

However, it was revealed, in a leaked personal email from Baxter to Anne Gralley, a friend, that the data was being stored for another reason.

"In less than a month, " Baxter wrote, "we'll be adding the name, email, and facebook account of each user next to all of their anonymous posts."

Gregory Deacon, a friend of Baxter's from college, remembers Baxter mentioning his idea for the this elaborate April Fool's Day prank.

"He was using that Facebook application, Honesty Box, and he got some real nasty stuff over it. So he said to me, 'Wouldn't it be great if someone made something like this, then showed everyone's names one day?"

More troubling still, it's almost perfectly legal.

The Terms of Service that all users, by their participation with the site, legally agree to

includes the following:

"formspring.me reserves the right to change these Terms and Conditions at any time without notice, and your continued use of formspring.me constitutes your consent to such changes."

Because of this disclaimer, the automatic revealing of registered users' names and information on April 1st will be completely legal.

However, it was discovered by investigators that the site also records the name and information of any anonymous users who are logged into Facebook.com at the time of their post.

"If they don't register for an account, the site can still grab their name and facbook URL from

a file that facebok [sic] stores on their computer," the email message reads.

It is because of this feature that the additional charges of data phishing have been added.

Although Baxter and several programmers have been apprehended, any data that had been stored before yesterday will still

be published automatically by the formspring server at 12:00 AM (GMT) on April 1.

The public is advised to delete their formspring.me accounts and to warn others not to give away any private information on the website.

The company that funded formspring.me has set up a support line for users who want to have their names removed from the site as soon as they appear.

Please send requests to formspringusers@gmx.com.

It is not known, at this time, whether a class-action lawsuit will be filed.

Copyright © 2010 The Associated Press. All rights reserved.


Palm and LJ for WebOS
Mood: thoughtful
Posted on 2010-03-04 13:14:00
Tags: lj for webos essay palmpre projects programming
Words: 747

I worry about Palm sometimes. They recently lowered their guidance for this quarter, analysts don't seem too upbeat, and their stock price for the last year looked promising when they released the Pre in July, but has dropped dramatically since then.

More concerning is the fact that, 9 months after releasing the first WebOS phone, Gartner estimates that 0.7% of smartphones are running WebOS. Hopefully this will improve now that they're on Verizon (and rumor is they'll be on AT&T sometime this year) and once they launch in more countries.

The good news is that the mobile phone market isn't quite like, say, the social networking website market, which has a very strong network effect. If all your friends are leaving Friendster for Facebook, then Friendster is less valuable to you, and you'll probably switch to Facebook. But I can still use the web just fine from my Palm Pre even if the rest of the world switches to iPhones and Droids and Nexus Ones. There is somewhat of a problem that if fewer people use WebOS, fewer people will write apps for it, but this is more of a slow process. Also, at least in the US, most people are under contract for their phones and so they only have an opportunity to switch cheaply every one or two years. I'm really hoping Palm can keep turning things around - just yesterday they released an update to the Facebook app that makes it much nicer.

Speaking of apps...

LJ for WebOS has been doing pretty well since my last update - as of this very moment I've sold 72 copies. It seems fairly random how many copies are sold a day - thanks to the new app My WebOS Apps I have a nifty graph on my phone with these totals for the last week: 5, 1, 1, 2, 4, 2, 0. So...who knows?

One of the frustrating parts has been seeing bad reviews indicating that it just isn't working for a few people. Most of these reviews came early and I'm pretty sure I've fixed the bugs since then, but most people don't go back and edit their review when problems get fixed, and I have no way of contacting them to ask them if it's working for them and to try to diagnose their problem if not. I've been trying to make it more and more obvious how to contact me to the point that if you can't load the posts a dialog comes up with a button to email me the problem. We'll see if this helps at all. Encouragingly, more of the recent reviews have been good than bad, bringing the average back up to 3.5/5 stars.

I spent a lot of last week working on a new feature that I really wanted to add: the ability to browse other people's journals. I even wrote the parsing code before I got stuck on a problem that I've gotten stuck on before - the inability to properly authenticate so that the client can load friends-only posts. The API way to do this is to call the sessiongenerate method - unfortunately LiveJournal's cookie scheme has changed because of some security holes, and no one's gone back and updated or added a new API.

Every time I run into this problem, I spent some time trying to "fake it" by POSTing the right thing to the login page, essentially pretending I'm a regular user signing in from a browser. As in the past, I can't get this to work and I'm not sure why, and it's really frustrating to try to debug because it's all guesswork.

So I was a little down about that, and the last release (made it to the App Catalog yesterday) only had a few small features like deleting posts. This week I took a stab at some random not-quite-featurey things that have been on my list for a while, and everything just kinda worked. The next release will use a lot less bandwidth on the initial request (66% less in my test case!), and it fixes a bug with comments not posting by showing the CAPTCHA dialog that LiveJournal was returning. I was amazed that both of these basically worked the first time, so that was a nice pick me up :-) I'll probably submit it to the App Catalog tonight after a bit more testing.

I'm running out of features to work on that are actually possible to do, so I'm very open to suggestions!


LJ for WebOS: 2.5 weeks later
Mood: okay
Posted on 2010-02-17 10:55:00
Tags: lj for webos essay projects
Words: 577

It's been 2.5 weeks since LJ for WebOS was published on the Palm App Catalog, so I thought it would be nice to talk about how many copies have sold and whatnot.

As of this very moment (according to Palm's magic page that I reload far more often than I should), I've sold 44 copies. You can see a rough graph of the copies per day here, although this tracks downloads and not purchases, so for example when an update got published yesterday the download numbers spiked but the purchases did not.

I was actually expecting a little more of a bump from my app being near the top of the "Recent" list in the App Catalog, but I only sold 2 copies yesterday, which is around the same as most days. Which in retrospect makes sense, because already my app's appeal is fairly limited: only WebOS users who also use LiveJournal and use both enough that they'd be willing to pay to get a better interface to it. An impulse buy this is not.

This is part of the reason I priced it as $2.99, which is "high" in App Catalog terms - the number of people who would be interested in it is so artificially limited in the first place. Of course the other reason is that I think it provides at least that much value - it's much more pleasant to use than LiveJournal's mobile site, which is really the only alternative.

So how much money have I made? Well, let's do the math: 44 copies at $3 each is $132. My cut of that is 70%, which is $92.40. I had to pay $50 to get it on the App Catalog in the first place, so that's down to $42.40, and after taxes I end up with around $32.

On the one hand, hey, free money, right? Except I've spent a ton of time on this project. I've been working on it in my spare time since August, and I've written over 7000 lines of JavaScript code. I've definitely put at least 50 hours into it and probably closer to 100, so calculating the hourly rate is a little depressing. This is probably the project I've spent the second-most amount of time on. (I'm guessing top is whereslunch.org)

I think I put myself in a bad place here - when I work on projects for fun and release them "to the world" open source and all (see: almost everything on gregstoll.com) then I get the satisfaction of completing a project and the satisfaction whenever I see anyone use it, which is a pretty low bar. When I work on stuff for money, then, well, I get money for it, and the idea that someone cares enough about what I'm working on to pay for it.

But this model where I work on stuff in my spare time for fun and then try to make a little money off of it puts me in the mindset of working for the money, and then when the money fails to materialize I get depressed about it. Not to mention I've spent so much time on this in the last few weeks that I could feel myself burning out last night. So I think I'm going to back off a bit on new features and work on things that seem interesting or useful to me, not necessarily other people.

Anyway, this has been a bit meandering, so thanks for reading :-)


Ah, childhood
Mood: nostalgic
Posted on 2010-02-13 20:01:00
Tags: essay
Words: 46

As a child. I remember thinking that when characters on a TV show had to kiss, the director probably tried to cast the two actors as family members so kissing wouldn't be too awkward.

I was kinda dumb as a child :-)

Posted via LJ for WebOS.


yay for weddings!
Mood: thoughtful
Posted on 2010-01-01 15:42:00
Tags: essay
Words: 108

djedi and I went to a very nice wedding last night. Before we had our ceremony this summer, going to weddings put me in a foul mood - I was happy for the couple but emphasized the point that David and I wouldn't ever have one of our own. (especially the few we went to before we were out as a couple to everyone) So I was quite glad last night that I was able to just focus on being happy for them and happy for us too. One more hangup: gone!

Also, I seem to be on the mend from my cold, which is a nice 2010 present.


NY same-sex marriage bill defeated, life goes on
Mood: optimistic
Posted on 2009-12-02 14:38:00
Tags: essay gay politics
Words: 244

The New York same-sex marriage bill, which passed the state assembly 88-51, was defeated in the state senate 38-24, which isn't even close. (Anyone who knows anything about NY politics: why is the state senate so against it while the state assembly is so for it? It seems weird to me.)

Between this and the Maine defeat, as @fivethirtyeight tweeted: "But boy, its been a rough couple of months for progressives." Indeed.

Perhaps it's time to change our strategy - it seems like the votes just aren't there in most places for same-sex marriage. Looking at the same-sex marriage map (which I apologize for linking every time I write about this stuff, but it's a good way to see at a glance where we are, and can't a guy self-promote a bit?) same-sex marriage is legal in 4 states (and will be in 5 when New Hampshire's law takes effect in January) and civil unions are available in 5 more, plus DC. I think we should focus on picking off more states where there are no civil unions and trying to push civil unions there - they have fairly broad support, and from a practical perspective there's not much difference, especially since no same-sex marriages are being recognized at the federal level anyway. Maybe Maryland, or Illinois, or Rhode Island, or (heck) New York?

Getting actual rights for gay couples in other states is a lot more important to me than getting their unions called "marriage".


Optimizing iTunesAnalysis: faster database access
Mood: tired
Posted on 2009-07-09 09:44:00
Tags: optimization essay projects programming
Words: 280

The second in an occasional series
Idea: Now I'm focusing on improving the time to insert the iTunes data into database. Where we left off last time, our script took 71 seconds to run, ~50 seconds of which was database operations. The idea I had to speed this up was to batch a bunch of queries together and thus make fewer calls to the database. It turns out this actually slowed things down.

So I did a little research and it turns out if you insert data with the same query structure over and over again (but with different bind variables), the database doesn't have to reparse the query which speeds things up a lot. I tried doing this with pyPgSql but couldn't find any documentation how it was supposed to work, so I switched to using psycopg2 and changed the query for inserting the playlist data. Just switching to a psycopg2 sped things up a lot, it seems. I tried switching to a similar sort of query for inserting track data, but that actually slowed things down.

Anyway, the new script runs in 25 seconds, and it looks like only around 9 seconds for database operations. This is a 400% speedup in the database time! Overall, this step improved performance by ~180%, and since we started at 114 seconds we've improved ~350%.

Conclusion: Another big success, and I'm not sure how much more I can squeeze out of the iTunesInfo.py script. Next time I'll focus on the analyzedb.py script, which does the analysis from the database - right now it's taking between 5 and 12 minutes to run on my library of 6400 tracks.

Source files:
- old script
- new script


Optimizing iTunesAnalysis through smarter parsing
Mood: geeky
Posted on 2009-07-08 10:31:00
Tags: optimization essay projects programming
Words: 631

The first in an occasional series
Intro: A while back I wrote a script to analyze an iTunes library and find your favorite artists, albums, etc. It works pretty well and I regularly use it to update my own analysis. Unfortunately, it generally takes a long time to run, which is sort of OK for me (because I just start it running and go do something else) but less good for people who are running the analysis through the web site.

So I'd like to make it run faster, and I have a number of ideas to do so.

Idea: There are two main parts to the system - parsing the iTunes Music Library.xml file into a database, and running the analysis on the database. First I'm focusing on the parsing part.

The first version of the parsing script uses Python's xml.dom.minidom package to completely parse the library file.

After profiling the first version by running python -m cProfile -o profiledata.oldway iTunesInfo.py "iTunes Music Library.xml", I see that the whole parsing process takes 114 seconds. The major parts of this are 60 seconds for the xml.dom.minidom.parse method and 46 seconds for the database operations. Note that this only leaves ~8 seconds for figuring out the track information - clearly this is not the bottleneck!

So I'd like to improve parsing speed. There are two basic kinds of XML parsers - what we're using now is a DOM or Document Object Model-style parser, which means that the parser reads the entire file in and returns a parsed structure containing all the data. (I remember writing a simple XML parser that did this as a project in COMP 314. Ah, memories...) The advantage to this method is that after the parsing is done, it's easy to traverse the DOM tree and find the data that you're interested in. The downside is that, well, it's slow. Also, the entire document has to be read into memory which means that your memory usage is proportional to the size of the file you're processing, which adds to the slowness and can lead to out of memory problems on huge files (although we weren't seeing that here).

The other basic kind of XML parser is known as SAX, or Simple API for XML. You provide callback functions that are called whenever the parser runs across the start of a tag, end of a tag, character data, and...that's it. Whatever processing you want to do you have to do in those callback functions. So if you're just, say, counting the number of <key> tags in a document this works really well. It's also much faster than the DOM-style parser, since it doesn't have to generate a giant tree structure. But doing the sorts of processing we're doing on the library file seems a bit more tricky.

Anyway, I take a stab at it, and after a bit end up with version 2 of the script. Notice that the logic in the Handler class is a bit twisted - we have to keep track of where we are in the document (so if things get out of order we'll have problems) and use a state-based system which is a bit brittle and unclear.

But how does it perform? The old version of the script ran in 114 seconds, and this version runs in 71 seconds for a ~60% increase in speed. But really, it's better than that, because the database operations still take around 50 seconds - if we subtract that from both we get 64 seconds versus 21 seconds which is a ~200% increase in the speed of the parsing.

Conclusion: This was a big success! Most of the time is now in the database layer, which I have some ideas for speeding up next time.

Source files:
- old script
- new script


better living through science
Mood: geeky
Music: that "Jai Ho" song
Posted on 2009-06-12 15:32:00
Tags: essay links
Words: 218

A while back I wrote a script to analyze our GnuCash account. A few months ago, I added a quick little feature to predict how much money we're going to spend this month - basically just taking the existing values and extrapolating to the end of the month, disregarding stuff that is largely the same like the mortgage payment and bills. So every time I run the script I get an updated projection of how much money we'll spend this month.

For something so simple, it's surprising how it's changed my behavior. I'm very much more conscious about spending money now, and last month we spent the least amount we have in a while. Of course, that's just one data point. It's similar as the idea behind the Google PowerMeter - if you can measure something well you're more likely to think about it more and conserve when you can.

In a similar vein, the Wall Street Journal writes about not getting enough sleep and a device called the Zeo which tells you how well you slept the next morning. Again, the idea is that you can try out different things (cutting out caffeine longer before bedtime, etc.) and see how they affect your sleep patterns. Cool stuff! Yet another study shows that sleep is important and helps you learn.


I am the law!
Mood: excited
Posted on 2009-05-08 17:03:00
Tags: essay jury
Words: 2228

I recently got called for jury duty and served! My incredibly long story within...

The summons said to be there at 1:30 - parking was terrible to find given I wasn't sure about whether I'd be able to feed the meter (they only go for 2 hours and I was short on change anyway), so I ended up parking 8 blocks away in an expensive garage. That kinda sucked.

As I walked in I had to go through a metal detector/X-ray thingy. The security guard (who looked a lot like Dr. Kelso on Scrubs) told me I should get a man-purse since I had so much crap in my pockets :-)

In the criminal justice center, they had a lot of airport-like screens all over the place listing names, times, and cause numbers. I never did figure out exactly what the deal was - I figured they'd be cases being heard, but for example the court I was in had a list of 10 or so people for that day, and as far as I can tell the court never did anything with them. The cause number included the year - about 80% of them were 08, most of the rest were 07, and there were a few outliers like 94.

26 people had been called for Voir dire - I think all ended up showing up. I was #6, which I figured meant I had a pretty decent chance of getting chosen.

After we lined up and sat down, the judge talked to us for a few minutes about the process, which I was already somewhat familiar with (see previous jury experience). He said the court was misdemeanor court and the case should be done by Friday.

Then the prosecutor got up and started. (interestingly, or perhaps not, both prosecutors and defense attorneys were women, as were the bailiff and court reporter) Her name was Ms. Trumm, and she said she had taught high school before getting a chance to get to law school for free (she made it sound like it just happened out of the blue, and we never heard anything else about it) and ended up wanting to work in the "women & children" (words mine, not hers) department...but she was just starting out so she was doing this instead :-) She was quite young and she seemed a bit nervous. She had a powerpoint presentation that covered a lot of the same stuff as I had seen the last time - if you don't believe in judging people or in the one-witness rule, etc., this isn't the right case for you.

She also said the crime was a DWI, and although they weren't allowed to discuss the facts of the case, it was pretty clear that there was video evidence but no breathalyzer test.

The defense attorney seemed better organized (she also had a powerpoint presentation) and she asked a series of questions that we had to answer on a scale of 1 to 6 (1 = strongly agree, 6 = strongly disagree). Some of the questions were "Do you trust a police officer more than a citizen just because he/she is a police officer?" (hint: the correct answer is no; under the law, you're allowed to take into account the officer's experience and training, but not the fact that he's a police officer) and "The police never make a mistake." Anyway, her partner was writing down all of our numerical answers which was kinda neat.

It was pretty obvious some people near me were going to be disqualified - the woman whose husband is a firefighter (and so sees lots of DWI crashes), the guy who had been in a house that was raided by the Austin Police and then they realized it was a wrong address, etc. I had a feeling from my answers that I would be picked, and lo and behold I was juror #3. The judge dismissed everyone else and the bailiff showed us to the jury room (which was not as awesome as the judge last time had led us to believe :-) ) - it had a table, some chairs, a fridge and sink and a TV with a VCR/DVD player. The judge told us to report here at 9 AM the next morning and instructed us not to talk to anyone about the case.

The next morning, I dropped David off at NI at 8 to make sure I had plenty of time to get downtown and park. This time, I had a parking pass which made things a lot easier - found a spot two blocks away and walked in. Arrived around 8:30 and had some time to chat with the other jurors (who all ended up being pretty nice) and try to not fall asleep.

Then the bailiff brought us in to the court (one of the jurors showed up late so we didn't enter until around 9:30). The judge swore us in and then the opening arguments began. The prosecutor went first (it was neat when she said "Ladies and gentlemen of the jury" and she was totally talking to me!), and she again seemed somewhat nervous, but explaining that we would see a videotape of the defendant clearly intoxicated. "Intoxicated" according to the law means that they've lost "normal" use of their physical or mental faculties as a result of alcohol or a drug or some combination of alcohol and drugs. (or it means a BAC above .08, but that didn't come into play here since the defendant refused a breathalyzer test) She finished up by saying something like "After seeing all the evidence, I think you'll find the defendant not guilty...I mean guilty." The defense's opening argument was more polished, and outlined their plan: the defendant was tired, and not a bright guy who didn't understand the tests that the officer performed that we would see in the video.

The prosecutor called her first (and only) witness, who was the officer who made the stop. Actually, she called the witness, then left the courtroom for a good 90 seconds before returning with the officer. It was somewhat anticlimactic. Anyway, turns out the defendant had run a stop sign and the cop had to slam on the brakes to avoid him, then he did a traffic stop and did the field sobriety test. Luckily, APD has video cameras on all their cop cars so we could see the defendant doing the tests. As it turned out, the defendant only spoke Spanish - the cop spoke Spanish too but there were some translation issues that came up later...

The first test is to follow a pen with your eyes while keeping your head still. The defendant had a big problem with this - he kept saying that he was tired and wasn't used to doing this sort of thing so he kept moving his head (at least according to the police officer - the video was zoomed out enough we couldn't see very clearly). The second test is to walk nine steps forward heel to toe while watching your feet and keeping your arms at your side. This was somewhat bizarre - he clearly was having trouble understanding and took a few steps asking the officer if he was doing it right. Then he did nine steps pretty good and then took nine steps backwards, without turning around. Apparently in Spanish the phrase for "nine steps back" and "nine steps backwards" are pretty much the same, although the officer demonstrated so I'm not sure what the deal was.

The third test was to stand one one leg with the other leg raised six inches off the ground and hold that for thirty seconds (counting "one thousand one, one thousand two..."). Obviously there was a misunderstanding again, because he lifted his leg, counted "one thousand one", then stepped forward, lifted his other leg, and counted "one thousand two" in a Pink Panther-esque walk.

Anyway, we got to watch this in court, as well as a court-appointed transcription/translation to English. At one point, the prosecutor asked a question, the defense attorney objected but the officer answered anyway, which made the judge kinda peeved.

It was interesting to watch how they had to introduce something into evidence: the process was ask the judge to approach, show the evidence to the court reporter, ask the witness to describe what it was, then bring it to the other attorney to see if she had any objections. At one point she did but didn't want to talk about it with us around, so we got led back to the jury room while they hashed things out.

The whole process was pretty interesting: it felt kind of odd that obviously all the lawyers were very prepared and such and their audience was us: six basically random people off the street. I guess that's how the system's supposed to work, though. It was kind of awkward at times - we saw them outside of court once or twice and they didn't say a word to us - in fact, they'd often look away to ensure nothing improper happened :-)

Wording was clearly important to both of them: the prosecutor always used the term "field sobriety test" while the defense almost always said "coordination exercises" or "government test". In fact, the defense called the prosecutor the "government attorney" a few times, which the prosecutor actually pointed out in her closing argument!

The closing arguments were pretty short - interestingly, the prosecutor went first, then the defense, and then the prosecutor again, which the judge justified by saying the state "had the burden of proof", which is of course true but seemed a bit off to me. Then (right around 5:00) we retired to the jury room - the judge said to let them know in 30 minutes or so if they wanted them to order dinner for us.

At this point I had gone back and forth about the case a lot - the defendant had definitely failed some of the sobriety tests, but it did seem possible that he just didn't understand some parts of them, and on some parts he did do pretty well. Of course, he also ran a stop sign. Upon entering the room, I asked who wanted to be the presiding juror (i.e. the foreman/woman) to which there was 5 seconds of silence and the guy next to me said "the first one who says something". So, yes, I did become the presiding juror, which I was kinda excited about.

I wanted to take a straw poll at the beginning, but other people wanted to talk for a bit first, so we went over the evidence and quickly decided we wanted to watch the tape again, so I submitted a request for that to the bailiff. We watched it and talked again and realized we were going to be there for a while so we had them order pizza and soda for us (thanks, Austin taxpayers!) At some point we took a straw poll and the results were: 3 not guilty, 2 (including me) guilty, and 1 undecided.

Pizza came and we ate and chatted some more. The discussion got a little heated at times - the guy next to me, who was the other "guilty" vote, was prone to making inflammatory statements which pissed others off, and the guy next to him had a flair for the dramatic and brought up totally irrelevant points. ("What if he's an illegal immigrant?" Well, we don't know that, and if he is or isn't, so what?)

Eventually I came around and decided that, while he was probably drunk and definitely shouldn't have been driving, there was enough doubt that met the burden of "reasonable", so I switched to "not guilty", and at 7:20 PM the last holdout also changed his mind. (turns out he used to work crazy night shifts and often drove tired) I signed the "not guilty" line of the charge, we filed back into the court, and the judge asked me if we had reached a verdict, to which I replied "we have, your honor" which was awesome :-) He then read the verdict (without asking me if it was correct!) and then thanked us for our service.

He then said that we were free to talk about the case (or not if we didn't want to) and that the lawyers were usually interested in talking to the jury. So I hung around and talked to them, which was pretty cool. They said they usually tried to pick who they thought the presiding juror would be but guessed the guy next to me, although they did say that I seemed to be enjoying the experience (guilty as charged!). We talked about what we discussed in the jury room and why we eventually voted not guilty, although it was a close case. On the way out I chatted with another lawyer who explained that in voir dire, they only get 3 peremptory strikes of potential jurors - all the other strikes have to be "for cause" (i.e. if both sides or at least the judge agrees there's a possible bias).

Anyway, the whole thing was a fun experience, even though I had a ton of work to do, and I definitely hope to do it again some time, even though there were long stretches of boredom and I was tired most of the day. I felt proud to be part of the legal system :-)


Austin mayoral election
Mood: happy
Posted on 2009-04-26 12:09:00
Tags: essay politics
Words: 247

Yes, it's election season, or something! The Austin city election is May 9, and early voting runs from April 27 (tomorrow) to May 5. Here's a list of early voting locations (.pdf).

The "major" candidates are -

Lee Leffingwell - (Statesman article about him) He's a former airline pilot currently serving on the City Council. He spoke out early against the now-canceled Time Warner bhttp://www.austinleadership.com/blog.aspandwidth caps. He's been endorsed by many organizations around the city, including the Austin Chronicle and Burnt Orange Report. I think I'm going to vote for Lee.

Brewster McCracken - (Statesman article about him) He's currently serving on the City Council. He drove the Pecan Street Project to modernize the electrical grid in Austin. He's been endorsed by the Austin American-Statesman, and honestly seems like a pretty good candidate. I still might vote for him if I change my mind.

Carole Keeton Strayhorn - (Statesman article about her) Austin elections are officially non-partisan (I believe), but she's held statewide office as a Republican before. Nevertheless, she ran for governor in 2006 as an independent and was the mayor of Austin from 1977-1983.

Other ways to get direct comparisons between the candidates:
- Voters Guide (.pdf) from the League of Women Voters.
- Four questions for Austin's mayoral candidates

Minor candidates - neither one of these guys have held elected office before, as far as I can tell.
- David Buttross
- Josiah Ingalls

I read in the paper this morning that turnout in Austin city election is abysmal, hovering around 10%. VOTE!

1 comment

BSG and Lost
Mood: happy
Posted on 2009-03-19 10:00:00
Tags: rant essay
Words: 595

(spoilers abound if you haven't seen the most recent episode of either!)
Lost is awesome.

Season 4 was pretty good - we learned a lot of interesting things about the island and the Oceanic 6's life after they left. The whole flash-forward structure was pretty neat at first, but eventually it seemed to rob the show of its stakes. We know Jack isn't going to die on the island because we can see him in the future! And there were certainly unanswered questions, like what happened to all the people who weren't in the Oceanic 6, but that wasn't enough for me to stay fully engaged. I thought the season finale in particular tied together some loose ends, but just wasn't that compelling. Interesting, sure, but I wasn't on the edge of my seat. And the whole dramatic tension of having to lie is something that is probably stronger in real life than it is to watch. After all, we're used to watching people lie on TV...

I had the same sort of problem with the beginning of Season 5 - we had a pretty good idea the Oceanic 6 were going to end up back on the island, so just showing why they arrived at that conclusion wasn't really that interesting to me. But the last two episodes of Season 5 have really kicked it up a notch. I feel like we're back in the heyday of Seasons 1 and 2 (which I watched on DVD and so didn't have the delayed gratification of waiting weeks between episodes) where we have no idea what's going to happen. Yeah, "Namaste" (the episode that aired last night) was kinda about resolving a bunch of loose ends about the Oceanic 6 arriving back on the island, but it did it in a very compelling way. I was on the edge of my seat watching LaFleur come up with a plan for Jack, Kate, Hurley, and Sayid to integrate them into the Dharma Initiative. Even though the Purge is coming at some point we don't know what's going to happen to our folks.

And now a quick Battlestar Galactica rant, which you may have heard if you've been around me since last Friday:

I cannot believe they're at literally the second to last episode (bolding makes me sound angry!) and doing flashbacks back to before the series began...and these flashbacks kinda suck. So Roslin was happy go lucky! And had sisters! And then they and her father were randomly killed in a car crash, but she's stoic, see! Nevermind the fact that they would have all probably died when the Cylons attacked anyway...what is this supposed to tell us about her? We already know she's a tough person. I suppose the whole car crash was supposed to be shocking but I couldn't help but think the writers were just using a cheap device to make me feel sorry for her. Also, so help me if the person she's about to see on this blind date is the person who was driving the other car I'm going to jump up and down and scream "I don't care!" because I really really don't.

In other news, Baltar is still a jerk in the past. Two problems:
- I get that he's a jerk and I'm supposed to hate him. This has been emphasized basically any time he opens his mouth. Not news!
- There are three (now two) hours left to show the fate of humanity and I really really really don't care about Baltar compared to that.

TL;DR version: Lost good, BSG bad.


I miss music
Mood: contemplative
Music: Mozart - "Requiem"
Posted on 2009-03-03 10:02:00
Tags: music essay weight
Words: 106

I think I miss singing. Last week I couldn't get the Durufle Requiem out of my head (beautiful piece of music), and today I have the same problem with the Mozart Requiem, probably due to this 30 Rock episode. Maybe after the whole wedding thing I'll look into rejoining Austin Civic Chorus.

Another bit of self-reflection: The last few weeks I've been waaaay too moody. Insignificant things will bring me down, but then I'll feel better for no reason. I'm not sure how to work on that exactly.

We're seeing Watchmen at midnight Thursday and I'm quite excited!

Also, my weight sure bounces around a lot.


obama's speech and an embarrassing memory from my past
Mood: embarrassed
Posted on 2009-02-25 13:23:00
Tags: essay politics
Words: 241

Obama gave a sort of State of the Union last night - here it is in full and it was pretty good I thought. Louisiana governor Bobby Jindal (who some hope will run for president in 2012) gave the Republican rebuttal. As TPM points out he does a very good impression of Kenneth the Page! (Nate Silver covers why complaining about spending money on volcano monitoring isn't a great idea since it has saved lives in the past)

Unrelated memory that was randomly triggered at lunch: In 9th or 10th grade I was in the Houston Masterworks Chorus with my mom. For one rehearsal she couldn't make it, and so she arranged for me to catch a ride with someone (me not being able to drive) who was going to pick me up from home. Well, I'm a pretty shy person so I hadn't actually met this woman, but I sat outside on the curb reading a book waiting to be picked up. A car pulled up and scene missing and somehow I thought this was my ride and got so far as reaching in the window and unlocking the door before she asked "What are you doing?" I quickly apologized and went back to sitting on the curb. It was mortifying! Hopefully she didn't think I was a carjacker but I have a feeling she did. Later my actual ride came and I was careful to ask before entering the car :-)


progress marches on
Mood: thoughtful
Music: "World of Goo" soundtrack
Posted on 2009-02-06 13:41:00
Tags: essay gay wedding
Words: 170

At some point during this whole wedding process, it struck me (more poignantly than usual) we've come a long long way.

When I first started dating in 2000, I was heavily closeted, out to very very few people. My nightly phone calls to djedi I wandered around the Will Rice quad (because I didn't want roommates overhearing), and when people asked who I was talking to I would have to be awkwardly mysterious. Anti-sodomy laws were still on the books in Texas and some other states (way to go Legislature!)

Since then, anti-sodomy laws were struck down by the Supreme Court. Gays can now marry in two states, have a civil union in five others, and be domestic partners in four others (source). I am now fully out (non-protected post FTW!) to my family, friends, coworkers, and anyone I meet on the street. And we're planning our holy union.

This is why I'm not nostalgic for the "good old days". We've made progress and it only gets better from here!

1 comment

the world is depressing links
Mood: grumpy
Posted on 2009-02-03 10:22:00
Tags: essay links
Words: 784

I was pretty grumpy last night, and while I'm somewhat less so, I also had to get into work 2 hours earlier than I usually do. So, behold:

- The pope promoted an ultra-conservative Austrian bishop who said things like Hurricane Katrina was "God's punishment" for New Orleans' relaxed attitude towards sexual promiscuity and homosexuality. He's also your more standard fundamentalist with regards to Harry Potter books being evil, and apparently blamed the 2004 Asian tsunami on "rich western tourists" who had "fled to poor Thailand". Good to know where the Catholic church stands on such things. *sigh*

- This article about the new Battlestar Galactica by the guy who played Starbuck in the old one is really pretty amazing. I will excerpt, but you should read it all to appreciate teh crazy.

Starbuck was meant to be a lovable rogue. It was best for the show, best for the character and the best that I could do. The Suits didn’t think so. “One more cigar and he’s fired,” they told Glen Larson, the creator of the show. “We want Starbuck to appeal to the female audience for crying out loud.” You see, the Suits knew women were turned off by men who smoked cigars, especially young men. How they “knew” this was never revealed. And they didn’t stop there. “If Dirk doesn’t quit playing every scene with a girl like he wants to get her in bed, he’s fired.” This was, well, it was blatant heterosexuality, treating women like “sex objects.”
OK. You wanted to play Starbuck as a "lovable rogue", the writers didn't want that. Fine. I'll point out that treating women like sex objects maybe isn't the same as "blatant heterosexuality", whatever that means.
The Suits were not impressed. They would have their way, which is what Suits do best, and after one season of puffing and flirting and gambling, Starbuck, that loveable scoundrel, was indeed fired. Which is to say, “Battlestar Galactica” was cancelled.
Um, yeah, the show was cancelled. I guess he's better there was no Starbuck spinoff or something?
There was a time, I know I was there, when men were men, women were women and sometimes a cigar was just a good smoke. But 40 years of feminism have taken their toll. The war against masculinity has been won.
(bolding mine) Normally when I read a sentence about the war against masculinity is about when I stop reading.
In the bleak and miserable “re-imagined” world of “Battlestar Galactica,” things are never that simple. Maybe the Cylons are not evil and alien but in fact enlightened and evolved? Let us not judge them so harshly. Maybe it is they who deserve to live and Adama and his human ilk who deserve to die? And what a way to go! For the re-imagined terrorists (Cylons) are not mechanical robots void of soul, of sexuality, but rather humanoid six foot tall former lingerie models who f**k you to death. (Poor old Starbuck, you were imagined too early. Think of the fun you could have had ‘fighting’ with these thong-clad aliens!) In the spirit of such soft-core, sci-fi porn I think a more re-imaginative title would have been “F**cked by A Cylon.” (Apologies to “Touched by an Angel.”)
OK, that's actually a pretty funny title. But then:
One thing is certain. In the new un-imagined, re-imagined world of “Battlestar Galactica” everything is female driven. The male characters, from Adama on down, are confused, weak and wracked with indecision, while the female characters are decisive, bold, angry as hell, puffing cigars (gasp!) and not about to take it any more.
Maybe I've been watching the show wrong, and there are certainly moments when Admiral Adama is wracked with indecision, but by and large he's a pretty strong authority figure. And not all the female characters are angry. And I can't figure out whether that gasp is supposed to be sarcastic or not.
”Re-inspiration” struck. Starbuck would go the way of most men in today’s society. Starbuck would become “Stardoe.” What the Suits of yesteryear had been incapable of doing to Starbuck 25 years ago was accomplished quicker than you can say orchiectomy. Much quicker, as in, “Frak! Gonads Gone!”
Unless there's a major plot point I missed, Starbuck still has gonads. Also, methinks this is reading waaaaay too much into things.

Anyway, I guess we should go back to the days on TV where women were subservient and uninteresting and men were testosterone-driven sex machines and that would be more interesting. Or at least we could end the war on masculinity. I think the fact that my sarcastic comments are basically the same as the article means that it's a good time to stop.

1 comment

giving it another go
Mood: hopeful
Posted on 2009-01-06 11:30:00
Tags: essay weight
Words: 162

I am overweight. This displeases me.

I weighed myself every week through 2006 and 2007, and then my record started getting spotty in 2008 (to be fair, we bought a house and stuff). Keeping a log as to how well I was doing seems necessary to actually losing weight, but in the past it would just depress me because the fluctuations seemed random, independent of how "good" I thought I was that week. When I was in Weight Watchers in college I did lose weight, but counting points for every single meal and budgeting them and stuff made me pretty miserable.

So! New plan. Back to weekly weighings. At most one soda a day, and not at lunch. Exercise more, somehow, even though it's difficult when we don't get home until 7. Stop mindless snacking.

Unrelated: I'm no fan of Rice's tuition increases, but I'm glad they're at least raising the no-loan threshold and lowering the cap on loans in aid packages.


Texas Bowl was awesome!
Mood: excited
Posted on 2008-12-31 14:13:00
Tags: pictures travel essay
Words: 477


That was a lot of fun! We got to the game early and walked to the stadium (avoiding the $20 parking), got some food and sat in our seats. We were literally four rows away from the field, at the 35 yard line. Visibility would have been better had we been a bit higher up, but being that close to the field was pretty fun. Reliant Stadium is huge!

I haven't watched a Rice football game since I graduated, as far as I can remember, so the team was very different. When I was there it was a lot of running, and a pass play almost qualified as a trick play because they happened so rarely. Rice ended up running a decent amount, but their passing game was stellar. Chase Clement (their senior QB) is quite good - he ran for Rice's first touchdown and threw for a few as well. He was good at avoiding the pass rush too - on one particularly nice touchdown throw he did a neat little turn to throw off the rusher and had plenty of time to step and throw.

Jarrett Dillard (Rice's All-American WR) was pretty amazing too - he made some nice catches (my dad says he has a 42" vertical leap!). James Casey sometimes lined up at tight end, sometimes at fullback, and he returned punts and was the holder for the field goal kicker :-)

Rice tried a few trick plays including a flea flicker (QB hands off to the fullback who takes a few steps, tosses it back to the QB who then throws a long pass) which didn't work, and a reverse followed by an attempted pass which would have worked but it was a bad throw. One that did work was with four wide receivers lined up on the left, Clement quickly threw to Dillard and then took off to the right. Dillard took a few steps, stopped and threw it to Clement who waltzed in to the end zone. It was awesome :-)

Here's the game recap - it was never close at all (Rice won 38-14 but went up 38-0 and then started taking out first-string players). The downside was that it wasn't that exciting per se, but it was nice the coach got to take out Clement and Dillard to a standing ovation.

The stadium was reasonably full and there were unsurprisingly a lot of Rice fans, including NI's former VP of R&D who I ran into. We got some good cheers going and stuff :-) I went with my dad and sister (not wonderjess, the other one who refuses to get a LJ account...) and had a lot of fun! Got to use my new camera for the first time and it performed well - took a lot of good pictures that I'll post when I figure out how to download them...

Edit: pictures now up!


"I wish I had done this!"
Mood: geeky
Posted on 2008-11-26 10:16:00
Tags: essay math programming links
Words: 387

"I wish I had done this!" is my highest praise for a website. The last time I can remember using it was for wowjutsu, which tracks raid progression in WoW by looking up what gear people are wearing in the Armory and matching that with where that gear came from. Simple idea, useful, interesting, but the technology behind it is something I totally could have done.

My newest "I wish I had done this!" is StateStats. You enter a search term, it finds which states in the US search for that term more per capita, then gives you a nice heat map of the US. But then it correlates that with a host of other state rankings: obesity, income, high school graduation rates, voted for bush, percent youth, etc., etc., etc. So you can see that searches for "prius" are correlated with income and negatively correlated with energy consumption. Or searches for "gay" are correlated with density (i.e. more urban states) and negatively correlated with voted for bush. Or searches for "lsu" are highly correlated with, well, being Louisiana. Or searches for "coke" are highly correlated with obesity, while searches for "soda" are highly negatively correlated with obesity. (huh?) Or searches for "tea" are correlated with income and negatively correlated with voted for bush.

Anyway, it's a ton of fun to play with, and the example queries ("garth brooks" is highly correlated with voted for bush!) are interesting, but it's even more fun to think of a common search term and see what pops up.

The correlation metric it's using is just based on rank and not intensity - i.e. it's just the order of the 50 states that matter, not how much the first place one is bigger than the second place one. This probably leads to some false positives when the numbers are very close together. Also, I'd imagine there's a natural inaccuracy determining which state a particular query is coming from, and since you're looking at things only on a state by state level (as opposed to county by county or something) it's not as precise as it theoretically could be.

And don't forget correlation is not causation - searching for "hockey" does not make it colder outside, or make you richer.

I award StateStats the official "I wish I had done this!" seal of approval.


Attacks on Obama vs. attacks on McCain
Mood: thoughtful
Posted on 2008-10-29 12:24:00
Tags: essay politics
Words: 678

I've been reading a lot about politics this year, although my sources range from relatively neutral to "in the tank" for Obama. But even so, I've noticed that the attacks on Obama seem to be far crazier than the attacks on McCain. It's hard to say whether this is true since the sort of sites I read tend to highlight the crazy attacks being made Obama, and I guess I don't entirely know where the crazy attacks on McCain are coming from. (I read dailykos.com which definitely had some questionable things, but still not as bad as what's being flung at Obama)

So I watched a segment of the Daily Show last night with interest, a segment where John Oliver went to Obama and McCain rallies and found people saying crazy things. Here it is:
As I was watching, it struck me that indeed the attacks on Obama were crazier. Let's break down each one by true/reasonable, grain of truth, and not true:
on Obama: If he is elected, we will have terrorists in our country. Didn't say he was a terrorist, so she could be saying he won't defend our borders, which is a reasonable concern. grain of truth
on Obama: He'll put a turban on, go in the White House and "we'll all be shot". not true
on Obama: He's a Muslim, we don't know enough about him. He is not a Muslim! not true
on Obama: It would be a takeover of our country, he doesn't understand the radical Islam perspective. Close to saying he's a terrorist, but this is a valid concern. grain of truth
on McCain: Idea of McCain becoming president is terrifying. This is pretty vague... grain of truth
on McCain: The conservative turn the country would take is scary. "Scary" is subjective, obviously, but McCain is obviously a conservative. true/reasonable
on McCain: The pick of Palin scares the living daylights out of me. Again, too vague to be true grain of truth
on McCain: Palin has proven to be most ineffectual and unintellectual woman out there. Hyperbole but there's a valid concern in there grain of truth
on McCain: McCain's out of touch, doesn't know about Twitter, Flickr, Youtube. Probably true but not a totally valid concern grain of truth
on Obama: Been tied up with a lot of "groups like that" like ACORN. Technically true, although I have a feeling if they hadn't suddenly cut the interview this would have gotten crazier true/reasonable
on McCain: Pals around with Keating Five people. "Pals around" is a bit iffy but he was one of the Keating Five... true/reasonable
(skipping two incomplete thoughts, one on both sides)
on Obama: Scared to death of him, have thirteen grandchildren, there will be no America left. Um, OK. not true
on McCain: Have a ten year old daughter who's grown up with war, would like her to have four years of peace. Borderline but McCain is definitely more hawkish than Obama, and he supported the war in Iraq where Obama didn't true/reasonable
on McCain: Roe v Wade would definitely be "under threat". Seeing as McCain now supports overturning it... true/reasonable
on Obama: We have to realize killing babies is out of line. Inflammatory language, but at least there's an issue behind it true/reasonable
(skipping McCain should have left the party when he's still having fun, because I don't understand)
(skipping Obama: "show me who your friends are and I'll tell you who you are" because it's not specific enough)
on Obama: isn't living in a realistic world when it comes to his Islamic views again, didn't say he's a Muslim, and a valid concern true/reasonable
on Obama: if he becomes president, America as we know it is gone. not true

So, to summarize in table form:

Attacks on ObamaAttacks on McCain
grain of truth24
not true40

Obviously it's impossible to do this objectively, but I did my best. Innuendo was flung around at McCain, but no one said anything like America would be destroyed if he was elected.


"heroes" but not about "heroes"
Mood: annoyed
Posted on 2008-09-23 10:01:00
Tags: rant essay
Words: 411

While watching "Heroes" at the Drafthouse last night, two things pissed me off entirely unrelated to the show.

1. KXAN (our NBC affiliate) kept shrinking the screen to warn us that, after October 2 Time Warner customers won't be able to see their station because they won't pay the reasonable price of less than one cent per customer per day (this happened like 10 times over the two hours). Here's KXAN's side of the story. They also (playing hardball) say you can sign up with Dish TV or AT&T U-Verse to ensure that you can still see everything, etc.

One cent per customer per day doesn't sound like much, but if every channel charged that much...let's see, there are around 150-200 channels in the basic Digital package, and that would be $45-$60 a month when the package itself only costs $65. (obviously Time Warner has a lot of infrastructure to pay for, plus they have to make a profit somewhere in there) So that's a little high. Not to mention the fact that KXAN is available for free over-the-air! I can understand a nominal fee to Time Warner, I guess, but asking for more money for something that anyone in the Austin area can get for free seems a little cheeky.

Time Warner's side of the story (yes, they bought thetruthhurtskxan.com on September 17th!) points this out, although that's mostly their only argument other than KXAN is trying to negotiate through the public, etc.

I would imagine that KXAN has more power here - while switching from cable to Dish or something else is a pain and not always possible, there are no substitutes for watching NBC shows (except for viewing them online or illegally downloading them or something) - Time Warner has better substitutes than KXAN does.

In the end, they had better figure this crap out and I better not miss my Heroes and Chuck and 30 Rock.

2. What is it with stupidly-titled shows? Last night we saw a preview for Yes Man which is about a Man who decides to say Yes to everything. There was also Sex Drive which is about a guy who Drives to California to have Sex. It makes me think they started with the title and came up with the lamest, most straightforward interpretation of it and then made a movie. Cut it out! (yeah, yeah, Yes Man is based on a book, but the book has the same stupid and literal title)


things that, upon further reflection, really piss me off and have come up recently
Mood: annoyed
Posted on 2008-09-03 15:19:00
Tags: rant essay
Words: 364

Abstinence-only education
This is in the news because Sarah Palin supports it, but it really didn't make me angry until I thought about it for a while. I understand teenagers having sex is bad (in a relative sense) and abstinence is a good thing and all that, but the fact is that around 60% of high school seniors will have had sex at least once before they graduate. (saw this recently, although I can't find a reliable citation at the moment)

If you think condoms are immoral (looking at you, Catholic Church) then I can at least understand the objection here (not that I agree), but imagining that not telling kids anything else except "don't have sex, it's horrible, etc." will make them (teenagers! the most rebellious age group?) just decide not to have sex, despite the fact that hormones are raging.

Not telling these kids about how to protect themselves is irresponsible. Only 15 percent of Americans support only teaching abstinence.

"Traditional" gender roles
This weekend, there were some books and movies and stuff in the beach house we rented, one of which was "Husbands Who Won't Lead and Wives Who Won't Follow". This really grinds my gears (I read like half a page over breakfast and couldn't continue). Firstly, the existence of gay couples is brushed aside with no explanation or anything, which almost makes me more upset than if one were arguing against us directly.

But even beyond that, this is flat out sexism. And what is the justification for this? I know that's the way it was in the past, because men were slightly stronger so they could go kill the mammoths while the women cared for the children, but I don't see anything fundamentally good or bad about that. Why is sex supposed to determine our role, and not personality and the particular relationship we're in or whatever? This is a conservative point of view ("conservative" in the this-is-how-things-were-done-in-the-past-so-we-better-keep-doing-them-because-the-past-was-awesome-compared-to-now) but why is it pushed by religions as well? I know there are a few small examples of this in the Bible ("Wives, be submissive to your husbands") but I just don't get how this fits in with anything else.


Mood: thoughtful
Music: Death Cab For Cutie - "I Will Possess Your Heart"
Posted on 2008-08-26 12:59:00
Tags: essay poll links
Words: 260

I read this article on panhandling and it brought some things to mind.

I've never been quite sure what to do about panhandlers - they're somewhat common in Austin (and Houston) and so it's not infrequent that I'll be stopped at a light and one or two will be on the median. Back when I first started driving, I leaned towards giving them a dollar and feeling good about myself. "After all", I'd tell myself, "even if they are just going to spend it on alcohol or whatever, it's not my place to judge them, and I have the right to spend my money on stuff that isn't great for me, so why shouldn't they?" I thought it was the Christian thing to do.

After a while of that, I got a little jaded, and thought about the fact that economically I was encouraging more panhandling by "rewarding" those who were. (cold-hearted economics strikes again!) My mom tended to have a bag of non-perishable food (cereal and the like) that she would give instead of money, which is actually a pretty good solution.

Now I'm generally torn on the issue. Since we moved further away from downtown I don't see panhandlers as much so it hasn't come up, but reading the article sure makes me less likely to give. I like Denver's solution of converted parking meters where you can drop money and the city will give it to homeless shelters, etc. - that way you can give at the time you're being asked while ensuring it goes to a good cause.


habeas corpus is alive and well, barely
Mood: hopeful
Posted on 2008-06-12 16:37:00
Tags: essay politics
Words: 289

Today the Supreme Court ruled 5-4 in favor of habeas corpus for detainees/enemy combatants, which means that people held at Guantanamo have the right to challenge their detention in a civilian court (as opposed to a military tribunal where defendants can't have a lawyer or see all of the evidence against them). This, to me, seems like a huge step towards rolling back all the Orwellian things that have taken place in the US recently. Here are some excerpts from the decision.

The 5-4ness of the decision is a little more frightening - unsurprisingly Scalia, Thomas, Roberts and Alito were the dissenters. And, from the article:

Three of the five Justices in the majority -- John Paul Stevens (age 88), Ruth Bader Ginsburg (age 75) and David Souter (age 68) -- are widely expected by court observers to retire or otherwise leave the Court in the first term of the next President. By contrast, the four judges who dissented -- Antonin Scalia, Clarence Thomas, John Roberts and Sam Alito -- are expected to stay right where they are for many years to come.

John McCain has identified Roberts and Alito as ideal justices of the type he would nominate, while Barack Obama has identified Stephen Breyer, David Souter and Ginsberg (all in the majority today). It's not hyperbole to say that, from Supreme Court appointments alone, our core constitutional protections could easily depend upon the outcome of the 2008 election.

Just a reminder that who we elect in November can make a huge difference to the future of our country.

Unrelatedly, happy Loving Day! (thanks for the reminder, amorphousplasma!) Someone pointed out that were it not for this decision, Barack Obama's parent's marriage (is that correct apostrophication?) would have been illegal in 16 states.


an early midlife crisis?
Mood: busy
Posted on 2008-05-27 12:41:00
Tags: whereslunch essay xkcd math projects
Words: 159

Lately I've been feeling a lack of...something. A desire to build something great, some awesome website or something. I don't know where it's coming from and maybe it'll just fade away. Drive isn't bad, but it's kinda inconvenient. I just don't have a whole lot of time to devote to stuff like that.

Although, keep your eyes open for whereslunch.org after I finish my current project!

Speaking of which, last night in bed I finally figured out how to use inclusion-exclusion to calculate the number of 3 card straights, etc. The key is to make your sets "hands that don't include a green 0", "hands that don't include a green 1", etc., figure out the number of hands in the union of those sets and then take the complement. I guess it's been a while since I've done this combinatorics stuff. I also filled out some more entries in the table with explanations.

xkcd story in the NY Times!


the weekend, non-summarizingly
Mood: pensive
Posted on 2008-04-28 13:46:00
Tags: essay
Words: 625

I'm trying to move away from the "here's what I did this weekend" style of post because it's usually pretty boring to write so I'd imagine it's even more boring to read.

Instead, some interesting stories from this weekend! (note: stories may or may not be interesting, and are superseded (yes, it's spelled correctly even though it doesn't look right) by local laws)

- We were visiting my folks in Houston to celebrate my birthday, and hung out at the International Festival for a while. We saw the Mario Kart Wii promotional tour and I got a Mario Kart drivers license! (picture to come) We also saw more Bob Marley paraphernalia than you would believe.

- Saturday night we went out to the Rice Philharmonics CD release concert. I didn't make the connection before we got there that it was also their last concert of the year, which made it kind of sad (as with high school, the thing I miss most from college is the group I was singing with). It also drove home the point that I know no one in the Phils anymore, which isn't a surprise but still feels weird.

It also reminded me that I enjoy singing in concerts much much more than I enjoy going to them as a spectator. This seems vaguely hypocritical to me but I'm not sure that it is. Singing is much more fun than...listening, I guess.

- Speaking of singing, I sang in church Sunday and although my "stamina" wasn't back, at least my voice sounded normal and it didn't hurt. Finally my week-long throat thing is gone, whatever it was, and I'll be OK to audition for ASMC in two weeks. Although I need to pick a song first. Ack.

- On the way back we wanted to get some more of that delicious St. Arnold's root beer. The hours on the website were kind of unclear, so we stopped by and there were lots of cars in the parking lot. We walked in and the doors were unlocked but no one was at the front desk, so we kept on walking. Before we got to the brewery area (where they usually sell the root beer) we could hear a guy talking on a microphone, and it sounded like some sort of company meeting.

This was a little intimidating, but dammit if we don't make it out there much and we wanted root beer so I opened the door and stuck my head in. The guy with the microphone was standing just to my left and acknowledged me, saying "Come in!". I was really close to doing so before realizing this would be a big mistake - I'd be sort of awkwardly trapped there with a bunch of employees. So instead I said jovially, "Oh, no, I just wanted to buy some beer". The guy said back that unfortunately they legally couldn't sell beer (stupid blue laws) and I said, stupidly, "oh, I meant root beer". Just then a woman came over to help me and we walked back towards the front desk to pay and stuff. I heard the guy on the microphone say "well, we're not going to turn down a sale!" and everyone laugh.

Best part: on our way out she said "Let me just lock this front door..." :-)

- Last week I was going to praise our new Lady Americana mattress and how it's so ridiculously comfortable and awesome. Unfortunately it means that sleeping on my old mattress at home apparently does some bad things to my back because it's been pretty painful the last few days. Hopefully a few more nights on our super-bed will cure it, but I'm not thrilled with my back turning into a mattress snob after only a few weeks.


Travis County Democratic Convention
Mood: refreshed
Posted on 2008-03-30 11:41:00
Tags: essay politics
Words: 892

At our precinct convention, I signed up to be an Obama delegate at the county convention, which took place on Saturday.

Our precinct group had a strategy meeting on Thursday that I was unable to attend. Since we were ahead 36-17 in delegates and our precinct sent 4 delegates to the state convention, we selected among ourselves who we wanted to go and then allocated our votes to make sure we got 3 delegates (3 people got 10 votes, and the leftovers voted for alternates). The math is kinda interesting - I'm sure there's a formula/procedure to determine the optimal strategy.

Anyway, I had gotten calls before to make sure I'd be attending, and an organizer even stopped by the house so I could sign a form designating an alternate in case something happened and I couldn't make it. And after I woke up bright and early at 7:30 I got a call making sure I was on my way :-)

Stopped to get breakfast and pick up wildrice13, who was also an Obama delegate (in a different precinct) and headed down to the Travis County Expo Center which turned out to be not particularly close to here (it's near the airport). At around 9:00 we turned on to Decker Lane and quickly got in a very long line of cars.

Twenty minutes go by and we haven't moved a whole lot, and we can't even see the Expo Center (it's a hilly road), but some cars are parking in an elementary school parking lot and walking, which seems like a good idea so we follow suit. The walk wasn't too bad, maybe .75 of a mile.

When we finally arrive at the hall there are two really long lines and lots of people with signs with precinct numbers. We find our right line (it's 9:30 by this point) and wait. And wait. And wait. The line is moving really slowly and someone in front of us says it's a gigantic mess at the front, which is pretty easy to believe. Someone comes by to assure us that even though sign in ends at 10, they're extending it to count us all, which is good.

Make it to the front after an hour and there are different windows for different groups of precincts but there's little space to form lines so it is all in fact a mess. wildrice13 finds his window and I find mine and we eventually get in.

The place is packed and I find my seat. They're just getting started, luckily, so they do the pledge of allegiance and national anthem and it opens with Lloyd Doggett talking about unity (a major theme of the day), that no matter who our nominee is we need to support him/her over McCain. Shortly after that, the convention chair told us that the speeches were basically killing time for the credentials committee to process all the challenges to delegates, and that after that was done we could do the voting for the state delegates.

Lots of other people spoke throughout the day - Larry Joe Doherty (candidate for the 10th congressional district) pointed out that more people voted in the Democratic primary in district 10 than did for Michael McCaul (current representative) in 2004, which is pretty neat. And although everyone talked about unity, the ones who had endorsed (mostly for Obama) would say "Now, while I do support Obama" followed by lots of loud cheering by the Obama people, then a call for unity followed by more muted cheering by everyone. Sometimes they'd talk about George W. Bush or less commonly Tom Craddick and Tom DeLay. Then we got to boo!

During the speeches, I paid attention some, read some, chatted some with people around me, got food from the concessions stand. (overpriced, of course) Eventually Terry McAuliffe (!) came out to speak for Hillary and Ron Kirk spoke for Obama. That was neat.

Finally the credentials committee and rules committee reported for both districts (most challenges of delegates were rejected, with the notable exception of a Republican precinct chair!) and then people had to vote for district officers. In the other district (25) only one person ran for chairman and secretary, but in ours we had 4 run for chairman and around 6 for secretary. I was worried we would have to all vote somehow, but the guy was clever. For chairman we voted by voice vote and it was clear who the winner was. For secretary two candidates got about the same, but the chairman made a motion to make them co-secretaries. Genius!

Shortly thereafter, we voted. As planned, we voted 10-10-10-6-1 ish. The Clinton people voted 9-8 so they only got one alternate; if they had voted 9-5-3-1 or something they could have had two, I think. There was more business after that (resolutions and stuff) but wildrice13 and I left since it was already 4:30. The people who stayed said the convention was adjourned at 11:15, so I'm really glad we didn't stay until the end!

I have some pictures up, as does one of the other delegates. Burnt Orange Report shows Obama up by 11% or so throughout Texas, and Travis County went for Obama 383-184. Here's the CNN story.

Then I drove to San Antonio and got back at 12:30. Then I hottubbed. It was a long day.


The decline of US culture - The Moment of Truth
Mood: disgusted
Posted on 2008-02-27 13:21:00
Tags: essay
Words: 255

This shit makes me angry.

So there's this show called The Moment of Truth where people are asked personal questions, and if they answer truthfully (as determined by polygraph done before the show) they collect money. They can stop at any point in time before the question is asked and leave with the money, but once a question is asked if they refuse to answer or "lie" (polygraphs aren't 100%), they lose it all.

You can imagine that the questions asked would be very personal and embarrassing to make the show more interesting, and you would be right. Here's a list of shows they've done so far, including such beauties as "Do you believe your father has used money to control you?" and "Are you still in love with your ex-fiancé?"

But the worst situation was that in the latest episode, where a wife admitted she thought she should be married to an ex-boyfriend and that she had cheated on her husband. (apparently the husband already knew about it, but was still mondo embarrassed for it to be revealed on national TV) You can watch the video of the last few questions if you'd like but I wouldn't really recommend it.

The show is paying people to humiliate themselves for the amusement of others. I can't find anything redeeming about it. It just feels so sleazy.

Anyway, to wash the bad taste out of my mouth (and soul) I watched Jonathan Coulton and friends play "Still Alive" on Rock Band. That made me feel better.


caucus night
Mood: cold
Posted on 2008-01-03 23:20:00
Tags: election essay house politics
Words: 216

The short version: Obama wins, Edwards just barely beats Clinton for second. Huckabee wins on the Republican side.

Back in 2003, I was a huge Dean supporter. I got to shake his hand (this was back in April when he was pretty unknown), went to Meetups for him and wrote letters to voters in Iowa, sent him lots of money, went down to San Antonio for a rally wearing my Dean shirt and hat, etc., etc. When he lost in Iowa and then the whole Dean Scream nonsense, it broke my heart. I did get behind Kerry, not terribly enthusiastically, but what's the alternative, right? His loss broke my heart too, but in a smaller way.

Anyway, I feel a little bad that I wasn't backing a particular candidate, because I don't want to lose my passion...but in the end it's really hard to tell who would make the best President. They're all pretty good, and I'd be happy if any of them got elected. (even Gravel...think of what an entertaining four years that would make!)

Tomorrow night: movie
Saturday: drive to Houston, do a bachelor party
Sunday: drive back to Austin earlyish, meet djedi's parents and look at houses. Maybe decide to make an offer on the one we like. That would be pretty neat.


Happiness (two kinds of ice cream!)
Mood: busy
Posted on 2007-12-07 15:28:00
Tags: essay happiness
Words: 229

A common trap to fall in is to assume that you will be happier and your life significantly better after event X happens. ("If I could just get that promotion...", "If I only had a puppy..", etc.) I've always tried to not do this because it leads to not trying to either make things better or be happy with where you are in life. There's always one more goal over the horizon that will finally make you happier. I've been reading The Happiness Project for a while and in a post today she linked to an article that articulated this point nicely.

At the same time, the truth is that sometimes big events do make you happier. I'm, say, 50% happier now than when we were living in Maryland, both for job and people reasons. I guess the difference is that it was a really big change, and that I didn't just give up on "being happy" while we were up there.

I guess I've been thinking about this some because of our discussions about getting a PlayStation 3. (mostly for Rock Band) Money aside, I was pretty reluctant for a little while because it has a very rich-kid or yuppie vibe around it. (to me anyway) But honestly, it's just a stupid video game system, it's not a reflection of my life or anything similarly out of proportion.


fun with juries!
Mood: tired
Posted on 2006-07-12 12:28:00
Tags: essay jury
Words: 1130

So I was called for jury duty on Monday for the first time, so I was pretty excited about it.
A diagram of the courtroom

My notice said to be there at 8:30, so I left home around 7:45 just to be on the safe side (since it was downtown, which I never go to in the morning). After sitting around outside the courtroom for a little while, they let us in around 8:15. At that point there were around 25 of us sitting in the observer's area (surely there's another name for this, but I can't think of what it is...). There was a guy with gray hair sitting between the witness stand and the judge's bench for a while fiddilng with things - at first I thought he was the judge, but it was not to be. More potential jurors started trickling in, and we saw the woman who was later revealed to be the bailiff setting out styrofoam cups for people, distributing papers and whatnot. She seemed pretty on top of things.

We also saw the attorneys come in and out a little. (I thought the defense table was always closer to the jury, but I was wrong wrong wrong) Around 8:35 the guy with gray hair (who was the court reporter) came up to us and sat us in order. There were 60 people total (although 2 arrived after this). I was seated at the end of the second row, #24. I figured the odds were against my getting on the jury, but it wasn't entirely out of the question. While we were being seated, the attorneys showed up and so did the defendant (who entered by the door right next to the defense table). He was an older guy, maybe in his 50s, and looked fairly composed, talking with his two attorneys some.

Then the judge entered. He talked to us for quite a while (20 minutes or so), and he was a bit...quirky (he said he had been a judge for 30 years and was going to retire soon). He showed us the indictment and asked us why it was pink. Of course, nobody knew, and he said he didn't know either, and they're different colors different places in Texas. Whee! He also extolled the virtues of the jury room, which he said had a microwave and refrigerator, a nice view of downtown and the Capitol building, and a big TV with cable and all the premium channels. He told us not to talk to anyone involved in the case ("casual greetings" were OK), and told us what the charge was: a convicted felon possessing a firearm less than 5 years after the end of the felony sentence (jail, probation, or parole). It didn't seem like a terribly complicated case, and he said it should wrap up on Tuesday or Wednesday at the latest. At this point I reaaally wanted to be chosen - it sounded neat and it would only be a few days anyway :-)

After this the prosecution began their jury selection questioning. The attorney seemed pleasant enough, and she talked a lot about the law and the general process and whatnot. Her style was to basically say something about the law, then call on one or two people by name and ask if they agree. Some things she asked:

Those are the ones I remember, anyway. During this the judge was looking at a computer screen - dunno if it was court-related business or not, but I would have expected him to pay closer attention since (I assume) he can strike jurors like the prosecution and defense can.

After she was done (about an hour), it was 10:00 and we got a 15 minute recess.

Then it was the defense's turn. When I had seen the main defense lawyer before, for some reason I idly wondered whether he was court-appointed. If he was, I would be extremely impressed, as he was exceedingly thorough. He talked for a little at first, then talked to people in the jury. He seemed to have information on who were lawyers, who had served on juries before, and who had relatives in the police department, and he asked all of these people specifically about these. ("So, Mr. Smith, your brother-in-law is a police officer?") After that he asked the first 40 people some of the following questions:

I'm not even sure he cared too much about the answers - the effect of hearing these questions over and over for an hour and a half was enough to make me doubt anything :-)

After he was finally finished, the attorneys left out the entrance nearest the jury box and the judge talked to us for a while about parking and parking tickets and how he could probably get our parking ticket dismissed if we parked somewhere illegally today (or didn't feed the parking meter). Also, if we didn't want our money for serving we had to fill out a form saying where to direct the money. And when we get our check, cash it quickly so the county doesn't run out of money (!).

Anyway, the attorneys came back in and the moment of truth was at hand! They started calling names, and I saw the picked the first three people, which didn't look good for me. But then they skipped a few, and then skipped some more, but the last person they ended up with was #22. Sooo close!



thoughts on my birthday (well, about my birthday, since today isn't my birthday)
Mood: pensive
Music: Dexter Freebish - "Leaving Town"
Posted on 2005-04-18 14:11:00
Tags: essay birthday
Words: 539

"Every overhyped lj post has a beginning..."

I've been thinking about birthdays and, more generally (but not much more generally!) age lately. I skipped first grade, so I've always been young for my age, and I usually took math classes that were a few years ahead of my grade. The upshot of this is that I was usually the youngest kid in the class by far.

So I think because of that, that kinda became my identity. It didn't matter that I wasn't the top student in the class (although I sometimes was) - for a while I was a novelty because I was so young, but even after that I could always tell myself that, even though kids did better than I did, I was younger than they were, so it didn't matter. In my mind, when I would consider my ranking in the class (I was pretty competitive academically for a while in middle/high school...), I was kinda in my own category, so I always won.

Another effect was that I started to identify as the young kid. So, even when I came to Rice, I wanted people to know that I was young, because that made me special. In the past, this had provided me with other people who would sorta hang out with me a bit just because I was young. (at Rice, I had the additional "specialness" of being a professor's son) And it did sort of continue at Rice, to a point (hanging out with djedi and blamantin wasn't just because I was young, but it certainly was a not-too-infrequent topic of conversation :-) ).

So now I'm out in the real world, and all of a sudden I'm not the youngest at work. And I felt kinda weird about that, and it took me a while to figure out why, and the preceding is what I came up with.

But now things are different (not that I'm making this change now, just that it happened a year or so ago). I don't feel the need to be "special" in some obvious way. I have good friends, a good job, djedi, and I don't feel like I need a "gimmick" to have people interested in me. This is healthy and a good thing.

And so, I guess I've become a lot more relaxed about age - I know occasionally people get sensitive about getting old and whatnot, and I do have those feelings occasionally as well, but I'm usually able to shake it off pretty well. Maybe it's like my rebelling against the hypersensitivity I used to feel to my age, but I just feel like it's something that happens and there's no point worrying about it. I used to be really bad about trying to change the past (when I was in high school and I would misplace something, I would always beat myself up as I was looking for it, wishing that I had put it in its right place), and now I just try to deal with things in the present as they come up.

The End...?

(Disclaimer: nothing in here is meant to blame djedi or blamantin for my age issues - I definitely had them before coming to math camp/Rice. That is all.)


This backup was done by LJBackup.