ThinkServer Management Module Java KVM - Login Failed

Posted On
The Lenovo ThinkServer Management Module features remote console capabilities which gives you full screen, keyboard and mouse control of the Lenovo server. It's like sitting right in front of the server and allows you to do some fancy things like configure the BIOS or install an operating system remotely.

While connected to a remote site via IPSec VPN, I was able to login to the web interface without a problem. I clicked the "Launch Java KVM Client" and downloaded the familiar JNLP file "viewer.jnlp(192.168.0.jnlp". Opening the file displays the Java loading screen, and a prompt to tell me it's downloading and starting the application - great. The "Connecting to KVM Server" prompt appears, but immediately after, a "Login failed" dialog box which ended the application.

After doing some Google'ing I saw other people experiencing the same issue but with no solution. I made sure there was no firewall policy blocking the VPN connection from accessing the default Java KVM port of 2068, and that there were enough available sessions (with a max of 4 sessions, 0 were active). I opened my favourite packet analyzer and tried to determine where the connection was failing, and I noticed that my username was being sent as 1234567890 and my password was 0987654321.

Opening the "viewer.jnlp(192.168.0.jnlp" in a text editor showed the offending lines below:

 <application-desc main-class="com.avocent.kvm.client.Main">
   <argument>title=- 192.168.0.10</argument>
   <argument>ip=192.168.0.10</argument>
   <argument>platform=ASPEED</argument>
   <argument>vmprivilege=true</argument>
   <argument>user=1234567890</argument>
   <argument>passwd=0987654321</argument>
   <argument>kmport=2068</argument>
   <argument>vport=2068</argument>
   <argument>apcp=1</argument>
   <argument>version=2</argument>
   <argument>chat=1</argument>
   <argument>softkeys=1</argument>
   <argument>statusbar=ip,un,fr,bw,kp,led</argument>
   <argument>power=1</argument>
 </application-desc> 

Simply editing the user and passwd values to what I used to login to the ThinkServer Management Module, saving the file and re-running the new, altered "viewer.jnlp(192.168.0.jnlp" file let me connect with no problems.

It seems as though the downloaded JNLP file was just a generic file that was ignoring my session credentials, and I expect it will be fixed in a firmware update, but for now I have my modified file which works as expected.
[Read more]

Harvard or McDonald's?

Posted On
Harvard or McDonald's seems like a ridiculous proposition, but it's been my experience that these are the sorts of poor options given to some high-school students by their parents or teachers.

I believe that a vast majority of students are capable of starting careers and following alternative paths to satisfying, well paying jobs that they enjoy.

Apprenticeships are an excellent place to start looking if you don't think college is for you, but there are also a lot of non-trades careers where employers prefer work experience and talent over education.

At my place of work, we take in ambitious high school students for co-operative education. Depending on what career they're pursuing, depends on who they're trained under. I am always given students who want a career in computer science, graphic design, creative writing or marketing.

I've had two students recently who have excelled in their co-operative job roles way beyond their peers and my initial expectations.


The first is a graphics designer. We'll call him Eric to keep him anonymous, and he came into my workplace with a good portfolio and great Photoshop skills. Straight out of the gate I had Eric follow some different tutorials to get caught up with the latest trends in web design and some nice modern logos. Eric worked independently, was able to solve problems quickly, and provided me excellent designs. I used a lot of his work in production sites and even met clients with him.

When Eric's co-op was coming to an end, we offered him a job. "Graphic Designer" would be his title and he could work remotely from his house, while improving his skills independently as I had witnessed him do throughout his co-op. I showed him sites like Elance and fiverr where he could make additional money and get direct customer experience too.

With the skills Eric already had it was a no-brainer that he was ready for the workplace. With some experience working with clients and reading tutorials in his spare time, he would have an extremely impressive portfolio of satisfied customers and a catalogue of impressive artwork.

Instead, Eric had chosen to go to school to learn how to become what he already was. Now, with growing student debt and no customer experience, his life stays on hold until he leaves college and begins working.


A graphic designer is an excellent example of a career path in which school grades or programs taken mean nothing. I'm going to hire a graphic designer who can produce designs that wow our customers and can meet deadlines over one that spent his/her time in school.


The next student up was a computer programmer, we'll call her Caroline. Caroline was familiar with a few languages she had learned through independent study. Slightly more green than Eric, Caroline was still very capable of continuing her learning without incurring an unneeded student debt.

I told Caroline to continue to practice her craft and wrote her a list of progressively more difficult tasks to complete programmatically. I showed her some online resources to study from to learn proper coding standards and techniques, and gave her some ideas on how to build out an impressive coding portfolio (contributing to some open source projects, completing jobs on Elance or fiverr, and helping people answer questions on sites like Experts-Exchange or StackOverflow).

Caroline went to college in search for a computer science degree. After a year of learning about the history of programming, some basic Java she already knew and some calculus, she decided to stop being a student of that college and instead she pursued a career as a computer programmer.


This is not an anti-college rant, as certain careers require a degree. I also don't want to sell short the experiences and connections you can make in a college environment.

The point I want to try to get across to high-school students is that college is not always necessary. Also, if you are attending or planning to attend college, you should still be doing work to master your craft outside of what's in your textbook. Since one third of college-educated workers do not work in occupations related to their college major, I'll give you something to think about. When you graduate, what is going to separate you from every other student in that classroom? You're all likely going to be applying for the same positions. Be unique, be ambitious, do something different.
[Read more]

You Don't Need a Content Management System

Posted On
For those who don't know, a content management system (CMS) is a piece of software that allows publishing, content editing as well as maintenance for your website all from a central interface. Content management systems are often used to run news websites, blogs, and eCommerce websites, but can be used for any type of website. The most popular CMS today is WordPress.

So, let's go over the most common reasons why people will tell you that you need a CMS:

1) They can charge you more money for developing it. It increases your bottom line, and increases your productivity. You won't have to pay an expensive developer to make small text changes on your website for you.

2) It's easy to use (after you've been sold training on how to use it). You don't need to learn any web languages or programming, and you don't need a degree in computer rocket surgery. Anyone who can use a word processor can make new content for your website and easily update it too. Except for when you forget how to make changes and you have to pay for more training, or just pay to have a developer update your website... again.

3) A content management system will increase your competitive edge by using built-in search engine optimization (that the other 20,000,000,000+ CMS pages use).

4) Stand out from your competitors! Get a unique look with the easy to use plugins and themes available that everyone else also uses.

5) Your website stays safe and secure with free updates when new versions come out because a terrible exploit was discovered in the CMS that allowed hackers to deface your site.

6) Ensure higher quality control. You are in charge of what goes on your website, and you can make it look how you want it to look. Even if it's a little lop-sided, because you aren't a graphics designer.

7) Increase the suspense, make your customers anxious while they wait for your website to load. A properly written website is going to load much faster without the bulky weight of a CMS strapped onto it.

8) More often than not you get to pay more for web hosting, great!

Okay, I admit I've been getting a little off track, but have you ever wanted to pretend to be a web designer or a web developer? Now you can! Just spend less time running your business, or pay someone to do something they're not very good at instead of what they were hired to do. These guys do the same thing when it comes to auto repair, and look how well it's worked out for them.

On a serious note, I acknowledge legitimate uses for a content management system where they make perfect sense... I've even recommended them in some situations. That being said, if you don't absolutely need one, it's best to stay clear of these overused, bloated, more expensive, generic, hackable pieces of software that require what seems to be weekly security updates.
[Read more]

64-bit Windows: Unsupported 16-Bit Application Fix

Posted On
While installing a line of business application for a client who was upgrading from Windows XP (x86) to Windows 7 (x64), I was presented this dreadful error message:
"The version of this file is not compatible with the version of Windows you're running. Check your computer's system information to see whether you need an x86 (32-bit) or x64 (64-bit) version of the program, and then contact the software publisher."
After doing some troubleshooting, and of course, some Google'ing, I came across many people with a similar error trying to do the same thing:
"Unsupported 16-Bit Application
The program or feature "\??\C:\Path\To\Program.exe" cannot start or run due to incompatibility with 64-bit versions of Windows. Please contact the software vendor to ask if a 64-bit Windows compatible version is available."
Knowing that the software vendor had been out of business for the past 5 or so years, it was probably not worth trying to track him down to ask if he had secretly made a 64-bit version that he didn't release.

Of course, there were the standard fixes to this problem, which were:
Neither of these options were viable. Installing the 32-bit operating system would mean undoing all of the work I had already done on this machine, and XP Mode (for reasons I won't go into) would not work.

I continued to look for a better solution and that's when I stumbled across a thread on the ReactOS forums which said that these programs were often 64-bit compatible, it was just the installer that was 16-bit, and thus incompatible with 64-bit Windows.

So, if the file _inst32i.ex_ is in the program installation folder, we're in luck as this is an InstallShield based installer that we can get to install using the following steps:
  1. Make sure all of the setup files are in a writeable folder (not on a CD, for example)
  2. Right click on setup.exe, select "Properties", under the "Details" tab check the "File Version"
  3. If the File Version is 3.x, download this file. If the File Version is 5.x, download this file
  4. Extract the setup file from the downloaded ZIP to your program setup directory, overwrite if necessary
  5. Execute the setup file we just extracted and it should launch the installer

That was all - the program installed without any problems and life was great. The thread post I linked contains alternative instructions for other types of installers which I don't believe are completely relevant to Windows x64, but if you're still having problems feel free to take a look and let me know how you made out.
[Read more]

FortiAP 11C, 14C and 28C Remote Setup Guide

Posted On
Fortinet's new Secure Remote Access Points allow a remote worker to simply plug in the FortiAP to any Internet connection and have a secure connection back to their office network without the need for any setup or software installed on their computer. You can read more about these devices here.

Once configured, the devices work exactly as advertised, and I would highly recommend them. Unfortunately, there is no official documentation provided by Fortinet that explains how to configure these devices for remote use.



So, let's go through a basic setup step-by-step to to get these Remote FortiAPs working outside of your network.

Note: These steps assume you already have a working SSID setup on the FortiGate / FortiWifi that's wireless interface has Traffic Mode set to Local Bridge with FortiAP's Interface and has proper Firewall Policies configured.

Configure the Remote FortiAP


  1. Log in to your FortiAP device using your web browser.
  2. Under Network Configuration, set Address Mode to DHCP.
  3. Under Connectivity, set Uplink to Ethernet.
  4. Under WTP Configuration:
    Set AC Discovery Type to DNS.
    Set AC Control Port to 5246.
    Set AC Host Name 1 to the public IP or FQDN of your FortiGate / FortiWifi's wan1 interface.
  5. Click Apply.


Configure the FortiGate / FortiWifi


  1. Log into your FortiGate / FortiWifi device using your web browser.
  2. Go to System -> Network -> Interface and Edit wan1. Under Administrative Access enable CAPWAP.
  3. Go to Wifi Controller -> Managed Access Points -> Managed FortiAP then select the AP and click Authorize.
  4. Additional configuration can be done through this Managed FortiAP menu (device name, which SSIDs to inherit, band, channel, TX power, etc...).

That's all, the documentation provided could have been sufficient if it had included the fact that CAPWAP needed to be enabled on the wan1 interface, and the AC Host Name 1 needed to be changed on the FortiAP unit itself.
[Read more]

Cube World and the Last Few Years of Gaming

Posted On
It's been a while since I've been this excited to play a new game. I have become very familiar with the recycled game genres, and quite sick of them too. The MMORPG clones, all producing the same game play with a different title, stealing small parts from each other. The first-person shooters, each brings out slightly better graphics than the last, and a new set of weapons and maps. The real-time strategy games, which offer different units and buildings, and so on.

I can immediately start keybinding new spells or abilities to keys where similar spells in other games used to be. My cure poison / remove disease or curse button has been the same for over a decade now, and has been used in dozens of games all the way back to Ultima Online (An Nox, anyone?). This is not the case with one particular spell, it has been with all abilities, spells, weapons and units in all different games.

There have been very few innovative games that have offered an engaging experience. For this reason, I often get bored with "new" games very quickly. I know what to look for, how things work and where and what I need to do to excel in the game. Quickly familiarizing myself with the ins and outs of these games while never experiencing the most fun part of these games - being a newbie, learning, and exploring the game.

Cube World

It is for these reasons that I am very excited to have downloaded and started playing Cube World. Cube World is a voxel-based role-playing game that does exactly what it claims - it offers an infinite, colourful, procedurally generated world, full of adventures, monsters, and mysteries.


Action-Based Combat

How does Cube World differ from the bunch, you might ask. Well, it offers:
  • A procedurally generated, infinite world, with no borders in all directions.
  • No artificial borders, if you can see it, you can go to it.
  • Infinite character progression - no level or skill caps.
  • Creatures and dungeons scale with your level so the game has a consistent difficulty and remains a challenge.
  • Action-based combat requires skilful targeting, aiming, and dodging.
  • All players can tame a pet companion, pets includes most animals and some monsters.
  • Crafting and customization of weapons lets you create the look of your weapon at the voxel level.
  • Connect to a friend's private server or host your own and join with your single-player character.



A view of the map.

Exploration and discovery in this game is unparalleled and is by far my favourite feature of Cube World. You never know what's ahead of you, or what might be coming your way. The difficulty of the game is also spot on - not so easy that you don't fear the monsters, and not so difficult that the game becomes frustrating to play.

Cube World was released this week in public alpha status, and is far from complete at this time. Though the game appears to be rock solid, there are many more creative features and concepts that are going to be coming to the game in the coming days.

There is a lot of hype around the game right now, and so many people have tried to purchase and download the game this week, the demand was crashing the download and registration servers. Everything appears to be up and running smoothly now, so go ahead and buy a copy of this game while you still can.


TL;DR

Cube World is a voxel-based exploration RPG that just launched it's public alpha this week. It offers a unique gaming experience and you should definitely check it out by clicking here.
[Read more]