11111111111111111111111111111111111111111111111111111111111111+1

joojoo redux

The Grid10 tablet has been delayed for a few weeks. In the mean time Microsoft has released its developer’s preview of Windows 8. Since I’ve not been thrilled with the joojoo’s original OS, Ubuntu, Jolicloud, or Window 7 on the joojoo I decided to try out Windows 8.

In a word: Nirvana. Continue reading →

Free Your Mindset

The iPad is 2 years ahead of the competition and seems to be holding that lead. Eventually the market will mature and I won’t care about the remaining little differences, but at the moment the 2-year gulf is huge.

I’m a fairly new Apple hater, due mostly to their anti open source stance, which I find quite ironic given OSX’s open source roots. I used to be an Apple fan before before they became dominant and started tightening their ecosystem, becoming more like a Walmart in their business practices. I’m resolutely not getting an iPad and despairing at my remaining options. I have a cheap 7″ Android 1.6 device and a joojoo which is browser-only device with a custom skin over Ubuntu. I had high hopes for the joojoo but there were too many issues for it compete with the iPad, let alone being a good mass market product. Continue reading →

Circles

I’m loving Google+, admittedly in part because it isn’t Facebook, but also for its simple structure and usefulness with underlying power and great design. I particularly like the idea of circles, where you can group friends and coworkers separately, which is something Facebook has resolutely dissed.

Continue reading →

Inception Alarm Clock

I hate the jarring wakeful state that alarm clocks produce. I find it so painful that I put myself into a lighter sleep in the hour or so before the alarm goes off, and often wake myself up from 15 to 5 minutes the alarm hits. This isn’t good for me as I don’t get as good a deep sleep as I need. On the other hand, on the rare occasion that I set an alarm for only a few hours of sleep and I don’t naturally come out of a deep sleep before the alarm fires off, I absolutely need that full alarm kick to get me up. What I want is something that can gently tell me the alarm will be going off soon so I can be in a deep sleep up ’till that point and come to the surface or fully wake myself on my own terms, or if that fails I need to receive the full alarm blast. The movie Inception seems to offer a good template.

Continue reading →

H-1B Visa Reform

I believe as a nation we are much stronger with substantial immigration. Those who have the drive and initiative to move to a new country typically have a strong work ethic and help make this nation become stronger as a whole, and their children typically maintain that ethic and drive.

H-1B Visas are different. Continue reading →

Printing Labels with HTML and CSS

I used to print about 75k-100k sheets per year, and I’m down to 10k-15k as everything becomes web based. I expect print volumes to continue to drop, eventually leveling off at about 2k. Some things need to be physical and will always need to be printed, and in my case the most critical one is labels.
Continue reading →

Better Model for Saved Credit Card Info

Many smaller sites don’t store your credit card number, re-directing you to a payment processing site or to Paypal. But the big companies like Amazon thrive on being able to charge you with a single click, and would wilt if they always had to make the customer type in a huge number, a date, an extra security code, a name, an address, etc. So the little guy poses less of a risk for credit card theft but a breach at a big company – say Sony – is a risk. Isn’t there a better way?
Continue reading →

Persistent Intrusion and Locally Salted/Hashed Passwords

Sony’s recent break-in is a big deal. Not just because their tables were snarfed, but because apparently they don’t hash passwords (and they store credit card numbers and expiration dates too, plus security questions and answers – but thats a gripe for another day). The password theft isn’t a catastrophe if your password is unique to Sony’s Play Station network, but it is if you’ve used that same password across the internet – on Facebook, Amazon, your bank, etc – and unfortunately many people still do this.

So, what if Sony had done it right and stored a salted hash instead of a recoverable password (either plain text or reversible encryption)? The bad guys would have names and email address, but that’s it.  No exposed passwords. Problem solved. Or is it?
Continue reading →

Oracle sequence repair after promotion

I want to start putting up snippets on occasion, often so I can find the code myself, but also for the world. So here’s the first in the series.

Promotion of databases isn’t a big deal when overwriting the whole thing, except for the permission specifics and a few other details. Unfortunately promotion is usually piecemeal. Going from development to production, refreshing portions of a development environment, or providing a major update to a client site involves a tangled one-time SQL script. One complication is that bulk loading often ignores sequences, leaving the Oracle sequence values out of date.
Continue reading →

Regular Expressions Suck

All I want is a simple mask for valid JavaScript numbers. I expect a bit of complexity in handling exponents, Hex and the Octal formats all in one, but I wasn’t expecting something this cryptic. I like code that you can simply read, whereas this monstrosity requires a full page of explanation.

/^[+-]?(0[0-7]+|0x[\da-f]+|((0|[1-9]\d*|0\d*[89]\d*)(\.\d*)?|\.\d+)(e[+-]?\d+)?)$/i

Blah!

EDIT: Thanks to Andrea its much improved.
Here’s what I think the regex should look like:

^ [+-]? (
     // Octal
     0[0-7]+ |
     // Hex
     0x[\da-f]+ | 
     (
          // Basics: 0, 0., 0.ddd, ddd, ddd. ddd.ddd
          (0 | [1-9]\d*) (\.\d*)? |
          // Special: decimal parsing of Octal format
          0\d*[89]\d* |
          // Starting with decimal .nnn
          \.\d+
     )
     // Exponent. Not for Octal or Hex
     (e[+-]?\d+)?
) $

It would compile down to the same thing but be much more readable.