MacBook, defective by design banner

Put the knife down and take a green herb, dude.

One feller's views on the state of everyday computer science & its application (and now, OTHER STUFF) who isn't rich enough to shell out for

FOR ENTERTAINMENT PURPOSES ONLY!!! Back-up your data and always wear white.
URLs I want to remember:
* Atari 2600 programming on your Mac
* joel on software (tip pt)
* Professional links: resume, github, paltry StackOverflow * Regular Expression Introduction (copy)
* The hex editor whose name I forget
* JSONLint to pretty-ify JSON
* Using CommonDialog in VB 6 * Free zip utils
* that hardware vendor review site I forget about is here * Javascript 1.5 ref
* Read the bits about the zone * Find column in sql server db by name
* Giant ASCII Textifier in Stick Figures (in Ivrit) * Quick intro to Javascript
* Don't [over-]sweat "micro-optimization" * Parsing str's in VB6
* .ToString("yyyy-MM-dd HH:mm:ss.fff", CultureInfo.InvariantCulture); (src)
email if ya gotta, RSS if ya wanna RSS, ¢ if you're keypadless
Wednesday, November 19, 2014

Listened to Justin Williams on Release Notes ( talking about why he closed up Glassboard, and it was interesting enough I started looking at his blog, Carpe Aqua. Found a link to Ariel Michaeli (though the href was busted and you had to hack a trivial amount), who linked to Mark Suster, who said...
> [Your investors] are not rooting for you to fail – please don't
> misunderstand me on that. They would prefer you always move
> up-and-to-the-right. I'm just saying that great progress with no
> revenue and you needing more money isn't always at odds with a VC's
> interest. Sorry to give away the game.

So that's clever. Having finally worked in a startup for about two years, that quote sounds awfully accurate. The point of Suster's piece is to slow down the bleeding, and, in a sort of Moneyball-ian "don't get outs" fashion, suggests that you need to keep your company alive, because it's in being alive that allows it to find good fits. The slower you burn money, the more chances you have to find your fit.

Actually, that's *exactly* the Billy Beane Moneyball angle. Playing defense and being fast is great, but what matters is runs. And what makes runs is continuing an inning. And what continues an inning is not getting outs. That's what you organize your team around.

Here, Suster's idea is to keep the inning going by making, well, income, duh. The more you depend on outside investment to create "runway", the more of your company's soul you're going to have to sell. As long as the growth can be turned into profit -- the way so many assume Amazon can at any moment, just at a much larger scale than your startup -- they're happy to keep banking what was your equity until you (plural, this time) flip the switch.

If you'd balance growth with income, you stopping hitting into triple plays. (Here's where the metaphor breaks down, of course. There's no way to sell part of your team to get more innings in baseball...)

Money is an interesting tool, and incentivizes fascinating behaviors, not all of which are exceptionally admirable.

posted by ruffin at 11/19/2014 12:28:00 PM
Monday, November 17, 2014
> Estimate your plan
> Pricing for GitHub Enterprise starts at $5,000 per 20-user seat pack
> per year, which includes maintenance, upgrades, and technical support
> at no extra cost. The calculator below can help you estimate your
> annual costs for a license.

I'm not sure I understand the appeal of "GitHub Enterprise". Rather, I'm not sure that those who are considering some "enterprise" flavor of git get git.

I mean, the biggest selling point of git is that it's essentially solved the issue of distributed development. There's no reason to pay for phat, centralized management. If you have some strange cesspool of three developers who go off on their own for a year and then check all their stuff back in, git will handle it. You might have to diff conflicts forever and a day, but as wacky a checkin structure as you have is fine by git. If you have thousands of folks checking into the same branch beyond nightly integration, well, you're doing it wrong. Any worst case of forked development isn't a technical issue, it's simply a reintegration headache, regardless of the power of your repo "server".

I mean, you can put git repos everywhere. You don't need one repo to rule them all. It's like a starfish that loses an arm (and *poof*, you've got two Patricks). Everyone's up-to-date workstation has the potential to rebuild your codebase's history in its entirety. Why do you need "maintenance, upgrades, and technical support", at least on the code management side?

Has anyone ever really had unrecoverable trouble when they collaborated over a network drive ( Has any team who checked in daily really ever lost significant amounts of code due to git's infrastructure? Gosh, I can't imagine so. If you've got it three or more places, you already have a "living RAID".

Obviously what they're selling is the active directory integration, bug tracking, and perhaps some code review overhead, but if you get your coders used to using git, I swear code management is self-regulating. Budget accordingly. ;^)

posted by ruffin at 11/17/2014 01:06:00 PM
Sunday, November 16, 2014

I've had my ThinkPad T430 for just over a year and a half now, and I'm to the point that I can't use another laptop without reaching for this danged button a few times an hour. I'm not absolutely sure why I find it so useful -- I think I mainly use it when I'm honestly "laptopping", that is, when it's in my lap. It takes a lot less real estate to use it than the trackpad. But I suppose it's also more efficiently for small mouse adjustments, or, I've noticed, particularly when my "trackpad hand" (right) is "returning" and I want to move the cursor to the right. Strange the habits I pick up.

In any event, I didn't think I'd use it at all when I bought the laptop, and hoped it wouldn't be a nuisance. Now, I guess I'm addicted.

Labels: ,

posted by ruffin at 11/16/2014 12:47:00 PM
Friday, November 14, 2014

Say something quickly.

Say something that can take much longer to explain here than something quickly explained.

Yo yo yo, I'm a parameter.

Get-Exampleige -myParam1 AwesomeVal


posted by ruffin at 11/14/2014 02:38:00 PM
Thursday, November 13, 2014

I admit it. I use SeaMonkey Composer, a tool whose look and feel is straight from the late 90s, to create specific kinds of webpages. Now look, it's almost always webpages where I'm keeping notes for myself to read later, not webpages to publish anywhere (though I guess I did use it to create the skeleton for my syllabi when I was teaching during grad school). And I use html because I know, better than any other file format, how to make it do what I want without much hassle. That is, it's easier for me to format a web page than it is to do the same thing in, say, Word. Given my work experience, not only does that make sense, you've kinda got to hope html familiarity would be the case.

Anyhow, what I've always liked about Composer most is that it gives you nice, clean, unoffensive html -- for the most part[1] -- and does so a bit better than Blue Griffon, which grew out of its codebase. (NVu wasn't bad, but it and Kompozer didn't last long at all.) You can easily take the "frame" html Composer gives you and give it a little custom markup to have a clear, well-formatted page. And it's not destructive when you type something into the source itself, which is wonderful. You can do that on the source pane or, even better, highlight a WYSIWYG chunk, hit alt-I-H, and knock yourself out.

But recently (?), I've noticed that it really, really dislikes understanding code as monolithicly (sp?) formatted blocks, and wants to apply tags in a much too atomic fashion. Here's an example where I Ctrl-T'd a block of text that I wanted to display in a monospace font:

<tt>The following example can be used to assign the “MyTag” tag to all virtual machines whose name contains</tt><tt><br></tt><tt>the “myvm” wildcard pattern.</tt><tt><br></tt>

Really, Composer? You have separate <tt> tags not only for each line of text, but for each line break? Are you crazy insane? Really wish it'd be a bit smarter about blocking text. Too bad it's not written in C#; I'm not sure I'm ready to learn C and this codebase just to patch a SeaMonkey Composer bug. ;^)

[1] Clean html except for that stupid line insertion bug (first reported in 2001? Can that be right?), but that's another story for another day.


posted by ruffin at 11/13/2014 09:38:00 AM
Sunday, November 09, 2014

The HTC 8XT is essentially an HTC 8X (AT&T, Verizon, T-Mobile) changed just enough to work on Sprint's network (and, in my case, Ting's).

So I figured I'd grab a Speck case for the 8X, apparently the much more popular model, while they were on sale to use on my 8XT.

Whoa. Not so fast, my friend.

It turns out there are three distinct ways that the 8XT is physically different from the 8X, and two of those are pretty important when trying to use an 8XT with the 8X case.
  1. The USB port has moved from the bottom center on the 8X to the bottom side on the 8XT.
  2. The camera flash has moved from the side of the camera lense on the 8X to under the camera lens on the 8XT.
  3. The 8X's rear-facing speaker grill is gone (I'm assuming that's what it is).
I annotated this picture from Engadget's comparison of the two HTC 8s.

The Speck case for the 8X fits perfectly on the 8XT otherwise.[1] The power, camera, and volume buttons align exactly. But the charging port is inaccessible, which is, obviously, an absolute dealbreaker -- especially for me, as I managed to crack my phone's face in the Great Desk Drop of 2014, and it shatters a little more with each insertion/extraction from the case. I'm not, and I can't see anyone, removing and replacing this into the case with each charge.

It was easy enough to "fix" the USB port issue with a Dremel, though the modification is perhaps not as clean looking as some might prefer for their case. He's what my amateur Dremeling got me:

Note, however, that I've left the flash obstructed. I guess I could Dremel that (poorly) as well, but I rarely use flash photography; too stark a look, and I'm often in places that don't allow flashes when I'm using it. I don't think the hole for the speaker is a big deal; it just looks a little funny.

[1] Okay, not quite perfectly. I'm getting some pull-away on the top corner of mine. I'm finding it hard to believe that the 8XT is dimensionally different, though, and wonder if this would've happened if I was on an 8X too.

Labels: ,

posted by ruffin at 11/09/2014 01:56:00 PM
Friday, October 31, 2014

So google news has let me know about the new HP smartwatch, designed by Michael Bastian (whoever that is), and it looks sharp. The Apple watch seems to be, if anything, a little overdesigned. Long-term, that's probably a good thing for Apple. Part of the beauty of the iPhone, and what's allowed it to change the way all phones are made, was that it left buttons behind and allowed you to create any sort of app on the machine's small canvas. That is, no matter what sort of inside access you get, you can't do much with a Head-to-Head football game's controls. You might squeeze out a marginally different race car game or something, but you're basically stuck. When the screen is as wide open as a blank slate, you have lots more flexibility. The Apple watch seems ready to do things we haven't thought of yet.

But what do you really want from a smart watch? There are only two things everyone wants, I think. The time (if only for historical reasons), and a place to read timely message highlights. I imagine that, like me, everyone has their own third. Me, I want built-in GPS so I can track a run without carrying a phone around.

Oh, there probably is a third everyone wants: Don't look like a dork wearing a calculator watch from the 80s. Let's face it, having a calculator right there whenever you need it is really kinda neat, but only during those times when you need it. The rest of the time? Doooork-E. Kinda like a chunky square watch with an oversized crown would look now.

This HP watch dodges the calculator watch feel awfully well. It doesn't have traditional hands like iHands I was kinda hoping to see implemented well, but it's close. There's a dedicated watch section on the face at the top left, which gives a similar feel. Here's an image from Gilt.

So the "watch widget" ring and the tick marks are permanent, but the hands come from the admittedly not retina-quality screen. Also note the orange arrows I added, pointing at the edges of the square watch screen. That's a little cheap looking, though not quite as silly as black bottom bar on the Moto 360, but in a similar, "We botched the implementation," vein.

The permanent clock ring makes that square a little less obvious, which is at least clever. That should visually break up the feeling of the watch as a square screen shoved into a round hole/face, which is pretty important.

Ultimately, this is a much nicer looking watch than Apple's, at least speaking conventionally in 2014. Kicks the pants off of the Pebble. Always tells time. Battery lasts a decent while -- apparently around a week. And it gives you a nice way to check highlights of recent messages. I like it. Right now, I'd probably buy the Microsoft Band or a Garmin running watch instead, as they both have GPSes, natch, but if I was important enough that missing a message could be expensive and didn't want to look like I didn't realize fanny packs are supposed to be worn on your fanny,* this watch would have my attention.

*Btw, folks who don't seem to understand this simple truism -- that fanny packs are to be worn on your fanny -- really bother me. I don't even know if fanny packs are inherently dorky. They're insanely useful when you're hiking and don't want to carry a full pack, or need to get to part of your gear quickly and are wearing a high pack. It's not the accessibility that makes a fanny pack dorky. That, like a calculator watch when you actually need to double check some nontrivial math, is useful. It's the fact that you need to neurotically dip into the pack so often that you allow it to symbolically replace, well, you know, combined with the style faux pas of accentuating your belly, that causes our visceral reason to the dopes that wear fanny packs on their font side. STOP IT, for heaven's sake.  ;^)

Labels: , ,

posted by ruffin at 10/31/2014 07:49:00 PM

Support freedom
All posts can be accessed here:

Just the last year o' posts:

Powered by Blogger