Handheld Programming?
dutky asks: "What devices does Slashdot recommend for the programmer on the go? Recently I went on vacation to Vietnam. Before we left my wife asked what I would do if I couldn't program for a month. I tried to assemble an inexpensive and portable programming environment using a Palm 130, but it was less than satisfactory. With the recent article on the Zarus PDA I have gotten to thinking about the problem again. Notably, I -don't- need a whopping amount of RAM, disk space, or processor speed, and I can live with fairly modest screen sizes. I was unable to find anything that matched all these criteria in about two weeks of occasional (and hurried) research. Do any such beasts exist?"
"My requirements are pretty simple:
- Small and durable (I was packing three and a half weeks of clothes and stuff in a moderately large backpack)
- Long battery life (able to get in a good 8-hour programming session without interruption)
- Able to use a keyboard (I can't write C code from Grafitti)
- Reasonable screen resolution (I need to be able to see at least 80 columns by 40 lines)
- Ability to run a wide variety of programming tools (at least a good editor, C compiler, and probably several common scripting languages as well)
- External mass storage of some kind (I'd settle for SD or CF cards)
- Relatively inexpensive: $200-$400 is a good range (I don't want to be too upset if it gets lost, stolen or dropped off of a cliff)"
Before we left my wife asked what I would do if I couldn't program for a month
Err, I think that was your wife's way of asking you nto not program for a month. After all, you were on vacation in Vietnam, and it's a good time to relax.
I went to Europe for 3 weeks last summer. In 3 weeks, I spent 5 minutes on the computer booking a train reservation. 3 weeks. No computer. Beautiful.
"Can of worms? The can is open... the worms are everywhere."
The NEC MobilePro is probably the most elite handheld PC I've seen. I don't understand why they aren't more popular. There are lots of them on ebay, and on the newer ones you can run NetBSD with X even (have a big CF card obviously.) The 770, 780, and 790 are the ones to look for. The 800 also runs NetBSD with X, but it's a larger laptopish form factor.
-73, de n1ywb
www.n1ywb.com
Very Few Lines of Code.
While (onVacation)
{
leaveComputerAlone;
}
Translation: "If you bring a computer, you are guaranteed to not see the inside of my panties for a month".
Find an old IBM Workpad. Not the handheld one, but the one that looks like a tiny Thinkpad. They rock. Unfortunately, the have been discontinued, but I am sure you can find one.
Seriously, though... check out sex. It's much more fun to boink your wife in some new and exotic place than it is to debug C code... really.
Yo-
:P
;P I have a 2 GB PCMCIA drive for it.
:)
One of the things I use a PDA for is just this. Believe it or not, it is one of the bigger reasons I got a PDA, and at the time, the Newton 2100, which could be programmed in its native language NewtonScript on the device itself. You can produce the same full applications as you could using the desktop NewtonScript tools.
I maintain a page about PDA-hosted development envrionments here. It is mostly concerned with WinCE and the Newton OS, but there is a link to a similar page for Palm OS info.
If you want to do C development, on the road, there really aren't many options. To my knowledge, there is no WinCE port of gcc. There are many programming systems available for WinCE and PocketPC machines, some compiled to machine code, some compiled to bytecode, and some interpreted.
To my knowledge, other than getting something like a Toshiba Liberetto (a 'real' PC, more than $400, and with > 2 hr battery life), the only option for doing C development on a small, PDA-class device is on the various Zaurus PDAs. You can install GCC, etc, on the Zaurus. Modern C development takes, relatively, a lot of storage space, compared to other options. You should be able to get external keyboards for the Zaurus SL-5x00 models. I doubt the wee thumbboard would be much more efficient than just using a decent character recognizer. Battery life may not be quite 8-hours, but that's what you get, I guess.
The newer JP only Zaurus has a built in keyboard, but it is quite small- a lot smaller than you'd find on the Jornada 720. Nothing touch typeable. But perhaps it is all you need?
If you were willing to go low-tek, you could get an older, DOS-based handheld PC like the HP OmniGo. You could probably run Turbo C on them. Or Watcom, etc. Those can he had pretty cheaply, and I believe get good battery life. Probably approaching 8 hours. They may use a non-rechargable battery (AAs or something), which could be good if youl'll be in the middle of nowhere for long stints. You could still use rechargable NiMH AAs even, just carry a bagfull of them.
Yet another option would be to install Linux on a Jornada 720. It would be able to run run GCC like the Zaurus, and have the added benefit of having a keyboard, 75% of fullsize. After a few days, I got quite used to it, and can type almost as fast as I can on a fullsize keyboard- and I have some pretty big and stubby fingers. I am using one right now for typing up this post, although under WinCE. (I use it for programming in Squeak Smalltalk. With the Jornada, you could get the optional 24-hour battery if long life is what you need. Under Linux, that battery could probably get you at least 8 hours, but a lot less than 24 hours. (poor or non-existant power management in Linux for the J720) I'm not sure about your environmental conditions, but the J720's screen isn't very readable in sunlight- TFT screen isn't reflective. Unreadable in direct and full summer or spring sunlight. Aside from that, it's a great device, and almost has replaced my poor iBook.
I use it for development (in Squeak and Dialect [a Python-like RAD language]), write papers in TeX (and render and read them), record data in Excel, browse the web in IE (much more full featured than the IE in PocketPC), listening to MP3s, SSH for email and sysadminage, read eBooks in uBook and Acrobat... Like I said, it is like a full computer.
Under CE, the Jornada 720 gets 6-8 hours of battery life.
Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
For a long time all programming was done this way, first on scratch paper, then on "fine" paper, then punched on cards or tape, and finally fed to a Computer, which took several hours to produce a pile of listing with one important syntax error in it...
Seriously, most projects can use a few weeks of high-level thinking, without writing many lines of code. Even if you loose the papers, the thinking will have been good for your project.
In Murphy We Turst
Lemme get this straight... You get a vacation *for a month*, to an exotic location, and you want to code? Just "code"? Did you have an actual project in mind, or is it just "coding"? Hey, I program for a living too, but I don't look for an excuse to be a geek when there is something better to do... Like say, look up from the screen for a while and see some new sights.
Try changing "coding" with "auto mechanic":
What devices does Slashdot recommend for the mechanic on the go? Recently I went on vacation to Vietnam. Before we left my wife asked what I would do if I couldn't work on cars for a month. I tried to assemble an inexpensive and portable grease-monkey environment using a matchbox car, magnifying glass and jewelers screwdrivers, but it was less than satisfactory.