Apologies for brief not-so-brief downtime…

I was attempting to upgrade some unrelated packages on my FreeBSD server, with the net result that something truly horrible happened (and which I don’t really understand): apache2 and mysql were essentially deleted from my system. Curse you portupgrade. I’m becoming less enamoured with my old time friend FreeBSD, and more enamoured with Ubuntu, so perhaps it is time to abandon FreeBSD on my server. I’ll ponder it more later.

It appears that I have a significant hardware error, one which I am not in the mood to fix at the moment. So, I’ve taken this as an opportunity to move my weblog off my home webserver and onto a remote webhost. I bet that I have made the wrong choice when it comes to webhosting, but it’s cheap at least.

Expect images and some of my sidebar stuff to be broken. I also expect that the feedburner is down, but I will try to get that remedied shortly.

Sigh.

Addendum: Feedburner is still eluding me.  It’s balking at my feed, when it never did before.  Sigh.

Playing with the ICFP contest…

Well, I didn’t have time to actually do the challenge this year, but I’m trying to work through it here. I made some significant progress, and can now render pictures of Endo’s RNA:

There is some minor issue which causes a small y offset between this image and the target. I can’t for the life of me figure out what is the problem (it looks like the originals are generated properly, but that the offset occurs during compositing, not sure how that can happen, since the images are statically allocated). I’ll work on it some more. Ahh! The problem is that my RNA wasn’t correct (it had two copies of almost the entire file, with some small residual offset between the two). I’ll have to work on my DNA to RNA compiler more now. I cheated somewhat in that I ran someone else’s compiler to generate this RNA, but it obviously wasn’t without bugs. I should have checked it against the hint in the manual which gave the precise number of RNA commands that we are supposed to have, it would have uncovered the error much sooner.

Technorati Tags:

Addendum: If you don’t know what I’m talking about, you can find out more here.
Addendum2: I can’t figure out how to use C++ ropes, which frankly seem to be a non-standard and depracated par t of the STL. That’s okay, I hate the STL anyway. Yeah. Who needs it?
Addendum3: I begin to see the light!

Addendum4: I’ve made considerable progress, but with much more to go. While I find this year’s contest to be pretty interesting, I am left with the overall impression that it is more of a puzzle than an actual programming contest. Last year’s contest presented us with an initial programming problem, but then a relatively straight path to a number of different problems that weren’t hard to find, but which were hard to solve, requiring that people write theorem provers and search programs that were well specified. This years contest so far is an initial harder (much harder) programming puzzle, followed by spelunking. The “programs” that I’ve had to write thusfar are really just the dna->rna converter and the rna renderer, and a handful of python scripts to massage and extract stuff from dna. I suspect that eventually I’ll need to write some kind of disassembler/assembler, but my guess is that I’m still hours away from that. Moreover, doing probably won’t be hard, except that we have to discern so much information about the underlying machine that is hidden.

Still, an interesting problem, which I will no doubt continue to spend some time on.

Oakland Athletics…

have just dropped their 8th game in a row, in truly ugly style. They now are 12 games back of the Angels, and 10 back from the Mariners. Earlier this afternoon, they sent veteran catcher Jason Kendall to the Cubs. It seems to me that Beane is having a sale, and everyone is up for grabs. If it was just one team to beat, I’d be more optimistic, but with two…

We’ll miss you Jason. Fantasy baseball wise, the A’s probably will find some way to replace you, but you have had a tough year batting-wise. I loved watching you swat singles into the gap. I like the intelligent way you call the game, and the strong throws and the gutsy way you’d block the plate (with your face, if need be). And mostly, I’ve got a lot of respect for anyone who crouches behind the plate, day after day, and catches.

Best wishes!

Technorati Tags: ,

False Copyright Claims

One of my personal pet peeves are companies that try to assert intellectual property rights over material which has entered the public domain. It’s everywhere: museums claiming copyright over photographs and scans of artwork, movie companies that tag public domain movies with copyright warnings, and even in copy centers which refuse to copy books which have entered the public domain.

Slashdot today had an article about False Copyright Claims, calling these actions “copyfraud”, and presenting a legal analysis of the practice and how it might be remedied. While I believe that copyright terms are too long, the ability to stifle use of public domain resources through this kind of intimidation is perhaps of equal or greater seriousness.

Technorati Tags: , ,

I hate Integrated Development Environments

Why do people think these things are a good idea? I don’t get it.

Yesterday, I received an Arduino microcontroller board in the mail. These things use the Atmel AVR microcontroller (specifically, an ATMEGA168) and include a nice little FTDI USB to serial chip and are pre-programmed with a boot loader for easy programming. Neat!

So, I set out to make a program which blinks the led. I had avr-gcc and avr-libc installed on my machine, so I figured it would be pretty easy. After all, it was when I was doing my previous programming of these things using my old development board.

So, I go to their tutorial page. They recommend that I install their java environment. Sigh.

That wouldn’t be that big of a deal but I’m running Ubuntu. Not only Ubuntu, but Ubuntu running on an AMD64. I end up surmising that I have to run the IA32 bit version (which I install), and then run their gadget which starts the environment.

It asks me where I want to put my files. I specify my home directory. Then…. nothing.

No errors. Java seems to be working hard, but to no visible sign of anything good being done.

So, I modify the startup script to “strace” the java process. It spends minutes stating directories that aren’t there. Minutes and minutes. Minutes and minutes. I have a home directory that is full of junk, so I’m not completely surprised, but I’m guessing it is in some loop caused perhaps by an errant symbolic link. I tell it to use an empty subdirectory of my home instead.

Bingo.

Elapsed time: about ninety minutes.

Now, I’ve got an environment. I’ve got the pleasure of using an editor that I don’t like. Of having a build process that is completely inscrutable. Hidden config files. If I simply want to download code into my chip, I dont know how. Bleh.

All that IDEs do is make it possible to sweep ugly things under the rug, rather than fix them. If you want to compile helloworld.c on a typical unix box, you just type “cc helloworld.c”. That’s it. The simplest case is simple.

I want makefiles. I want to edit with vi. That’s it. I can do the rest of it myself. Why do people think they need to setup the workflow for other people?

Thus concludes the rant for the day.

Technorati Tags: ,

Odd plays…

Okay, I haven’t posted anything about baseball lately, so I thought I’d remark about the oddest play I’ve heard of this week. No, it wasn’t Ichiro Suzuki’s inside-the-park homerun during the All Star game (although that was bitching), but rather occurred during tonight’s game between the Athletics and Twins.

Cuddyer triples off A’s middle reliever Kennedy with one out the bottom of the seventh. Kennedy then beans Morneau, giving batters at the corners with only one out. Calero comes in for relief in the bottom of the seventh. He tosses one pitch, gives up a hit, allows a run to score, and gets two outs.

How? Torii Hunter singles to left, Cuddyer scores, and then Stewart to Crosby catches Morneau out at third, and to Ellis gets Hunter out at second.

Nice.

Calero only threw the one pitch in the losing effort.

Technorati Tags: ,

Addendum: On this date in 2005, one of my favorite Athletics, Miguel Tejada, won the All Star MVP. Okay, technically, he was an Oriole, but we know he’s still green underneath. We miss ya, Miggy.

iPhone Field Test Mode

This came across a mailing list I’m on:

Inside the iPhone field test mode – Blog – WirelessInfo.com

Basically if you dial:

*3001#12345#*

Then you get dumped into a menu which allows you to read out all sorts of interesting details about your phone and its connection to AT&T’s network. Note: I did this on my phone, it seems harmless enough, but don’t come crying to me if something bad happens.

Addendum: DOH! I inadvertently left out the 5 above when I first posted this.

Technorati Tags: ,

Eating your own food…

I love food. I mean I really love it. I love the culture. I love the taste. I love the social aspects of food. I love the different cultures. The spice. The flavor. Flames. Ovens. Bread. Meats. Fruits. It’s all good, baby.

I really enjoyed working on Ratatouille, but it did have one negative effect on my life: I simply didn’t have the time to cook for myself very often, and I got out of the habit. Net result: more fast food, and I put on twenty pounds. Sigh.

On the way home today, I thought I should cook up a dish which was high in vegetables (it does actually qualify as vegan) and yet satisfying and which shouldn’t take a huge amount of time to make. And so, I thought I’d try making a ratatouille. It’s difficult, because while I have enjoyed cuisines from all over the world, I must admit that I’m pretty darned ignorant when it comes to French food. It just wasn’t part of the wide variety I had when growing up, and I never bothered to pick it up.

I had read a bunch of recipes for Ratatouille lately, and just decided to wing it. I’m not a bad cook overall, and have some experience, so I bet that if I just cooked the ingredients in a reasonably sane way, I’d come up with something reasonably tasty. As far as I could tell from reading recipes, I needed:

  • Eggplant. I’m not a big fan of eggplant, but it is growing on me. I used the little chinese ones, which were available and looked better. I use these when I make eggplant with garlic sauce, so I know what they are like. I took a pound of them, scrubbed them, cut into 3 inch lengths, and then sliced into planks about 1/4 inch thick.
  • Zucchini. Same thing: experience tells me to use the smaller ones. Again, about a pound. Scrubbed and sliced slightly thinner than the eggplant. My experience is that they are firmer than the eggplant, and I wanted the sizes to be about the same, so I started these thinner.
  • One yellow onion. Coarse dice. I like yellow ones, but not the sweet ones, which are often too sweet.
  • One green pepper. Coarse dice.
  • One big can of diced tomatoes in juice. In the best of all possible worlds, you’d probably seed your own fresh tomatoes, but most tomatoes you get in the supermarket are tasteless. Good canned tomatoes are much better than bad fresh ones.

So… winging it, I remember that the ratatouille should have relatively little liquid when complete, so controlling liquid is important. I tossed the eggplant and the zucchini in a bit of olive oil, sprinkled them with a little kosher salt, and spread them onto a baking sheet. I popped them into a 400 degree oven, then started to work on the onions. I heated a big fry pan, added a little olive oil and then dumped in the green pepper and the onions. I let this go for maybe ten minutes on medium heat. I wasn’t trying to brown the onions and peppers, but merely to get them cooked and soft. Once that was accomplished, I added three cloves of crushed garlic, a little fresh ground black pepper, but no more salt (the tomatoes are salty, I didn’t want to make the overall dish too salty). After cooking the garlic for 30 seconds, I drained the juice off the tomatoes (we are trying to keep the liquid out after all) and dumped in the tomatoes. They will seem pretty dry for a couple of minutes, then will begin to sweat out more liquid. When that is nearly evaporated, I turned off the heat, and pulled the mixture off the burner.

By then, the zucchini and the eggplant both looked nicely cooked, a little limp, with a tiny bit of color around the edges, but still a little bit firm. I took a 9″ square pyrex pan (I need to get a good casserole someday), spread about a third of the tomato mixture in the bottom, then added half of the eggplant and zucchini in a layer. I then added the rest of the tomatoes, and then stacked the rest of the eggplant and zucchini on top. Back into the 400 degree oven for ten minutes uncovered. I pulled the dish out, took some of the liquid out, and basted the top. There wasn’t much at this time, so I added a couple of tablespoons of the tomato liquid on top as well. Back into the oven for fifteen minutes. The liquids were then bubbling in the side, which i thought was bad (too wet), but I wasn’t going to screw with it more. I turned the oven off, and let it sit for a few minutes (my wife came home ten minutes later). After sitting on the counter for a couple of minutes, most of the liquids had been reabsorbed by the cooling vegetables, and I was relatively pleased with the overall texture and moisture.

I served it in bowls, and topped it with a little more fresh ground black pepper (I like pepper) and some fresh chopped parsley.

I don’t know what ratatouille is supposed to taste like, but this was really good! It was a nice mix between the texture of the squash and eggplant, the acidity of the tomatoes (which were still chunky), the onions, green pepper (subtly sweet, basically hard to pick out by itself, but there) and the mild flavor of garlic. I bet you this dish would be even better the next day reheated, as the flavors meld together. I had two bowls. If I had the time to make some home baked bread, that would have been incredible.

This dish wasn’t quite what Thomas Keller designed for our movie, but I can see why it is a classic. Natural flavors, seasoned appropriately, cooked appropriately, melding together in a warm, filling dish. It may not send you back to your childhood (my grandmother’s kosher garlic dill pickles, pork roast, or my great aunts pies would do that), but it was a damned good dish, worthy of your consideration. It is nearly ideal in terms of my philosophy of food: use good ingredients, and let their natural flavors come through in interesting combinations. It’s also a pretty damned good dish, with lots of bulk but fairly low in calories.

Give it a try.

Technorati Tags: , , ,

My List of Ten Improvements Needed for the iPhone

Okay, I bought one. I’ve had it for 24 hours, and I really like it. It’s slick. It’s got lots of cool features. And it is just damned shiny and screams cool. But to demonstrate that I’m not a total fanboy, I present for your consideration a list of ten things which I think should change to make it an even cooler device.

  1. Flash. Don’t get me wrong, I mostly hate flash, but it has become nearly universal, and is actually just about the easiest and least painful way to get video onto a webpage in a way that most browsers can do. My Windows PC can watch them. My Macbook can watch them. My Wii and my PSP can watch them (at least, certain versions of it). My spiffy new iphone should do them too.
  2. ssh I need Secure Shell. You gave me something with a keyboard I might actually want to type on, how about giving me the ability to remotely login to my machines and execute simple shell commands?
  3. VNC Okay, the shell access was nice, but I really need to graphical type stuff once in a blue moon. You gave me ssh, how about a VNC client?
  4. Audio/Video recording I used to record my old podcasts with my Dell Axim x50v. Originally, I used an app that just did uncompressed wav recording. Later, I bought an app that would do mp3 recording. Both were cool and useful. Oh, and my old LG CU500? It could record video too. Sure, it was pretty lo resolution and crappy, but it was partly a function of the camera. The iPhone’s camera is (at least marginally) better, why can’t I do some little video recording?
  5. The Camera App isn’t very impressive. You can’t adjust pictures brightness, contrast or size. It’s kind of slow. The only way to trigger the picture taking is by hitting the small onscreen button. How about having it count down ala Photo Booth, so you can resteady your camera before it snaps the picture?
  6. Better bookmarks By default, it simply synchronizes bookmarks from your Safari setup on your desktop machine. There doesn’t appear to be anyway to reorganize or reorder them very easily once they are on your iPhone. Being able to create a shortcut button on the main page would also be an excellent idea.
  7. Unified mail handling, with better notifications. I love my Macbook and the Mail app. I have four different email accounts, but they are all accessible as a Inbox. On the iPhone, this brilliant idea isn’t implemented: i have four separate email inboxes that I have to scan when the little buzz indicates that I have a new message.
  8. Bluetooth support I was shocked to find that while the iPhone supports Bluetooth headsets, you basically can’t do anything else via Bluetooth. Not just modem support, but you can’t even transfer files to the device. Heck, even my old LG phone could do that.
  9. Instant messaging It simply must happen. AIM, Jabber, IRC, whatever. Not silly web gateways either, real applications. Yes, it will make AT&T cross because they won’t have so many SMS messages. We don’t care. It is ridiculous to give us unlimited data connectivity and then charge us an extra $10 a month for 1000 more 120 byte messages, just because they are sent via a different, less efficient network. It’s also silly to deprive us of instant messaging when we are often not even on your network, using Wifi.
  10. Lastly, 3rd party applications. You can either fight it, or embrace it. If the experience of the PSP should teach you anything, it’s that sufficiently talented and motivated people will work to subvert the restrictions that you place on the device. You could either continue to waste time and energy trying to convince them that they don’t want what you aren’t giving them, or you could give them what they want.

What about the rest of you? What do you want to see software-wise on your iPhone?

Technorati Tags: ,

Web Development for iPhone

Here’s Apple’s documentation for developing web stuff for the iPhone. It’s not all that surprising mostly, but it is good to keep a link to this hanging around.

Apple Developer Connection – Web Development for iPhone

Addendum: Josh, if you are looking for info on which codecs, bitrate etc to use for the iPhone, here it is: on a subpage of the above link.. Basically:

The Movie to MPEG-4 exporter with the following settings prepares movies for Wi-Fi.
In the H.264 video options, make sure you restrict the encoder to use the Baseline profile, and select “Faster encode (Single-pass)” encoding in the Video Options dialog.
Video settings: 900 kbit/sec, H.264, 480 x 360; frame rate: current; preserve aspect ratio using: Fit within size
Audio settings: 128 kbit, AAC-LC
.mp4 file
The Movie to 3G exporter with the following settings prepares movies for EDGE.
Video settings: 64 kbit, H.264, 176 x 144; frame rate: 10 or 15; preserve aspect ratio using: Letterbox or Crop
Audio settings: 16 kbit, AAC-LC
.3gp file

Addendum: I’ve had no luck getting my video-conversion Swiss Army knife, ffmpeg to generate H264 video. Normal MP4 video with the WiFi bitrate settings works fine. I had some difficulty with making 3gp files, but MP4 files at the lower bitrates work well too. I’ll post links to some examples after I’ve tweaked them a bit more.

EFF receives documents on FBI abuses

The EFF filed a request for documents pertaining to invesigations within the FBI on abuses of National Security Letters. They replied with over 1100 pages of information. I haven’t had a chance to delve too deeply into this, but it seems clear that when government agenceies are granted liberties with our rights, they take them. It also appears that U.S. District Attorney Gonzales might have some more harsh questions heading his way.

EFF: DeepLinks

OpenMoko

Open MokoIt seems only fair that I give a link to a new telephone product that has more of my ideals in mind: witness openmoko.com, which you can now apparently order for the first time.

It’s an entirely open Linux based phone, with some pretty nifty features. Their first model is the Neo1973. It’s specs read out as:

  • 120.7 x 62 x 18.5 (mm)
  • 2.8″ VGA (480×640) TFT Screen
  • Samsung s3c2410 SoC @ 266 MHz
  • Global Locate AGPS chip
  • Ti GPRS (2.5G not EDGE)
  • Unpowered USB 1.1
  • Touchscreen
  • micro-sd slot
  • 2.5mm audio jack
  • 2 additional buttons
  • 1200 mAh battery (charged over USB)
  • 128 MB SDRAM
  • 64 MB NAND Flash
  • Bluetooth (2.0)

Here’s a little youtube video describing some of features:

If I had any guts, this would be my next phone, rather than the iPhone. I must admit, I’m kind of waiting for some units to actually get into people’s hands before I strongly consider it though. It also lacks a camera, which is very nearly a deal breaker for me, although one is supposed to be available in the next revision hardware (maybe?). Still, I’m keeping an eye on this project.

Addendum: Here’s another perspective.

Technorati Tags: ,