All posts by ajohnson

Uploading files with ColdFusion

Sam posted some CF code that gives you the ability to upload a file to a web server without using CFFILE (ie: he uses Java instead): Handling file uploads without CFFILE.

On a related note, Oreilly has an article (Using the Jakarta Commons) that (will) introduce(s) each component in the Jakarta Commons library. Probably would have been better to use the tried and tested FileUpload component from the Commons lib, but that would have required the jar file be present in ColdFusion’s classpath.

Built-in simple task manager

From the Handango newsletter in my inbox today:

Built-in simple task manager for Series 60 devices
Press and hold the Menu button located on the left side of the display. You will be presented with a list of all applications currently running in your system. You can quickly switch to any of the running tasks by selecting it and pressing the joystick. You can also close a task by selecting it and pressing “C”.

More Series 60 tips

Nokia Developers Suite for J2ME

I installed the Nokia Developers Suite for J2ME today and was able to get the Nokia Series 60 Emulator up and running a MIDlet I’ve been working on for the last couple weeks, which you can see at the right. The Series 60 SDK, still in beta (version .3 as I understand it) supports both Windows & Linux and can integrate with Borland JBuilder Mobile Edition, Sun ONE Studio and the Sun J2ME Wireless Toolkit, which I’m using.

I haven’t been able to hack with the Nokia UI package yet, but apparently it gives you the ability to control lighting and vibration from the com.nokia.mid.ui package… Lots of MIDP 2.0 specific stuff, which doesn’t help me as I’m using the 3650 (which is stuck on MIDP 1.0). I don’t see anything about being able to control the camera (although I guess that’s specific to the phone and not Series 60). More later on the toolkit.

One of the difficulties with J2ME is that while a J2ME app will hypothetically run on almost any J2ME compatible device, not all devices map the same button to the same Command. For instance, as I’ve been working on this app, I’ll create 2 buttons. On the WTK Emulator, I’ll see the two buttons next to each other, when I deploy the same app to my phone via Bluetooth, I get a menu selection with 2 options. In the listening I’ve done on KVM-Interest, it looks like can do one of three things: a) develop your application for a specific phone, b) don’t worry about where the buttons show up on each device, or c) develop your own custom UI components, rather than using the MIDP 1.0 UI components. I need to download and use more MIDP apps to find out what the majority of people do, although I’d be interested in hearing what you have to say!

Hackers & Painters

Paul Graham wrote a fascinating essay based on lectures at Harvard and Northeastern. Couple things that resonated with me:

Big companies want to decrease the standard deviation of design outcomes because they want to avoid disasters. But when you damp oscillations, you lose the high points as well as the low. This is not a problem for big companies, because they don’t win by making great products. Big companies win by sucking less than other big companies.” — working at a company that writes software for other companies (read: I work as a consultant), I see this tendency alot. We’ll have ideas that we think could really be something, but end up getting shot down becuase you can’t stray to far from the beaten path for fear of sucking.

… a concept known to nearly all makers: the day job. This phrase began with musicians, who perform at night. More generally, it means that you have one kind of work you do for money, and another for love.” — how true!

and … “It seems surprising to me that any employer would be reluctant to let hackers work on open-source projects. At Viaweb, we would have been reluctant to hire anyone who didn’t. When we interviewed programmers, the main thing we cared about was what kind of software they wrote in their spare time. You can’t do anything really well unless you love it, and if you love to hack you’ll inevitably be working on projects of your own.

[via Tim Oreilly]

Modular Reconfigurable Robotics

Modular Reconfigurable Robotics, “… an approach to building robots for various complex tasks. Instead of designing a new and different mechanical robot for each task, you just build many copies of one simple module. The module can’t do much by itself, but when you connect many of them together you get a system that can do complicated things. In fact, a modular robot can even reconfigure itself — change its shape by moving its modules around — to meet the demands of different tasks or different working environments.” [via boingboing.net]

Eclipse in Action

Manning formally released Eclipse in Action today. I glanced through it last night at Barnes & Noble, looks like a great book.

I learned about a feature called Java scrapbook pages, described in Chapter 2:

… by virtue of its incremental compiler, you can enter arbitrary Java code into a scrapbook page and execute it—it doesn’t need to be in a class or a method.

Scrapbook pages allow you to test code directly in Eclipse without having to create a class/project with a main() method and then run it from the command line. Pretty handy, reminds me of the demo I saw of Jython at JavaOne.