Thursday, January 24, 2008

Another new PC - Vaio UX390N

If you read this blog you know that I like mobile technology. I have the Asus Eee PC 701 and still love it, a Macbook Pro (awesome), a slew of BlackBerry devices and now a Sony Vaio UX390N Ultra Mobile PC.

The 390N is 1.1lbs with the standard battery. It uses a 1.33GHz ultra low voltage Intel Core Solo. One of the best parts is that it uses a 32gb Solid State Drive instead of a rotating hard drive. 32gb is adequate storage since this not my "primary" PC. I do have my email setup on it and a few other things - but still have 20gb free. I replaced the Windows Vista Business install with XP Pro - I don't care about hand writing recognition.

On the device itself is Wifi (802.11 a/b/g), WWAN from AT&T (very nice if you are already a subscriber), keyboard, touchscreen, pointer style mouse, 2 cameras, a fingerprint reader (I love biometrics, I don't have to type a password anymore), USB port, Memory Stick port (i wish it was an SD slot) and headphone/microphone jacks - of course there is a power port too. The included docking station adds 2 more USB ports, power, firewire, ethernet, VGA out. S-Video.

Using an Ultra Mobile takes a little time to get the handle on it. The keyboard is nice and if you are a BlackBerry user - you shouldn't have any problems. Some people say the keyboard stinks or needs improvement - but I like it.

Most of the time I use my Macbook Pro for software development and testing with 3 or 4 VMWARE virtual machines running at one time. Even now, I am using the UX390N while the Macbook is doing something else.

Best thing about the 390N, it's a real PC - no compromise on functionality and the weight. It comes with a protective case that could realistically be worn on a belt - but I'm not that geeky. The built-in WWAN is very convenient, it's still EDGE service - i get about 225k connection speeds, but for web based email and pop/imap services along with even remote desktop connections - it's OK. It's not a cable modem, but the speed is workable. AT&T did some upgrades to their EDGE equipment to maximize when the iPhone came out.

I bought the extended battery which increases the weight about 4 ounces, but it still fits in the same case and fits in the docking station. The battery life was about 2.5 - 3.0 hours on the standard battery when set to "Performance" power settings (I won't sacrifice speed for battery). The extended battery is giving me over of 5 hours, I dimmed the screen to 50% and got over 6 hours, some people have reported 9 hours - but even at 5 hours that's enough for me to use it to watch movies on a plane from Columbus, OH to Phoenix, AZ and still have an hour left. Not to mention I can actually use it on a plane, that time is no longer dead (non-billable) time - I can catch up on my documentation. With my Macbook and event the Asus Eee PC my elbows end up in very weird positions.

I got my UX390N from www.woot.com the price was awesome - check them out every day for a new deal.

Wednesday, January 23, 2008

The BlackBerry Pearl is a great smartphone

I just got another BlackBerry (8130 with Verizon) after using a Windows smartphone for a year, and I can tell you that the BlackBerry platform just rocks.

If you're considering a Pearl, I'm sure you've read mixed reviews about the SureType non-QWERTY keyboard. In my opinion, the thing works just great. Its predictive typing is really amazing - it learns new words from your contacts and your email. I've had some small problems with a couple of words, but really no more problems that I've had with my Treo. Also,

It's niiiiice and small. It's a nice break to have a normal-sized phone that can do everything I need. I was worried that the screen might be too small, but it's not. It's a great size, and superbly crisp. 

In my opinion, there's really no comparison with WM5 (I haven't used WM6). The BlackBerry suite of applications works amazingly well. The way that it highlights any phone number (for one-touch dialing) from any application is the way things SHOULD work. And the trackball is a great input mechanism. And RIM just announced today that an update this year will allow you to edit Word, PowerPoint and Excel documents. But even without that ability, the BlackBerry works just the way I want it to.

Thursday, January 10, 2008

How to learn new computer-related skills

I teach a lot of computer classes and deal mainly with people in IT departments, and I've found that a number of computer professionals actually have difficulty learning new computer concepts. I've thought about this quite a bit, and I have some pointers that may be able to help in these cases. There's definitely some hard work that's required, but it pays off as new concepts become easier and easier to acquire.

1. Learn some commands.

Windows and and all UNIX/Linux/BSD variants have a command line interface where you can type in commands to perform different operations. In Windows, you can run commands from the "command prompt" (aka "command.exe", "cmd.exe", "the DOS window", "command shell"). In UNIX variants this is called also called the "command prompt" (aka "the shell", "a terminal window", "a shell window", "console", "console window"). In Windows you can get information about a number of commands by typing "help" at the command prompt. On some flavors of Unix you can do the same thing, but mainly in Unix you use the 'man' command to get information on a particular command.

Your goal here is to learn how to read the help information well enough to be able to run any command. Some common commands you want to learn first are:

Windows

dir
cd
nslookup
move
copy
ping
telnet
ftp

UNIX

ls
cd
nslookup
mv
cp
ping
telnet
ftp

To find additional commands, you can look in the C:\Windows\system and C:\Windows\system32 folders on Windows, and in the /bin and /usr/bin directories on UNIX. Once you find a command, you can get more information on it in one or more of the following ways:

Windows

command /?
command -?
help command

UNIX

command -?
command --?
command -help
man command

2. Learn some programming language

This may sound weird to many of you, but there are quite a few people in the computer industry who don't know even one programming language. To have an idea about how computer programs work under the covers, you MUST know at least one programming language.

It doesn't matter which one you pick, but some are definitely easier than others for different reasons. Some languages need to be compiled, while others don't, and some languages can be run directly in a browser. So the language I would suggest that you learn first is ECMAScript, aka JavaScript (its previous/current name) or JScript (this is the MS-specific version understood by Internet Explorer). The reason I like it is that you don't have to compile it and you can run it directly in a browser. It doesn't natively have much eye candy, but that's not my fault. The goal is for you to figure out how to use the language.

3. Learn how to use an API in that programming language.

After you learn a programming language, you need to learn how to access other functionality from within your programs. Normally in ECMAScript an API is available as one or more objects, with one or more methods and attributes that can be used. For example, when you use ECMAScript in a browser, the browser makes the "document" object available to your program. This object supports methods and attributes that you can use to perform different functions. For example, you can use the following code to set the browser title of your ECMAScript document:

document.title = "foo";

See, easy as pie. That's the easiest case; you want to challenge yourself to find other APIs to use so that you're comfortable with the whole concept.

5. Learn another programming language.

Now that you know one way of doing things in a program, you need to learn how to do things another way. You may have some ways that you ALWAYS do things, but that's not a good attitude to have when you want to learn something new. You need to learn how different languages handle different things (like passing data, graphical components, event handling, etc.). A language that seems to be getting some traction these days is Jython, so that's one I might recommend. Jython is, to me, what you would actually expect "JavaScript" to be, as it allows you to access Java objects from a scripting language. I would also recommend Java itself as this second language.

6. Learn (AND IMPLEMENT) something new in any of the above.

I've seen many people who think they should be able to learn a new concept by simply reading about it. This is true in some cases, but not in nearly as many as most people think. You need to read about some new function and actually put it to use somewhere. For example, to learn the basic concepts of AJAX, I wrote a small ECMAScript that used the XMLHttpRequest object. I could basically understand the mechanics of it just by reading about it, but actually writing a small application to use it really taught me, with a very small amount of effort, a whole lot about AJAX.

7. Keep learning by reading and trying, and occasionally validating your previous knowledge.

Many people say things like "Oh, I did that a long time ago, but I'm sure I could pick it up again quickly". In my opinion, the time to pick that skill back up is now. It may just be that you research the topic again on Google to see what's changed, but you need to make sure your knowledge stays current (at least for the important stuff). For example, I don't really care if MS Word added a new menu option between versions. However, I definitely want to know if the structure of an "A" record in DNS has changed since I last configured a name server.

8. Define some point at which the details should be considered a "black box".

Some people may be interested in computers all the way down to how the electrons swim through the network card. However, I am proof positive that you don't need to know anything about the hardware to be an absolute expert on the software. So while you may think it's interesting to know exactly how a device driver works, that level of knowledge isn't absolutely necessary. Learn "enough" to help you solve the problem at hand and consider the rest just a black box.

OK, that's it for now. Happy learning!

Thursday, January 3, 2008

The Big Dipper is not a constellation!

Neither is the Little Dipper, Scorpio, nor most of the other identifiable shapes in the night sky. They are actually "asterisms". From Wikipedia, a constellation is:

"a group of stars that are connected together to from a figure or picture. The term is also traditionally and less formally used to mean any group of stars visibly related to each other, if they are considered as a fixed configuration or pattern in a particular culture."

And an asterism is:

"a pattern of stars seen in Earth's sky which is not an official constellation."

You can start here 
http://en.wikipedia.org/wiki/Big_dipper to start learning the truth.

I just thought it was interesting. Happy New Year!