• New OSMGenerator Branch

    If you’re following me on GitHub you might have seen that I’ve been pretty busy over the last few days.  After the short discussion on the original iteration of OSMGenerator, I began work on a branch that uses separate tables linked by foreign keys to nodes/ways/relations for the storage of keys.  The idea behind this is quicker lookups based on tag searches, which is just about the only way to get data that users will find interesting out of the database.  My thanks to Frederik Ramm for bringing up the disparity in schemas between OSMGenerator and osmosis.

    The branch is located here and I’m currently doing speed comparisons between it and the original 0.1 release.

  • Starting My Thesis

    As many of you know, I’m currently working on my Masters of Science in Integrated Digital Media from the Polytechnic Institute of NYU (which also happens to house my current employer where I’m the lead developer on a thing we call Betaville). I’m now starting my final semester of study during which I’ll be writing my thesis, which I’ll be defending some time in December as my final step before graduation.

    Step one?  Write a proposal, which is what I’m starting on now.  This is a topic that’s weaved in and out of conversation with Betaville’s PI, Carl Skelton, for about a year now.  Barring the unforeseen, I’m proposing a study on geospatial information systems (GIS) and their potential for better, more mature, integration within the 3D space.  The topic is neither new, nor solved at this point, which makes it all the more interesting to me.  Words of wisdom, support, and suggestions are all totally welcome.  It’s also worth mentioning that I’m also looking for a job to start upon graduation (which would put a start date in January 2012).  If you have any leads, or want to hire me I’d appreciate you dropping me a line!

  • SlippyJ – Slippery Maps in Java

    If you’ve used Google Maps, OpenStreetMap, or nearly any other online mapping tool, you’ve likely run into the very polished interfaces they present. Double-clicking the map to zoom, dragging the map to get around, its all so smooth!

    I decided this morning to have an attempt at building something similar to this in Java, with the ability of being able to plug-in most, if not all, of the GUI toolkits floating around. As of the time of writing I’ve created two implementations, one in Swing and another in FengGUI.

    Here is a quick demonstration of how it works using Swing (full source):

    JFrame frame = new JFrame("SlippyJ Swing Test");
    SwingTileContainer stc = new SwingTileContainer();
    frame.setSize(1000, 1000);
    stc.setSize(1000, 1000);
    Coordinate center = new Coordinate(41, -74);
    Palette palette = new Palette(center, 12, stc, new SwingTileFactory(Palette.OSMSlippyServer));

    Check out the repositories below:

  • Import VRML to Maya

    We just got in a chunk of files to bring into Betaville that were archived in, of all formats, VRML. That neat open format that never took off in the mid-90′s evidently lives on in the hearts of some. Great to see; Irritating to our [currently] delicate production pipeline.

    After a nominal amount of looking around, I found that Autodesk has been shipping a converter with Maya for years (which probably hasn’t been updated much as it still generates Maya ASCII files compliant with Maya 7).

    The syntax is quite simple and, unlike some other functionalities offered by Autodesk, this ‘just works’.

    /Applications/Autodesk/maya2011/Maya.app/Contents/bin/wrl2ma -i my_vrml_world.wrl -o my_new_maya_scene.ma

    The only problem is that this is buried in the Maya.app bundle’s bin folder, which isn’t exactly convenient to get at for every day use. Throw it onto your path, reload it, and off you go!

    echo 'export PATH=/Applications/Autodesk/maya2011/Maya.app/Contents/bin/:$PATH' >> ~/.profile
    source ~/.profile
    wrl2ma -i my_vrml_world.wrl -o my_new_maya_scene.ma
  • Updating a Live Betaville Server

    I’ve talked a bit before about setting up a Betaville server, but what about updating one to get all of the latest features and bug fixes?

    Well, I’ve written a relatively easy script to help get this accomplished!

    # script to update a Betaville server installation
    # by Skye Book <skye.book@gmail.com>
    wget http://betaville.net/nightly/BetavilleServer-latest.tgz
    cp -R BetavilleServer_deploy previous
    tar -zxvf BetavilleServer-latest.tgz
    rm BetavilleServer-latest.tgz
    cp previous/config.xml BetavilleServer_deploy/config.xml
    cp -R previous/logs BetavilleServer_deploy/logs
    rm -R previous
    cd BetavilleServer_deploy
    nohup ./run.sh &