MacBook, defective by design banner

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


descrip:

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 www.myfreakinfirst-andlast-name.com

Using 89% of the same design the blog had in 2001.

FOR ENTERTAINMENT PURPOSES ONLY!!!
Back-up your data and, when you bike, always wear white.
x

MarkUpDown is the best Markdown editor for professionals on Windows 10.

It includes two-pane live preview, in-app uploads to imgur for image hosting, and MultiMarkdown table support.

Features you won't find anywhere else include...

You've wasted more than $15 of your time looking for a great Markdown editor.

Stop looking. MarkUpDown is the app you're looking for.

Learn more or head over to the 'Store now!

Sunday, January 30, 2011


When importing pictures to Picasa from my iPod touch today, I was surprised to find that many had little Google Maps pushpins, suggesting they were geolocated. You can make them out on the top and bottom pictures in the screenshot, above. Now there's no GPS in an iPod touch nor does it take in a cellular signal, so the amazing accuracy -- at a recent convention, the pushpin moved around the map revealing almost exactly where each picture I took was taken inside of the building -- might come as a shock.

Now I've heard of Skyhook before (here's an article from CNET back in 2005). Apparently, much like Google's cars have run around taking pictures of everyone's back yard, Skyhook drove around taking down MAC addresses and other info from everyone's WiFi routers.

That's neat, I guess. It's certainly a creative, ingenious idea. On the level of problem solving, I'm very impressed.

Why is this a problem? Well, there are two ways, I believe. First, parents might not want emailed pictures of their kids to include, say, the precise location of their kids' favorite ice cream shop, or friend's house, or park, or school. It's not like any of this is a huge issue to figure out, but right now stalking a stranger in a picture takes some work. Geolocation lowers the sleuthing bar to installing Picasa (or any other geoaware pic app) and clicking a tab. I like my [functional] anonymity.

Secondly, and this one is more theoretical, I believe, though it's the cause for the first -- I don't want to be responsible for helping not just Skyhook, but also stalkers or even necessarily every authority from finding people who happened to take a picture of themselves doing something near my home router. If a parent takes a kid on a bike near my house, I'd rather be asked if the camera's makers can use my router info to geolocate before the stamp hits the picture. My home might be relatively stationary (though there are funny stories about routers moving from, say, the US to the UK and producing some interesting geolocation stamps), but there's really not too much difference between using it and, say, people's proximity to my cell phone. I'm not sure I want this information out there in the ether without my consent, and I sure as heck haven't been asked.

So while I'm impressed with the problem solved, with regards to privacy, I'm less so. You could say that it's an implementation issue. Why geolocating images from my iPod is the default is Apple's fault, not Skyhook's. But again, there are two dancers here. As if the eye in the sky aerial imagery of the earth isn't bad enough, metadata telling folks exactly where they are using my data isn't cool either. Without Skyhook mining my router -- and yours, and your local university's, and Starbucks', and the local library's, etc -- this isn't an issue.

Who said that was okay, and who should have been inserting themselves in 2005 to say, "You need to ask us first"?

Labels: , , ,


posted by ruffin at 1/30/2011 02:20:00 PM
0 comments
Sunday, January 23, 2011

I work with JavaMail a decent amount, and I've taken the time to Google up IMAP libs for Visual Basic.NET and/or C# (it's all the same stuff, of course) a number of times over the last year, and each time, the most thorough set of recommendations always seems to be from this thread over at stackflow.com.

The problem is that all of those solutions ultimately have some issue. Either they're fairly expensive, don't have many reviews, and/or, in the case of MailSystem.NET, the code is so poorly maintained and supported (there are at least two messages from the last month, iirc, in the Issues forum about Samples not working right now that haven't even been assigned) that it's ultimately a no-go. It appears to have worked fairly well in VS 2005, but has a few issues even at compilation now. To rebuild, the REQUIREMENTS.txt file tells you, you need...

The following tools are required to build the project:

- Visual Studio 2008
- Windows Mobile 5.0 Smartphone SDK - http://www.microsoft.com/downloads/details.aspx?familyid=dc6c00cb-738a-4b97-8910-5cd29ab5f8d9
- Windows SDK for Windows Server 2008 and .NET Framework 3.5 - http://www.microsoft.com/downloads/details.aspx?FamilyID=e6e1c3df-a74f-4207-8586-711ebe331cdc&displaylang=en
- Sandcastle - http://www.codeplex.com/Sandcastle
- Sandcastle Help File Builder - http://shfb.codeplex.com/


That's just a few more dependencies than the law will allow. (Croon on.)

MailBee's IMAP-only offerings at $199 looks the most promising from the paid crowd. Getting POP3, SMTP, etc too runs $399. The documentation, forum support, website, the whole bit looks pretty professional. And SMTP isn't a difficult protocol to roll yourself. I've done it before telnetting and via straight sockets. And, honestly, a well-developed, documented, and maintained library that does all this for $199 isn't a bad price at all.

But the real [apparent] winner isn't from the list or from MailBee. After giving up for now on finding the perfect IMAP package, I figured it would be smarter to write everything but the IMAP of an app I'm working on, building around a good MIME parser and just using some old Thunderbird mailboxes for testing messages, as I'd seen several open source, MPL or LGPL MIME libs. This time looking, I came across a post titled "Advanced MIME Parser/Creator/Editor" at CodeProject.com by Ivar Lumi, who, five years after posting it, still answers questions about his code in the comments to the posting, and answers them quickly. Turns out this MIME parser from 2005 is still in development, and just happens to now also include a full set of email protocols. The license is, at worst, LGPL. Jackpot.

The whole slew of libraries can be found here:
http://www.lumisoft.ee/lswww/download/downloads/Net/

The download comes with source. It compiles in VC# Express 2010 without a hitch. The IMAP client in its samples collection works when you hit F5.

Crazy.

There are some rough edges -- or, more accurately, it doesn't parse rough edges well at all. In at least two (1, 2) cases on the libs' forums, the lib author pretty much says, "Yeah, well, if your message doesn't follow the MIME protocol for email to a T, the lib's not going to parse it. Not my fault. I don't really care if Outlook does parse it. Blame the message." But honestly, who cares? You can still get the original message's stream from these libs and parse it yourself. And if you can't parse a text file, well, there are other professions than being a coder.

Why the guy's giving his work away under LGPL (or less) and supporting the libs like he does, I've no idea. He hasn't updated the front of his website since, going by the (c), 2006. /shrug It's not like he's drumming up business.

But it's really good stuff. Full source is good. And, get this, it works. Crazy.

Labels: , , ,


posted by ruffin at 1/23/2011 10:48:00 AM
0 comments
Wednesday, January 19, 2011

oracle - SQL - fetch the row which has the Max value for a column - Stack Overflow:

I see many people use subqueries or else vendor-specific features to do this, but I often do this kind of query without subqueries in the following way. It uses plain, standard SQL so it should work in any brand of RDBMS.

SELECT t1.*
FROM mytable AS t1
LEFT OUTER JOIN mytable AS t2
ON (t1.UserId = t2.UserId AND t1.'Date' < t2.'Date')
WHERE t2.UserId IS NULL


Well played, Mr. Karwin.

Labels: , ,


posted by ruffin at 1/19/2011 11:18:00 AM
0 comments
Monday, January 10, 2011

AppleInsider | Best Buy rumored to add Apple Genius Bars, display more Macs in stores:

Best Buy later this year may update its Apple store-within-a-store boutiques to feature a larger display of Macs in addition to staffed Genius Bars that would mirror those found in every Apple retail store.


I'll admit that I've had a horrible experience looking at the new MacBook Air in a Best Buy. The guy knew nothing, wouldn't listen to me, and acted like he was selling me a used car. I've purchased two Macs and three iPods in the last two years, and been responsible for at least one more, I think. This isn't how you treat your best customers.

Still, I don't think I'm compensating by saying that making the Apple store larger in Best Buy is a little too much. Admittedly, that sort of Circuit City experience is part of the problem -- you can't control the Apple experience within a Best Buy. Circuit City, CompUSA, and now this: There is no store within a store. It just doesn't work. The host pawns off too much affect onto the remora.

And I'm not sure Macs are quite yet ready to burst. I wouldn't be surprised to see Macs slowly crawl upwards in PC sales, especially if the AppleTV as TV is released in the next few years. But as soon as Apple goes from boutique to line slop and doesn't produce line slop, eMachine numbers, somebody's going to be upset. If Apple was the main PC being purchased, they could conceivably turn the feel of a Best Buy into a positive Apple experience, the type that converts buyers. As a niche player, they're wasting their sway on footage that's not going to be useful.

Perhaps the Genius Bar in a Best Buy is meant to counteract the Best Buy affective dominance, but it's a losing battle. When Apple fights battles it wholly controls, it wins. You can't win inside of a Best Buy.

I ramble.

Labels: , ,


posted by ruffin at 1/10/2011 05:17:00 PM
0 comments
Monday, January 03, 2011

Had the 3rd gen iPod touch. Dropped it out of my pocket. Had name, phone, and email engraved. People still laugh at me when I act surprised I haven't gotten a call.

Got new, 4th gen touch today.

Volume buttons sux0rz if you don't use your right hand. No, really, try changing volume with your left thumb. 3rd gen, np. 4th gen, impossible.

Labels: ,


posted by ruffin at 1/03/2011 08:56:00 PM
0 comments

Support freedom
All posts can be accessed here:


Just the last year o' posts:

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
* git repo mapped drive setup * Regex Tester
* 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) * Break on a Lenovo T430: Fn+Alt+B
email if ya gotta, RSS if ya wanna RSS, (?_?), ¢, & ? if you're keypadless


Powered by Blogger etree.org Curmudgeon Gamer badge
The postings on this site are [usually] my own and do not necessarily reflect the views of any employer, past or present, or other entity.