Never Buy a Nice Car

December 9th, 2007

Ok, so in the 2.5 years I’ve owned my little toy, I’ve been keyed no less than 3 times, had my front AND rear emblems stolen, and now my window smashed and my radar detector stolen. This just isn’t worth the hassle.

poor z4

Python vs. Java

December 6th, 2007

I’ve been doing a lot of python programming this last year {allurstuff, deseb, flyback, ogmaps}, and several people have asked me variations on the following:

Thought of you when I read this ;-)
http://www.xkcd.com/353/
So is python really all that??

Well the answer is: Good god no. While python’s the best “everything is a hash table” language I’ve used, it shares the same problems all such languages have: very little compile time checking of object types. Your function is expecting a list, but someone passes in a string? Opps! And it doesn’t even fail-fast - you iterate over every char in the string. Which means many possible runtime errors, which are infinitely harder to test for and debug. Plus python STILL doesn’t have multi-processor support, even though it has its own reasonably nice threading model.

But it is great for banging out stuff quickly. And the glade/GTK bindings are pretty sweet.

So I’m proposing “Derek’s PvJ Rule”:

For every minute saved typing “my_list = []” instead of “List<String> myList = new ArrayList<String>();“, one hour of debugging is lost, one customer is pissed off, and god kills a kitten.

=P

Take Google Maps Offline

December 2nd, 2007

So I bought a Nokia N800, initially so I can work on a mobile version of allurstuff, but also I’m curious if I can get android working on it… But while I’m waiting for FedEx to deliver, I decided that it needed a way to access Google Maps even without an internet connection.

And so was born ogmaps. It’s a fairly simple python script that downloads all the HTML/Javascript/image files used by gmaps, and modifies them to run right off your hard drive. (or flash drive, whatever) It then looks up whatever location you give it, and caches all the surrounding map files. (within reason….grabs about 5-10mb of data for each location you give it)

You don’t need a handheld to use it either… It’ll work wherever you have python and firefox. (I haven’t tried it with IE yet, and likely won’t - get a better browser!)

Anyway, tell me what you think. :)

derek

UTD’s New Qualifier Rules

November 27th, 2007

UTD has changed their PhD qualifying rules, reducing the number of required tests from “4 pass + 1 marginal” to “3 pass”. (marginal scores are eliminated altogether) This was my response:

To: Gopal Gupta
CC: Kang Zhang
Subject: Re: [ecs.cs.phd] [ecs.cs.ttfac] Transition rules (fwd)

Dr. Gupta,

With all due respect, I was shocked when I read these new qualifying rules. Nearly two years ago, when I decided to move to Texas to attend this university, one of the major selling points was UTD’s commitment to building this school into a tier 1 university. This change would appear to be the antithesis of this goal.

Nine years ago, when I was starting Virginia Tech’s undergraduate engineering program, it was a brutal experience. They made no bones about the fact that the program was tough, and that people would fail. They explained that the reason they pushed us so hard was that it was the only way to build a world-class program, and to force top students into realizing their potential. I heard again and again that not everyone is capable, and that continued failure is an important message that maybe you’re pursuing the wrong field. A lot of my fellow students complained, but in the end we respected the university and our professors, and were grateful.

Qualifying exams are supposed to be an equalizer in a program; to make sure that independent of advisors, professors, family connections, etc, all PhD students meet a minimum level of competency. And quite frankly, of the four quals I’ve already taken, when compared to the quals I’ve read and/or heard about at other top universities, they are not a high
bar. Five ~2-hour exams spread over a year and a half is exceptionally reasonable and achievable. I’ve watched my peers, and while many of them I like personally, of those who have failed multiple different quals… they match quite well the students I would be personally concerned about if this university wound up granting them a doctorate.

I also would like to ask: Was there a public comment period for this decision I was unaware of? If not, why? While this change does effect me positively in the short term (I have already met the qualifications under the new rules), I believe it to be a disservice in the long term, and a negative for the university as a whole. I understand the final decision should rest with the department faculty, but we all have a vested interest here. I for one would much rather see a smaller, higher quality student body than a larger one.

Overall I have been very happy with UTD, in both the quality of the professors I’ve had and the depth to which the courses are taught. I have learned vastly more here than in the previous six years of my professional career, and I am appreciative. But that being said, and while I do not believe this in-and-of itself to be a make-or-break issue, I am fearful of the larger message. I would strongly encourage you to please, if at all possible, reconsider this decision for future
semesters.

Thank you for your time,
Derek Anderson

P.S. I would like to note that this opinion is mine alone, and not necessarily that of my advisor or any of my professors. Furthermore, I was not encouraged to send it by anyone, nor did I discuss it or for that matter give anyone advance notice that I was considering doing so.

Google Stack Trace

November 26th, 2007

Interesting that they deploy their code without stripping the debugging info. I wonder what “gse” stands for… Google Server Engine?

Error: Exception thrown while generating page

java.lang.OutOfMemoryError: MemoryError: Unable to resize ULIST to 20: Out of memory
	at org.clearsilver.CS._parseFile(Native Method)
	at org.clearsilver.CS.parseFile(CS.java:58)
	at com.google.clearsilver.base.PageBase.go(PageBase.java:486)
	at com.google.clearsilver.base.PageServlet.handleRequest(PageServlet.java:44)
	at com.google.clearsilver.base.PageServlet.doGet(PageServlet.java:33)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	at com.google.gse.HttpConnection.runServlet(HttpConnection.java:534)
	at com.google.gse.HttpConnection.run(HttpConnection.java:458)
	at com.google.gse.DispatchQueue$WorkerThread.run(DispatchQueue.java:299)

$10 Million Android Developer Challenge

November 12th, 2007

Google has announced their “gPhone”, and it’s a open, Linux-based software platform called Android:

And they’re celebrating by also announcing a $10 million developer challenge, two be handed out in two $5 million dollar rounds with at least 50 individual recipients each round. Pretty exciting, eh?

So does anyone have any suggestions for “i wish my phone could do this”? :) I’d love to hear your thoughts…

I got Slashdotted!

November 7th, 2007

For my FlyBack project:

FlyBack - A Time Machine for Linux

November 6th, 2007

If you’re not familiar with Apple’s Time Machine, it’s a backup system that lets you browse using historical snapshots of what your system used to look like. It’s pretty neat, but I use Linux, not MacOSX. So I rolled my own.

screenshot

http://code.google.com/p/flyback/

Django External Schema Evolution Branch

October 19th, 2007

Just an update on my former SoC2006 work…

We now no longer require a patch to Django. One import statement in settings.py allows our program to fake it via the very crafty Python language.

The new website is here: http://code.google.com/p/deseb/
The discussion list us here: http://groups.google.com/group/deseb-discuss

Plus there is an introductory video available here: http://kered.org/deseb_demo.mpeg

One Mile

September 24th, 2007

I swam a full mile today!   Woot! :)   I haven’t done that since high school…feels great.


<Kered.org>   © Copyright 2000-2005 by Derek Anderson
Get Firefox