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."
It may not fit your requirements to the letter, but I find that Palm's Tungsten T runs like a dream. Mmmm...color.
It's got a fast processor, a "universal" keyboard port, SD card slot, and (yummy) bluetooth. I love my tungsten.
I will now redundantly add my name to the end of my post. You know, in case you forgot me or something.
you can't go a few weeks without programming? and you went to vietnam. and you wanted to program.
for gods sake you need some help. where i come from we call that an addiction.
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
You go on vacation and actually want to program? What the hell is wrong with you?
For something a bit different different you could try Forth, which excels in small footprint devices.
I've seen a full IDE in 16k (k as in kilo) bytes
For palm, there's Quartus Forth
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.
And what better way to help those poor, starving, oppressed people than to deny them income from tourism!
May we never see th
I've never been a gadget freak. I don't spend much on my computer, and I don't have any gizmos like a laptop, PDA, cell phone, etc. However, I would *love* to have something like this. I started thinking that it might have to be a thin client, to reduce costs and increase life -- but that doesn't do you any good, since Vietnam isn't covered by 802.11b.
I'd be happy with a lesser device:
Small and durable (I was packing three and a half weeks of clothes and stuff in a moderately large backpack)
Small is nice, though a typeable keyboard, aside from a few less-than-usable oddities like projected or flexible keyboards, makes the entire device rather large. There's the collapseable Palm keyboard, but that seems to be rather fragile. I could see subnotebook size being okay. Durable is good, but doesn't have to be much more so than a laptop.
Long battery life (able to get in a good 8-hour programming session without interruption)
Amen. The more the better. Eight hours is definitely a minimum.
Able to use a keyboard (I can't write C code from Grafitti)
Yup. And making the keyboard *too* weird can make the thing unusable.
Reasonable screen resolution (I need to be able to see at least 80 columns by 40 lines)
I'd be fine with a text terminal and the associated circuitry.
Ability to run a wide variety of programming tools (at least a good editor, C compiler, and probably several common scripting languages as well)
"Good editor" for me implies emacs, which won't run on a small client. An editor with emacsable keystrokes and source so that it can be modified is pretty reasonable. And a single compiler is all that's necessary.
External mass storage of some kind (I'd settle for SD or CF cards)
Nice, but I could see living without it. Needs to have at least one form of high-speed output (USB 2, ethernet, something).
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)"
Yup. Unfortunately, I don't see it doing so. Not enough geeks in the world, so engineering costs are significant (decidedly unusual device, very limited market).
May we never see th
I have a HP Jornada 680. It would work perfectly for what you want. I bought mine from someone for $150 a couple of months ago. It will take CF cards, it has 16MB of RAM, a 640x240 16bit color screen, it runs 7 hours on a battery. And, as luck would have it, you can get programming compilers for it.
This is asinine. I don't see how visiting a developing country is putting money into the hands of tyrants. Maybe I'm misunderstanding what you mean by "these types of countries" but honestly there are more places in the world to visit than Europe and North America.
Social Responsibility? Why not put some money into an economy that needs it rather than vacationing in your own country?
Now for the on topic comment. I've never been to Vietnam but I imagine that access to reliable power would be an issue (unless you never leave your hotel). I would probably try to get a slower machine with a passive grayscale screen that is intended to be rugged rather than pretty. I can't remember what it's called but I've seen an old win95 palmtop with a 486/66 (I think) that might fit the bill.
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
Some other notes:
The Jornada 720 gets 6-8 hours of battery life on the regular battery. The expanded battery is rated at 24 hours of use, under CE. I imagine that Linux gets 2-4 hours on the standard J720 battery. Also, the J720 can be had for around $300 on eBay. New, for some reason, HP still ells them for $1000. Insane.
A good editor? You can run Emacs and Vi under both WinCE and Linux.
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.
It runs Symbian OS, it's got a full (though small) keyboard, a 4096 colour screen, MMC card support, and a total 40MB of RAM as standard (8MB for app execution). What more do you want? You can even use it to make phone calls!
- Effective C++
- More Effective C++
- Modern C++ Design
- Exceptional C++
- More Exceptional C++
- Effective STL
Yeah, the names are redundant, but they're all very good texts.Care about electronic freedom? Consider donating to the EFF!
I am so ashamed at many of the posters above for their "it's a vacation, don't program!" attitudes. WTF? This isn't Kuro5hin! This is Slashdot!
Clearly we're seeing the true geeks wandering from the flock and getting married and laid. Let's hope we get some new replacements soon.
Some of us enjoy programming as a hobby y'know.
mogorific carpentry experiments
Get out, drink lots of beer, and build an AI out of the cans to prove Searle wrong.
Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
It's a tiny 486sx 25 (no fpu,) and it runs on a camcorder battery.
http://pc110.ro.nu/
One person used to write about doing development on it, (including compiling in his pocket, while on walks) and maintained a Linux page for it. That's all gone now. I guess the machine's too slow to be very interesting anymore.
I bought one as a portable Linux system from one of the local import/discount houses after it was discontinued. I'm afraid I never did anything interesting with it. It's about the only full PC with a keyboard that's smaller than the Libretto. Unfortunately, it's also substantially less capable. Now that CF cards are so cheap, I should probably build a nice 128 meg slackware install, drop in a pcmcia modem & nic, & make it my laptop replacement. Hmmm. Better yet, I should just put it up onto Ebay. Squandered opportunities.
Assembly is the reverse of disassembly.
This is exactly what I need, no more scratching *brilliant* algorithims on the back of my geometry homework during a boring class. Now I can whip out my handy PDA just in time to write some nice code... then get punched in the glasses, thrown in a locker and have it stolen, excuse me... I have to... nevermind...
Zaurus has the best development tools.
For Java: Superwaba
For C: OnBoardC
For Lua: Lua
These are the environments I use and have lots of success with. There is also Pocket C, but I prefer ONBoardC as it is is free and generally works better.
It's really small, runs Linux with the has a 1024x600 screen and I get 5+ hours on the extended battery.
Other pluses is that you can watch movies, listen to music and other stuff (it has a 30G disk). It uses a Crusoe processor so you're helping pay Linus's paycheck (if he's still working there, I haven't really cared much).
It's bigger than my Zaurus but smaller than just about anything else on the market. It's really a sleeper of a product.
I am ashamed for selling my HP100LX, but at the time I needed the money.. anyhow, look up one of these devices and get yourself an old DOS copy of Borland Turbo C++ and put it on a PCMCIA drive. I did this for a number of years in high school and the early part of my university days.. I literally used that machine until it's beautiful keyboard started to get sticky. You can actually manage a decent speed with it. Perhaps you can find one on Ebay? Cheap?
There was no backlight, but the screen was very, very very good. You could make a little LED light no problem.
There has never been a replacement. A Jornada (?) clamshell might be close, though.
Problem solved.
Alternatively, you could get a tiny scale or powerPC industrial board from a company like Arcom or Embedded Planet, and run a serial terminal off it to a palm device for a screen. I've thought about building something like that, but I don't really have a need any more. As other people have posted, I can always use paper. Forget about getting anything you make yourself on a plane, anyhow.
..don't panic
Sony VAIO with Crusoe processor.
It's small, light but it will cost more than $400.
Lasts forever on a set of batteries, has
either Reverse-Polish-Lisp or a new Basic-style
lisp plus machine language. A meg of RAM, good
display. You can also program it in C with the
Saturn GCC port, but that's a cross-compiler,
you need another computer to run it. Most PDA's
aren't good at self-hosted program development,
the 49 is great at it.
... why is this an either-or proposition?
What about the 5-MP digital camera I use to take snapshots of the Swiss Alps?
The Sony Picturebook that I download and store the pictures with? And use to write about the experience while I'm there?
The Zaurus I play NetHack with on the plane?
The point is that for many Slashdot readers, "using technology" != "working". Sure, you're not supposed to be *working* on a vacation, but you sure are supposed to be enjoying yourself, and if bringing your gadgets along assists in that, then what's the big deal? Any way you slice it, you're spending your time the way *you* want to spend it.
The wonders of the world are too great to ignore in favor of the ringing of a cell phone... but that doesn't mean I won't bring it along while I experience them.
+++ATH0
I had lots of fun with LispMe on my Palm IIIxe last summer. You can get keyboards for those Palms, so you wouldn't need graffiti. And the IIIxe runs on AAA batteries, so you don't even need to worry about recharging!