Wednesday, September 30, 2009

Gizmodo - Demo of MS Courier UI

Ok, so it's not a perfect panacea at this point, but it shows a lot of promise. On the heals of my previous blog post subject, this might be one of those that proves me wrong, but only time will tell. Another interesting thing will be to see if Apple is really working on something like a tablet and how it compares. If it blows Courier away that will be a solid statement about Apple's ability to innovate in the waning years of Jobs. Who really knows.

Courier User Interface from Gizmodo on Vimeo.

Tuesday, September 29, 2009

Newer is Not Always Better

rim_blackberry_8703e That phrase has never been more true than today.  It seems that each “new and improved” gadget, service, product, etc. ends up being more of a “new name / improved profit” gain for the vendor and a so-so lateral change for the consumer.  There are exceptions of course.  But one that hits home for me is my Blackberry smartphone.

I’ve owned and operated several models over the years, mostly those without a camera (job requirement).  The one I’ve owned the longest has been my Verizon 8703e running the dated OS version 4.1.x.

rim_blackberry_8830I got a brand new Blackberry 8830 “World Edition” last year, part of my “renew every two” plan.  But after just two weeks of intense use, decided to revert back to the 8703e.  Why?  Because the 8830 is not comprehensively “better”.  Sure, you can argue on technical merit that the 8830 is “superior”, but realistically (as in: put down the spec sheet and actually try using this thing…) it’s got some irritating flaws that accumulate to the point of wanting to throw against a brick wall.

Rather than digress into the techie minutae, I’ll focus on the real-world usage aspects:

Feature 8703e 8830
Sturdy enough to remain intact and operational from a drop on a hard floor from 3 feet Absolutely No fucking way
What happens when dropped from 4-5 feet? Back cover might come off, battery stays in. Case flies to pieces, battery slides across floor in opposite direction of the other parts
Keypad comfort Smooth, Quiet.  Great for texting and tweeting even during dead spots in staff meetings Noisier than a drunk tap dancer wearing steel shoes on a diamond-plate deck.  Keys are smaller
Keypad acuity Large black keys with white back-lit letters which even Stevie Wonder could see in a galactic black hole Stupid-as-hell tiny silver keys with light blue back-lit letters which are impossible to see in the light or dark
Battery Life Sitting in a holster doing nothing = 3 days before it needs a charge Sitting in a holster doing nothing = 4 days before it needs a charge
Case / Clip Sturdy molded plastic clip which hangs on even when running through a gauntlet of spinning baseball bats Flimsy leather sissy-ass clip that lets go of the phone if you sneeze.
App World (App Store) Nope Yes (about the only advantage)
Navigation Tool Wheel (side) Trackball (face)
Thickness A little thinner than a ham sandwich with cheese About as thick as a post-it pad.
OS Stability Flaky.  Reboots at odd times Stable.  Rarely flakes out.
Usable Apps UberTwitter, FaceBook, Google Apps, TwitterBerry All of those and many more (another benefit, but not enough to get giggly or anything)

Sunday, September 27, 2009

Um, Hello? It’s called Business for a Reason

Scott Fulton III posted an article on Windows 8 and makes a comment at the very start that he’s “perturbed” that it doesn’t offer as many details as he’d like.

So, let’s look at this with some crack-infested goggles and see things like these “journalists” want to see them:

Microsoft should just roll over and spill their guts to the press and the world at large.  Roadmaps for where they ultimately want to reach should be shared with everyone, so we can all “benefit”.  How exactly do “we” benefit from knowing where Microsoft, Google, Apple, or anyone wants to ultimately go?  It might make him feel good to know this information, but it really does NOTHING to benefit him or anyone else.

Now, let’s put on some prescription goggles that clarify things a bit:

Microsoft, like all business entities, exists to make a profitPeriod.  The same goes for Apple, Google, EMC, IBM, Autodesk, Adobe and whoever.  Even Ubuntu exists for profit.  If they didn’t, they would starve to death or work for someone else and do these things as side projects with inconsistent, infrequent results that benefit NO ONE.  Well, let me correct that a bit:  It would ONLY benefit their competitors.  You know, those people that seek to undermine their efforts and achieve maximum profits in shorter time.  That’s what business competitors do, after all.

All the a vendor, regardless of industry, owes their customers is a finished, reliable and beneficial product.  Beyond that is fluffery.  Insights into “next version” and “roadmap” stuf is simply intended to make the customer aware of where the products are going in the future.  Not now.  In the future.  Again: NOT NOW – IN THE FUTURE.  The vendor does not “owe” the “future” to customers.  Somehow this message got confused and lost in the masturbating brainjacking we call “media coverage”.  So-called journalists all want to be the first to break a new story about the future, as if they have a crystal ball or sleep in the same bed with the CEO.  It’s all bullshit.

It really annoys me to death how the discussions always devolve into third-person narrative about products which make them sound somehow organic.  As if they just happen.  They grow on trees.  Companies are referred to as singular entities, like people, with a distinct personality.  Wrong!  Wrong!  Fucking wrong!  Software is written by people (who eat poorly, sleep little, engage in risky hobbies and usually focus on one specialization, not the whole product or “system”).  Companies are a collection of people who get a paycheck from the same letterhead.  You will not find the same personality or get the same answer from any two employees of a given company, so STOP treating the company like it exists without the employees.  “Microsoft this…” and “Apple that…” are phrases used by idiot bastards who should be stomped in the nuts with ice climbing boots.  Wake up.

Saturday, September 26, 2009

6 Rules for Software Product Development

These are my basic rules for developing software products.  I wrote them while under the influence of a rather heavy Belgian Ale, still sweating from having mowed the entire lawn on an empty stomach.  My brain is on auto-pilot, sloshing around like a soaked bread roll in a fish bowl sitting on the dashboard of a 4x4 truck going up a mountain side.

Rule 1 – Apps should Control their Files

If opening a corrupted or invalid file causes your application to crash, your application is a complete piece of fucking shit.  Period.  There are zero exceptions to this rule. Ever.  Your app should read, parse and validate anything it tries to open and handle it clean.  Tell the user and offer them a way to work around it.  Don’t just puke up a hex error and die.  If you fail this rule, you should be kicked in the nuts repeatedly with combat boots.

Rule 2 – A New Competing Product Should Start at Par

If your 1.0 product doesn’t match your competitor’s product at the VERY minimum, you fucked up.  There is no excuse for competing by starting out on a shaky foot.  You already know what the competitor’s stuff can do.  Why would you even consider putting out something that doesn’t at least match that (let alone beat it)?

Rule 3 – Consistency Matters

Oh yes.  If your product has different looking dialog forms, or inconsistent command line syntax, you fucked up bad. Really bad!  In fact: you suck ass.  Ask yourself “does this option apply pervasively?”  “is my noun/verb syntax consistent"?”  If not, you suck ass.  I already said that, didn’t I.

Rule 4 – Versioning Isn’t just a Giggle Party Joke

0.009.01?  2009.01?  Version 4?  Version 4.0?  Make up your fucking mind!!!  If you release something “less” than 1.0 to the publi,c you’re a complete fucking idiot!  A dumbass dipshit numbnuts moron.  Go back to school or read a book for once.

Rule 5 – Ask for Input and Respect It

You either have customers or you’re looking to gain some.  If they speak up, you should pay attention to what they’re saying.  And when they submit feedback, you should respond to each one with something to acknowledge you (a) recieved it and (b) are reviewing it.  If a customer submits a comment and gets nothing back in return it’s the same as saying “fuck you, we want your money not your opinion.”  And if your product is stated to be in “beta” don’t EVER say “too late, maybe for the next release”.  That’s just ass-wipeness 101.  Alpha and Beta are still “unfinished” stages and therefore self-proclaimed as being in flux, aka “not finished”, or “not stablized”.  If you don’t want to field change requests before final release, then call it a “release candidate”.  Stop being a whiney ass pukeface like some turtleneck wearing snob.

Rule 6 – Pick a Respectable Name

Don’t name your “business product” something like “sweet nutsack” or “frilly foo-foo” or “galloping gay-face”.  Business customers wear suits, not Devo costumes.  They don’t have an artistic flair and giggle like 12 year old girls at a Jonas concert. They do boring shit like balance books, make forecasts and Powerpoint presentations and play golf.  Aim your shit at that and you’ll do ok.  Otherwise, you’re aiming at a barn with your eyes poked out.

Holy crap, I’m fired up right now.  I’m really tired of bullshit software developers acting like God just handed them a table to carry around.  I really need to drink some coffee and come down a bit.

Replacing Logon Scripts with Group Policy Preferences

I’ve droned on about this many times, but I just drank a triple grande mocha and had an epiphany.  Maybe that was a bowel movement, who knows.  Probably the same thing.  In any case, I thought about what the most common uses for logon scripts are, and how they map into Group Policy Preferences (GPP) with Windows 7 and a Windows Server 2008 (WS08) Active Directory domain. 

Note that you can leverage GPP without having a WS08 AD environment.  You can use it with a Windows Server 2003 AD environment as long as you have at least one WS08 domain controller in your domain.  GPP settings are only applied to Windows Vista and Windows 7 clients.  Windows XP and WS2003 clients are only affected if you install the GPP client update.  Computers which do not recognize GPP settings just ignore them.  No harm done.

The most common uses for logon scripts I’ve seen (after years and years of writing them) are:

  1. Drive Mappings
  2. Printer Mappings
  3. Logon Banners
  4. File Downloads
  5. Registry Changes
  6. Setting Environment Variables
  7. Software Installations
  8. Inventory Collection

(1) Drive and (2) Printer mappings are so simple in GPP.  They literally become checkboxes and a few keystrokes.  That alone removes many lines of code (for properly developed scripts with error checking) and at least a handful (for dumb scripts with no error checking).

(3) Logon Banners are easy to do with Group Policy settings actually.  This hasn’t changed since Windows 2000 as far as I know.  Edit a GPO and navigate to Computer Configuration / Policies / Windows Settings / Security Settings / Local Policies / Security Options.  Then edit the two policies “Interactive logon: Message text for users attempting to log on” and “Interactive logon: Message title for users attempting to log on”.  Most often this is performed on the “Default Domain” group policy.

(4) File downloads often incur many lines of code, if coded properly.  Things like checking for existing files, date stamps, contents, etc.  With GPP it’s a few clicks and type in the source and target file paths.  Go to Computer Configuration (or User Configuration, if the policy is user-related) / Preferences / Windows Settings / Files.  Then right-click and choose New –> File and fill-out the form.  Done.

(5) Registry changes are similar to file downloads in that script code often involves checking for the existence, and value of keys and then performing the actions to update them and check for errors.  With GPP: Computer (or User) Configuration / Preferences / Windows Settings / Registry.  Right-click and choose New –> Registry Item, Collection Item, or Registry Wizard, and fill-out the form.  Done.

Setting (6) Environment Variables can be done in several ways depending upon the scripting language being used.  KiXtart uses SET, SETM and SETL commands, with SETM being used for making System Variables (rather than User variables).  However, setting System Variables during a logon script requires the user to have Administrative rights, otherwise, only User Variables can be configured.  GPP allows you to set environment variables regardless of user permissions.  With GPP: Computer (or User) Configuration / Preferences / Windows Settings / Environment.  Right-click and choose New –> Environment Variable.  Fill-out the form and click OK.  Done.

Software Installation is something demonstrated in classes to show what Group Policy “can” do.  As I’ve always said: never confuse “can” with “should”.  In very small environments (a handful of computers) you can expect to deploy very small applications (like WinZip or Acrobat Reader) as long as they’re all connected on a fairly fast LAN.  Beyond that and you’re trying to haul boulders up a mountain on the roof of a SmartCar.  Seriously, don’t do it.  I won’t go into this here, but in general, software deployments to more than 20 computers, especially if on a WAN or 10/100 Mbit LAN should be done with other tools, or do them using custom scripts, not logon scripts.

Inventory Collection is something often done with logon scripts when you can’t afford a more robust tool like Microsoft SMS or System Center Configuration Manager.  There’s nothing wrong with that either.  Those products are worthy of every cent as long as you plan on leveraging most (if not all) of what they offer.  If they are overkill, you have to weigh the cost vs benefit to your environment.  For large environments they make sense more often than not.  For very small environments, you may want to look at System Center Essentials or something like that, or continue using custom scripts and logon scripts. 

Inventory Collection is one aspect of network management that Group Policy and Group Policy Preferences don’t really offer much benefit.  If you’re interested in free logon script solutions for inventory collection and reporting, just search the Internet. There are quite a few.  I wrote one myself called DCIS actually, which is available with a web reporting package from http://sites.google.com/site/skatterbrainz  under “file downloads”.

Conclusion

Of all these common tasks described above, only two (2) fall outside of the realm of Group Policy or GPP.  However, the vast majority of situations I’ve seen over the years leads me to say that those two are relatively rare in most environments.  I haven’t seen (or heard of) many situations where System Admins are installing software with logon scripts, or collecting inventory either.  In most small business environments these are done the old fashioned way: sneaker-net.  In some, where the SA feels inclined to automate things, they use custom scripts (usually .BAT or VBscript files) to push things out, rather than have each client pull.

Overall, if you look at most logon scripts you will find they usually focus on the first six(6) tasks I’ve described above.  If you replace those tasks with GPP you can often reduce your logon script files to almost nothing, if not completely eliminating them altogether.  The best part of this is that you’re not only replacing a script, but the ability for another person to be able to troubleshoot these settings without having to be familiar with scripting languages.

Friday, September 25, 2009

Weekly Highlights

This week, September 21 - 25, 2009 I....

  • Rode the bus 3 days (6 trips)
  • Wrote a bazillion lines of code in ASP/VBscript
  • Updated one WS08 domain controller to SP2
  • Adjusted 10 Group Policy settings (GP Prefs) for Windows 7 clients
  • Read 2572 news items in Google Reader
  • Shared 286 items from Google Reader
  • Tweeted 228 times
  • Ate 25 bowls of cold cereal
  • Drank 20 cups of coffee (at work, 2 at home)
  • Closed 2 support tickets, and 1 change request ticket
  • Scratched my dog 150 times (at least)
  • Rode my bicycle a total of 46 miles (4 trips)

Wednesday, September 23, 2009

If I were the Virginia Beach City Manager

If I had the checkbook...

- Beef up Mt Trashmore park to be worthy of the city image: a stage, more lights around the path, carnival all summer, more gardens and waterfalls, expand the skate park.

- Light rail. End of story. All the nay-sayers can just STFU.

- Add more free parking in the North beach area.

- Build a walk-over between Town Center and Pembroke Mall

- Build a walk-over crossing on Independence at Va Beach blvd

- Enforce trashy yards and unkept lawns. $100/day fine until rectified

- $5000 fine for tossing trash and cigarettes from a vehicle.

- Make all fees, fines, bills payable online within the same web site and using a common login.

- Increase DUI fines

- Push for more stringent enforcement of wreckless driving.

- Hold all public meetings after 6pm. You know, after us working folk are off work

- Fine drivers for loud music. Add an RIAA fee for "public performance" also.

- Deduct salary from public school coaches who can't manage teams to win at least one game

- Fine local TV weather folks for each blown forecast. Make them apologize to the public on camera from an auditorium packed with school kids.

- Require city council to rotate jobs and work with every dept in the city. Must work the lowest level job available.

- Replace Pembroke Mall with something like Stone Point Mall (Richmond)

- Make HRT improve their half-assed bus service

- Buy Fort Story and convert it into a city park, including the beach.

Things You Shouldn't Do

Because it seems these basic rules are no longer being taught, and are being forgotten by those old enough to know better...

- Don't throw trash into a urinal

- Don't throw trash from your car/truck

- Don't slam restroom stall doors. Flush after you go to the bathroom. Wash your hands after going to the bathroom

- Wash your hands before you eat. You eat enough shit at work, why eat more.

- Say "please" and "thank you"

- Say "hello" or "good morning", etc to everyone you pass by. One of them might save your life someday, or be your tax auditor.

- Buckle the seatbelt for your kids when they're in the car. If you don't, you're saying "I don't love you and I hope you die"

- Don't drive with your stupid dog in your stupid lap. Put him/her in the other seat at least.

- It's not ok to curse/swear in front of children. Unless you're being killed or injured badly.

- Hold the door for ladies, elderly, disabled and people carrying lots of stuff. Its not always about "you"

- Use your turn signal when changing lanes. Actually, use it BEFORE you change lanes.

- Keep your lawn cut and trimmed or buy a goat. Get off your ass.

- Don't water the pavement. Its just stupid. It announces to the world that you are a complete dumbass.

- Don't mock people who handle the shitty jobs in life. Without trashmen, you'd be up to your eyeballs in smelly garbage.

- You are no more or less important than anyone else. You are not special. You don't deserve anything. You have to earn it all.

- What goes around doesn't always come around

- Parking across multiple spaces with a standard-size vehicle makes you a complete asswipe.

- If you can't drive it, don't buy it

- Talk quietly on the phone. We don't want to hear about your crazy vacation stories or the resulting rectal bleeding.

- If you don't have something "useful" to say, STFU.

- Before you ask, did you search for an answer yourself? Or do you think I'm your clerk. Don't expect my answer to be accurate.

- Don't "reply all" unless you REALLY mean to.

- Don't spit unless you're playing baseball at the same time. Spitting phlegm isn't sexy. Its the sport of ass-lickers.

- NASCAR is not a sport. Stop trying to convince me otherwise. Neither is horse racing.

Tuesday, September 22, 2009

Hampton Roads Mass Transit is a Mass Failure


In the context of Hampton Roads (Virginia): If you draw up a map of where people live and where they work, or go to school or shop, the result looks like a Jackson Pollock painting on a bad day.  For those of you unfamiliar with what "Hampton Roads" is, it's actually a pseudonym given to the metropolitan region that includes cities in the southeastern corner of Virginia.  This includes Norfolk, Virginia Beach, Chesapeake, Portsmouth, Hampton, Newport News, York County, Williamsburg (sort of), Suffolk, Smithfield (sort of) and outlying areas.

If you fall in a narrow percentile, you can make it on the fledgling "system" that exists today.  If you don't, you're screwed.  If you happen to live within walking distance of a regular stop, you can make it.  If not, you're screwed again.  If you're looking to just ride across town, you're probably in good shape.  If you need to ride from one town to another, especially across any bridges or tunnels, you're on shaky ground.

Case in point:  You Live in Virginia Beach, but work in Hampton

You can take a few buses to get to a transfer point (you can verify this using Google Maps or by going to GoHRT.com yourself) and then transfer again in downtown Norfolk, and then you arrive in Hampton no less than 2 hours from when you left.  It's worth noting that on a typical day (no breakdowns or bad weather foul-ups) you can get from central Virginia Beach to Mercury Blvd in Hampton in about 20-25 minutes, and that's keeping your speed in the legal range.  This is just stupid.

Case in point: You Live in Virginia Beach, but work in Newport News

For the sake of argument, let's just assume you work at the largest employer in the entire region: Northrop Grumman Newport News (shipyard).  You have a few options, but they all filter down to getting on the 967 Max line at Indian River Rd / Reon Drive, and taking that to the Transit Center in downtown Newport News.  That's a 50 minute ride on a good/average day.  If you live anywhere outside of walking distance from Reon, you will need a ride (car, bike, mo-ped, etc.), so this is also a significant failure.

Case in point: You live in Chesapeake and want to get to Hampton

Pack breakfast, lunch and dinner.  You're going to be riding buses all day and waiting at stops often.  You might want to bring a shaver or toothbrush as well.

Conclusion

If HRT is going to market themselves as providing a real "mass transit" solution, they need to consider running a cyclical or sequential service that follows the main arteries of traffic.  That means forming a simple "circle" around the area, following I-64 in most cases, and running buses in both directions on a regular sequence.  You should be able to hop on a bus in the morning or afternoon and go in either direction (clockwise or counterclockwise) with feeder lines branching out from key points around the core "ring".  Other cities do this, why not here?

Also, what's up with the anti-"green" paper fare cards?  Why not offer a re-usable plastic fare card that we can reload at stations (cash, credit, debit, etc.) or online (credit, debit)?  Even highway toll passes are reusable.  This makes no sense at all.  Here's an idea for you marketing boneheads:  How about offering a discount for customers to reload their cards via your own web site and lace that site with advertising.  Hmm, I believe they call that a "captive audience"?  It markets itself in both ways (to consumers and to advertisers).  I've seen it done many times and it works pretty well.

How Microsoft Can Get Customers to Upgrade IE

Lot's of talk about how Microsoft continues to walk an ever-narrowing fine line between supporting legacy crap and trying to move "forward" at the same time.  One of the issues commonly cited is how to handle sluggish corporate customers, who resist moving off of IE6.  Most corporate environments are driven by bottom line issues.  Things like deployment and support costs, interruptions, and security vulnerability derivatives.  The former two can be addressed by the usual slathering of corporate marketing schmooze and goo.  The last item, security, can be hit on the head like a hammer on a nail:  Drop support for IE6 entirely.  Tell customers: "Too bad.  If you want patches and security updates, upgrade to the current version."  End of story.  Sure, they'll bitch.  They'll moan.  But they'll move.  What's funny is that I would bet the GDP of Zimbabwe that if Apple told customers the same thing for one of their products, oh wait, they already have.  Well, never mind then.

Monday, September 21, 2009

Solutions So-lu-tions Sa-Loo-Shunzzzz

Problem: “I have to install apps on a lot of desktops and I constantly run into problems with removing older versions, cleaning up leftover files, folders and registry keys.  I also run into issues where each app wants a different version of JRE or .NET.  How can I get a handle on this madness?”

Gently put down the rope, the duct tape and the stack of porn mags and relax.  You should look into Application Virtualization.  There are many alternatives to choose from, depending upon your client base, your environment, your needs and your budget.  The major players are Microsoft App-V, VMware ThinApp, Citrix XenApp, and a few others.  There are many articles on each of these, and others, as well as comparisons of features and performance.  Here’s just one.  If that doesn’t help, start drinking heavily.  Heavily.

Problem: “Some of the users I support are developers, who insist they have an older version of a particular application than we typically support.  They also insist they need local administrative rights.”

Beat them with the largest heavy blunt object you can find.  When they awaken in the hospital, read to them the story of Goldie Locks and the Three Virtualizations.  VMware Workstation (not free), Virtual PC (free), VMware Server (free) and Virtual BOX (free) are all good options for providing a sandbox environment where your crack-infested little perverted glue-sniffing devs can play and wreak havoc.  Just pay attention to the licensing requirements for the hosted (guest) operating system and any applications you install within it/them.  Ok. That was four, not three.

Problem: “My brother/nephew/niece/sister/cousin just bought a Mac, and…”

Stop right there!  Smother them with a large pillow soaked in Chloroform.  Drag their sleeping, limp, spongy and pasty white body out to a chair at a busy intersection, and hang a sign around their neck that says “I’m a brainwashed idiot and will believe anything anyone says as long as they have a stupid Apple logo somewhere on them.”

Problem: “I support users on Windows XP Professional, but I’m really tired of the issues that come with giving users administrative rights to use applications and drivers.  What can I do?”

Either bus them to another state or country, or upgrade to Windows 7 as soon as it becomes available.  Go rock climbing and beer drinking with the time you recoup from no longer having to babysit that old swiss-cheese platform.

Problem: “I stand on a corner with a sign telling passers-by what my feelings are about a sensitive political/environmental/social issue.  But I worry that it will take a long time for change to ever happen.  What can I do?”

Jump in front of the next bus.  Your efforts are completely in vain.  Nobody cares.  Nobody in a position of making a different, that is.  They can’t hear your whiney cries for your pitiful little ‘cause’, ‘cause they’re laughing it up at a golf outing.  Unless you have a crapload of money to pump into their PAC funds, you are silent.  Get used to it.  It’s called: The American political system.  And it’s the best government money can buy.

Problem: “I tell people at work/school/stores/parks/libraries/restaurants that I’m tolerant of all religions, but that they will go to Hell if they don’t convert to Christianity and repent.”

Sounds real tolerant.  Hey, are you going to eat those fries?

Problem: “If America has a higher infant mortality rate than many other countries; a lower grade average at almost every level of schooling than many other countries; and we no longer lead the world in manufacturing output by even the most heroin-soaked delusional stretch of the imagination…. why do we keep saying we’re ‘Number 1’?”

That’s a great question.  Next? …

Problem: “I need to back up my precious pictures, documents, and contacts in case my computer is lost, stolen or damaged.  What should I do?”

Mozy (www.mozy.com)

Problem: “I voted for the new president, but the ‘change’ he promised doesn’t seem to be happening.  Why not?”

Because you’re too stupid to realize that there really is only one political party: the screw-you party.  The “left” and “right” charade is simply a ruse to keep us all occupied with shiney objects while they keep busy spending our money on things that only benefit themselves.  We don’t matter.  Our vote, technically, doesn’t really count either.  It’s just designed to make us believe we’re in control.

Problem: “Wow!  It sounds like the guy who writes this stuff is really knowledgeable.  Who is this guy?”

A complete idiot who knows nothing about anything.  If you say something convincingly enough, you can, uh… convince people that you’re, umm… convincing.

Saturday, September 19, 2009

Good Bye Fort Story Beach. It was fun while it lasted

We hadn't made the short trip to Fort Story Beach in a few weeks, so we decided today was time for a return.
We parked at 87th street as always (because 89th has more parking but they ticket and boot after 8pm.  It is Virginia Beach after all), and walked out to the sand, turned left and started towards Cape Henry Point.
However, this time we were hit with a large yellow sign on 4x4 wooden legs, straddling the walking area at the borderline between the public beach and the beach that wraps around Fort Story U.S. Army base.  "Official U.S. Government Property - No Trespassing" in bold letters.
The last time we saw this happen was one week after Sept. 11, 2001, when they not only closed the beach, but cordonned it off with cross-bars and razor wire, and sandbagged machine gun nests along the dunes.  They also ran ATV patrols and scared the be-jesus out of anyone who strayed across the line.  I didn't see any sandbag encampments or ATV's running around, but I'm not venturing over into the dark side to find Darth Vader either.
I haven't seen any official explanation or rationale for the closure, so I can only guess.  If it's to carve out the beach for the military families who live on the base, that's fine.  I feel that military families put up with a lot of crap as it is, and their active-duty kin are under enough stress, so anything that helps them chill out and enjoy life a little more is a good thing.  I do wish however that they could have worked out something like one-day per week when the public could still stroll around the beachfront.  Oh well.  It was fun while it lasted.  I have a ton of good memories with my family there.  Here's some photos I've taken over the years.  Enjoy!

Alice in Chains: Black Gives Way to Blue

Alice In Chains "Black Gives Way to Blue" Short Film

Making ASP “Die” like PHP

How clever was that title!  Not clever.  I know.  Oh well.

So, PHP has the age-old “die()” function to stop processing and puke up a message in the process.  Great for most general needs.  When you want the page to crash-out gracefully and say something intuitive and elegant to the user, like “hey, you fucked up, you idiot!”  Just kidding.  ASP doesn’t really have an identical function, but it does have the Response.End object method.  So you can make a really simple function (ok, Sub) to do pretty much the same thing.

Sub Die(strMessage)
If strMessage = "" Then
strMessage = "processing stopped."
End If
Response.Write "<span style="color: red; font-weight: bold">" & strMessage & "</span>"
Response.End
End Sub

' example of usage
If Session("LoggedOn") <> "TRUE" Then
Die "logon failure!"
End If


When would you want to use this?  One good example is on pages where you want to ensure some global condition exists before rendering the page.  A good example of that would be checking to see if the user is “logged in” or “validated” or a quantity in a form was selected, or whatever.  Maybe you want to ensure a page is only called from a specific other page, and not directly.  You can pass a hidden form object or querystring to shake hands, but if a sneaky asswipe user decides to shortcircuit your site by calling the second page directly, you can check for that form/querystring input and gracefully crash-out if it’s not provided.  I’m sure if you smoke enough of something you can think of other possible uses.  But this hopefully helps you in some random remote way.

Friday, September 18, 2009

What’s Wrong with Virginia Beach

camTrafficJam_wideweb__470x314,0 This could be a multi-part episodic idiotic hypnotic psychotronic high colonic, so you might want to either strap yourself in or walk out before things get really stupid.

Ok.  You’ve been warned.  Here we go…

 

 

So, I have already mentioned my frustrations with the whole transportation study debacle.  But I wanted to digress for a bit on some of the more subtle issues that feed into the greater thing we call: stupid.

Virginia Beach has partaken in multiple “studies” to determine how to solve their ever-worsening transportation problems.  It’s gridlock in so many places around the city, that it’s really easier to name the locations where there ISN’T gridlock, particularly during the hours of 7:00 AM to 9:30 AM, 11:30 AM and 1:00 PM and 3:00 PM to 6:30 PM, M-F, or the hours of 9:00 AM to 10:00 PM on Saturdays and Sundays.

Did you read that?  Go back and read those hours again.  I’m serious.

As it turns out, those studies were done in 1980, 1996, 2000, and 2004. There were others done as well, which feed into those, but those are the major milestone studies which fed so many families of paid consultants and agency employees.  Yes.  They were paid well.  And in return we received briefings, slideshows, brochures, and piles and piles of paper.  Money goes in, and “solution recommendations” come out.  But no solutions ever get built.  Sure, a few roads have been widened over the years (don’t even ask how long those took to complete).  But they were done well after the urgency demanded it.  So the end result is already insufficient.

It’s easy to blame the consultants and agencies, but… and this might shock some folks… the real blame is the people who live in, and vote in, Virginia Beach.

That’s right. When the non-binding referendum was put in front of Virginia Beach “citizens”, they roundly killed it (54 to 46 percent).  So, who are these citizen/voters?  This is where my digression progression begins…

Virginia Beach consists of a diverse population in many respects.  But a major component of the population are retired folks.  Many are retired military (mostly Navy and Marine), but some are retired vacationers who fell in love with our parking tickets, insane ordinance laws, and inept city council, so they decided to poke their eyes out and buy a condo or house and stay here.  After all, you can’t enjoy the same parking tickets as much when you only visit once a year.

The public meeting held at Princess Anne High School by the VDOT and HRT folks (brown-nosed to death by the city council folks of course) was a real eye-opener.  The audience was 99 percent over the age of 70.  Most of them look as if they rarely drive a car, let alone leave their house/condo.  I doubt if even one percent of them HAVE to drive on the roads during morning or evening rush hours.  I doubt if one percent of them have driven on I-264 or I-64 in the past five years actually.  Yet these are the folks showing up for the meetings and vote.

Every single time the HRT guy said the words “light rail” all their heads started shaking in resentment.  Almost like a slow-motion Parkinson’s tremor, but tempered with anti-depressants.  Ironic, huh.  Yet these are the folks voting on transportation issues which they are not impacted by and will not benefit from except in VERY rare cases. 

So, who’s fault is it then?  Sure, the old farts are being narcissistic and short-sighted, but the working class folks are not speaking up!  They stand around Starbucks, Wal-Mart, McDonald’s and Target and bitch up a storm about how bad traffic is, and how long it takes to get from their house to the kids school, or soccer practice, or the store, or whatever.  In the grand scheme of things, they’re being true Americans of the 21st century:  Bitch like we mean it, but ultimately do NOTHING at all, but sit on our asses and watch Who’s Got Talent.  If you could containerize that bitching, and release it into a turbine generator, our energy problems would be solved.  Imagine that: “Bitch Powered”  Great marketing potential there.

So, I ask anyone and everyone living in Virginia Beach: If you like traffic the way it is, or you don’t drive anywhere, just stay sitting on your ass and eating fat foods and sodas.  Fuck it.  Who cares.  Right?  If you drive and you’re tired of sitting in traffic as your life ticks away (that’s right, sitting still in traffic doing nothing is ticking away precious moments of your LIFE.  As if that matters to anyone), then speak up.  Do something.  Write or email someone.  Light rail, busing (real busing, not this imitation bullshit HRT sells as busing), or whatever, doesn’t matter.  As long as it moves people around safely, efficiently and reliably, I’m happy with that.  But do we need to pay for yet another study in 2010 to simply confirm what the 1980, 1996, 2000, and 2004 and now 2009 studies have all confirmed?

I’m so tired of this backwards-assed mind-draining dumbass bullshit mentality that I might just freak out and smack the next person that says there’s no problem with the status quo of our transportation system.  AhhhhhhH!!!!!!!!!

Here’s my suggested rules for who should be able to vote on transportation issues, regardless of location:

- Must have lived in the area for at least ten (10) years

- Must be gainfully employed, full-time.  Or be a full-time student

- Must not work from home, or do school online exclusively

- Must have a drivers license and own a car or motorcycle

- Must speak, read and write English

- Must have a high school diploma

This might be a good starting point at least.  Anyone listening?

Thursday, September 17, 2009

ASP/PHP: Make a List of U.S. State Abbreviations

I’ll be digging through my old projects to find anything interesting enough to bore you to absolute death (or gouge your own eyes out with a fork in order to stop that burning feeling experienced from looking at shlock like this).  Here’s an example for populating an HTML [select] form object list (aka “listbox” or “drop-down list”, etc.) with 2-character abbreviations for U.S. states.  Enjoy…

PHP version:

function StateCodes($default) {
$delim = ',';
$clist = "AL,AK,AS,AZ,AR,CA,CO,CT,DC,DE,FL,GA,HI,IA,ID,IL,IN,"
. "KS,KY,LA,MA,MD,ME,MI,MN,MO,MS,MT,NC,ND,NE,NH,NJ,NM,NY,"
. "OH,OK,OR,PA,RI,SC,SD,TN,TX,UT,VA,VT,WA,WI,WV,WY";
$tok = strtok($clist, $delim);
while ($tok != false) {
if ($default == $tok) {
echo "\n";
}
else {
echo "\n";
}
$tok = strtok($delim);
}
}


ASP version:



Sub StatesList(default)
Dim lst, x
lst = "AL,AK,AZ,AR,CA,CO,CT,DE,DC,FL," & _
"GA,HI,ID,IL,IN,IA,KS,KY,LA,ME," & _
"MD,MA,MI,MN,MS,MO,MT,NE,NV,NH," & _
"NJ,NM,NY,NC,ND,OH,OK,OR,PA,RI," & _
"SC,SD,TN,TX,UT,VT,VA,WA,WV,WI,WY"
If default = "" Then
Response.Write "" & vbCRLF
End If
For each x in Split(lst, ",")
If Ucase(x) = Ucase(default) Then
Response.Write "" & vbCRLF
Else
Response.Write "" & vbCRLF
End If
Next
End Sub

PHP: Functions For Giving Birth

These are two functions I found in my archives that I had written several years ago and felt like posting.  I’m sure there are others out on the Internet, maybe even better ones.  Who cares.  Here goes…


function ZodiacSign($date){
list($year,$month,$day)=explode("-",$date);
if (($month==1 && $day>20)||($month==2 && $day<20)) {
return "Aquarius";
} else if (($month==2 && $day>18 )||($month==3 && $day<21)) {
return "Pisces";
} else if (($month==3 && $day>20)||($month==4 && $day<21)) {
return "Aries";
} else if (($month==4 && $day>20)||($month==5 && $day<22)) {
return "Taurus";
} else if (($month==5 && $day>21)||($month==6 && $day<22)) {
return "Gemini";
} else if (($month==6 && $day>21)||($month==7 && $day<24)) {
return "Cancer";
} else if (($month==7 && $day>23)||($month==8 && $day<24)) {
return "Leo";
} else if (($month==8 && $day>23)||($month==9 && $day<24)) {
return "Virgo";
} else if (($month==9 && $day>23)||($month==10 && $day<24)) {
return "Libra";
} else if (($month==10 && $day>23)||($month==11 && $day<23)) {
return "Scorpio";
} else if (($month==11 && $day>22)||($month==12 && $day<23)) {
return "Sagittarius";
} else if (($month==12 && $day>22)||($month==1 && $day<21)) {
return "Capricorn";
}
}

function BirthStone($iMonth) {
switch($iMonth) {
case 1:
return "Garnet";
case 2:
return "Amethyst";
case 3:
return "Aquamarine";
case 4:
return "Diamond";
case 5:
return "Emerald";
case 6:
return "Pearl";
case 7:
return "Ruby";
case 8:
return "Peridot";
case 9:
return "Sapphire";
case 10:
return "Opal";
case 11:
return "Topaz";
case 12:
return "Turquoise";
}
}

// examples:
$my_birth_stone = BirthStone(3);

$my_birth_sign = ZodiacSign('1955-03-31');

Wednesday, September 16, 2009

Why Do Programming Languages Die?

4[1] I’ve often wondered why programmers seem to be in a hurry to declare what they’ve spent so much time and effort on as “obsolete”, “passe” and “old” as soon as the next buzzword language pops up.  I liken this to getting a screwdriver and immediately saying “well, I won’t be needing those wrenches anymore.” 

Logic would usually dictate that we add the new to the old, and expand our arsenal of logical tools (and our resumes) to enable us to tackle a broader range of problems.  But we don’t.  We “move on”.

The first programming language I ever touched was COBOL.  That was in my 2 year school, going for my AAS degree.  We spent a few weeks covering “first, second, and third generation” programming languages.  GBASIC, FORTRAN, ADA, C, PASCAL, and everyone’s favorite of favorites: Assembler.  Hold on, I have to close my eyes, take in a deep breath and sigh with a dumb post orgasmic smile for a minute, just a sec…

ok.  I’m back.  Where was I?  Oh yeah…

At the end of that educational stint I became immersed at work in an effort to break free of the shackles of what a west coast programmer had bound us to, which held us back due to region-specific focus issues.  Nice way of saying he was only concerned with making it work for his users out in Oakland.  We had different needs and “he” (they, actually) weren’t listening to us.  So, I got curious and dove into teaching myself AutoCAD R10 and AutoLISP, ADE and DIESEL, etc.  That led me on a long path of programming, and more languages.

What seemed odd to me was that the common view in meetings, classrooms, conferences, and media, is that once the new thing is out, the old has to be left behind.  After all: it’s old.  We treat people like that in America too, but that’s for another discussion.  I learned other languages like VB, VBScript, JavaScript, C++, Java, SQL, KiXtart, and onto XML, HTML, XSLT, CSS, PHP, ASP, VB.NET, ASP.NET, PowerShell, and whatever.  Who really cares.  I never let go of any of them and more often than I ever expected: I was hit with a task that required me to put other hats on and go in to fight the fire.

If you’ve been programming for more than ten years, think back on what languages you have ever used in the past.  Ever used.  Even played with.  What do you miss about them?  Is it syntactical?  Is it structural?  Is it extensibility?  Is it a nuance?  Or does it just remind you of a really crazy drunken party and someone’s underwear hanging from your car antenna?  Most of us feel like we’re always playing keep-up in order to avoid feeling (or being viewed as) “left behind” with respect to our peers.  It’s really a dumb, self-imposed angst.  Vendors keep pumping the hype to sell the next product line, and we go after the bait like trained fish.

Programmers all have their favorite languages, for whatever reason.  But, ask yourself why you no longer use that language.  What specific things led to you leaving it behind?  Would you want to use it again if the situation called for it?  Why?

HRT Speaks: Bites the Hand that Feeds Comments to it

After I submitted my rather tongue-in-cheek comment to them via their feedback form, I actually got a rather interesting response.  This was separate from my previous blog rant about this whole mess.

Good Morning,

 

Thank you for contacting Hampton Roads Transit in regards to the Va. Beach Transit Extension Study.  I am not sure how long you have lived in the area, but in 1996 an Alternatives Analysis/Environmental Impact Statement was begun to look at light rail from Va. Beach Oceanfront to Downtown Norfolk and the Norfolk Naval Station.  In 1999 when the Draft Environmental Impact Statement was completed, the City of Va. Beach decided to hold a non-binding referendum vote for their residents to see if they wanted the city to continue with this study.  55% of the population voted “no” so Va. Beach took the city out of the study.

 

The Final Environmental Impact Statement was completed though in 2000.  Now Norfolk is in the process of building the first light rail system in the State of Va. And Va. Beach is once again looking light rail (an extension of The Tide) to Va. Beach.

 

On our webpage – at the bottom – you will see the study that was completed in 2000.  Also comments from the public meetings we had last week.

 

This Supplemental Draft Environmental Impact Statement is scheduled to be completed in Fall 2010.  Then we will be hold formal public hearings to again receive comments from the public.

 

Please keep watching our webpage for up to date information.  If I can assist with other questions or comments please let me know.

 

Sincerely,

 

Marie Arnt

Public Outreach Coordinator

Hampton Roads Transit

3400 Victoria Blvd.

Hampton, VA 23661

757/222-6000 ext. 6291

marnt@hrtransit.org

www.ridethetide.com

And dutifully, I replied to her reply with the following nonsense…

Thanks Marie.


I've lived here for 45 years. 30 in Hampton, 5 in NN and 10 yrs in VB. I'm aware of all those phases. That was kind of my point. We seem to study things to death but by the time any action is taken, it is based on outdated parameters. Essentially, everything from 1996 to 2009 has been "phase 1".


I would just like to see something actually constructed. Even a ground clearing would be hopeful. I commute daily from VB to downtown Newport News. The only viable option is driving. HRT Max service doesn't go there from Independence (Silver Leaf terminal) so it is useless.


Sorry if I sound angry. I'm not angry at you. I'm just really tired of sitting in stopped traffic every day. It's sucking the life out of me. If a light rail system opens in my lifetime, I will be the first to ride it. But it sounds like it will only get me from Norfolk to the VB oceanfront. Oh well.


I hope you have a nice day. Take care!

Dave



Ultimately, she is right that “Virginia Beach took the city out of the study”.  We have a population of people that love to bitch and complain, but say “no!” to any “solution” offered, no matter what it is.  They just want Zorlog the Wizard to float down on a magic (hybrid-powered) flying carpet, toke from a giant gem-encrusted bong, and wave a crystal-tipped wand … and …. WoooooooossssSSSHHHHHHH!!!!   Traffic flows and never backs up ever ever again. Forever and ever.  Nevermore.  And so on.



If only I had a trillion dollars.

Tuesday, September 15, 2009

How Long is "Phase 1"? How about 20 Years.

You heard right. I promised to follow up on my previous mention of the HRT/Virginia Beach/VDOT meeting on "alternative assessment" studies for continuing the Norfolk Tide light rail into Virginia Beach. If you can't sleep, here's the link.

The "alternatives" described are/were: Dedicated bus lanes. Light Rail. Additional Regular (e.g. "crappy") Bus and Shuttle services and staring into a mirror and beating off (while holding a colorful HRT brochure, of course). There would probably be a special tax applied to sploogery and subsequent cleaning up.

The speaker went into painful politi-speak on the mundane procedural processes (yes, I know I just hit you with a double-redundancy.... again), and where "we" were in that impressive workflow flow chart they showed. Oh, and I should mention that they did not get the memo on avoiding excessive use of Microsoft Powerpoint. So, they laid out like 8 steps, and reiterated repeatedly (another intentional redundancy. Are you paying attention?) that "we" were (are) at step 1. Followed by an awkward silly giggle. I almost busted out in hysterical laughter. How obvious.

THEN...

He delved into some background on this whole shindig. Mentioning previous studies done in 1996, 1998, 2000, and 2004. All of course paid for by Federal DOT tax funds and paid to overly exhuberant consultants, who studied and analyzed and studied and analyzed, and then studied the analysis. Then they analyzed the studies. And guess what? They determined we needed some enhancements to our transportation system. That resulted in an "assessment" of the need to identify "alternatives". That led to the current step: "alternative assessment studies".

So, essentially, 1996 to 2009 is all part of "phase 1".

Doesn't that make you feel good? And you thought they wasted your tax money. You silly idiot.

We don't need Welfare. We have Federal funding programs and armies of cheap suit-wearing consultants who now how to speak MBA and rattle off acronyms and codes and statutes and policies and, well, whatever.

At this rate, considering "phase 2" may take at least several years (if not longer - if it is ever completed), getting to step 8 (construction and ongoing management) will be like 2020 or 2025 at the earliest. That gives Al Qeada plenty of time to work on their plans to hit us anywhere along any of the plethora (I love that word) of choke points strewn throughout our incapable transportation "system". The good news is that just by our knowing of this potential weakness, we give rise to security and infrastructure consultants, who will no doubt file for additional Federally-funded studies on what to do about this. Maybe I should have just taken the HRT brochures and beat off in front of the Powerpoint demo. That would have at least provided more entertainment than Mr. Monotone blabbering on about "Federal policy XYZ.1234.45166.ABC".

Monday, September 14, 2009

Translating Programmer Comments into MBA-speak

"The problem was with the ___ and had to be updated to suit ___"

Translation: The programmer screwed up.  Repeated use of third-person, inanimate narrative comments is usually an evasion tactic.  Never trust them.

"The new system supports ___ and ___"

Translation: We want to go to the training conference for the new system/product out in Vegas, to get some lap dances and gambling out of our system and bring back enough swag to fool you into thinking it was all about the training.

"There was a glitch in the ___, but now it's fine."

Translation: I fucked up and covered my tracks before telling you it was now fixed.

"We can get a discount/deal on ___ if we ___"

Translation: The vendor just blew me and I've drunk the Kool-Aid. He/She and I are now buddies.

"The ___ needs to be recoded to make it more ___"

Translation: I fucked the code up so badly that even I cannot make sense of it anymore.

We should [never/always] develop our own programs.”

Translation: I never went to school.  I read about technology in the back of a Hustler magazine on the page that weren’t stuck together.

“We had a problem with the backups for that night and couldn’t get a restore for that file you wanted”

Translation:  I was out drinking with the guys and forgot to put a tape in the backup rig.  Or I was busy in the bathroom stall looking at porn sites on the iPhone and forgot to run the backup that night.  Take your pick.

“I don’t think we can save your setup.  We’ll have to slick and reload your computer”

Translation: We have no idea whatsoever what we’re doing, and don’t have a clue as to how to solve this problem without looking like a pack of oafish idiot bastards wandering aimlessly in a cow pasture at 1:00 am.

We should replace all our Windows servers with OSX Server and switch everyone to Macs.  Our law firm would kick ass, sir.”

Translation:  Not only have I never sat in a CS class.  I don’t know what CS stands for.  I can’t even spell CS.  In fact, I don’t know what spelling is.  I’m a complete idiot dumbass bastard with a fork in one eye and a jar of vaseline in the other.  My other job is licking restroom floors at the bus station.

“There’s no way to make your Macbook talk to our Windows network.  You’ll have to get a [Dell/HP/Toshiba/Sony/whatever], sir.”

Translation: I’m so ridiculously and helplessly stupid, you should lace up some ice climbing boots and kick me in the face about 450 times, or until you hear a fat lady singing.  Afterwards, sprinkle meat tenderizer on my remains and toss me into the tiger den at the zoo.

Watering the Iron Lawn?

So I stepped into what I discovered was a sink-hole in my front yard.  Right next to the water meter access lid.  Apparently, after five days of torrential rainfall, this was a common result, as I learned from talking to the Public Utilities folks of our city.  They said they would send someone right over, which they did.  When I got home from work today, I drove up to find the results of their work.  They dug up the meter and installed a new one and filled in the area around it with dirt and tossed the usual Grade “D” grass seed all over the spot.  I got a chuckle out of this and had to snap a photo.  I swear, this is exactly as they left it.  Nothing has been touched after they “touched” it.

Stuff 127

Saturday, September 12, 2009

Cutting the Edge

Over the past week:

- Google Chrome 4.0.203.2
- Google Earth 5.1
- TweetDeck 0.30.1
- UberTwitter 0.9x Beta 4
- Facebook 1.6 Mobile (for the wife, not me)
- TextPad 5.3.1
- iTunes 9

drip drip drip drip drip...

As the Operating Systems turn...

The operating systems I've actually worked or played on, not just logged on and poked around, in chronological order:
  1. IBM OS360 / OS/MVT (school*)
  2. CV4X (bundled with Computervision CADDS 4X) (work)
  3. Intergraph CLIX (VDS, EMS, PDU/PDM) (work)
  4. DOS 3.0 (work)
  5. DOS 4.22 (work)
  6. DOS 5 (work)
  7. DOS 6.0 (work)
  8. DOS 6.1 (work)
  9. DOS 6.2 (work/home)
  10. DOS 6.22 (work/home)
  11. Windows 3.1 (home)
  12. Windows 3.11 "WFWG" (work)
  13. Novell Netware 3.12 (work)
  14. Novell Netware 4.1 (work)
  15. Sun OS (college CS lab)
  16. Sun Solaris 2 (college CS lab)
  17. Mac OS 7 (college math lab)
  18. Mac OS 8 (college math lab)
  19. Mac OS 8.5 (college math lab)
  20. Mac OS 9 (friend's computer)
  21. Mac "Rhapsody" (college beta trial prior to OSX)
  22. IBM OS/2 Warp 3 (home, I still miss it)
  23. Windows 95 (college English lab)
  24. Windows NT 3.51 (work)
  25. Windows 98 (work)
  26. Windows NT 4.0 (work)
  27. Windows 2000 Pro/Server (work)
  28. Windows XP Pro (work/home)
  29. Windows Server 2003 (work/home)
  30. Mac OSX 10.1, 10.4 (apple store, many many many visits)
  31. RedHat Linux 6, 7, 8 (work)
  32. Suse Linux 8, 9 (work)
  33. Windows Vista (work/home)
  34. Windows Server 2008 (work/home)
  35. Ubuntu Linux 5.04, 5.10, 6.04, 6.10, 7.04, 7.10, 8.04, 8.10, 9.04 (home)
  36. Windows 7 (home)
Of all of these, I have several I still like, but Windows 7 is my all-time favorite. It finally just "works" and "feels right" for me. I love it.

The asterisk (*) was a weird story. In the 5th grade, NASA (located nearby) came to our school and asked for four kids to be bused over to a training classroom to do a study on how kids work with computers. They had us program dot-matrix picture print-outs of Pink Panther, Fred Flintstone, George Jetson and the Road Runner. All to see how well we followed instructions to enter simple programming code to print "x" chars to make the pictures. We were bused over one day per week for about two months.

6 Things You May Not Know (but now you do)

In the spirit of an old blog post by one of my favorite tech folks: Don Hite, I decided to add my 1.2 cents onto it.

1. The US imports more oil from Canada than from any other nation on Earth.  Middle East countries come in at 4th on the list for quantity of oil imported.  (source: US. EIA)

2. The Apple iPhone is NOT the dominant Smartphone.  As of Q2, CY 2009, RIM (Blackberry) owns 50 percent of the US smartphone market, while Nokia owns 44 percent of the worldwide smartphone market.  The Apple iPhone owns 23 percent of the US market, and 13 percent of the worldwide market. (source: InformationWeek)

3. The world’s fastest computer is not a Mac or a PC - it runs Linux. The IBM Sequoia supercomputer is the world’s fastest computer as of Feb 2009, logging some 20 petaflops per second of processing power.  (source: IBM press release)

4. Officially, viruses are not yet known to be living or non-living.  A virus is technically somewhere in between.  Some scientists consider them “alive” while others do not.  (source: MIT / Whitehead Institute)

5. On average, more than 50,000 people die from Influenza in the U.S. annually.  Influenza is listed as the 8th leading cause of death in the United States.  Based on 2006 data (the latest available), the official death count was 56,326.  Heart disease is the number 1 cause of U.S. deaths at 631,636, followed by Cancer, Stroke, chronic lower respiratory disease, Accidents, Diabetes and Alzheimer’s.  So H1N1 is really not that significant at this point. (source: CDC)

6. For every fatal suicide, there are 12 to 25 failed attempts.  Think you’re going to make that jump?  You’re more likely to survive it, maimed and crippled, than to succeed.  Sorry dude.  (source: NIMH / NIH government statistics)

Friday, September 11, 2009

Software is Squishy

Charles Babbage had the right idea. Unfortunately, most computer technology professionals don't have a clue what he intended. The idea behind "software" was "soft" (pliable, flexible, malleable) and "ware" (tool, construct, device). The uncoupling or de-coupling of hardware and the instruction or controlling mechanism. The goal being to make the overall system or combination of the two greater than the sum of either alone. Greater because the software component would by nature be adaptable and extensible, allowing the the hardware to be exploited over a longer functional lifespan than if hard-coded as a monolithic contraption.

The problem is IT professionals bitch all the time about hotfixes, upgrades and so on. Bitch bitch bitch bitch bitch. SHUT UP! It's what software was meant to do. It was conceived, concocted and designed to be adaptable. Add to that the fact that it is written by humans. Yes, as shocking as that is to hear, it is true. It doesn't grow in fields under the sun and get harvested by migrant workers who are paid 10 cents a week and live in shacks next to buckets they crap in.

It is written by obnoxious, prima donna kids who can't drive, have more friends on MySpace, Facebook, Twitter, and FriendFeed than in real (physical) life. They live on energy drinks, sugary foods and sushi and know the word "exercise" as a term for practicing a procedure at work or as a classroom assignment. They work for managers who don't know the difference between PHP and C#, and think Ruby on Rails is someone named Ruby riding the train. The result is going to have defects, shortcomings, bugs, glitches, quirks and "features", all of which will require the occassional update/hotfix/patch/service pack and upgrade. Get used to it. Stop bitching. STFU. Thank you. Be glad you don't dig ditches or do any "real" work for that pay check.

Waxing Nostalgic About Distorted Memory

I was explaining ex-patriation to my son the other day. I commented about how their textbooks paint the picture like those ancestors just got an urge to uproot and go find Disneyland, or "find themselves". Always the contemporary rationalized view of historic rationale.

But the reality was that those places sucked ass back then. Plague, famine, drought, serfdom, indentured servitude, heavy taxation, repression, religious persecution, etc. They were escaping, not exploring. I don't wax nostalgic about that situation at all. I figure that if we could ask them, "hey, want to go back?" They'd say "fuck off!" in their native language or dialect.

Why we still look back on it with wonder is very confusing to me. They hated their surroundings so bad that they risked everything to make a long (very long) trip to a place they only heard about. No brochures, web sites or Travel Channel exposes. Emphasis on "hate". They hated the fuck out of it. That's why they left. Think about what it takes to make you want to move. Not just thinking about moving, or considering a move, but actually moving. And I'm not talking to another neighborhood, another city or even another state. I'm talking about moving to another country. Now, add to that notion not having any real perception of the new land. No pictures, videos, nothing. Just stories from other people about it. Now, pack your stuff and get on a steamer and sail for six months to this new place. Still sound nostalgic? I didn't think so.

We need to keep that in the back of our heads whenever the subject comes up.

Cheapening The Cheapness

Nature Valley "Chewy" Trail Mix bars are one of my staple foods. Probably my only staple food actually. But the Recession is creeping into even these trivial little things. The box is half the size it was in 2007. The bars themselves are noticably smaller too.

But now, they're using more high fructose corn syrup (HFCS) than Honey. But because the point of the honey was both as a sweetener and a binding matrix, they have to use enough shitty HFCS to match the viscosity of honey as a binding, but honey is much less sweet than sucrose, dextrose or fructose (including HFCS). So the bars are now too sweet and the sweet flavor is like table sugar instead of honey. They suck!

Dear Nature Valley: keep the product original and just raise the price or drop the box count. Its worse to ruin a good product than ruin the packaging. You lost a faithful customer.

Blog Stats: Up 7,633 percent?

Wow! My blog has been doing pretty well, considering how lame it really is. But this is just mindblowing. I check my Google Analytics stats every other week or so, and today when I checked I almost choked on my drink...

For those of you with so little to do that you actually take the time to read my stupid drivel: thank you!

Thursday, September 10, 2009

iTunes 9.... That's It?! RIP

I can't believe they dragged Little Stevie Jobs from his dialysis den to make an appearance on stage to announce.... iTunes 9?! And an incremental update for iPhone and iPods? That's it?!?!! WTF?! For that much effort, why couldn't they drum up something even marginally more exciting? Maybe deliver one of those vaporware rumored pieces of crap that get hyped before every upcoming event: Tablets, HD iPods, new home media devices, an iTunes that automatically makes playlists (wow! whooda thunk it!?)

I'm over it. I'm so sick of the free pass Apple gets from the loyal goons that drank that iKoolAid. Same goes for Google. These are tough times. They ALL have to prove their worth all over again. Laurels are so passe. Even Microsoft gets that. Of all people. Even Dell? Wow. What planet is this?

I've been poking around iTunes 9 to see what's new. OMFG talk about lame. Same lame ass codebase, which isn't Windows compliant ("compatible": yes. "compliant": no). And for you Apple nutsacklickers: Since iTunes is installed on WAYTHEFUCK more Windows boxes than Mac boxes, there's no excuse on Earth for Apple to treat it like a Somali heroin addict laying in a Mogadishu saloon gutter. Hmm... I have an idea. Why doesn't Microsoft take a page from the Apple-vs-Palm playbook and make it so iTunes won't work on Windows? I would LOVE IT. The problem is, Apple can do that and everyone starts beating off with a gym sock, but if Microsoft did that, the DOJ, FBI, SEC, EU and Chinese embassy would send ninjas to deliver subpoenas within seconds.

Catching Up

I've been unplugged in most respects for a few days, so it's nice to get caught up a bit.

It's been raining felines and canines for days now and I'm ready for some sunshine and heat to make a comeback. My bike riding regimen has been on hold since last weekend, which is making me antsy and cranky.

I've been running Google Chrome version 4.0.203.2 for a few days and so far I'm very impressed. The speed is just incredible. The features are starting to mature, but at a comfortable pace. Not as flashy as Safari 4, but more stable and less claustrophobic.

Work has been busy and varied. Bouncing between Wise scripting, VBscript, ASP (a flavor thereof) and SQL expression coding. Toss in a pinch of Javascript, XML, CSS and DOM and about 3 cups of crappy coffee per 8 hours, 2 cups of water, and 3 trail mix bars, blend on high speed until puree and ta-da!

I'm synching my iPod up to get my podcasts: Adam Carolla, Car Cast, No Agenda, Tech 5, Cranky Geeks, and Windows Weekly. Those keep me entertained and informed during my daily commute to and from work. Speaking of which, today's commute took 1 hour 50 minutes to get home. Our transit "system" here is bullshit. Pure bullshit. Oh...

Yesterday, I ran over to Princess Anne High School to sit in on a HRT/HDR/Virginia Beach "transit extension alternative assessment meeting". It was bullshit. Lots of posturing, blabbering and handshaking with ZERO action promised. I might blog about that if I feel up to it.

Tuesday, September 8, 2009

Driver Exam Question

Scenario: You are driving in the right lane of a two lane highway. There are four cars traveling in the left lane. You are adjacent to the last of the four cars. All five cars are traveling at the same speed. You desire to change lanes. There are no left-hand turns or exits coming up. Which do you choose:

A) Speed up and cut in front of the fourth car in the left lane.

B) Slow down and merge in behind the fourth car in the left lane.

If you answered (A), you are an asswipe. You deserve to lick the nut sack of a pig wallowing in the mud of a deserted war-torn village. If you answered (B) you are ok.

Monday, September 7, 2009

Sale Folks: Try to Avoid Killing Your Customers

Guy Kawasaki published a rather handy list of 5 things to avoid when giving a software product presentation to potential customers. It's a good list for sure. But there are other things I would add to make it a bit more bulletproof.

6. Know your product

Nothing is worse than watching a vendor squirm when asked about product specifics. "ummm...", "uhhhhh..." Buzzkill. If you don't know your product, then you don't believe in it.

7. Know the bugs in your product (and work around them)

If you appear surprised by a problem, it screams out loud that you didn't prepare or don't know your product well enough. Most software products have "known issues", if not by the public, almost always by the vendor.

8. Know your competition

Customers are almost always going to throw a question at you about whether your product can what the other vendor product can do. Know the answer beforehand.

9. Know the market pricing

You cannot pitch "value" without having the sum of features/pricing. If you can't do that math for your own product, you've got some work to do. If you can't do that math against your competition: you're doomed.

10. Avoid Powerpoint

Need I say more?

America, the Beautiful. God Shed his Waste on Thee

car_photo_277092_7 I’m really surprised nobody feels as strongly about this as I do.  Really.  Every day on my commute to and from work, driving around town, and so on, I see people toss trash from their car.  Wrappers.  Bottles.  Cigarette butts.  Cups.  You name it.

If I was president/prime-minister/king/emperor for a day, the first law I would pass would be immediate death penalty for anyone harming or exploiting a child.  The second law I would pass is a $1,000 fine and 7 days in jail for littering, that would be “per discarded object” not per incident, by the way.  The third law, by the way, would be public lashing for anyone on food stamps who also smokes, but that’s for another article.

What’s most ironic is the large percentage of offending motorists who also take the time to affix a bumper sticker on their vehicle proclaiming how proud they are to be “American”.  So proud, in fact, that they can barely hold back their desire to express their pride by expelling shit from their vehicles any chance they get.  Even more ironic is how many folks hang a flag from their rear-view mirror for whatever country their ancestry hails from.  If it is so great, why did your ancestors make the trip over here?  Face it, your origins suck.

Here’s a shocker for you:  Cigarette butts take months to decompose in open weather and sunlight.  Months.  Maybe the spattering of them behind your workplace smoking area hasn’t registered in your brain yet, but you might have noticed that if you don’t pick them up, they tend to stick around almost a year (or longer in many cases).  They are not classified as “bio-degradable” folks.  They never have been.

Beer and soda cans.  Plastic bottles.  Fast food containers and plastic wrappers.  Styrofoam cups and plastic lids.  Empty cigarette boxes and packs.  These all will outlive you and I.  Not to mention how ugly they look laying around everywhere.  They blow in the wind and end up in parks, rivers, lakes, and our front yards.

If you even remotely “like” this piece of land we stole from the Indians, then you should pay it homage by putting your trash in something appropriate.  Don’t toss it indiscriminately.  From all of us, and your children’s children: Thank you!

Sunday, September 6, 2009

Ran-dumb Thawtz About Nu-theeng

So, it's Labor Day. The federalized holiday wherein none of us American worker types are supposed to be working. At least not the federal/state/municipal folks. I have nothing going on. The beach is packed to death with tourists. Some 100,000 have flooded, according some news reports, to see oceanfront entertainment. I rode my bike down to the boardwalk yesterday and saw it firsthand. Nothing unusual to report. Tourists are tourists, or terrorists actually.

I noticed that this time however, there was a much larger percentage of foreign tourists than American. I also noticed that the best way to tell them apart is to watch if they use a trash can to dispose of their trash. If they do, they're not American. Americans typically toss their trash on the ground and keep walking, or out the window of their SUV's and trucks as they drive through the red lights. Nothing says "I love America" like a beer can and a burning cigarette butt flying out the window of an SUV.

The music acts are varied this year. Heart. The Romantics. Basically, 80's pop, with some R&B and country, depending upon which day, time slot and which stage (one of five I think). The boardwalk is a mess since they closed the walking path for the tour buses and force the fat slob pedestrians to walk on the bike path, where they collide with bikes. No car shows or anything otherwise interesting to look at besides huge, pasty-white people busting out of too-small clothing. The temperature all weekend has been really nice. A few weeks back we were sweltering in 90's and high humidity, but now it's in low 80's and moderate humidity with plenty of sunshine and a light breeze.

I'm bored.

Google Inconsistencies Drive me Nuts

images Google has always shown great potential, but they get a pass from the public far too easily.  They aren’t as cohesive and efficient as a lot of people would have us believe.  I’m a software developer by nature, even though I’ve worked in many other capacities within the IT world.  So I take software application quality seriously and feel everyone else should also.  But I guess I’m alone.  It really bothers me how companies the size of Google get away with quirky, inconsistent crap and the public gobbles it up as lobster and prime rib.

For example:

  1. Features are not consistently implemented across their supposed “suite” of services.  Themes are only available in some services like Gmail and Blogger, but not with Picasa or Calendar.
  2. Google Analytics is not pervasive.  You can’t insert GA code into Picasa web albums for example.
  3. The breadcrumb menu links are not consistent.  Sometimes you get links for Notes and Sites and sometimes you don’t.
  4. Googe Docs doesn’t allow many common file types to be uploaded because it wants to parse them into a database schema for storing and parsing.  It’s also very inconsistent with respect to file size limitations.  Just click the “Upload” link and read the “Types of files that you can upload” information.
  5. Compare what “settings” are available with YouTube, Docs, Calendar, Gmail, Sites, Picasa, and Notes.  Only about 25 percent of them are even consistently available across those services, but even then, they’re not consistently implemented.

Some glaring omissions, “holes” in my opinion, in their offerings include the following services:

  1. No group-oriented features for things like shared calendars, documents, and so on. You either have to share a single user account, or constantly “invite” others to view content.  A group calendar would be nice.
  2. Nothing to compete with SkyDrive?  Really?!
  3. Nothing to compete with Twitter? Really?!
  4. Nothing to compete with Craig’s List?  Really?!

They compete with PayPal and Facebook, technically.  But those offerings (Google Checkout, and Orkut, respectively) suck shit.  They are horrible.  They are Apple’s Lisa and Newton, and Microsoft’s Bob and Vista.  Again, they seem to get a pass, as if they have the Midas touch.

I’m just amazed at what gets the stamp of approval from the public as being “quality”.  It’s 2009 folks - wake the fuck up.  Why are we settling for shoddy crap and calling it “innovative”?  This sort of ad hoc assemblage is something we expected back in the 1980’s and early 1990’s.  I can’t believe it’s 2009 and we’re still ok with that sort of output from a company of that size.  I suppose we really haven’t progressed very far after all.  Oh well.