Colocation vs. Managed Web Hosting

When I emerged from my tech hibernation recently, I needed a new server for my various domains that I had parked while I was on R&R from Internet burnout. Even though I develop web apps and services for my day job, I swore off working on personal projects for a while.

But after my technolust was rejuvenated, I needed somewhere to house my personal work. I figured I would need some sort of Servlet/JSP container, and was disappointed in the options available out there.

In the past, I'd leaned toward running my own server. From 1996-1997, I ran a web server on a linux box out of my apartment. I was hacked once, and spent a lot of time recovering from it. After that, I spent most of my time keeping up to date on patches and trying to fend off recurring attacks.

From '98 to '01, I decided to colocate an NT box at a place in San Francisco for my personal stuff. This actually worked pretty well. VNC was good enough for me, and it was a pretty small outfit run by a serious techie with great response time.

Now it's 2005 and I think I'm getting old because I don't feel like managing my own server anymore. (It must be the age, I don't even build my own machines these days.) It just doesn't seem like an efficient use of my time, I'd rather be coding. I started out as a sysadmin in 1994, and at various startups and contracts since then I've done network administration duties when there was a skeleton crew and we needed to wear multiple hats, but it just takes a different sort of mindset from developing, and it's a pain to jump back and forth between both roles.

Unfortunately there didn't seem to be a lot of Java hosting providers out there, and even fewer that allowed the kind of control I was looking for (my own jvm I can restart, mySQL, multiple domain pointers, shell account if I want to do more complicated stuff).

Luckily, I stumbled upon servlet ISP reviews at servlets.com. I ended up going with Kattare and their linux/tomcat option, and I couldn't be happier. I'm amazed at the setup they have, it's like having my own server, but I don't have to deal with the annoying tasks. Great customer support, too. I had a configuration request that I emailed on a holiday and they emailed me right back saying the change was complete. I must be jaded, but I'm not used to quick responses anymore. Very knowledgeable folks, too, and I was up and running right away.

Heh, this sounds like a damn paid endorsement, but I've been really happy so far, and don't regret choosing hosting over colocation at all. I'll let them worry about the security and keeping things up to date, and I can focus on coding.

Posted on Mon, 28 Feb 2005 12:53 by wombat (2017 day(s) old)

The Power of Python

Well it was pretty frustrating trying to figure out location stuff on J2ME. I eventually gave up and looked further into Python for Series 60. WOW, so using Python I have access to the file system AND I can get gsm info? Rock on. So long Java sandbox.

So I downloaded the Python SDK and installed the interpreter on my phone. Tested a little HelloWorld which worked great. Then I found a nice sample script online to demonstate the kind of info I have access to.

Now I realize this only gives me the Cell ID, but maybe I can try some sort of cell id mapping ala cellspotting, which is a lot more that I had before. In your face, J2ME!

Posted on Sun, 27 Feb 2005 22:22 by wombat (2018 day(s) old)

To LBS or Not?

Hmm, the natural progression for this traffic/map concept is to make it location-based. I should be able to see a map of my proximity without having to enter my street and city. Sort of like pseudo-gps. That opens up a big can of worms. There have been moderate attempts at LBS mobile stuff already, but none of them seemed ready for prime time. There are some big obstacles in this arena.

Plus there's the whole issue of how this would work with the different carriers.

There are some well-funded teams going after the LBS prize, should I stick with picking off low hanging fruit? Damn, the JSR179 Location API for J2ME does look interesting. Does it work?

UPDATE: Bummer, I was able to getLatitude() and getLongitude() with the Location API under emulation, but not on my phone.

Posted on Sun, 27 Feb 2005 09:45 by wombat (2018 day(s) old)

J2ME Traffic/Map Proof of Concept

I joined the #mobitopia irc chat yesterday for the first time. Impressive group, lots of synergy among everyone there. Just spending time in there gets the ideas flowing.

I ran into crschmidt, who wrote a very cool Python traffic cam proof of concent, and answered a lot of my questions about python. I've got an idea for a python script on my phone that I can use as a helper app while I'm developing J2ME apps, that can make testing more efficient for me. (more on that later)

His traffic app really stuck in my mind, though, and I thought about some things that could be added to it. I decided I would really use this if it had mapping capabilities associated with it, so I went about building a proof-of-concept.

Unfortunately, I don't know python, so I built a MIDlet that accomplishes what I'm trying to convey. You can download it here. I've only tested it on a Nokia 6620, but it seems to work pretty well so far.

Here are some screenshots from my MIDlet, along with the use cases I had in mind.

Use Case 1: I'm late for a Mobile Monday event in SF, and I'm coming from across the Bay. Using my phone, I'd already seen that the Bay Bridge is really backed up via traffic cam, so I took the San Mateo Bridge. Unfortunately as I'm coming up 101, traffic is completely stopped as a Starving Students moving truck has overturned and is blocking everyone. Luckily, my traffic cam app can also retrieve a map and I can take side streets.

(OK, this use case isn't that great, but it's what I started with and eventually led me to the more functionality of Use Case #2. And I know that's the Golden Gate Bridge in the screenshot below, but it's dusk right now as I'm taking screenshots and the other cameras aren't as clear as they were earlier. I'll fix this later)

screenshot1

Then I just decided to expand it to just enter an address and get a map, as well as make everything scrollable.

Use Case 2:
wombat: Um, I think we're lost, somehow we're back to Geary and Van Ness again.
wombat's fiance: Pull over and ask for directions.
wombat: No, wait! Use my phone and bring up a map!

screenshot2

Posted on Sat, 26 Feb 2005 18:10 by wombat (2019 day(s) old)

New BlitzCheck Update

Made some minor changes to BlitzCheck:
  1. Client - Fixed a bug on the Site tab, where if you scrolled down to read a long page, then went back and opened a new page, the Site tab scrolling hadn't been reset
  2. Client - Tweaked the black and gray color schemes. These colors are terrible. I need better suggestions.
  3. Server - Tried a different way to handle the text matching to determine what test to send back to the phone.
  4. Server - fixed a bug in parsing on the Yahoo search when dealing with Categories
screenshot1
screenshot2
screenshot3

Posted on Sat, 26 Feb 2005 13:36 by wombat (2019 day(s) old)

Keyboard Layouts

I bought a Dell 600m laptop about a month ago using one of Dell's infamous discount code combinations. I've been pretty happy so far, except I wish I had gotten one with built-in BlueTooth. I'm able to send .jar files to my phone via the infrared port, but BlueTooth would be much easier.

So this Dell replaced a Sony Vaio laptop that I had for a really long time. It's amazing how my typing had become so accustomed to the layout of my old Vaio. I use the Delete key a lot when I type, and on the Vaio, it was the far right corner button, which was really convenient to find.

Now, on my new Dell, I find myself constantly trying to hit the Delete key and end up hitting the Page Up key. I'm a pretty fast typer, especially when just typing text vs. coding (like blogging for instance), but it's not a pretty sight when I expect to hit the Delete key and end up hitting the Page Up. It totally throws me out of kilter, my hands lose where I am on the keyboard and I start typing garbage and totally lose my focus.

The weird thing is that the Dell keyboard is much more like the keyboards on my home and work desktops: |Insert|Home| PageUp |
|Delete|End |PageDown|

I could remap things, but I think the Dell layout is probably a better one. Let's hope that I can clear the Vaio layout from my mind soon.

The funny thing is that in the last month, I was using two other laptops with still different configurations. I took a Cognos class for a week and worked on a Toshiba Satellite and my mom got a new HP Pavilion. None of them had the same layout, and one of them even had a Windows Start key somewhere in the upper right!

Posted on Fri, 25 Feb 2005 17:33 by wombat (2020 day(s) old)

What's on my Phone?

I see these kinds of posts everywhere, but I still enjoy reading them. When I first got my phone, these types of lists were really useful to see what software to install. It's especially interesting to see what people find essential and really use every day vs. what's been installed just to check it out or for the novelty. What's on my Nokia 6620 Symbian phone:
  • FExplorer - This app is critical and should have been included with the factory install. Aside from enabling me to browse the phone's file system, the "Turn light on" feature is huge. This solves one of the more annoying things I first found with my phone. When playing a game or connected online, the screen's backlight would always dim as a power-saving feature if I appeared to be idle. I couldn't find anywhere to disable this on the phone, so I searched for tips online and found FExplorer. Now, before using any app, I fire up FExplorer first, then the app I want to run.
  • Switcher is another cool utility. I install a lot of software on my phone to try things out, and, unfortunately, a lot of them are buggy and don't seem to terminate properly. Switcher allows me to terminate apps that just don't want to die.
  • Aces Texas Holdem - This is the first piece of software I actually went out and paid for on my phone. I tried the trial version and I was hooked. This is my default app on the train when I go underground and lose my Net connection.
  • Opera or NetFront - I go back and forth on which one of these I like better. I prefer some things on Opera and some things on NetFront. The sad thing is that I don't browse the Web on my phone as much as I thought I would when I bought it. I pretty much use my browser to view Bloglines and that's it.
  • WLirc - Nice free IRC client. Works great, but I'm terrible at texting, so it's tough to have a conversion with someone who has a keyboard on their end.
  • BlitzCheck - Shameless plug here, but I really use it a lot.

Now for apps that were good for novelty and for demoing the phone to others, but I rarely use them:
    SmartMovie - This has a nice gee-whiz factor to it when playing movies for others, but I rarely use it.
  • Frozen Bubble and Yahtzee - I played these a few times and lost interest, but I keep them on my phone for when I'm stuck in line with friends. Both games are easy to grasp right away and you can kill 10 minutes playing them easily.

Posted on Fri, 25 Feb 2005 11:29 by wombat (2020 day(s) old)

KoolAid Part 2

After I got my Nokia 6620 last November, I pretty much installed everything I could get my hands on, and it was a rough time. The smartphone experience it still pretty lacking.

One of the biggest disappointments of my phone was what a pain it was to do an online search.

Now I use search engines a _lot_, at work and at home. I basically think of them as an extension of my brain these days. But WAP really is crap.(and crack is wack, too, Whitney). I tried html browsers (Opera, NetFront, ReqWireless), but couldn't stand using them to search. The only thing I seem to use my html browser for is Bloglines. I was seriously disappointed in Google and Yahoo's mobile search options and couldn't find anything else.

So I set out to write my own little search tool. Luckily I've been coding Java for a long time, and my phone supports MIDP2.0. It was surprisingly tough to setup my dev environment. It actually took me longer to get my dev environment setup than to code my app. Developing in J2ME kind of reminds me of trying to code Java when it was first released from Sun. There weren't a lot of good resources and of the stuff that you could find, you weren't sure about its accuracy.

My goal was an application that allowed me to make a fast online search through my phone when I didn't have access to a computer. The situations that I had in mind were things like settling and argument among buddies at a bar, or finding a phone number of address of a restaurant when I'm lost and driving around. Or searching for song lyrics or who sings a certain song I just heard for the first time. Or, just satisfying my natural curiosity for trivial knowledge.

But it had to be fast, with a quick User Interface, and also keep the amount of data being passed around minimal.

So fast-forward to last week. There was a great article last week by Steve Litchfield on All About Symbian about the lack of freeware for Symbian devices. This was a great call-to-arms for me to finish my app and get it out there in case anyone else found it useful. I cranked hard over the past week and got BlitzCheck working, added a little polish, and threw it up on my site.

So looking back at my introduction to J2ME experience, I figured I'd share some thoughts about it.

Rants:

  1. Wow, there are a lot of SDKs, IDEs, and emulators out there. It was tough deciding what to go with. I don't envy anyone who is about to get started in J2ME. But I'm pretty happy with my setup now: Eclipse with the EclipseME and Nokia plugins. I generally code, debug, and test against the WTK emulator, then test again on the series 60 Prototype 2.0 emulator, and finally on the series 60 2.1 emulator.
  2. I've got a couple of Nokia specific rants. WTF was Nokia thinking with their Form implementation?! That title and icon take up 1/3 of the screen space! So I'm coding along happily with forms in Sun's WTK emulator and go to test it out on the Nokia emulator. BAM! I lose half of my real estate. I can't believe they would actually do this, so I try it on my real phone and the same thing happens. C'mon, we don't have a lot of screen space to start with. Why, Nokia, why?
  3. OK, another Nokia rant. Nokia adds an Exit softkey Command automatically, but the Sun WTK doesn't. And this can't be overridden. So you've got to handle softkey commands one way for Nokia and another for everyone else. Actually, this is probably one of the biggest obstacles I see now for J2ME. There are too many device-specific issues to code around.
  4. Actually, this one isn't a total rant. I can see why they automatically always have an Exit command since if there isn't one, users won't be able to exit the App. Still, it's a pain to deal with code that has to work around device inconsistencies. Oh well, I find navigating an app with the softkeys annoying and not very efficient anyway, so screw it.
  5. Hmm, now for a general MIDP comment. I'm not too thrilled with the high-level UI API. Is it possible to change the background color of a Form? If not, I'd really like that for Christmas this year. I'm just not sure there's enough control in the high-level API for a good user experience and look and feel. That's ok, at least I can use a Canvas, and luckily I know canvases really well from my old-school days of writing applets.
Now for some thumbs-up about J2ME development:
  1. The Nokia dev forum is a great resource. Lots of knowledgeable people on there.
  2. While looking for code examples, I found lots of examples from college "Intro to Programming"-type of courses. This is a great idea, J2ME is a simple environment, a great sandbox to learn basic stuff, and you can still do really cool things. When I was in school, the required programming class for all the engineers was in Pascal, and you couldn't do much with it. The cool effect of this is that colleges are cranking out armies of engineers that can code J2ME in their sleep, which should be great for the future of J2ME.

Posted on Thu, 24 Feb 2005 17:50 by wombat (2021 day(s) old)

I have tasted the Mobile KoolAid...

My story probably begins last November. I was in a four-year funk. Big Time. It started at Election 2000 and just got worse with the dotcom meltdown, followed by Sept 11, and then the troubles in Iraq. The building to election 2004 was filled with lots of worry and angst, a few moments of misguided hope, but ultimately disillusionment more than anything.

Leading up to the election last fall, it was interesting to see people give a damn. I'm a Gen-X'er, I'm not used to seeing this. But, strangely, the outcome of the election made me realize what a funk I'd been in for the last few years. And, looking back, there was really no reason for my ennui; I was getting too affected by things out of my control.

So, like any good techie, I scanned the trend horizon for interesting developments and for the next, next big thing, or maybe the small thing between the two next big things. Now, I've been at a lot of startups in the last ten years and I've seen a lot come and go, and frankly, I'm not very excited about a lot of traditional online stuff anymore. There are some really cool things going on these days on the Net, but I've got a sort of detached, "been there, done that" feeling to it.

Anyway, last November, I took a BART(subway/commuter) train to work instead of my usual drive, and it seemed like everyone on there had a cellphone. Old people were blabbing away in various languages, kids were texting, geeks were playing games. It blew me away. It's funny, when I'm coding something, I generally envision my target user(s) and have a mental picture in my head based on the app....hardcore techie, slick salesdude, family on the home computer, whatever. This may reveal my age bias, but I was not prepared to see senior citizens showing off their ringtones to their friends that day.

The Revolution had already begun, and I didn't even realize it.

I started scouring the Net for a new phone that day, and the following week my smartphone with an all-you-can-eat data plan arrived from Amazon...

Posted on Thu, 24 Feb 2005 13:04 by wombat (2021 day(s) old)