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)
* resume, mostly for Google, and ruffin's github account * 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 * index of HTML 4.01 elements
* Giant ASCII Textifier in Stick Figures (in Ivrit) * Quick intro to Javascript
* Don't [over-]sweat "micro-optimization" * Parsing str's in VB6
email if ya gotta, RSS if ya wanna RSS
Tuesday, April 08, 2014

The playbook: why Amazon's Fire TV is a guaranteed hit | The Verge:

Amazon doesn’t have to guess what people want, it just has to wait for others to get it wrong.

posted by ruffin at 4/08/2014 12:39:00 PM
Monday, April 07, 2014

The Ultimate Guide to Solving iOS Battery Drain — Overthought:

One thing you may not know about Airplane mode: you can actually turn Wi-fi back on after enabling Airplane mode. Just tap the Wi-Fi button in Control Center (the icon directly to the right of the Airplane). This is perfect for places, like an airplane, where you have zero cellular coverage but a strong Wi-Fi signal.

posted by ruffin at 4/07/2014 02:14:00 PM
Tuesday, March 25, 2014

Too good not to "quote" in the original.  DaringFireball, natch.

EDIT: Apologies for the horribly skewed URL.

Labels: ,

posted by ruffin at 3/25/2014 12:48:00 PM
Sunday, March 23, 2014

Guidelines and rules for GetHashCode - Fabulous Adventures In Coding - Site Home - MSDN Blogs:

How do hash tables and similar data structures use GetHashCode?

Consider a "set" abstract data type. Though there are many operations you might want to perform on a set, the two basic ones are insert a new item into the set, and check to see whether a given item is in the set. We would like these operations to be fast even if the set is large.

I'm using SqlDbSharp to store lots of records and want a quicker way to determine if an entry is already in a table than pulling out and comparing strings.  I think storing hash codes in the table for the strings I'm worried about is smarter, especially when things get large, though I'm not absolutely sold on the idea.

Regardless, interesting reading, as pretty much always, from Lippert.

EDIT: My idea is bad.

Guideline: the integer returned by GetHashCode should never change

Ideally, the hash code of a mutable object should be computed from only fields which cannot mutate, and therefore the hash value of an object is the same for its entire lifetime.

However, this is only an ideal-situation guideline; the actual rule is:

Rule: the integer returned by GetHashCode must never change while the object is contained in a data structure that depends on the hash code remaining stable

So there's no guarantee the serialized values will be useful going forward.  Likely, but not guaranteed.  I can, of course, make my own implementation, which I might.  It's a good idea in general -- two equal values mean possible equality and different values mean "not same".  Saves a lot of time if we really push this into an index.

Or, as Lippert says about putting things into hash dependent data structures...

Now if we have ten thousand items in the set then we are looking through one of a hundred buckets, each with on average a hundred items; the Contains operation just got a hundred times cheaper.

On average.

We hope.

Labels: , ,

posted by ruffin at 3/23/2014 09:11:00 PM
Friday, March 21, 2014

Microsoft sniffed blogger's Hotmail account to trace leak | Microsoft - CNET News:

According to the filing, Microsoft received a tip from a person who was contacted via Hotmail by the blogger, who wanted to verify that the leaked source code was legitimate. Instead, the tipper went to Steven Sinofsky, then-president of the Windows Division at Microsoft, and told him of the interaction. Sinofsky forwarded the details to Microsoft's Trustworthy Computing Investigations department, which investigates external threats and internal information leaks.

"After confirmation that the data was Microsoft's proprietary trade secret on September 7, 2012, Microsoft's Office of Legal Compliance approved the content pulls of the blogger's Hotmail account," the filing says.

The only encouraging part of this is that the leak was identified by shoeleather sleuthing, not a carnivorous port sniffer.

Why we don't create a form of email like SnapChat, I'm not sure.  Oh wait, that was called POP3.

Labels: , ,

posted by ruffin at 3/21/2014 12:47:00 PM
Tuesday, March 18, 2014

Finally seriously playing with git-tfs.  But how do I .gitignore without accidentally checking in the file [not that that'd necessarily be the end of the world]?

Technical Jargon:

Once cloned, I set up my usual set of gitignore rules (to exclude
builds artefacts, test results etc) and placed them in to the
.git/info/exclude file (rather than a .gitignore file) to ensure that
they aren’t checked in to the TFS repository.

Wait, what?  An exclude file?  That's intriguing...

365Git | Three ways of excluding files.:

Per Repository: in .git/info/excludes

You can exclude files on a per repository basis by editing the .git/info/excludes file in your repository.

Hopefully that's a winner.

Labels: ,

posted by ruffin at 3/18/2014 02:49:00 PM
Thursday, March 13, 2014

Search and replace - Vim Tips Wiki:

\0 inserts the text matched by the entire pattern

\1 inserts the text of the first backreference. \2 inserts the second backreference, and so on.

For whatever reason, I continually feel I've misremembered this when I'm VImming.  Hopefully blogging will make it real.

Labels: ,

posted by ruffin at 3/13/2014 05:00:00 PM

How to delete ALL mail messages from iPhone/iPad in one step | Conferences That Work:

Yes, there is a way to delete all your unwanted iPhone/iPad emails from the Mail app in one operation! No more left-swipe:tap Trash for every individual message. No more Edit: tap the single open circle next toevery individual message and finally tapping Trash. And you don’t need to jail break your device.

The fact that this is 1.) desired and 2.) difficult to find is a major Apple fail.

I've got over 6 gigs of "Other" on my 16 gig iPhone 5S (never again.  I see the folly of my cheapskate ways -- I realize I'm waaaaay overpaying for space by paying $100 per 8 gigs, but it's sooooo worth it in retrospect.  Yes, vowels were on sale today).  I used to think maybe it was Downcast, but I don't think so after having deleted podcasts like crazy.  I think their space is in "Apps".  Once, it was Al Gore's Inconvenient Truth app (can't recall if that's the app name), which downloaded crudloads of extra content as you waded through.  That's gone.

It has to be Mail.

Someone needs to write a reasonable mail app.  Daggum day job sapping all of my programming time.  ;^)

Labels: , ,

posted by ruffin at 3/13/2014 10:06:00 AM

Support freedom
All posts can be accessed here:

Just the last year o' posts:

Powered by Blogger