Why are we doing this?

Interesting blog post on 37 signals today:

Jason Fried elaborates on each of these points in the post, but the big picture is that this is a presentation he gave at SXSW about work you do. Interesting list. Good questions to ask yourself and keep in mind before embarking on a new project.

Software Resource Bloat

I don’t understand why it takes over 50% CPU to play an audio CD in ITunes. That’s just absurd. Even the “bloated” windows media player takes less than 20%. What is it doing with those other 30+% of my CPU cycles?? It doesn’t look like ITunes has any performance preferences that I can identify in options to speed it up either….Of course, now that I look at it, it uses an absurd amount of system resources when its not even playing anything. Is my system/itunes configured wrong? Or were itunes and windows never meant to run on the same machine? It’d make my day if Itunes had a “lite” version that isn’t so absurdly slow and resource hogging…

An Ode to the Talking Tree

So I redid the 404 page on my website because I read a webpage about good 404 pages, and decided my existing page just wasn’t. I mean, well, look at it. I was kind of tired of the worn quote about missing pages. I contemplated several other design ideas before finally settling on the talking tree reading poetry that I made up about the missing file.

404 page: before revamp
Before

You Are Not Here (404)
After

Its kind of funny how creative inspiration comes sometimes. I wasn’t inspired by other sites other than it needs something not text to liven it up, was coming up with some ideas but they were all cheesy or impractical. But then I randomly thought “gee maybe it’d be neat to put a scripture on the page” and then one thing led to another. All of a sudden, it had a theme and unique original content.

For the record, I didn’t draw the talking tree, though I did contemplate redrawing it myself, but ultimately decided to take the clip-art coloring book page and just do what it was meant for–coloring, but in the the new-fangled digital way! And there’s some scattered scripture references and quotes if you look carefully, though I didn’t cite the references on the site. (For the record they are: Ecclesiastes 2:12, 2:19, 3:1, 3:6)

For reference, for those of you who are unfamiliar with UCSD’s Stuart Art collection, one of the art pieces is a set of three sculpted “trees” in a eucalyptus grove near the center of campus. One of them, my inspiration, is the talking tree, it reads poetry at all hours of the day and night. There’s a second tree is the singing tree, and the third is the silent tree.

Here’s a few pictures from flickr of UCSD’s talking tree from flickr users:

talking tree UC San Diego talking tree

Ajaxy Goodness + My Latest Programming Project

Ajaxy Goodness
One of the books I picked up from the library this week was on how to write AJAX, “asynchonous javascript and xml”, which is a hot buzzword when it comes to web-programming. Recalling the wise advice from one of the job-search books, “hey, rather than saying your skills are transfereable to networks, why don’t you go home and network together the computers in your house so you so you can say you’ve had experience networking”, I decided that AJAX had a high bang for the buck when it comes to time required to learn a new skill that might look good on my resume.

So I found a nice book on AJAX designed for visual learners (lots of pictures and arrows rather than wordy paragraphs) and read enough of it to waste my morning yesterday, creating button to replace the quote on my browser start-page dynamically. Really, that only required reading chapter 1, but I kept flipping ahead to see what else was covered in the book and happened to find the page on how to add proper error handling and things and threw those in.

Surprisingly, it worked like a champ in Internet Explorer, which is usually known for being quirky and the bane of web-programmers. But Firefox, you’d click and nothing happens. I think I learned more about AJAX trying to google what could be wrong with it than I did from skimming and reading the book. In the end, after having upgraded firefox to the latest version and rewriting pretty much the entire thing a few different ways, I discovered the problem was Firefox expected some particular function name in all lowercase, even though the book and internet explorer were perfectly happy with the suggested CamelBackCase.

After I got that working, I decided to take it to the next level, and update two unrelated things on the page at once, which although it sounds only a trivial amount more complex from a user perspective, from a technical implementation standpoint it increases the complexity considerably. Rather than a string, you need a whole XML document. In the end, I had less trouble with that than I did the @#$@# firefox bug. The Firefox bug was hard to google too, because every time I’d google my problem, I’d get back a bunch of results about an unrelated firefox bug where if you set the request to be synchronous, it will cause similar behaviour; of course that wasn’t my problem. So now I can feel confident in listing AJAX on my resume, and its not really that hard (** if you already know javascript, xml, and php, big ifs).

My latest Programming Project
And then this afternoon I spent more time working on my bible reading tracker program that I started earlier in the week. I’d come up with a fairly concrete idea for a program that would be useful to me that it seems no one else has ever done before (nor done anything remotely close to before).

The basic idea is an electronic version of the reading check-charts that come in many bibles. The advantage to an electronic version would be calculation of statistics. You have some concrete metrics to measure your progress. Plus you can model the data visually into graphs and charts (I took a graduate level data-modelling in college…) which is a way more fun way to mark your progress.

Phase II of the reading tracker implementation would involve tracking trends over time for more fun statistics.

There might additionally be a phase III with features like integration with other bible software, customized reading plan generation, and so on.

I’d already started implementing it but had come to a block about how to represent such large quantities of data (there’s over 30,000 verses in the bible). At the chapter level, there’s over 1000 chapters. And at the book level, 66. At any of those kind of numbers you’re out of the range of what’s easy and reasonable to do by hand, and where you need to write scripts just to mangle the data into a format the computer can deal with. In the Logos bible software there are over 400 abbreviations of book names that are allowed by the software. And I, of course, want my software to be flexible and easy to use, so I want to support a maximal set of abbreviated versions of the book names. And looking at their set of abbreviations, it pointed out issues I hadn’t thought about, like that for 2 Chronicles, just for how a user would represent the 2, you have: 2, II, Second, 2nd all as valid options.

From a techical standpoint, this isn’t too difficult of a project to tackle on my own. But it brings up a lot of interesting design problems that you have to solve to handle the scale of the data to prevent tedium or the program being unnecessarily slow. So its been fun to ponder over and begin to implement.

I Googled Myself…

Just for kicks (well, as a random thought as I worked on my resume) I decided to google my name and see what came up, like whether it found my websites past or present. Well, not exactly, I wouldn’t have guessed pretty much any of the top hits

1. PBase (photography site). an empty profile, which I think I made for the sole purpose of

2. leaving a guestbook comment on’s brother in law’s page on there.

3. List of teaching assistants (including myself) for Bill Griswold’s compilers B class. Apparently my lab (work) hours were friday from 2-6.
4. CSE 120 (operating systems) Fall 2001 Project Groups for “Nachos Project 1”

5. CSE 190 Computer Graphics homepage including student roster (didn’t I drop that class eventually?)

6. ‘s former roommate () Eric’s pictures on webshots, which is really kind of random because the only picture on the page that shows up is Jessica Lopez. And if you poke around there’s some pictures of Jessica Chapman. Oh wait, there I am…page three of that album…and twice at that.
Jessica Winblad Nick and Jessica

7. Courtney ()’s little sister’s contacts page on flickr, which is the first and only page on there that links to a page that links to my website (if you poke around enough)

8. Link 6 is where you hit the hump where they stop being legitimately related to me. Link 6 is in Swedish, a page from Lunds University, about some researcher named Jessica Winblad-Carlzohn

9. blah blah blah… Jessica Guynn… blah blah blah…. Hummer Winblad… blah blah blah

10. Jessica Livingston, author, interviews Ann Winblad, one of the subjects of her book “Founders at Work” interviewing the founders of sucessful startups [Aside, I’d always been told Ann Winblad is an author (which is true…) but apparently Ann Winblad started an accounting software startup in the 70s (and the book she is best known for is about Object Oriented Software Design…). Nobody in my family knows how distantly we’re related to her, but its such an uncommon last name that its almost certain she’s some sort of second or third cousin or something. Guess I just have genes for computer-geekiness don’t I?]

(on to page 2)
11. Some random video game music producer has me listed as an interesting person on their Amazon.com profile and it shows up on the recent activity that I added the Everlastin Jesus music concert to my wishlist. (oh, guess we’re back to me again)

12. My mom posted a photo of me having just returned from africa

13-20 or 30 or 40 or 50. Appear to be mostly irrelevant to me, mostly Ann Winblad, and of course, a few more hits for things like Jessica the girl from Sweden and random unknown Winblads mostly with swedish first names.

Searching for me on Yahoo results in a lot of similar things, though hit #1 is my page on 30 boxes, which appears to be a summary of recent flickr photos and myspace blog posts, and #3 is my dead tripod website and #5 and 6 are way old missions ministry prayer meeting events from the Rock Church calender.

MSN on the other hand, result #2 is my “online portfolio” (resume-looking stuff listing courses and projects I’d done) from my current website 🙂

Microsoft Paint Manual

This is the original MS-DOS edition…where paint is such a novel program you get a 30 page (or so) manual on how to use it. I found this treasure in a drawer with stuff I got from my grandpa, buried under the binoculars (that I’ve never used) and treasure box with two dollar bills, old foreign coins, and whatnot.

I don’t think this page’s art was done in paint…it looks a lot nicer than the samples of artwork done in paint several pages later.

Things I’ve Learned in Uganda (So Far)

  • Tide works just fine for doing hand-wash (and in fact makes the clothes smell all good). Thank you everyone who left us four load bottles of Tide.
  • Any sort of upside down container makes a good candle holder.
  • Bodas will always try to double or triple the price when they see you’re white.
  • Cocoa covered wheat flakes are far superior to Cocoa covered corn puffs. Cocoa covered wheat flakes are of course only available in Kampala
  • Whatever temperature you want the charcoal cook-stove will always be too hot, until the point where it instantaneously becomes cooler than you want and needs more coals.
  • Make sure you’re prompt to collect your finished laundry, often it is not dry and gets folded by the house help still wet and will get moldy if you don’t reclaim it promptly so you can spread it out to finish drying
  • Ironing really speeds up drying.
  • If the milk seems at all sketchy because the power’s been off or the fridge got turned off, just skip it, don’t risk it.
  • The five second rule still applies here.
  • Flashlight batteries never last long enough.
  • Ant spray is effective
  • Mosquito spray is also effective at repelling spiders
  • A bottle of febreze doubles effectively as a window propping open device.
  • Don’t leave anything valuable in the living room.
  • Don’t leave food you don’t want the kids to eat out in the living room either.
  • Real better is infinitely better than margerine
  • If you leave a stick of butter in the fridge you may return to find child’s teeth marks in it where they thought it’d be funny to bite into and taste.
  • Little Shammah is practically a monkey and can climb just about anywhere.
  • If the water is on, take a shower, you never know when it will go back off.
  • If the electricity is on, use it. Also remember to charge any rechargeable appliances like laptops and camera batteries. The law of unpredictability applies here too.

 

Computer Ministry

Today was kind of crazy…they had me running around at the church all day to teach some of the girls who stay at the church the computer. Most of them have either never used a computer or have very little computer experience. It took most of the day to get the computer set up, and required a trip into town to get a different mouse, and who knows what else. And then of course, had to find a desk to set up the computer on, and have the guy with electrical experience come in the office and splice the power cable the light socket dangles from to add on a wire down to the power-strip.

They actually had a UPS hooked up which was good since five minutes after they hooked it up and turned it on it started beeping that it did not have power. Guess what the problem was? One of the wires they’d attached fell disconnected…seeing as how they neither soldered it nor used pincher caps…just exposed bare wires. The only place I think I’ve seen a more dangerous looking electrical setup was that school in Costa Rica that didn’t have a circuit breaker because it was hard-wired into the electric without a meter and caused shocks. At least this one didn’t cause any shocks :).

Pastor wants to set up a whole computer training school…giving me plans for all the things we’d need like uniforms and notebooks and school fees and this and that and the other. The vision is good, other than that I think it really needs to be spelled out more clearly what the goal is and what kind of length of program we are talking about and a lot of other things…and then in the meanwhile they send me about eight teenagers to teach the computer for an hour on a single computer…which by the way the CPU was borrowed as I understand it. But if the vision is there, and prayer is there, God can supply the missing parts.

It is a little like ahhh, slow down, somebody communicate to me what the plan is of what is going on. With the culture difference, sometimes it is a little extra challenging to communicate because they just assume “this is how things are” and to an American “how things are” is a completely different perspective. But I’m sure we’ll get through a lot of that. At the very least a good handful of kids learned how to use a keyboard today. Space-bar and upper-case letters and punctuation and backspace were all kind of challenging concepts to them, but the ones who got a turn on the keyboard were all able to clunk out a sentence or two in broken English in Microsoft Word. Sometimes in America its easy to lose perspective of explaining things from no knowledge, because we are so exposed to computers that most people have some idea how a keyboard works, for example.

The other thing that’s challenging is that of course, when I asked the kids what they wanted to know how to do on the computer, every one said “I want to send messages” (ie. email), and of course the church does not have internet, so I can’t teach them that. Of course, learning to use the keyboard and mouse and typing sentences might be a good prerequisite for that.

The song that never ends, computer programmer edition

“This is the bug that never ends, it goes on and on my friends. We started squashing it not knowing where it was; It is the bug that never ends, it goes on and on my friends, we kept on squashing it not knowing where it is, it was the bug that never ends…”

Things overheard in the office on “Off” Friday

“If I’d have known you were going to wear sweats, I would have too! Sweats are way more comfy than Jeans”
“Well, if you come in on the ‘weekend’ you need to be comfortable.”

I’m dressed up today…but that’s only because after lunch I’m going to Jess & Eric’s wedding, and planning on going straight from work 🙂 But I’m really comfortable b/c I’m wearing a new cotton skirt I got recently and my dressy flip-flops