Year: 2003

  • Hello World on Series 90 (Nokia 7700)

    I was curious how much it would take to get a Hello World style app running on a Series 90 (the platform that the Nokia 7700 is based on) emulator.  The answer is just the following three downloads:

    I took the code from Getting Started with MIDlet Development, built it, packaged it, and ran the emulator with emulator -classpath HelloSuite.jar HelloMIDlet.  Once everything was downloaded and installed, the Hello World process took just a minute or two.  It was well below the 5 minute threshold that Russ has deemed neccesary for wireless development.

    You’ll note that on the emulator, the thumb buttons and keypad are reversed from those on the 7700.  The emulator/SDK release is versioned 0.1, so beware.  I’m sure that some things will change before the official release of the 7700.

    I have a feeling that we are going to see a ton of apps written for Series 90 and the 7700 in particular.  My guess is that we will see lots of J2ME apps, but the killer apps will be built using C++.  In skimming the docs, it looks like I have at least limited access to the camera, wireless messaging, mobile media, and bluetooth.  This is much different than the super sandbox that is MIDP 1.0.

  • Fixing SETI@home

    I was having issues with SETI@home last night and this morning.  I have it set up to start in screensaved mode.  It kept trying to start up and quickly shut down, leaving a row of little green icons in my tray.  I tried starting it up in standalone mode and got an error numbered 100.  Here’s the fix from the site:

    If you are unable to connect due to “100” errors (or perhaps “41”) you may need to exit SETI@home, remove the files “result.sah” and “user_info.sah” from your system, and then restart SETI@home. This is probably fallout from the user database crash a few days ago. Sorry for the inconvenience.

    That should do it, it worked for me.

  • LinuxWorld New York

    Newsforge has details about the keynotes scheduled for Linux World Conference & Expo scheduled for January 20-23 2004 at the Javits Center in New York.

    It looks like IDG is embracing BOF sessions this year, which is A Good Thing ™.  I will definitely head up to LinuxWorld for at least one of the Expo days, and depending on how the sessions work out I might spend a day or partial day in some of those.

    If anyone is planning to head up/out/over to LinuxWorld NY, let me know and maybe we can meet up.

  • Mobitopia: First Post!

    I posted my first entry on Mobitopia this morning: Nokia’s Mobile Media 7700.  I think it’s a good start, and if it’s the tip of the iceberg as El Reg suggests, I’m so there.

  • Longhorn Roundup

    Here is a quick roundup of the Longhorn news that I’ve seen whizz past my aggregator this evening:

    That’s all I have for now, but I have a feeling that this is just the beginning.

  • CamelCase Parser Updated

    I didn’t realize it until this evening, but when Radio rendered my code, it was munching some characters.  I have updated my CamelCase Parser post.  What was incorrectly (S*?) is now (\S*?) and should behave properly.  My apologies to anyone who was led astray by the incorrect version.  The source has been correct the whole time, so if you were working from that, you’re good to go.

  • khtml2png: Create Thumbnails of Webpages Under Linux

    khtml2png is an excellent little program for Linux that allows you to create a thumbnail image from a specified website.  The program itself is pretty lightweight, but requires X, Qt, and kdelibs.  It needs both the libraries and the headers, which required me to install qt3-dev, kdebase-dev, and their various dependencies under SuSE 9.

    It’s quite easy to use once you do the ./configure && make && make install dance.  Here is the command that produced the thumbnail on the right:

    ./khtml2png --width 800 --height 1000 --scaled-width 160 --scaled-height 200 http://postneo.com postneoss_tn.png

    You could easily call out to khtml2png from inside your scripting environment, but it is probably not very well suited for a server environment.  In addition to requiring the desktop libraries, it needs to connect to an X server.  The workaround discussed in the README is to use Xvnc.  I think you’re best off running khtml2png on a desktop machine and then moving the thumbs to a server via your transport protocol of choice.

    There is a similar program out there called html2jpg which uses Opera, Perl, and ImageMagick to do its work.

    This is a fantastic hack with a GPL licence.  Rock on, Simon.

  • Mono BOF at the PDC

    If you are at the PDC, check out the Mono BOF:

    The first in a series of undercover Mono BOFs at the PDC will take place tonight at 7pm on the Academy meeting, in room 411. Come join us to plot the evolution.

  • Dial-A-Song

    Leo Laporte is putting together a Linux box for a next-gen TMBG Dial-A-Song.  Read all about it: Day 1, Day 2, Day 3, Day 4.

  • Apple’s Panther Developer Deal

    Apple is running a pretty good deal for ADC members.  Until November 21, you can pick up Panther and an ADC Select membership for $500.  You will also get Xcode (of course), early access to software, a developer hardware discount, six ADC TV coupons, two code-level technical support incidents, access to Apple’s compatability lab, plus all of the other goodies available to ADC Select members.

    As Erik pointed out, you’re pretty much getting Panther for free with a Select membership.

  • C# Language Spec 2.0

    Sean and Scott are among those who pointed out that the C# language spec version 2.0 is out.

  • Dive Into Panther

    Mark Pilgrim explores Panther in 100 screenshots and insight to boot.  I love the new finder, and Panther has become simultaneously more Mac-like and more Windows-like.

    I’m drooling over here.

  • A Very Simple CamelCase Parser in Python

    In playing around with regular expressions in Python, I came up with the following very simple CamelCase parser.  I really like this style of writing out regex.  It’s much more readable than the typical compacted regex that I am used to seeing. simplecamelcase.py:

    
    # simplecamelcase.py - a really simplistic CamelCase parser
    import re
    pattern = re.compile(r'''
        (?x)(   # Begin group
        \b      # word boundry
        [A-Z]   # Find an upper case letter
        (\S*?)  # consume non whitespace
        [A-Z]   # Find a second upper case letter
        (\S*?)  # consume more whitespace
        \b      # end word boundry
        )       # end group, repeat as neccesary
        ''')
    testString = "This is a TestCase of a VerySimple CamelCaseParser."
    find_camel = lambda s: [u[0] for u in re.findall(pattern, s)]
    print find_camel(testString)
    # Prints ['TestCase', 'VerySimple', 'CamelCaseParser']
    

    I have found that Python is a pleasure to putz around with pretty much everything, and regexes are no exception.  You can find more information at Kuchling’s Regular Expression HOWTO and Chapter 3 of David Mertz’ Text Processing in Python.  Both are well worth reading.

    The above code is extremely naive, and of course use it at your own risk.  It would be trivial to modify this code to use re.sub in order to create a very naive wiki parser.  That might be fun.

  • 6.02×10^23, Baby!

    Chris Heilman:

    Today is Mole Day, celebrating Avogadro’s number. From 6:02am until 6:02pm. It should be until 10:50pm (ten to the twenty third hour.) Thanks, Alireza!

    Wow, I’ve missed the ‘technical’ Mole Day, but I like to celebrate Mole Day all day long.  Thanks for the heads up, Chris.  Happy Mole Day to all.

  • 3650 and a 12 Inch

    C.K. Sample has set up shop at BlogSpot.  His new project is called 3650 and a 12 inch.  I’ve sent him an email asking how much he needs to bankroll an RSS feed.  I’m going to loose track of him without it.

  • Uh oh!

    I’ve been trying to sign up for Sony Eircsson’s Developer site, but I keep getting the following (amusing) error:

    Uh oh!

  • Jabber Releases Server For Windows

    CNet:

    Jabber sells proprietary instant-messaging software–both the software application people use for online chat and the server software needed to route the messages over the networks. Until now, its server software worked only on Linux and Solaris, Sun Microsystems’ version of Unix.

    Excuse me?  Proprietary?  I guess they mean that it’s closed source.  It is by no means ‘proprietary’ though.  It fully complies with the Jabber/XMPP specs, which are a bajillion times less ‘proprietary’ than pretty much any other IM protocol in existance.

    Maybe ‘proprietary’ is a corporate buzzword that makes it more attractive than that hippy ‘open source’ stuff.  I’m not sure.

    More information can be found in Jabber’s press release.  Of course there is an official open source server implementation as well as a list of jabber server implementations. Gobs and gobs of information can be found at jabber.org.

  • Memoranda

    I’m checking out Memoranda, a java-based diary and scheduling program. I’m not used to is WYSIWIG editor, but it’s pretty cool. It looks like it can also export notes to HTML. It is definitely pretty, but not fully functional. It’s an alpha, so that’s okay.

  • Slashdot Reviews Advanced .NET Remoting

    TechGuy949 at Slashdot reviews Advanced .NET Remoting.  It looks like he has positive words for Ingo.  Here’s an excerpt from the review:

    The second part of the book is not for the faint-hearted. The complexity level ratchets up several notches, and holds nothing back. It delves into advanced topics such as .NET remoting internals, including message sinks, channel sinks, formatters, and transport protocols, and shows you how to customize each part. Ingo’s goal is for you to really understand how the .NET Framework implements remoting. The discussion here often borders on the theoretical, but it always stays grounded in relevant code examples.

    Advanced .NET Remoting: it hurts your head, but in a good way.

  • Apple Releases G4 iBook!

    Jeez.  I wish I had known that G4 powered iBooks were going to be out this soon.  The only thing holding me back from picking up a G3 iBook earlier this month was the G3 processor part.  The G3 has been out way too long, and now that the G5 is here, it is just a matter of time before G3 support starts fading away.  I guess it always happens like that: settle on a major purchase and the thing that you’ve always wanted becomes available soon afterwards.

    The specs look good though: $1099 will get you a G4 800MHz, 256 megs of ram, a 30 gig drive, a 1024×768 12 inch screen and an ATI Radeon 9200 video card.  The 14 inch model tops out at a 1GHz G4, all for under $1500.  I have a feeling that with these new iBooks, Apple is going to bump up its share of the laptop market in the next quarter or two.

    I just wish that I could contribute to those numbers…

    Go read all the specs and fun stuff at the Apple Store.  Thanks to Mac Central for pointing it out.  On a side note, if anyone is looking to get rid of an older blue & white or black & white G3/G4 tower for a couple hundred bucks, let me know.  I’m dying to run OSX, and my tricked out 8500 just doesn’t cut it.