<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
   <channel>
      <title>Code and cars</title>
      <link>http://unlogica.com/blog/</link>
      <description>Documenting the two closely related fields of programming and towing.</description>
      <language>en</language>
      <copyright>Copyright 2008</copyright>
      <lastBuildDate>Tue, 20 May 2008 18:04:46 -0800</lastBuildDate>
      <generator>http://www.sixapart.com/movabletype/</generator>
      <docs>http://blogs.law.harvard.edu/tech/rss</docs> 

            <item>
         <title>Frigidaire ads, written in Inuit</title>
         <description>This morning, while driving, the radio was playing. The station that was on not only had the paid advertising of pre-recorded clips, but also where the DJ will evangelize a product, in that they use it, etc. etc. I don&apos;t exactly consider it astroturfing because there is no attempt to hide that it&apos;s a paid product announcement. Instead, it harkens back to the older commercials, when whole shows were sponsored by one company. It&apos;s rather quaint in a way. Only, this time around, it was for the Microsoft Zune.

It&apos;s no secret that I ally myself with Apple and their products; I have several macs, an iPod, and am looking into making programs for the iPhone. So it&apos;s easy to write off that I would not be amenable to this specific product placement. Perhaps I was inserting my own biases in that the DJ sounded awkward, forcing themselves to hit all the right paid buzzwords, trying to turn the adjective &quot;Social&quot; into a noun. But regardless of how well or poorly the advertising went, one thing stuck in my mind. I couldn&apos;t recall any iPod advertisements on the radio.</description>
         <link>http://unlogica.com/blog/2008/05/frigidaire_ads_written_in_inui.html</link>
         <guid>http://unlogica.com/blog/2008/05/frigidaire_ads_written_in_inui.html</guid>
        
                  <category domain="http://www.sixapart.com/ns/types#tag">Business</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Commentary</category>
        
         <pubDate>Tue, 20 May 2008 18:04:46 -0800</pubDate>
      </item>
            <item>
         <title>Mea Culpa</title>
         <description>Logistically speaking, it&apos;s impossible for a towing service to cover the entire nation single-handedly. Instead, CSAA, and all AAA clubs subcontract out to towing companies already in place. Where you call from determines which tow company shows up. However, the AAA logo is still emblazoned on the truck, along with the specific tow company&apos;s name, to give an impression of cohesion. Every once in a while, one tow company is unable to service members in a timely fashion, either through manpower or equipment issues. In those cases, other companies can take those calls, and service the member outside their usual territory.

I&apos;ve run quite a few of these calls, and they are the most challenging in terms of customer service. By the time I&apos;m even aware of the call, the member has been badly treated or has been left waiting for a long time. So what is the first thing I do when I finally show up?

I apologize.

This is something that much of the computer industry has yet to learn.</description>
         <link>http://unlogica.com/blog/2008/05/mea_culpa.html</link>
         <guid>http://unlogica.com/blog/2008/05/mea_culpa.html</guid>
        
                  <category domain="http://www.sixapart.com/ns/types#tag">Business</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Commentary</category>
        
         <pubDate>Sun, 11 May 2008 21:11:13 -0800</pubDate>
      </item>
            <item>
         <title>Language Barrier</title>
         <description><![CDATA[I have often joked that my first language isn't English, as I'm more fluent in C. Truth be told, while I can't claim to be bilingual in any real sense (I understand some french, and have picked up only a few spanish words), I do pride myself in being a polyglot in that I know several computer languages. Of course, C is my core language, as I can claim consistent coding proficiency in it all the way back to my college years. But beyond that, I know quite a few other languages, including assembly, C++, and as of late, Objective-C.

Not only that, but on the languages that I have used but have since forgotten, I've made sure to remember a few of the design patterns from them. For example, the Eval/Apply loop used in Scheme's interpreter. There's an aphorism to the effect of "A language which doesn't change the way you think isn't worth learning." I'm a firm believer in the contrapositive: All languages worth learning will change the way you think.

With that in mind, it makes me really wonder and ponder about <a href="http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html">this list</a> that was pointed to in <a href="http://www.psynixis.com/blog/2008/04/25/did-apple-make-a-mistake-choosing-objective-c-for-iphone-sdk/">this article</a>.]]></description>
         <link>http://unlogica.com/blog/2008/04/language_barrier.html</link>
         <guid>http://unlogica.com/blog/2008/04/language_barrier.html</guid>
        
                  <category domain="http://www.sixapart.com/ns/types#tag">Cocoa</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Commentary</category>
        
         <pubDate>Fri, 25 Apr 2008 21:55:41 -0800</pubDate>
      </item>
            <item>
         <title>Making C++ and Objective C play nice</title>
         <description>Ah, sibling rivalry. C++ is one year older than Objective C, and while they have the same parent, C, they&apos;re quite different. But, sometimes, you want to harness code written in C++ from your nice and comfy Cocoa-based app. Sure, you can try Objective C++, the hybrid as of late, but you risk losing Objective C&apos;s pure superset abilities, and the compiler takes a speed hit trying to be bilingual. And if other coders either can&apos;t or won&apos;t handle C++, well, then it&apos;s time to break out some pure C wrappers and contain things. Here&apos;s a few tips I&apos;ve learned the hard way.</description>
         <link>http://unlogica.com/blog/2008/04/making_c_and_objective_c_play.html</link>
         <guid>http://unlogica.com/blog/2008/04/making_c_and_objective_c_play.html</guid>
        
                  <category domain="http://www.sixapart.com/ns/types#tag">Advanced programming</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Aside</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Cocoa</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Code</category>
        
         <pubDate>Fri, 11 Apr 2008 22:26:45 -0800</pubDate>
      </item>
            <item>
         <title>On the market</title>
         <description><![CDATA[Almost as if on instinct, I updated my resume last month. And yesterday, I discovered that the local office of the towing company will be closing its doors. Sure, I could move to where the office is relocating. But I really can't justify the commute, especially at a driver's pay rate. Furthermore, I've been really eager to focus on programming full-time as of late. So, while it's been fun to drive a tow truck, and I definitely have gotten my exercise, it's time to return to the software industry.

So. I'm looking for employment and freelancing. My experience is posted in <a href="http://unlogica.com/bhamon/BlainHamon200805A.pdf">pdf</a>, <a href="http://unlogica.com/bhamon/BlainHamon200805A.txt">text</a>, and <a href="http://unlogica.com/bhamon/BlainHamon200805A.doc">word doc</a>.

(Entry was edited to updated resumes)]]></description>
         <link>http://unlogica.com/blog/2008/04/on_the_market.html</link>
         <guid>http://unlogica.com/blog/2008/04/on_the_market.html</guid>
        
                  <category domain="http://www.sixapart.com/ns/types#tag">Aside</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Employment</category>
        
         <pubDate>Wed, 02 Apr 2008 20:32:12 -0800</pubDate>
      </item>
            <item>
         <title>It&apos;s like a mountaintop, but with more grease and the guru swears a lot</title>
         <description><![CDATA[I am a computer programmer, a software engineer if you will, but I've had a different job of late. As the story goes, I graduated in '99, was in the industry full time for a few years, and was laid off. Then, after a while of contract work, I was job hunting and my car broke down. I'm a AAA member, and when I jokingly asked the tow truck driver if they were hiring, he said yes. I applied, and for the last four years, I've been driving a tow truck.

It's been fun, and I've gotten a lot of exercise, but I do want to fully return to the computer industry. One of the hardest parts, however, is selling myself, and explaining these last few years. To be honest, it's not mutually exclusive; I have been programming all this time. But at the same time, this is definitely the path less traveled by. For the most part, the computer industry is one of specialization, where there's more call for people with a specific set of knowledge than for people who are generalists.

This is a shame, because I believe that those who focus on one tiny subset of the field are at a disadvantage. I remember, years ago, a time back at my first job. It was a great company &mdash; small, with a lot of open communication &mdash; and I was rather fresh out of college. Their primary product ran on Windows NT exclusively, and was the brainchild of the CTO. Believe me when I say the CTO was a brilliant man, who knew both Windows and the product inside and out.

So believe my surprise when, during a group brainstorming for a new product that would be cross-platform, he admitted to having no knowledge of how Unix did file permissions, the read/write/execute bits that can be changed with chmod. Me, a new hire, knew something the CTO didn't!]]></description>
         <link>http://unlogica.com/blog/2008/03/its_like_a_mountaintop_but_wit.html</link>
         <guid>http://unlogica.com/blog/2008/03/its_like_a_mountaintop_but_wit.html</guid>
        
                  <category domain="http://www.sixapart.com/ns/types#tag">Aside</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Cars</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Code</category>
        
         <pubDate>Sat, 29 Mar 2008 20:49:42 -0800</pubDate>
      </item>
            <item>
         <title>Security Update</title>
         <description><![CDATA[I'm not sure if anyone ever reads these posts (Save for spambots and the search hits for wanting to break into Fords. Seriously) but there's been a sizable gap of posts. And honestly, I started writing Bit Rot back in February. Since then, there's been the iPhone release, and just this morning, <a href="http://daringfireball.net/linked/2008/march#fri-28-miller">Daring Fireball</a> linked to Charlie Miller owning (in both senses of the word!) a MacBook Air. He also was able to already find exploits for the iPhone.

So why do I mention this? Well, in many ways, the iPhone is going to be a whole new data point. Since it's so popular, the argument of market share is going to be removed. And the user base is going to be so diverse as to make PEBKAC a real threat. So how is Apple going to ensure security on the iPhone? 100% unbreakable software is like magic pixie dust. You can get close to it, and it definitely shows up in advertisements, but it's not really feasible. And, for better or for worse, Apple keeps its cards really close to its chest. Perhaps for the better, because otherwise armchair iCEOing would be much less fun.]]></description>
         <link>http://unlogica.com/blog/2008/03/security_update.html</link>
         <guid>http://unlogica.com/blog/2008/03/security_update.html</guid>
        
                  <category domain="http://www.sixapart.com/ns/types#tag">Commentary</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Security</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">iPhone</category>
        
         <pubDate>Fri, 28 Mar 2008 14:38:30 -0800</pubDate>
      </item>
            <item>
         <title>Bit Rot</title>
         <description><![CDATA[Several years ago, John Gruber <a href="http://daringfireball.net/2004/06/broken_windows">suggested one reason</a> for the virus gap. Namely, that PC users are used to their computers loaded with adware, the sorts of things pre-installed on consumer-level Dells, HPs, and Sonys when they buy them. And so when malware arrives, it takes strong root, and isn't hunted down.

This is a very important difference, one thing that needs to be addressed before Windows becomes truely secure. But for better or worse, it won't. Simply clean installs won't solve the issue. A Mac user, or at least a large portion of them, expect their Mac to perform, to perform right, to 'just work.' For the PC, however, I've come to a theory, a theory which is great flame-bait, but an interesting theory nonetheless.

I think most PC users <strong>expect</strong> their computers to fail, and hold them to no standards of working. Not only that, but they view the PC as a machine, one that's <strong>supposed</strong> to break down.]]></description>
         <link>http://unlogica.com/blog/2008/03/bit_rot.html</link>
         <guid>http://unlogica.com/blog/2008/03/bit_rot.html</guid>
        
                  <category domain="http://www.sixapart.com/ns/types#tag">Commentary</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Security</category>
        
         <pubDate>Thu, 20 Mar 2008 17:18:24 -0800</pubDate>
      </item>
            <item>
         <title>And now, how to determine the mouse location as a CGPoint</title>
         <description><![CDATA[There's a saying in regards to Mac OS X programming, and it's proven useful time and time again. "If it's getting too difficult, stop and back up. You're probably going about it all wrong." And, well, this is another one of those times. I've been working on a pet project, a user-level driver for a toy called <a href="http://3dconnexion.com/3dmouse/spacenavigator.php">Space Navigator</a> (Long story there), and one of the parts to work on is emulating a mouse. Of course, that requires knowing the current mouse location, so that I can set a new location relative to it.

With the multi-OS and API heritage of Classic, Carbon, and Cocoa, there's quite a few ways to do this, but they have drawbacks. Since this was emulating an input device, <code>CGEvent.h</code > is used, to create events, adjust them, and post them. This calls for <code>CGPoint</code>s, which are floating point values, and from the top left corner.]]></description>
         <link>http://unlogica.com/blog/2008/02/and_now_how_to_determine_the_m.html</link>
         <guid>http://unlogica.com/blog/2008/02/and_now_how_to_determine_the_m.html</guid>
        
                  <category domain="http://www.sixapart.com/ns/types#tag">Code</category>
        
         <pubDate>Sat, 16 Feb 2008 18:40:05 -0800</pubDate>
      </item>
            <item>
         <title>PEBKAC</title>
         <description>We all know the old saying about 7 different eskimo words for snow, and the implications that items that are important in a culture tend to have more words about it in a language. Anyone who&apos;s knowledgeable with computers, especially in tech support, knows there&apos;s quite a few ways to convey when the user is not understanding what to do, and that it is not a functional bug in the software.

PEBKAC- Problem exists between keyboard and chair. The ID ten T error, spelled idiot. Newb, n00b, newbie, luser, pilot error. Trying to find the any key, or use the computer&apos;s cupholder. My father has a saying, in terms of bad drivers, of a &quot;Loose nut behind the wheel.&quot;

With the rise of social engineering, nigerian 419 scams, phishing, malware, spyware, and other online attacks that rely more on psychological insecurities than buffer overflows, the user has become more and more the weak link in software security. Unfortunately, I see much of the security debates focus on technical aspects, when we should be looking at personal ones.</description>
         <link>http://unlogica.com/blog/2008/02/pebkac.html</link>
         <guid>http://unlogica.com/blog/2008/02/pebkac.html</guid>
        
                  <category domain="http://www.sixapart.com/ns/types#tag">Commentary</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Security</category>
        
         <pubDate>Sun, 10 Feb 2008 12:30:49 -0800</pubDate>
      </item>
            <item>
         <title>Viral Market Share</title>
         <description><![CDATA[The most debated factor in the Mac's relatively low malware (Including spyware, viruses, worms and trojans) count versus the waves of Windows malware has been market share. With Windows market share in the 90 percentile, and Mac OS only in the single-digits, it makes much better business sense to infect the larger crowd.

The paradox of this, however, is of legitimate software on the Mac, especially indie developers. The ratio is so disproportionate, with only a handful of Mac malware, at most, yet a sizable and healthy legitimate software ecosystem, enough to make things like C4, WWDC, and a second hall at MacWorld SF possible.

The answer, I believe, has been partially stated, both by <a href="http://wilshipley.com/blog/2005/07/student-talk-reloaded-podcast.html">Wil Shipley</a>, and by <a href="http://www.technovia.co.uk/2008/01/daring-fireball.html">Ian Betteridge</a>. The market forces for software and malware are different, and while the Mac healthily supports the former, it offers no help on the latter.

Market share is a factor in Mac OS's security. The pundits are right. However, <strong>market share still doesn't matter</strong> when discussing security.]]></description>
         <link>http://unlogica.com/blog/2008/02/viral_market_share.html</link>
         <guid>http://unlogica.com/blog/2008/02/viral_market_share.html</guid>
        
                  <category domain="http://www.sixapart.com/ns/types#tag">Commentary</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Security</category>
        
         <pubDate>Thu, 07 Feb 2008 17:48:45 -0800</pubDate>
      </item>
            <item>
         <title>Artie MacStrawman&apos;s Revenge</title>
         <description>Good old Artie. For those not in the know, Artie MacStrawman is the legacy of the recently discontinued Crazy Apple Rumors, the name given to the stereotype of a rabid Mac user. While such people do exist, they should be ignored, as they don&apos;t add to the conversation on how to defend against future threats or give any insight onto what issues will arise.

Similarly, there are pundits and consultants that cling to this false image, as a target to rally against. &quot;Mac users don&apos;t understand security,&quot; goes the cry, &quot;and as soon as a single virus happens, it&apos;ll be doomsday for them.&quot; Like Artie himself, they should also be ignored, because they also add nothing; they simply troll for publicity and page views.

Somewhere between these two extremes lie the majority that matters, those that care about security, who know that the MacOS is not invincible, yet also know that they are doing something right. Something that should be understood, so that future security can build upon this.</description>
         <link>http://unlogica.com/blog/2008/02/artie_macstrawmans_revenge.html</link>
         <guid>http://unlogica.com/blog/2008/02/artie_macstrawmans_revenge.html</guid>
        
                  <category domain="http://www.sixapart.com/ns/types#tag">Commentary</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Security</category>
        
         <pubDate>Tue, 05 Feb 2008 14:27:40 -0800</pubDate>
      </item>
            <item>
         <title>Lost leaders</title>
         <description><![CDATA[<a href="daringfireball.net">Daring Fireball</a> linked to an article a while back about <a href="http://knowledge.wharton.upenn.edu/article.cfm?articleid=1645">The Myth of Market Share</a>. The site is now locked behind a login, but <a href="http://209.85.173.104/search?q=cache:nThGJ_KO2zUJ:knowledge.wharton.upenn.edu/article.cfm%3Farticleid%3D1645+http://knowledge.wharton.upenn.edu/article.cfm%3Farticleid%3D1645&hl=en&ct=clnk&cd=1&gl=us&client=safari">Google is to the rescue</a>.

The article discusses business practices that view the market as a zero-sum game. In other words, the belief that doing well isn't as important as doing better than the competition, that market share is more important than profitability. And the study is a surprise: this tactic doesn't work too well. So much a surprise that the implications are still not fully understood.

News flash: Business re-discovers <a href="http://plato.stanford.edu/entries/prisoner-dilemma/">a half-century old concept</a>, and promptly ignores its lesson. The sad part is, even after the article, the first response (Since I read the cache, I didn't find out if there were replies) still doesn't get it. ]]></description>
         <link>http://unlogica.com/blog/2008/02/lost_leaders.html</link>
         <guid>http://unlogica.com/blog/2008/02/lost_leaders.html</guid>
        
                  <category domain="http://www.sixapart.com/ns/types#tag">Business</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Commentary</category>
        
         <pubDate>Mon, 04 Feb 2008 16:02:54 -0800</pubDate>
      </item>
            <item>
         <title>Password retrieval, the quick and dirty way!</title>
         <description>Yes, it&apos;s been over a month. This time, however, I have an excuse. I lost my password to this posting account. What&apos;s worse is that doing password retrieval would fail. Something about the mime headers. However, I had a few tools at my disposal. On my desktop computer, thanks to the wonders of cookies, I was still logged in. Furthermore, I still had the SSH and FTP passwords to the site. So step one was to login, passwordless.</description>
         <link>http://unlogica.com/blog/2008/02/password_retrieval_the_quick_a.html</link>
         <guid>http://unlogica.com/blog/2008/02/password_retrieval_the_quick_a.html</guid>
        
        
         <pubDate>Sun, 03 Feb 2008 13:50:14 -0800</pubDate>
      </item>
            <item>
         <title>Domain and Range</title>
         <description>I originally had a big, far-reaching article in which I&apos;d muse about copyright, trademark, and other things I don&apos;t really have any authority or knowledge about. But the point was about the coding posts I did before and, time willing, will do in the future. So far, they&apos;ve been released in a way that seems to be a dying breed: Public domain.

I won&apos;t claim that this is a solution, or that others should or must follow suit, but coding can be a legal minefield these days. Licensing, restrictions, is this for personal or commercial use, all of that. And that&apos;s just with code you buy! The GPL seems to be a response to this problem, but it carries its own mess with it, rules and restrictions under the guise of freedom. There&apos;s the BSD license, which I like the most, but really...

There&apos;s some snippets of code that I don&apos;t intend to get fame or fortune from. And I don&apos;t want to add to the burden of &quot;Can I use this?&quot; for another programmer. So, public domain. Free to use in any way, shape, or form they want. It adds to the general commonwealth, and takes the burden of enforcing off my hands.

&quot;But Blain,&quot; one might say, &quot;how do you combat someone taking your work, and claiming it for their own?&quot; I really dislike the terms &quot;Art theft&quot; and &quot;Intellectual property violation&quot;, when there&apos;s a perfectly good word for it. One that uses stigma for enforcement, with no fancy legalese needed for its karmic backlash to take effect. When someone claims another&apos;s work as their own, be it text, music, or math; be it public domain, unpublished, or commercially owned; we call that plagiarism.</description>
         <link>http://unlogica.com/blog/2007/12/domain_and_range_1.html</link>
         <guid>http://unlogica.com/blog/2007/12/domain_and_range_1.html</guid>
        
                  <category domain="http://www.sixapart.com/ns/types#tag">Aside</category>
        
         <pubDate>Mon, 24 Dec 2007 00:52:20 -0800</pubDate>
      </item>
      
   </channel>
</rss>
