Your Computer. Leave Home Without It - ajaxWindows

September 10th, 2007

From the article: “Today I’m launching ajaxWindows - a complete virtual PC you can experience using only a browser from any web connected computer. If you would like to see it in action, check out the online demo or the video. Remember that everything you see is happening within a web browser.”

Will ajaxWindows.com herald a new era? Internet access is mostly ubiquitous now, and has enabled such technologies as web-based E-Mail, project management, social networking and IM. When using VMWare sessions, I *really* like the fact that session state is saved perfectly when I stop the virtual machine, and ajaxWindows promises similar functionality.

The logistics of the service are more easily implemented, since they’re leveraging existing online services, such as gmail and MP3tunes, which should reduce the space requirements for the ajaxWindows.com site.

The adoption of this as the computer, rather than simply yet another service, will depend on two things:

Security

Will there be a significant breach of security, compromising credentials for the services configured in ajaxWindows? I personally am uncomfortable storing my credentials in a centralized place without significant safeguards in place. While my MP3tunes information is not confidential, my G-Mail account has lots of information that I want to keep private. I’m sure the script-kiddies and botnets are amassing forces right now to attempt the compromise of confidential user information.

Developer API

The Facebook phenomenon has proved that a great developer API will speed platform adoption. I’d be delighted to be able to provide an application platform to users using the ajaxWindows OS. If (see above) security is acceptable, users could be encouraged to use ajaxWindows to access personal banking, retirement information, healthcare information etc, without installation of fat applications on multiple platforms.

As soon as the site comes back up, I’ll log in and give it a test drive. I’ll be particularly interested in the security and API, since I think that’s what will drive large scale adoption.

Update: If you go to ajaxWindows.com, you see:

Thank you for
visiting ajaxwindows.com

We are currently experiencing massive amounts of user registrations
and traffic.

Please check back with us in an hour.

Thanks for your interest, The Ajax13 Team

Looks like there’s a ton of interest in an “Internet OS”. I played around with the site a bit before it went down, and noticed a few things:

  • Many of the applications open in your own browser
  • Java is used for the synchronization process - make sure your JVM is up to date
  • You’ll be strongly encouraged to give them your gmail credentials (yuck!)
  • There is a full set of office application - interestingly there’s a PowerPoint-style application
  • There are lots of applications that I just didn’t have a chance to play with - maybe in a day or so when the traffic dies down

Good luck - I hope you get in and get an account.



read more | digg story

Linux VPN - Better than Windows

September 10th, 2007

Over the past couple of years, I’ve been running Linux on my work laptop. I’m a C++ (among other things) developer, so the tools on Linux are in most cases more mature than the tools on Windows. A constant source of angst was the cisco VPN software that I was forced to use. This software had several problems:

  • Kernel Dependent - needs re-compilation after every new kernel release
  • Restricted access - You, or a friendly IT person, must have access to a password protected Cisco site to download the software
  • Slow to update - The source for the VPN software doesn’t track the kernel source and tool chain changes closely. This means you’ll need to be able to make a few code changes to support a new kernel or compiler occasionally
  • PCF file requirements - Again, the friendly IT person has to provide a profile so that you can use the vpn client

Recently, however, I found the NetworkManager-vpnc package for Fedora. It’s an awesome package that automates almost every aspect of VPN connection. Some of the benefits are:

  • Packages for your favorite distribution - no more re-compilation
  • Integration with NetworkManager - yay!
  • Integration with the Gnome Keyring
  • BEST - Split tunneling, whether IT allows it or not

Simply install the NetworkManager-vpnc for your distribution, enter the group password and your login credentials, and voila!

If you don’t know the group password, you can discover it by using this handy website:

cisco vpnclient password decoder

I hope this helps - Happy VPN!

dhw

Book Review: “designing the obvious - a common sense approach to web application design ” - robert hoekman, jr.

September 9th, 2007

designing the obvious Cover
I don’t own many books with color pictures. They’re almost never worth the extra money/time-to-market. designing the obvious by robert hoekman, jr. is an exception to this rule. It’s hard to classify this book - it’s certainly not a “how-to”, nor is it a reference - there’s nearly no code in it. It’s not a design book - there are no design tenets either. It’s more of a “user interaction” book, combined with some well thought out process guidelines for designing for the web.

Chapter List
Read the rest of this entry »

Book Review: “Ruby For Rails” - David A. Black

September 9th, 2007
  • Title: Ruby For Rails Buy it at BAMM!
  • Author: David A. Black
  • Publication Date: May 2006

Ruby For Rails Cover

Most new Ruby on Rails (RoR) developers figure that their first book should be “Agile Web Development with Rails - Second Edition”. While this may be true for developers who have had exposure to Ruby, most new RoR developers will be coming to the framework with no Ruby exposure. Ruby For Rails is meant to address this problem.

I found RoR in late ‘06, and (luckily) Ruby For Rails was my first Ruby book on the subject. I previously had no exposure to Ruby, but had developed extensively in Perl, C/C++, and Shell on Unix platforms. In retrospect, without the aid of this book, my Rails development skills would have been much slower to mature.
Read the rest of this entry »

OSCON Tutorial: Target Practice: A Workshop in Tuning MySQL Queries

July 23rd, 2007

Date: 23-Jul-2007
Time: 8:30 - 12:30 PDT
Presenter: Jay Pipes

Great information on MySQL tuning. I generally pull on my extensive Oracle experience when writing queries for MySQL. Lots of generally good practices work for both Oracle and MySQL, but, as I learned today, there are some “gotchas” for MySQL that need to be accounted for. My main take away for this tutuorial is as follows:
Read the rest of this entry »

OSCON 2007

July 22nd, 2007

I’m heading off to OSCON 2007 in Portland in a couple of hours. This is my first OSCON, and I’ll be blogging my experiences while there. I’m signed up for several tutorials on Monday and Tuesday. The sessions on Wednesday, Thursday and Friday look like they’re awesome also.

Tutorials I’m signed up for:

Title: Target Practice: A Workshop in Tuning MySQL Queries
Date: 07/23/2007
Time: 8:30am to 12:00pm

Title: Scalable Internet Architectures
Date: 07/23/2007
Time: 1:30pm to 5:00pm

Title: Technical Management of Software Development
Date: 07/24/2007
Time: 8:30am to 12:00pm
Handout

Title: Making Programs Faster
Date: 07/24/2007
Time: 1:30pm to 5:00pm

Here are links to the conference website and wiki

Watch this spot for more information during the day each day!

–dhw

Late Night Check Digit Routines - National Provider Identifier

June 5th, 2007

Check digit routines are fun. There is one for the “National Provider Identifier” that a friend alerted me to this evening. He undertook implementing the algorithm in Perl, and I agreed to do a version of it in Ruby (my new favorite language). Below, I’ve include the source, replete with comments that I implemented the algorithm by. This code is provided with NO WARRANTY. Let me know if you use this code, or if you find problems with it.

Download Link: National Provider Identifier Ruby Code

If you’re looking for more information on this topic, a couple of links are:

http://www.claredi.com/download/npi_resources.php
http://www.medavanthealth.com/implementation/npi/NPI_check_digit.pdf
Read the rest of this entry »

Atheros / madwifi and NetworkManager stability tweak

May 28th, 2007

This tweak provides a bit of wireless stability to a NetworkManager + Atheros (madwifi-ng) configuration

create /etc/NetworkManager/dispatcher.d/30setpriv with the following line:

/sbin/iwpriv ath0 bgscan 0

Make the file executable. The name is arbitrary, but has to be placed in the /etc/NetworkManager/dispatcher.d directory. I’m not sure if it requires a number or not, but that’s probably typical *nix to make the files show up in a particular order to the processor.

This command sets a private ioctl on the madwifi driver that disables scanning for stronger access points. If you use your card in a home setting, or have only one access point, this setting improves stability and performance.

This is a Performance Tune, taken directly from the madwifi.org site. It sounded like it might help some of the problems that I was having with my wireless occasionally disconnecting, and then reconnecting. I think it’s solved the problem. I was entering the command manually for a week, until I found some information about how to add the hook script to NetworkManager. NetworkManager has to be one of the most poorly documented applications I’ve used. It’s also one of the most useful.

Hope this helps. I’m simply giddy, now that my wireless doesn’t disconnect anymore

Sink or Swim: Why must everyone hire “Senior” Developers?

May 11th, 2007

Whew! It’s 2007 already, and we still can’t effectively integrate less experienced developers into a team. Notice that I said “effectively”, not “efficiently”. You have to be able to do something right, before you can do it quickly, and there is no recipe for doing it right yet ( at least the recipes I’ve seen fail miserably)

Case in point: How many job advertisements do you see that mention “Senior”, “Expert”, or “Master”, or “Talented”? Now, contrast that with the number that say “Junior”, “Willing to Learn” , “Recent Graduate”, or “newbie”. (On an unrelated note, I have found that many of the former advertisements are only willing to pay rates for the latter)

Why do most companies want developers that are “Senior” already? I think it’s because you can abbreviate the instructions, and put them to work doing *something* immediately. In my experience, many business users want you to start coding, using the “elevator pitch” as specification. This is great when you can make it work, but it’s not something that reinforces practices that will allow the organization to estimate future projects effectively. The reliance on “heros” insures that your project will not move beyond CMM Level 1 - “Projects are delivered on time and on budget due to the heroic efforts of the individuals involved”.

What’s the alternative? I don’t believe that the answer has anything to do with writing volumes of documentation about the code. Reams of Technical Design Documents serve only to lock the application design into the past, and serve as an impediment to innovation. Design documents imply a few unsavory side effects:

  1. At some point in the past, a technically current design was conceived. The design was locked down, so that the Technical Design could be written
  2. At some point in the past, a Technical Design was completed, and approved by some body of people in a grueling battle of wills. This group of people have now been conditioned to recoil at the mention of changes to this document
  3. The stale Technical Design document, based on a stale design, is communicated to developers. Design changes or revisions are so painful, that any mistakes by the designers or Technical Design writers are simply accepted and implemented
  4. Innovation by developers is discouraged, since it typically requires approval, document updates, etc.

So, we skip formal design, come up with an elevator pitch, and communicate it to a small set of “Jedi Master” developers. Fred Brooks said that the optimum team size is around three, because that reduces the number of communication channels during development. The “Subject Matter Experts” (SMEs) become the keeper of the elevator pitch, and arbiter of the correctness of the implementation. This works well for a startup, as long as everyone is paid well, has plenty of options (backdated or not), gets to wear flipflops to work, and generally feels they’re making a difference. There is NO room for OJT in this model. Everyone must be a super star, or be committed to put in ridiculous numbers of hours to become one. Let’s call this model the Sink or Swim (SoS) model.

In the next installment, I’ll review a few more problems with the SoS model, then start to frame in a different model that focuses on predictability, and effectiveness, at the potential expense of efficiency.

More sleep news

May 7th, 2007

We’ll last night, I overslept for the first time. I was feeling tired at 2am, so I took a nap. My nap didn’t end until 5:30am. That’s probably for the best, if it helps me get through today without napping. I’m still not sure if I’ll find a place to nap today. I guess I’ll be forced to buy me an egg timer for my naps, so that I don’t oversleep.

I was more groggy this morning when I woke up from the long sleep, and the grogginess has been with me all day so far. I’m not sure if it’s the long nap, or the general lack of sleep over the weekend while adapting to Uberman…

Sleep Schedule for this past weekend:
Awoke from my last monophasic sleep: 05-May-2006 7:20am
Naps: (5-May-2007) 9pm, (06-May-2007)1am, 5:30am, 10am, 3pm, 8:30pm, (07-May-2007) 1am, and 2am ’till 5:30am

General goggieness is making my eyelids heavy.

dhw