And on and on

Halcyon and On and On came on Pandora. Always fills me with nostalgia for my high school days running Mandrake Linux with a stripped down Enlightenment WM and listening to techno on XMMS.
So much so, I fired up the old Packard Bell Pentium 166 for a classic listening session. Oh memories.

Mandrake 6

Focus On Your Core Competencies

It’s something drilled into every MBA, day after day. It’s a simple mantra, but one easily forgotten as excitement around a project builds. I am always tempted to re-invent the wheel, just to see what kind of wheel I can come up with.

But, when you have a goal in mind, remember: you don’t need to roll your own JSON library, host your own Git repository, code a game engine from scratch. Keep it simple, and focus on what you do best.

PS: Also fight the urge to recode your Java app in C# because Visual Studio 2013 is all free now. Fight it. You can do it!

It couldn’t hurt to see how Mono runs in Centos these days though…

SSL at Last

It’s long over due, but I finally got an SSL certificate for shernet.com! Was happy to find (sorry for the advertisement) a Comodo Wildcard SSL cert on SSL2Buy for only $60. Was afraid it might be too good to be true, but everything went great, including testing a certificate reissue.

Unity engine will finally connect to my web server without yelling at me about an bad certificate. What a happy day :)

To Unity and Beyond

It’s been a while since I got to sit down and write some code. There’s one project that’s been on my mind for years, but it’s languished for some time. I decided to give it another go, this time using Unity instead of HTML5.

Since this project is probably going to take quite a while, and I’m not really expecting much from it in a return on investment point of view, I’m using the free Unity. Free Unity, as you probably know, lacks .Net sockets for mobile platforms. Since I’d really like to get it working on iOS, and don’t have $3000 to spend on Unity Pro and iOS Pro, I’m going to stick with the old GET/POST method I started with back when I was using HTML5.

To communicate with my server then, I’ve been using the WWW class in Unity.
WWW www = new WWW ("http://server/function.php", pData, headers);

However, because WWW runs as an Enumerator and requires
yield return www
I was having all sorts of trouble getting the result from the WWW GET.

What seems to be working for was to put the WWW command in its own Unity C# script, use evil global variables, and run it by using:
gameObject.AddComponent("Login");

I’m still hoping to find a way to pass parameters to the added component, rather than using global variables, but I feels good to finally start passing some sanity checks!

Where did the time go!?

I can’t believe it’s been four years since my last update. While life and work have made progress on many of my projects take a back seat, there’s so many exciting areas of IT these days, I just couldn’t resist posting again. Hopefully more to come soon and regularly on Linux, Windows, Azure, Hyper-V, VMware, KVM, Java, Swift, iOS, C#, and who knows what else!

Mac: Without the Caffeine

We at Shernet have not missed the widely circulated news that Apple has deprecated Java in Mac OS and the upcoming Mac App Store. While missing out on the Mac App Store is kind of disappointing, the future of Java on the Mac platform is more than a little disconcerting.
For those that don’t know, we do most of our coding here in NetBeans, which makes us quite dependent on Java. If Mac OS is no longer a reliable development platform for Java, we’ll have to consider moving our systems from MacOS to Linux.
Here’s hoping that the people at Apple, Oracle, and the OpenJDK find a way keep Java alive on Macs without losing all of the Apple UI goodness that’s been crafted into it.
At Shernet we will carefully monitor the state of Java on Mac and make sure that CalypsoAdmin and all of our other utilities remain equally supported on Windows, Linux, and Mac OS, even that means some redundant coding on our part.

.COM!

To differentiate between myself (Adam) and my work (Shernet, Calypso, etc), I’m happy to announce the purchase of shernet.com. My blog will stay here, but information regarding Shernet will be moved to shernet.com. Additionally, net.shernet.* code will be updated to com.shernet.*.

Encrypted, and it feels so good

Finally implemented SSL for CalypsoAdmin. Authentication was being handled by GSSAPI, so no passwords were being sent in the clear, but it’s nice have all of the LDAP data no longer in the clear.

The initial plan was to use TLS. TLS works fine under LdapContext, but that broke GSSAPI, which works fine under DirContext. For the time being, SSL seems to work fine with DirContext, so I’m putting it to rest until another day.

getRuntime().exec() and spaces in Windows

If you are attempting to run a process from Java in Windows, and would like to use a path with spaces, let me save you some time and Googling:

String[] cmd = { “c:\Program Files\mycommand.exe” };
Process p = Runtime.getRuntime().exec(cmd);

IMPORTANT the c in c: is lowercase. This will absolutely *not* work if it is upper case.

IT Solutions