2010-03-12

PyPy 1.2

Just saw the PyPy 1.2 release. I haven't had a chance to thoroughly test it, but this is great news!

I read about PyPy a long time ago and thought it was a nifty idea. I was really worried it was never going to see the light of day. At the time, I was interested in a lot of the other interesting Python language implementations that were making some news, such as Stackless, Python 3000, and more recently Unladen Swallow. PyPy has always been my favorite to keep track of, even though until recently it took quite a bit to actually get running, let alone do anything more than satisfy curiosity.

The PyPy blog has had a bunch of benchmarks lately, and the speed increases have been significant. I don't know when the project will start getting diminishing returns, but so far the results have been really impressive. I didn't know the project was far enough along to actually ship a working windows binary of the JIT improvements, so it should be nice to give it a spin.

2010-03-09

Knife Woes

There was a wonderful time in my life a few years back. I had recently purchased a Cuda Maxx 5.5" knife by Camillus. The knife was perfect: it was made from a high quality steel, had a nice long blade (mine was partially serrated), a blue anodized titanium handle, and an incredibly powerful lock. To top it all off, it looked incredible. It was clearly not a cheap one with a couple screws holding some plastic to some chinese steel. This was the real deal. I dropped a fair bit of cash to get it, at what I thought was an amazing deal.

Some time last year I lost it. It was a great knife, and I had used it for anything I needed to cut for a long time. It felt great in my hands. I soon found myself needing a knife, but I spent so much money on it all those years ago that I wasn't going to try to replace it any time soon. Anyhow, it still hasn't turned up despite searching thoroughly every month since I lost it. I've since looked online to find a replacement. I saw one on ebay a while back; it was over $500. Camillus is out of business. Many other knives by them can still be purchased, but the Maxx is sold out everywhere.

My missing knife is now a collector's item.

I have now resigned myself to looking for a new knife. But nothing seems to be doing the trick for me.

2010-02-19

Nexus One Memory Problem

I took a semester off, for various reasons, and it has worked out pretty well so far. I've been able to play with some webserver alternatives (right now I'm checking out cherokee, and have been pretty impressed), joined a D&D group, and have been looking for a new job.

I also got a new Nexus One. This thing is great. Everything I what I hoped for, except for the glaring ram problem (the kernel being used in it as shipped only uses half of the available memory). That alone is almost enough for me to ship it back (256MB missing is pretty substantial when your phone uses ~150 for "OS purposes" and has the "feature" of multiprocessing. That's what bothers me the most. The iPhone can't really run more than one app at a time. This means that app developers have a decent idea of how much memory they can expect to have available. Android apps often don't exit when you leave them, as a rule don't have a quit option, and as supposedly freed by the OS when other apps need the memory.

To solve this problem, people developed apps to quit other apps. This is an excellent example of compensating behavior. The only problem is that I have an app developed by someone who probably doesn't know how to manage memory very well yet. I think it loads ~50MB on launch, which means a slow launch. It also means it will stall (and activate an android "should we quit this app" box) while launching on occasion. It will also just crash on launch, unless I use my force quitting app to clear 50MB or so. Now if apps freed their memory when I exit them, or if the other half of my memory was available, I would have seen the multitasking nature of the android as an overall bonus. But on my device I never have more than 100MB free, and that's when the only non-essential process running is the task manager app. Opening contacts and gmail, now my available memory is barely enough to render a small webpage.

Any excuses I try to make for it don't hold any water:

"Most similar devices get by without the extra memory" - But the extra memory was a significant factor in my purchasing decision, and was probably the tipping point in not getting a droid (which has major points for the larger screen and having a keyboard). Also, the Nexus one is running android 2.1, which may have higher memory use.

"Google will be coming out with a fix soon" - They just barely updated, so it may be a month or more before I get the fix. Given enough months, I could have kept my money and bought the Nexus Two, or whatever they are going to call the phone that comes out in 6 months to a year from now. They are actively promoting the Nexus One and advertising it as having 512MB. Someone at google has known about this since before I bought my phone, and it would have been nice for me to know in advance that there was such a huge issue. Unless you know the problem exists, it's kinda hard to stumble upon it in while researching the product. I had to find out by noticing slowdown and problems with poorly written apps not launching before I installed a task manager and noticed 15MB available when I didn't think I was running anything.

"Just install this alternate kernel!" - Warranty voiding and bricking potential aside, I didn't pay good money for this thing just to have to finish developing it. Updates are/should be part of the deal. It shouldn't have come broken in the first place, but even so, installing an alternate kernel is something I would do if I were interested in tweaking the device and doing things outside its normal function, not if I want to get advertised functionality.

Anyhow, I'm sure google will be releasing an update to solve my problem. Otherwise the phone is awesome. I just really hate paying for and keeping defective hardware. If I didn't get established with the phone already, I would probably have sent it back. Not because it hasn't been great to use so far, but because I'm still not getting what I paid for.

TL,DR: Don't get the Nexus One until google releases an official fix for the memory issues.