February 18, 2013

the Nashville Software School

Filed under:, , , , — cwage @ 7:47 pm

The cover story in the City Paper this week is on the Nashville Software School. It's a great read, and it's about a great program.

The NSS is a game-changer for technology and education in Nashville. I'm immensely proud of everyone involved of it and incredibly thankful to John Wark for his tireless efforts to get it going. Years ago, Nashville's first ISP, Telalink, had an intern program that accepted anyone and everyone for weekly meetings to teach and discuss just what this whole "Internet" thing is, anyway. I learned about everything from ISDN channel bonding to CGI programming (in C, no less, until I discovered Perl). I am forever indebted to Thomas Conner, Bill Butler, Tim Moses and everyone else at Telalink that helped us out back then. The roster of people that came through that program (me notwithstanding) is a veritable Who's Who of incredibly smart people here and abroad. Nick Holland (also a Telalink intern) and I tried to revive a similar program years ago (and I believe a young Eliza Brock was a member!). It fizzled, eventually -- frankly, due to the hustle of running a small biz -- a testament to the time and energy required for something like this. I had wanted for years to start something up again and I'm delighted that I don't have to (yay, laziness!). The NSS has done all that and more.

I'm a product of the Nashville public school system, and an aborted failure of our country's higher education system. A year into it and roughly $17k in loans later, I learned that if I was going to learn anything about technology, it wasn't going to be at a university. So, I've been in the private sector ever since. I would have killed for something like the NSS to have been around then. It fills a huge gap in our education system, and it makes me tremendously excited.

Some ideas I'd like to see emerge from the success of the NSS in years to come:

  • The resurgence of an intern program more suited to younger people -- something to get high school-age students started and funneled into the NSS (or something like it).
  • Something more accommodating to people still working full-time -- either a less aggressive courseload and/or after-hours courses.
  • More advanced parallel tracts of schooling: systems engineering/devops, network engineering, and so on. These are all areas where schooling and expensive certification do exist, but pales in comparison to the education via the school of hard knocks. Something like the NSS could serve this demographic as well.
  • Local business/govt-sponsored scholarships. I realize that giving out money for education is a hairy business once you get into trying to decide how to hand it out (merit vs. need vs lottery vs who-knows-what), but it could be done well.
  • Failing that, or in addition to it: A way for federal money (Pell, Perkins, et al) to be available to students of the NSS. This is probably a long-shot for a variety of reasons, but it'd be nice to see this money redirected to grassroots programs like the NSS that are actually generating real skills and real jobs in a relatively short turnaround rather than padding the bottom line of elephantine institutions of higher learning.

December 10, 2009

google chrome: first impressions

Filed under:, , , , — cwage @ 9:26 am

I've been using google chrome here and there via the dev channel for a while now. As it's officially in beta now, I figured I'd post a few of my initial impressions.

  • Tab switching order: every browser I've ever used was able to switch tabs (via CTRL+TAB) in the order they were accessed -- either by default (Opera) or by configuration (Firefox). Chrome doesn't have it at all and it's driving me nuts. Apparently I am not the only one to be annoyed by this.
  • Middle-click to paste a URL into the browser window should load it. This is also missing, and it is also driving me nuts. (ARRRRRrrrr matey)
  • Middle-clicking a URL opens it in a new tab, but only in the background. Shift-middle-click circumvents that, but it's just not what I am used to, and it's not configurable.
  • Flash is very fast. There's a very large flash application we use at work, and it expects to run full-screen. In Firefox, it's nigh unusable due to slowness. In Chrome, it's quite zippy. I am not really sure what they did here, but I approve.
  • Mouse gestures. I really have a hard time living without these.. Opera spoiled me early, and I've never been able to go back. There are various extensions to address this, but none of them work in Linux, and they tend to be error-prone, because I think the Google guys are still changing a lot of stuff with respect to window handling/context menus, and such.
  • Chrome lets you store users and passwords for websites -- however, I was perplexed to see that nowhere in the config can you set a "master" password. So I poked around a bit, and sure enough Chrome stores all its passwords in an unencrypted sqlite3 database. Massive fail:

    cwage@portaptty:~$ sqlite3 .config/google-chrome/Default/Web\ Data
    SQLite version 3.6.16
    Enter ".help" for instructions
    Enter SQL statements terminated with a ";"
    sqlite> .tables
    autofill ie7_logins logins web_app_icons
    autofill_dates keywords meta web_apps
    sqlite> select * from logins;
    https://www.google.com/accounts/ServiceLogin |https://www.google.com/accounts/ServiceLoginAuth|Email|cmwage|Passwd|ThisIsNotMyRealPassword| |https://www.google.com/|1|1|1260412604|0|0

    I can only assume this is something they intend to address eventually, but why bother even half-assing it like this? For now I've wrapped google-chrome in a script to encrypt/decrypt this, so I can continue using it:


    gpg --no-tty -d /media/thumbdrive/Web\ Data.gpg > ~/.config/google-chrome/Default/Web\ Data
    gpg -e -r cwage@quietlife.net ~/.config/google-chrome/Default/Web\ Data
    mv ~/.config/google-chrome/Default/Web\ Data.gpg /media/thumbdrive/
    wipe -f -s ~/.config/google-chrome/Default/Web\ Data

So, aside from the password security issue, you may already be scoffing at my review: nothing but a list of relatively minor issues, right? Well, see, the thing is -- these are all minor issues that are major for my habits and efficiency, and every other browser lets you configure them. Chrome doesn't -- not right now. Now, it may, eventually -- either via built-in functionality or extensions that other people write. But knowing that, the current speed of Chrome doesn't really impress me. It's like if you built a car from the ground up out of nothing but tube-frame, an engine and a drive-train and then marketed it on its speed. Well, of course it's fast -- that doesn't mean I want to drive to work in it.

I actually have high hopes for Chrome, but I expect the final product to be marginally better, not revolutionary. We seem to be seeing a cycle with respect to this in the world of browsers. The release of Chrome reminds me of the release of Mozilla's Phoenix. Everyone was shitting their pants then, too, about this incredibly fast browser emerging from the flames of Netscape, re-written from the ground up to be super-fast and awesome. And it was. But it didn't do very much. And now, 6 years later, we have a browser that is still pretty good, but nowhere near the flawless speed daemon it started out as. This isn't a bad thing -- it's just the natural evolution of a software product that has to cater to literally everyone that uses the Internet. So Chrome is pretty cool, but it won't be my primary browser for a while yet. Talk to me again when you can configure ... anything.