• OS X Server First Thoughts

    If you follow my Twitter, you may have noticed a quiet posting in the last week showing the latest acquisition I’ve come across.  Unfortunately, this purchase, a Mac Mini Server, was not for me, but for Total Impact.  All jealousies aside, I’ve gotten to spend some quality time with the unit in the last few days and am quite impressed (aside from the usual pitfalls of course).

    After AppleCare and tax, $1250 gets you a slightly-slower-than-today’s-standards Core 2 Duo processor, 4GB of memory, a pair of 500GB drives, and no optical drive.  With a box aimed at small businesses I was glad to see that Apple opted for more memory rather than shoving the fastest new processor in a hunk of aluminum.  When you figure the hope is to have a single server taking care of all roles, the memory investment seems like a worthwhile one (even if its an average capacity by today’s standards).  I knew before I even went to buy it that not having the CD/DVD drive was probably going to burn us, but I drank a bit of the JobsJuice and had faith in the idea of “remote disk sharing”.

    The hardware setup was a dream.  An unobtrusive, transformer-less, power cord runs the device while the supplied HDMI->DVI adapter meant easy hookup to a digital display (A note on digital signals: You can’t simply plug a DVI->VGA converter into one of these minis, but rather need a digital-to-analog converter as well.  Apple has them for $30).  Knowing that there was wireless on board, I threw a keyboard and mouse together for liftoff.

    First the gray screen followed by the typical Mac chime.  Things were well indeed.  I went through the initial setup process rather quickly leaving most options enabled and was soon sitting at what would appear to be a rather standard OS X environment.  Off the bat, a problem!  I saw two volumes available.  Of course, there are two drives, but no RAID from the factory?   Wouldn’t this be kind of, I don’t know… standard?!  Well apparently not, and to make matters more unfortunate, there was no option during the initial setup to create a mirror.  Well this is an easy fix, right?  Just re-install the OS!  Right!  Actually, wrong.

    Perhaps the drinking of JobsJuice wasn’t such a great idea.  Having put my faith into this remote disk sharing concept, it was now time to see it work a miracle.  I put the Snow Leopard Server disk into my 2010 MacBook Pro and waited for it to mount.  I then selected the ‘Install Remote Server’ option in Server Admin’s file menu.  Nothing.  I tried a few more times, nothing.  I had some lunch and came back, voila!  It now asked for the hardware serial number and the IP address, easy!  I entered both to find that either Server Admin or the Mac Mini didn’t believe me.  I did this a number of times and never got further than entering the IP address and serial number.  After cruising the forums, some suggested that this was a flaw in using the wireless (which makes perfect sense, I’m usually doing all I can to stay far away from it) and that many reported success after using the wired ethernet.  Not to be deterred, I turned off my laptop and booted it in target disk mode by holding the T key.  After the 10 minute drama of finding a FireWire 800 cable, I tethered the two machines together and finally had my first good experience of the day.  The disk showed up, allowing me to reboot from the target disk machine (Hold the C key while rebooting the Mini).  I quickly popped into Disk Uility, made a mirrored partition, and reinstalled Snow Leopard Server.

    Back to square one.  With the now curdled JobsJuice still churning my stomach I pressed forward with fingers crossed that I hadn’t made a fatal purchasing decision.  From here things become a blur.  Things worked.  I don’t remember most of what I set up because I didn’t have to think about most of what I set up.  OpenDirectory worked like a charm once I realized that you couldn’t authenticate to it with a local account (Use diradmin with your local administrator password), and setup of the mail server was equally easy once I got a few DNS issues sorted out that were beyond the scope of the server in question.

    We have a Promise DS4600 on the way with 4×1.5TB drives that are replacing a Windows Server with a HiPoint RocketRaid and a somewhat flaky 12 bay eSATA enclosure.  Things are already infinitely smoother and as always its a special bonus when your main server can play nicely with your stable of Linux servers.  Kudos, Apple.

  • Java Terrain Visualizer Now on SourceForge

    It was my plan all along to release what has come to be known as “CanyonJam” as open-source, but alas the time taken to set up a publicly visible Subversion server has proven elusive enough to stop me from doing it.  Its almost funny considering that its likely taking me longer to write this post than it would to set up a repository, but I’ve made my decision.  The decision is to put it on SourceForge so all can have at it.  I have to say that as my first time setting up a project on SF, I was highly impressed with all of the available features… it makes Google Code feel almost childish :)  There are still a few dependencies that have to be ironed out: Betaville is required for its XML functionality as is jME2.  (Checking out BetavilleApp will get you both)

    And without further ado, here we go: http://sourceforge.net/projects/canyonjam/

  • Visualizing Terrain Data with Java

    One of the many topics that’s been of interest to me in the past year or so is the visualization of geographical data.  Of course, this is nothing new in the computing world but that makes no difference to me!  I love everything about nature and as my personal stopwatch of time spent watching the Discovery channel reaches depressing new heights, the fascination only deepens.  One particular place on Earth that I’m constantly awed by is the Grand Canyon and since I haven’t been there, I figured that the only way to get a feel first hand was to generate it :)

    With my mission planned (and a few more goals that I won’t reveal until I do them), I set forth on my path.  The tools are fairly normal to me by now.  I use jMonkeyEngine for the real-time creation of 3D and I write it in Eclipse.  I also have a fairly solid footing in the use of GIS data, it was just a matter of putting it all together.

    I started by picking a place in Google Earth that I would like to cover.  The plan was to create a square of the canyon 10km by 10km.  I picked a starting point that looked interesting and began building.  Using the mapping tools I had previously built for Betaville, I converted the coordinate to UTM and created a grid of coordinates  spanning 10km in each direction(which then got converted back to WGS84).  With my desired datapoints picked, I sent requests to the USGS for elevation using their very handy (and very much appreciated!) web service (documentation for which can be found here.

    With a whole bunch of data in hand (I ran it at intervals of 1000m, 100m, and am currently running it at 30m, this is 100, 10000, and 110889 points respectively), I set about creating the geometry.  Luckily, this is almost painfully simple using jME and I was able to create a TerrainBlock loaded with the data in just a single line of code.  Once the geometry was created, I set the application to export the object through both the jME BinaryExporter as well as the OBJExporter I wrote for jME2.  The results were unexpectedly delicious.

    As an extra treat I began the process of making it a geographic synthesizer where a user’s location would affect the pitch of notes being played.   Perhaps we’ll see some geo-choruses popping up soon!

    I’m in the process of setting up a Subversion server for myself, so expect to see the sources for this online rather soon.

  • Google Apps [small] Business Sense

    Here’s the scoop, I’ve set up email for a domain through Google Apps.  I’ve done this before for jMonkeyEngine (and there are a number of users as well as forwarding rules set up there) and have been quite satisfied with the results:  Mail comes, mail goes, the thing works.  Now let’s set up an account with some real traffic.

    After getting through the administration setup, I began the process of uploading everything that wasn’t currently archived locally from one IMAP account to its shiny, ad-driven, home at Google.  8,000 messages and about 5GB of attachments took a while to get through, but it went up safe and sound.  I let it do its thing overnight and was frankly impressed in the morning when it was done and hadn’t kicked out with any bandwidth errors.  That was November and life was good.  For the better part of a year its been smooth sailing until Thunderbird 3′s status bar turned red with an insane number like “20837%”.  After collecting my nobel prize for finally defeating the limits of a finite set (the food at those events is never as good as you hope for), I set about investigating what was going on.  Seems like Thunderbird is dead in the water.. can’t send or receive anything.  Same story on the phone and Apple Mail on the laptop, certainly a cause for alarm.

    After reading through a number of threads on Googles [at times] pitiful support forum, I decided that the best course of action was to disconnect everything for 24 hours and work from the web interface.  Annoying, yes, but at least Google was kind enough to afford me some access.  Its worth noting that most of the folks complaining about similar problems were using Google Mail with their own domain name.  I have more mail in my personal account and have never encountered the problem but quite the contrary, it sometimes seems like GMail is the only thing I can actually count on.  The longest thread I found was from September and October of 2009 where people were hitting a snag on their Snow Leopard machines.  For the most part, the Snow Leopard specific issue seemed to be addressed in 10.6.2, but what I was left with was a stinging sense of how Google planned to treat its customers.

    By chance, one person in the issues forum was a premier subscriber which allowed him to email or call Google support.  I can understand paid support being a requirement for phone calls, but no email support?  I suspect this has something to do with the company attempting to keep their appearance as “lightning fast”.  Seriously, have you seen how fast results come up in a search?  How would you feel about a company if you found their email address for support in under a second only to wait three days for a reply to your email.  Its likely a smart business decision, but I doubt its going to win them friends among small businesses where the free option will always be tried before the paid option.  If there’s a perception of ‘let them eat cake’, I doubt they’ll be selling many premier subscriptions.  At $50 a year per user, there is an expectation that the service will work.  Even if you have phone access to the almighty Google, it still costs less to go somewhere else than to pay all that money to sit on the phone for a CSR to reset your bandwidth counter.  Ridiculous.

    Its causing Google to lose revenue from at least one small business.  Luckily for us (and terrible for Google), we didn’t even get to the point of wasting $50 per year per user.  If what the large number of detractors are saying is true, then actually being in touch may not do much good for the situation anyway, as escalations to an engineer can result in a wait period of 2 days before you hear back from them.  Frankly, for less overall cost, I’ve seen better reviews out of more traditional hosts like Register.com and NetworkSolutions. We’re currently in discussion about where to go [and are open to suggestions], but the only certainty for now is that our days with Google are numbered.

  • Sneak Peak: Twitter's Demise

    If you followed anything even remotely close to ‘tech news’ earlier this year, there is little doubt that you witnessed the public backlash against Facebook’s privacy policy.  There’s a good chance you were even a voice in the outcry.  It wasn’t just the newest privacy policy that forced Mark Zuckerberg to issue an open letter that sort of showed the company was listening.  There’s been a trend developing where privacy once valued became information abused in the name of a more open world.

    But everyone knows the Facebook tragicomedy by heart at this point, so what’s the point?  Well, it looks like our last refuge may be starting a slow (and I do mean slow) creep towards the same attitude.  Of course, Twitter was built with somewhat different purposes in mind that, in my opinion, have given it a level of staying power and cultural significance that MySpace and Facebook can only dream of.  Rather than the hollow purposes of seeing which kids from elementary school are still single, stalking people who you have no personal relationship with, and touting pictures of drunken lunacy, Twitter encourages the spouting of short ideas and thoughts.

    It serves as a constant barometer of the public opinion, as well as a very effective means of personal networking, advertising, and sometimes strange conversations.  I can tell you that I have no interest in what Ashton Kutcher has picked out of his nose on a minute-by-minute basis, but I do find the once a day musings of Conan O’Brien hysterical.  I’ve made the conscientious decision to pay attention to one and not the other.  Choice is a beautiful thing, but it goes deeper than that.  I’ve been able to build for myself an all-killer, no-filler feed that puts my finger on the pulse of what’s going on (that’s important to me).  Emotional teenage girls need not apply; Invitations to groups begging for phone numbers because an electronic device made its way into an aquatic device: gone. The service allows the person to keep their own individuality while still getting the effect of being in the middle of a public commons.

    There was a catch though, I had to go and find what interested me.  While seemingly unfortunate, it actually meant that the things popping up in my feed were things that I was genuinely interested in with almost no outside influence.  There has been a shift in the last week, however, where the user based inertia is being joined by Twitter’s own thoughts about what people *may *be interested in.  Introducing the “Who to Follow” feature.

    Remember way back in the last paragraph how I placed emphasis on the word “may” in the sentiment ‘may be interested in’?  My apologies, I should have said “This is who you will be interested in”.  Now, I’m sure someone who I’m following may be interested in Jimmy Fallon and Jim Gaffigan.  Besides the fact that I haven’t heard much out of either of them in the last 5 years, I just don’t care.  This is what I presume to be an attempt to begin answering the seemingly eternal question of how Twitter plans to make money.

    If the idea of ‘promoted tweets’ didn’t seem like a simplistic cop-out to you, then let me predict how the next phase of paying back those venture capitalists looks.  Now that we’re told who to follow, I figure a somewhat conservative 30% will follow at least one of the suggestions at some point (or 70% if my decision to lose all faith in humanity turns out to be a good one).  Do the math, at around 190 million users a month, you’re making nearly 60 million new connections based on external pressure.  How far of a jump is it to say that “For $.10 a user, we will plant you in their who to follow feed for a month”?  To reach the official XBox Twitter’s 13,000 followers, it would cost a measly $1300.  That’s a hell of an ad campaign to an already targeted audience.  Nervous yet?