Add exported files from the Drupal dump
This commit is contained in:
parent
1568b6be8c
commit
cf34472bbd
10
_posts/2007-01-03-another-blog.html
Normal file
10
_posts/2007-01-03-another-blog.html
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
layout: post
|
||||
title: Another Blog?
|
||||
tags:
|
||||
- Miscellaneous
|
||||
created: 1167839271
|
||||
---
|
||||
Why would I sign up for another blog when I barely even create content for the <a href="http://stephen.paskaluk.com/blog">first one</a>? Maybe now I can keep that one clear of <a href="http://stephen.paskaluk.com/blog/?p=31">random bitching</a> and <a href="http://stephen.paskaluk.com/blog/?p=34">cell phone reviews</a>.
<br>
|
||||
<br>
|
||||
Besides, <a href="http://www.unethicalblogger/blog/tyler">tyler</a> is one cool frood.
|
12
_posts/2007-01-03-new-blogthing.html
Normal file
12
_posts/2007-01-03-new-blogthing.html
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
layout: post
|
||||
title: New Blogthing
|
||||
tags:
|
||||
- Miscellaneous
|
||||
created: 1167835958
|
||||
---
|
||||
After talking with <a href="http://www.hinkty.com">Phil Aaronson</a> about a recent rant of mine (<a href="http://bleepsoft.com/tyler/index.php?itemid=122">Bribing Bloggers, Better</a>) I found out that this domain was available and couldn't resist the temptation. I've been meaning to move to a Drupal-based blogthing for quite some time, and the perfect storm of the domain being available and having a brief moment of free time combined with $9 led to the creation of <a href="http://www.unethicalblogger.com">unethical blogger</a>.
<br>
|
||||
<br>
|
||||
My own personal blog URL on the site is <a href="http://www.unethicalblogger.com/blog/tyler">http://www.unethicalblogger.com/blog/tyler</a> and I've left open user registration, so you too can have an unethical blog! For example, if I were a Vista shill, I could magically register the username "vistashill" and have an unethical blog at http://www.unethicalblogger.com/blog/vistashill and well, you get the point. I'm going to leave this open and see where it takes me, I am not putting ads on this site, but I must mention the hosting is provided ever-so-graciously by my (good?) friend <a href="http://dave.redterror.net">Dave Steinberg</a> over at <a href="http://www.geekisp.com">GeekISP</a> (GeekISP also happens to host the <a href="http://trac.geekisp.com/bleep">bleep subversion repository</a>, amongst other things).
<br>
|
||||
<br>
|
||||
I've had better, but I've also had much worse ideas, we'll see where unethical blogging takes me.
|
16
_posts/2007-01-03-scp1-resume.html
Normal file
16
_posts/2007-01-03-scp1-resume.html
Normal file
@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: post
|
||||
title: scp(1) resume
|
||||
tags:
|
||||
- Miscellaneous
|
||||
created: 1167841754
|
||||
---
|
||||
I came across <a href="http://joen.dk/wordpress/?p=34">this blog posting</a> yesterday and figured I'd relay it because all of a sudden it's changed how I transfer large files. While scp(1) doesn't support resuming, but rsync(1) does and in a very <a href="http://en.wikipedia.org/wiki/Captain_Planet">Captain Planet</a>-esque fashion, their combined powers allow for secure, resumable file transfers.
<br>
|
||||
<br>
|
||||
By adding the following alias to .profile you can easily switch from the stock-scp to a resumable one:
<br>
|
||||
<code>alias scpresume="rsync --partial --progress --rsh=ssh"</code>
<br>
|
||||
<br>
|
||||
It's then just a matter of using "scpresume" where I would use scp(1):
<br>
|
||||
<code>intellian% scpresume medahugefile.tar.gz remotehost:</code>
<br>
|
||||
<br>
|
||||
This shouldn't incur too much overhead, but it sure makes large transfers much less painfull on a bad home-user uplink.
|
30
_posts/2007-01-04-dear-hp-fall-on-something-sharp.html
Normal file
30
_posts/2007-01-04-dear-hp-fall-on-something-sharp.html
Normal file
@ -0,0 +1,30 @@
|
||||
---
|
||||
layout: post
|
||||
title: Dear HP, Fall On Something Sharp
|
||||
tags:
|
||||
- Opinion
|
||||
created: 1167940808
|
||||
---
|
||||
I may be too young to remember a Hewlett-Packard that actually <em>innovated</em> and hired engineers to do more than design crap personal computers, and crappier printers. Like an absolute dolt, I assumed this HP LaserJet 1020 would somehow be different. This time, things would some how work. This time, I wouldn't let myself be suckered in by the promise of quick, efficient printing.
<br>
|
||||
<br>
|
||||
This time, I would be duped again.
<br>
|
||||
<br>
|
||||
This printing saga started with an HP Photosmart C3100, a printer that somebdoy thought the all-in-one-ness of the printer would be a great choice, and by golly, the box says it supports Mac OS X! What a gullible chud I turned out to be. As I sat looking at the HP Printer Setup Utility on the right side of my screen complaining that it could not find the printer on the USB bus, and the Mac OS X Printer Setup Utility on the left side of my screen properly finding and identifying the printer on the USB bus, I honestly felt a little part of my soul curling into a ball and just dying. To make things worse, this was on a PowerPC Mac, who knows what sort of explosive chemical reactions might of occurred if I had trying this with my Intel Mac.
<br>
|
||||
<br>
|
||||
Fast forward at least a year, to a poorly lit apartment in north-western San Antonio. A tall man stares blankly at a printer recently removed from the styrofoam entombing it, wondering first why there is a power cable included in the box but no USB cable, then progressing along to the toner cartridge which has no directions, nor indication on how it is to be inserted into the beast of a printer that lay before him. As with most peripherals purchased from anywhere but an Apple Store, this device may or may not work with Mac OS X (after looking online, the HP LaserJet 1020 apparently can be used <a href="http://www.edtechworld.com/?p=229">from Mac OS X with a 1022 driver</a>). After installing the 1022 driver from the HP.com website, precocious hope is quickly replaced by a subdued rage as the gorgeous 20" screen dims and a message that means nothing other than "restart" is displayed in the center. Shortly after reaching behind the screen and pressing the power button, the message <a href="http://farm1.static.flickr.com/125/340924684_1095df3b14_b.jpg" rel="lightbox">is displayed again</a> as the machine boots up. The device is angrily moved from one end of the office to the other and plugged into a hideous looking Dell machine lying tucked away, following a brief install process, the device succeeds in printing a "Windows Test Page" to verify its functionality, and nothing more.
<br>
|
||||
<br>
|
||||
Fast forward another couple of days, my attempts to print a PDF from within Mail.app are greeted with a similar subdued anger staring at a crash report from Mail.app and a stack trace that contains the following:
<br>
|
||||
<code>
<br>
|
||||
Thread 0 Crashed:
<br>
|
||||
0 com.apple.CoreFoundation 0x90859b76 CFBundleCopyLocalizedString + 106
<br>
|
||||
1 com.hp.framework.imaging 0x0eec21f2 AResAccess::CopyExplanationString(ExpType, __CFString const*, short, unsigned char) + 152
<br>
|
||||
2 com.hp.framework.imaging 0x0eec3b72 AControl::CopyDescriptionString(__CFString const*, __CFString const*) + 132
<br>
|
||||
3 com.hp.framework.imaging 0x0eec382f AControl::InitDescriptions(OpaqueControlRef*) + 61
<br>
|
||||
4 com.hp.framework.imaging 0x0eec2b38 ABooleanControl::ABooleanControl[in-charge](__CFString const*, AAccess*, OpaqueControlRef*) + 46
<br>
|
||||
5 com.hp.framework.imaging 0x0eec4a17 AControl::ControlFactory(AAccess*, __CFString const*, OpaqueControlRef*, int) + 313
<br>
|
||||
6 com.hp.framework.imaging 0x0eec4fbf AControlGroup::AddNewControl(ADataProvider*, __CFString const*, int) + 83
<br>
|
||||
</code>
<br>
|
||||
<br>
|
||||
I now have an HP LaserJet 1020, sitting on the counter that won't print from Windows, Mac OS X, or any Linux I've tried. Excluding Mac OS X/intel, all the OSes properly identify and configure the device, but that's about as far as any of them can go before meeting the iron curtain HP has wrapped around their miserable hardware and software. I have a feeling that the HP iPod was the last device that Hewlett-Packard sold that actually worked, everything I've either purchased, or come across of theirs certainly doesn't.
<br>
|
||||
<br>
|
||||
R.I.P. Hewlett-Packard; at one point it did grand things in the industry, only to die a slow, suffocating death from its own desire to compete in a flooded commodity PC and printer market.
|
16
_posts/2007-01-04-going-on-tour.html
Normal file
16
_posts/2007-01-04-going-on-tour.html
Normal file
@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: post
|
||||
title: Going on Tour
|
||||
tags:
|
||||
- Miscellaneous
|
||||
created: 1167912576
|
||||
---
|
||||
I have mentioned this to a few people already, but I will be attending te <a href="http://macworldexpo.com">MacWorld Expo</a> this year. Unfortunately the project I have been hustling to attempt to finish in time for MacWorld will not be done until late january/february, so I'll be schmoozing and talking it up at MacWorld, and walking around with a big dunce hat on my head.
<br>
|
||||
<br>
|
||||
<center><a href="http://unethicalblogger.com/files/tourmap.png" rel="lightbox" title="The Tour Map">The Tour Map</a></center>
<br>
|
||||
<br>
|
||||
True to my inherent nature (see: dunce), I will be packing the bleep roadshow into my super-mega-awesome VW Jetta and driving from San Antonio to San Francisco. What does this mean for you I bet you're contemplating, well, a one time opportunity not only to meet <strong>me</strong> (a rare honor only bestowed various hiring managers and women of the night) but you too can buy me a beer, lunch, or dinner! If you're a Mac/Mono developer and just happen to either be in San Francisco next week, or along the way, drop me an email (tyler@bleepsoft.com) and I'd be more than happy to stop in $CITY long enough to grab a bite to eat.
<br>
|
||||
<br>
|
||||
I'm not completely sure what to expect, nor how to schedule my time while there. I'm thinking about forgoing buying a "Users Conference" ticket or a "MacIT Conference" since it seems to be as large a waste of money as lighting my January rent payment on fire. Right now I'm planning on buying an exhibit hall ticket, bringing a stack of business cards, and resumés and seeing how many people I can meet.
<br>
|
||||
<br>
|
||||
Again, if you're going to be there, let me know. The bleep roadshow departs early on the 7th, so my email will be hit and miss en route.
|
10
_posts/2007-01-05-academic-masochism.html
Normal file
10
_posts/2007-01-05-academic-masochism.html
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
layout: post
|
||||
title: Academic Masochism
|
||||
tags:
|
||||
- Academia
|
||||
created: 1168016950
|
||||
---
|
||||
Interesting <a href="http://www.groklaw.net/article.php?story=20070104173624769">post on Groklaw</a> about freely available "courseware". The <a href="http://www.ocwconsortium.org/index.html">OpenCourseWare Consortium</a> seems like a fantastic idea to me. Academia is really all about sharing knowledge.
<br>
|
||||
<br>
|
||||
I've already bookmarked the <a href="http://ocw.mit.edu/OcwWeb/Mechanical-Engineering/index.htm">MIT Mechanical Engineering page</a>, though I can usually find comparable material in <a href="http://www.engineering.ualberta.ca/mece/">my own department</a>.
|
14
_posts/2007-01-06-roadshow-departing.html
Normal file
14
_posts/2007-01-06-roadshow-departing.html
Normal file
@ -0,0 +1,14 @@
|
||||
---
|
||||
layout: post
|
||||
title: Roadshow Departing
|
||||
tags:
|
||||
- Miscellaneous
|
||||
created: 1168127995
|
||||
---
|
||||
Over 3,500 miles.
<br>
|
||||
<br>
|
||||
Over 27 hours of driving.
<br>
|
||||
<br>
|
||||
One big Mac conference to attend.
<br>
|
||||
<br>
|
||||
This is absolutely insane.
|
14
_posts/2007-01-06-texas-is-bloody-big.html
Normal file
14
_posts/2007-01-06-texas-is-bloody-big.html
Normal file
@ -0,0 +1,14 @@
|
||||
---
|
||||
layout: post
|
||||
title: Texas is bloody big
|
||||
tags:
|
||||
- Miscellaneous
|
||||
created: 1168148632
|
||||
---
|
||||
Almost exactly 333 miles into this trip, and I find myself sitting at a texas rest area (free wireless!). I stopped here about 50% because of the free wireless, and about 50% because I really wanted to see what it felt like to go to the bathroom in 30 degree temperatures.
<br>
|
||||
<br>
|
||||
Unfortunately, thus far the coolest things I've seen are, something on fire on the side of the road, and the moon. West texas isn't really all that exciting. I better get back to cruising though, El Paso is something like 260 miles from here.
<br>
|
||||
<br>
|
||||
I don't plan on making regular blogging stops, this one just happens to coincide with a more biological deadline.
<br>
|
||||
<br>
|
||||
Hoping to be through New Mexico by sun up. Eep.
<br>
|
8
_posts/2007-01-09-meeting-a-comic-genius.html
Normal file
8
_posts/2007-01-09-meeting-a-comic-genius.html
Normal file
@ -0,0 +1,8 @@
|
||||
---
|
||||
layout: post
|
||||
title: Meeting a Comic Genius
|
||||
tags:
|
||||
- Media
|
||||
created: 1168360432
|
||||
---
|
||||
Yesterday afternoon at the <a href="http://stephen.paskaluk.com/gallery/FlashFire">Flash Fire Facility</a> we got a visit from <a href="http://www.cbc.ca/mercerreport/">Rick Mercer</a>. Since it won't be airing for a week or so (and thankfully I won't be in it) I won't yet comment on the stuff we did, but it was pretty cool. It was a lot more fun than some of the other TV spots we've done (local news, <a href="http://www.discoverychannel.ca/dailyplanet/">Daily Planet</a>). Rick was pretty cool, and needless to say very funny. I'd invite him over for a BBQ anyday.
|
21
_posts/2007-01-10-its-just-diddy.html
Normal file
21
_posts/2007-01-10-its-just-diddy.html
Normal file
@ -0,0 +1,21 @@
|
||||
---
|
||||
layout: post
|
||||
title: It's Just Diddy
|
||||
tags:
|
||||
- Opinion
|
||||
created: 1168471055
|
||||
---
|
||||
I suppose I will really never be able to fulfill my childhood dream of working for Apple Computer, Inc. Bummer. The changing of the name from <em>Apple Computer, Inc.</em> to <em>Apple, Inc.</em> is certainly symbolic, but I think carries far more weight in the industry than anybody is really giving credence.
<br>
|
||||
<br>
|
||||
Over five years ago, Apple <strong>told</strong> us that the Mac was becoming/is the digital media hub. They <strong>told</strong> us that the Mac was going to be the center of our digital life, and like a dropping a penny into an empty well, nothing happened. A glance of the industry as a whole is almost sickening in terms of the void that just didn't get filled. Apple should not have needed to create the iPod. Apple should not have needed to create the iPhone. To paraphrase what Steve Jobs said to a reporter from CNBC "<em>we create products we want to [need/]use</em>." Apple is slowly learning what John D. Rockefeller learned over a hundred years ago, vertical mergers will make you obscenely rich, or to put it more succinctly in terms of Apple's situation, you cannot trust the rest of the industry "figure it out." The Nomad Jukebox is a decent device, but it doesn't integrate into the rest of my "digital life" like the iPod did when it came out. The Motorola Razr, or the Blackberry are all nice devices, they sleek, they have appeal, but they <strong>just suck</strong>. The software is miserable, and they don't <em>integrate</em> like the iPhone does/will, so they're doomed to play the second-fiddle that Microsoft is finding itself playing with regards to the Zune.
<br>
|
||||
<br>
|
||||
Moving from Apple Computer to just Apple is a weighty change at least in terms of the company mindset that should have the rest of the industry <strong>scared sh#$less</strong>. Apple is moving away from just computers to something most Mac OS X users have become familiar with, the <em>experience</em> which they have excelled and building with iPhoto, iMovie, iTunes, and the peripherals to go with them. While Microsoft did beat Apple into the living room with the original XBox (I know a number of people that use their first gen XBoxes as both DVD players and media hubs), appleTV has some catching up to do, but has something Microsoft doesn't (besides the religious fanbase), the "experience" necessary to get every joe and smoe type to not only desire an appleTV, but actually use it.
<br>
|
||||
<br>
|
||||
The iPhone is a good example of Apple's power to look at an existing market and completely change the "level of play" required to compete in that market, and do it in such a way that everybody from Main Street to Wall Street is now paying attention.
<br>
|
||||
<br>
|
||||
<br>
|
||||
That's officially my one, requisite, Macworld 2007 blog posting. I'll finish with this image, courtesy of <a href="http://www.stuffonfire.com">David Young's</b> blog.
<br>
|
||||
<br>
|
||||
<center><a href="http://unethicalblogger.com/files/aapl-rimm.png" rel="lightbox">AAPL vs. RIMM</a>
<br>
|
||||
<br>
|
||||
pwned</center>
<br>
|
12
_posts/2007-01-11-emission-coming-soon.html
Normal file
12
_posts/2007-01-11-emission-coming-soon.html
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
layout: post
|
||||
title: Emission, Coming Soon
|
||||
tags:
|
||||
- Cocoa
|
||||
created: 1168542122
|
||||
---
|
||||
As some of you (both rather) may have noticed, the <a href="http://bleepsoft.com/">bleepsoft.com</a> homepage is a bit different these days.
<br>
|
||||
<br>
|
||||
In the very near future bleep will be releasing an application called "Emission" that, besides the cool icon, will certainly change how I work with the wide array of people across the globe that I deal with on a daily basis.
<br>
|
||||
<br>
|
||||
As a lot of the network core is still unwritten (yes, it's very network-ey), so I'm not going to disclose too many details, but check out the site, <a href="http://www.devixdesign.com/wlog/">Fernando Lins</a> has done a fantastic job on the icon.
|
20
_posts/2007-01-15-being-white-rocks.html
Normal file
20
_posts/2007-01-15-being-white-rocks.html
Normal file
@ -0,0 +1,20 @@
|
||||
---
|
||||
layout: post
|
||||
title: Being White Rocks
|
||||
tags:
|
||||
- Opinion
|
||||
created: 1168930180
|
||||
---
|
||||
On my recent trip back from <a href="http://unethicalblogger.com/posts/tyler/roadshow_departing">road trip</a>, I couldn't help but appreciate Chris Rock's commentary on "being white" when he said "I always viewed being white like always having five bucks in your pocket."
<br>
|
||||
<br>
|
||||
Sitting in line at a border patrol station just east of El Paso, I watched a hispanic family in a van get inspected relatively thoroughly, and couldn't help but giggle at the "inspection" that awaited me:
<br>
|
||||
<strong>Are you a U.S. citizen?</strong>
<br>
|
||||
<em>arrrrrrr</em>
<br>
|
||||
<strong>...Is that a yes or a no?</strong>
<br>
|
||||
<em>yes.</em> (-_-)
<br>
|
||||
<strong>Have a nice day.</strong>
<br>
|
||||
<br>
|
||||
<br>
|
||||
I feel secure.
<br>
|
||||
<br>
|
||||
|
12
_posts/2007-01-16-cocoa-radio-im-almost-relevant.html
Normal file
12
_posts/2007-01-16-cocoa-radio-im-almost-relevant.html
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
layout: post
|
||||
title: Cocoa Radio, I'm Almost Relevant
|
||||
tags:
|
||||
- Cocoa
|
||||
created: 1168934782
|
||||
---
|
||||
Through some twist of fate, I was <a href="http://www.cocoaradio.com/2007/01/cocoaradio_mwsf_2.html">interviewed on Cocoa Radio</a>. I think I managed to maintain some semblance of competence throughout the interview until some random fellow sat really close to Blake and I and threw my concentration.
<br>
|
||||
<br>
|
||||
It was pretty fun, Blake and I hung out most of the week (I even rescued him from the airport in <a href="http://flickr.com/photos/philaaronson/356041889/in/photostream/">blue lightning</a> on thursday) so doing the interview was a bit weird, as we talk regularly.
<br>
|
||||
<br>
|
||||
And thus begins my long hard trek into the public consciousness; I'll be super-famous, just like Sting, you'll see.
|
12
_posts/2007-01-18-howdy.html
Normal file
12
_posts/2007-01-18-howdy.html
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
layout: post
|
||||
title: Howdy?
|
||||
tags:
|
||||
- Opinion
|
||||
created: 1169143399
|
||||
---
|
||||
So today I began what I hope is a great experience at Texas A&M University, but as I walk through the freezing cold weather and enter my first class I realize I have entered a different world. This has nothing to do with the amout of work or toughieness of the classes ( liked my bushism there... heh heh), its getting used to saying Howdy. Howdy, who the dues says howdy...., people dont say hi here, they say howdy.... what is with this, plus depending on how you say it howdy can sound very (insert brokeback mountain joke here). Well lets just hope things work out, i may just revolt and just say, hi.
<br>
|
||||
<br>
|
||||
whatever
<br>
|
||||
<br>
|
||||
As always I am the roy
|
18
_posts/2007-01-19-educating-engineers.html
Normal file
18
_posts/2007-01-19-educating-engineers.html
Normal file
@ -0,0 +1,18 @@
|
||||
---
|
||||
layout: post
|
||||
title: Educating Engineers
|
||||
tags:
|
||||
- Academia
|
||||
created: 1169228449
|
||||
---
|
||||
Found an <a href="http://www.itworld.com/Career/3710/061201schoolshift/pfindex.html">interesting article</a> (through <a href="http://ask.slashdot.org/askslashdot/07/01/18/2313232.shtml">slashdot</a>) on how we should be educating engineering students. The bird's eye view is that students should come out of school with the ability to continue learning rather than some specific skillset. The slashdot discussion and the article really cover mostly different ground on the subject, with the comments on /. debating the pros and cons of teaching engineers as thinkers or trades-people and the original article focusing more on how the education of thinkers can be done. Of course this isn't limited to engineering, any really good Comp. Sci. program runs the same give-and-take between teaching students to program and teaching them how to solve problems.
<br>
|
||||
<br>
|
||||
I don't really think there's necessarily a right answer in any of this. At this point in time it seems to me like the market for Engineers as workers with a certain skill set is notably present (and I'm going to entirely avoid the debate about whether that is right or wrong), while there is undeniable value in being able to apply knowledge outside of a specific skill set (I'm also going to avoid debate about whether this can be taught).
<br>
|
||||
<br>
|
||||
My own career, thus far, has been a case study in why problem solving is more important than specific skills. I am a graduate of the <a href="http://www.engineering.ualberta.ca/ece/nav03.cfm?nav03=25632&nav02=25630&nav01=24055">Computer Engineering Co-op program at the University of Alberta</a>. Of my five terms of "Work Experience" I spent the first three doing PLC programming, circuit diagrams (in AutoCAD), and specification and ordering of parts for industrial control systems. My last two were spent doing data acquisition programming in Visual Basic in a direct precursor to my current position, which is a mix of Windows programming, putting together custom experiments, and heat transfer research. I'm also preparing to begin a M.Sc. degree in Mechanical Engineering.
<br>
|
||||
<br>
|
||||
The common theme in all of this is that none of my day-to-day work heavily involves anything I learned as a skill in my undergraduate degree, though I admit I haven't followed an entirely traditional career progression. I heard a Faculty member whom I have a tremendous amount of respect for answer the question "What qualities do you look for when you're looking for graduate students?" with something like "I like to see how they react to problems outside of their comfort zone." Of course he elaborated more on that, and the point was that it much more important for the student to be able to figure out something than to recite something. He also noted that you can get very different solutions to a problem from someone who solves it using a well-trained skill and someone who solves it with ingenuity, reasoning, and research.
<br>
|
||||
<br>
|
||||
Getting back to the article, I really think the term "meta-skills" is fantastic. While you learn skill in a program (and that's inevitable, most concepts in applied science and engineering are taught through some usable skill) the important thing isn't necessarily the skill or even the concept (which set the "trajectory" talked about in the article), but the ability to turn learning skills and concepts into a skill in itself. I think the article essentially skips the most important part of making that happen for students, telling them directly what they should be gaining. All the hand-on activity in small groups in the world isn't going to help them make that leap if they just see it as another lab assignment in a course that's only marginally (if that) related to the job they hope to have when they graduate.
<br>
|
||||
<br>
|
||||
As for the slashdot discussion, while interesting, I think it misses the point by focusing on theory vs. application. As many comments correctly point out, both theoretical understanding and practical ability are important, but in the context of the articles theories and concepts are simply another skill learned. A high level mathematics theory is every bit as narrow as a single programming language if the person who knows that skill doesn't have the ability to work outside their "comfort zone". Versatility is key. But like I said, the discussion is pretty interesting. I've noticed quite <a href="http://ask.slashdot.org/comments.pl?sid=217670&cid=17676760">a</a> <a href="http://ask.slashdot.org/comments.pl?sid=217670&cid=17674940">few</a> <a href="http://ask.slashdot.org/comments.pl?sid=217670&cid=17674306">interesting</a> <a href="http://ask.slashdot.org/comments.pl?sid=217670&cid=17675900">comments</a>. As a note on that last comment, it is fairly similar to (albeit longer) the engineering program <a href="http://www.engineering.ualberta.ca">here</a>. All engineers here take a common first year, specialize in years 2-4 (while still taking cross-discipline courses), then have to practice as an E.I.T. for years (a residency of sorts) before being able apply to become a Professional Engineer (which is a term whose use is legally restricted).
|
33
_posts/2007-01-20-baby-ill-panic-your-kernel-anytime.html
Normal file
33
_posts/2007-01-20-baby-ill-panic-your-kernel-anytime.html
Normal file
@ -0,0 +1,33 @@
|
||||
---
|
||||
layout: post
|
||||
title: Baby, I'll Panic Your Kernel Anytime
|
||||
tags:
|
||||
- Software Development
|
||||
created: 1169339883
|
||||
---
|
||||
I've been experiencing a kernel panic for the past couple weeks, sporadically, but I've finally come up with a reliable set of reproduction steps (for my set up anyways). I have a nagging feeling it has something to do with the Parallels Kernel Extensions (specifically the pseudo-networking devices).
<br>
|
||||
<br>
|
||||
The basics of my kernel panic are as follows, for purposes of demonstration, let's pretend Mac[0] is the machine you feel like kernel panicing, and Mac[1] is some other machine sitting around causing trouble:
<br>
|
||||
<ol><li>On Mac[0] enable "Personal File Sharing" (i.e. turn on Apple File Sharing)</li>
<br>
|
||||
<li>Using Mac[1], mount an AFP share from Mac[0].</li>
<br>
|
||||
<li>Transfer a large file (ISO, DMG, pr0n.mp4) from Mac[0] to Mac[1].</li>
<br>
|
||||
<li>Unmount the shared volume on Mac[1]</li>
<br>
|
||||
<li>Watch Mac[0] go grey <a href="http://farm1.static.flickr.com/51/146561939_a61d4340e5_o.jpg" rel="lightbox">like this</a>.</li></ol>
<br>
|
||||
<!--break-->
<br>
|
||||
I've been able to reproduce this at the login screen for Mac[0], all the way up to full interactivity (running iTunes, Xcode, etc). In my office, Mac[0] is a 20" intel iMac, whereas Mac[1] is a 12" PowerBook G4. If I had more machines to test with, I'm sure I'd be able to reproduce it there as well. I find it very unlikely that the Apple drivers are kernel panicing my box (see crash logs at end of post), as Apple's IOKit drivers seem to be <strong>very</strong> solid, so I'm guessing that it is related to the Parallels kernel extensions (.kext). A brief look at kextstat(8) returns this:<code>
<br>
|
||||
intellian:~ tyler$ kextstat | grep parallels
<br>
|
||||
79 0 0x8d4000 0x5000 0x4000 com.parallels.kext.ConnectUSB (2.5.0) <33 11 6 5 4 3>
<br>
|
||||
91 0 0x8d9000 0x6000 0x5000 com.parallels.kext.Pvsnet (2.2) <5 4 3 2>
<br>
|
||||
101 0 0x6bd000 0x14000 0x13000 com.parallels.kext.hypervisor (2.2) <11 6 5 4 3 2>
<br>
|
||||
102 0 0x9ed000 0xa000 0x9000 com.parallels.kext.vmmain (2.2) <11 6 5 4 3 2>
<br>
|
||||
103 0 0x4a10d000 0x3000 0x2000 com.parallels.kext.Pvsvnic (2.2) <36 4 3>
<br>
|
||||
</code>
<br>
|
||||
Regardless of whether or not Parallels is running, to ensure I don't come off as a Parallels-basher (even if I really am), VMWare leaves kernel extensions loaded when VMWare Fusion isn't running as well:<code>
<br>
|
||||
intellian:~ tyler$ kextstat | grep vmware
<br>
|
||||
95 0 0x48fe5000 0x1b000 0x1a000 com.vmware.kext.vmmon (1.0.0d1) <11 5 4 3 2>
<br>
|
||||
99 0 0x48d7f000 0x5000 0x4000 com.vmware.kext.vmioplug (1.0.0d1) <33 19 5 4 3>
<br>
|
||||
100 0 0x48b74000 0x5000 0x4000 com.vmware.kext.vmnet (1.0.0d1) <5 4 3 2></code>
<br>
|
||||
Anyways, back on topic. Given the inherently cryptic crash logs that a kernel panic will leave behind (if any), it's hard to truly tell what is causing the panic. As much as I like to fantasize about becoming an über 1337 kernel haxx0r, I simply haven't the time to whip out a firewire cable, and use Mac[1] as a debugging console to reproduce and crash my main workstation (Mac[0]).
<br>
|
||||
<br>
|
||||
As a software developer however, I'm a bit annoyed that these virtualization applications (Parallels, VMWare) are leaving KEXTs loaded into kernel space even when they're not running, leaving the door wide open to crashes like this one. Unfortunately, a kernel is only as strong as it's weakest link/kext, if one of the KEXTs crash in the spectacular fashion in which they normally do, they can bring down an entire system, possibly leaving a lone developer in central Texas with no other options than to crack open a beer shortly after lunch.
<br>
|
||||
<br>
|
13
_posts/2007-01-20-how-to-ruin-a-publicly-traded-company.html
Normal file
13
_posts/2007-01-20-how-to-ruin-a-publicly-traded-company.html
Normal file
@ -0,0 +1,13 @@
|
||||
---
|
||||
layout: post
|
||||
title: How To Ruin A Publicly Traded Company
|
||||
tags:
|
||||
- Software Development
|
||||
created: 1169343041
|
||||
---
|
||||
<strong>Step 1:</strong> <A href="http://www.sco.com/products/unixware714/">Stop developing a product</a>
<br>
|
||||
<strong>Step 2:</strong> <a href="http://ir.sco.com/ReleaseDetail.cfm?ReleaseID=83558">Put a complete imbecile in charge</a>.
<br>
|
||||
<strong>Step 3:</strong> <A href="http://ir.sco.com/ReleaseDetail.cfm?ReleaseID=103273">Bring a lawsuit against one of the largest technology companies on the planet</a>.
<br>
|
||||
<strong>Step 4:</strong> <a href="http://unethicalblogger.com/files/z.png" rel="lightbox">Watch as hilarity ensues</a>. (<a href="http://finance.yahoo.com/q/bc?s=SCOX&t=my&l=off&z=l&q=l&c=">taken from here</a>)
<br>
|
||||
<br>
|
||||
$1.08 a share, the stock market is a fickle bitch.
|
12
_posts/2007-01-21-ichat-hates-me.html
Normal file
12
_posts/2007-01-21-ichat-hates-me.html
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
layout: post
|
||||
title: iChat hates me
|
||||
tags:
|
||||
- Media
|
||||
created: 1169442498
|
||||
---
|
||||
Many Mac users around the world are having problems using video chat on iChat AV. The problem is routers or so I hear, every time I try to video chat with some ( sometimes video chat works) i get an error message concerning a communication error -8. When typed into google, there are several people with my same problem, why can't iChat love everyone equally, does it just hate mexicans. Why can't I hit Video Chat and it just works, I can just hope the new OS can fix this or someone can help me.
<br>
|
||||
<br>
|
||||
Sorry Apple I just had to say it,
<br>
|
||||
<br>
|
||||
Roy
|
12
_posts/2007-01-21-mono-incorporated.html
Normal file
12
_posts/2007-01-21-mono-incorporated.html
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
layout: post
|
||||
title: Mono Incorporated
|
||||
tags:
|
||||
- Mono
|
||||
created: 1169370753
|
||||
---
|
||||
I recently posted this: <a href="http://www.bleepconsulting.com/clients/asi">Customer Brief: Autonomic Software, Inc</a> to the <a href="http://www.bleepconsulting.com">bleep consulting</a> site. While I cannot disclose too much about how "we have done what we have done" I can say that I used the <A href="http://www.mono-project.com">Mono</a> runtime to allow for them to deploy their software onto both Mac OS X and Linux.
<br>
|
||||
<br>
|
||||
When deploying at a client site recently, I used <a href="http://developer.apple.com/documentation/Darwin/Reference/Manpages/man1/packagemaker.1.html">Package Maker</a> to build a meta-package to install Mono.framework and their software simultaneously. Using the power of <a href="http://developer.apple.com/documentation/Darwin/Reference/ManPages/man8/launchd.8.html">launchd(8)</a> the installer installed a LaunchDaemon job file (.plist) and started the job with launchctl all from within the installer. On the Linux side of things <a href="http://rsync.samba.org/">rsync(1)</a> to sync things into the appropriate places and then fire off the init.d script.
<br>
|
||||
<br>
|
||||
Overall it's been quite an interesting experience bringing <A href="http://www.mono-project.com">Mono</a> into the corporate world; it's almost like you're telling somebody something that's too good to be true: "wait, I can run this under .NET on Windows, and Mono on everything else? Really?" Unfortunately because of my NDA, I can't disclose too much about the actual project, but it's certainly proved that not only is Mono "enterprise ready," it is probably a better choice to write and deploy software than most other cross-platform frameworks out there.
|
8
_posts/2007-01-22-get-your-dance-on.html
Normal file
8
_posts/2007-01-22-get-your-dance-on.html
Normal file
@ -0,0 +1,8 @@
|
||||
---
|
||||
layout: post
|
||||
title: Get Your Dance On
|
||||
tags:
|
||||
- Media
|
||||
created: 1169521713
|
||||
---
|
||||
Now that I've finally figured out where I know <a href="http://semistereo.com">Zach Hale</a> from (via <a href="http://cdevroe.com/">Colin</a> it seems) I wanted to link to <a href="http://poorleno.com/">his mixtape-blog</a>. It''s an idea I've thought about before, but never taken the initiative to do, so golf claps are in order for Zach. Anyways, they're some great mixes with lots of artists you probably haven't been introduced to just yet, check it out over on <a href="http://poorleno.com/">poorleno.com</a>
|
14
_posts/2007-01-22-no-really-what-are-you-doing.html
Normal file
14
_posts/2007-01-22-no-really-what-are-you-doing.html
Normal file
@ -0,0 +1,14 @@
|
||||
---
|
||||
layout: post
|
||||
title: No Really, What Are You Doing?
|
||||
tags:
|
||||
- Miscellaneous
|
||||
created: 1169523025
|
||||
---
|
||||
Like an idiot-moth to a bright lamp, I've somehow been sucked into the <a href="http://twitter.com">latest social web 2.0 zomgzomg craze</a>, I think it's just a subconscious geek's desire to be cool, but regardless, you can find my twitter stream at <a href="http://twitter.com/agentdero">twitter.com/agentdero</a>.
<br>
|
||||
<br>
|
||||
Most of what's attracted me to the site has been their <strong>very</strong> simple API, which has allowed me to get an application called "Twitterer" up and running in less than a few hours (<a href="http://farm1.static.flickr.com/134/365711838_09664f372f_o.png" rel="lightbox">1</a>, <a href="http://farm1.static.flickr.com/113/364696806_cbc6994d0f_o.png" rel="lightbox">2</a>, <a href="http://farm1.static.flickr.com/184/364696788_eb29e53182_o.png" rel="lightbox">3</a>). I've not yet released it (no icon!) but i've been using it for the past two days and am quite pleased with it (if I may say so myself). In fact, if you have read this before, you might notice a recent trend in posts about webservices...ahem.
<br>
|
||||
<br>
|
||||
Twitter allows the masses to finally answer the question "what are you doing?"
<br>
|
||||
<br>
|
||||
To which the masses can reply in a most resounding fashion "nothin really."
|
14
_posts/2007-01-22-webservicescore-on-the-radar-screen.html
Normal file
14
_posts/2007-01-22-webservicescore-on-the-radar-screen.html
Normal file
@ -0,0 +1,14 @@
|
||||
---
|
||||
layout: post
|
||||
title: WebServicesCore, On The Radar Screen
|
||||
tags:
|
||||
- Cocoa
|
||||
created: 1169471640
|
||||
---
|
||||
A little birdie chirped into my email wondering what the radar number for my previous <a href="http://unethicalblogger.com/posts/tyler/webservicescore_why_hath_thou_forsaken_me">gripings about WebServicesCore</a>, and I figured that for all one of the Apple employees that actually read my inane bullshit, behold:
<br>
|
||||
<br>
|
||||
Radar <a href="rdar://problem/4945073">#4945073</a> ("WebServicesCore lacks support for basic HTTP authentication")
<br>
|
||||
<br>
|
||||
Let's all cross our fingers and hope for a much needed update to WebServicesCore. If all else fails, we can tap our <a href="http://unethicalblogger.com/files/apple_shoes.jpg" rel="lightbox">shoes</a> together and wish for a new web services API right?
<br>
|
||||
<br>
|
||||
<small>(What's that weird <a href="http://rentzsch.com/notes/rdarUrls">rdar url</a>?)</small>
|
@ -0,0 +1,22 @@
|
||||
---
|
||||
layout: post
|
||||
title: WebServicesCore, Why Hath Thou Forsaken Me
|
||||
tags:
|
||||
- Cocoa
|
||||
created: 1169465965
|
||||
---
|
||||
I've been hacking around with more webservices-based applications recently (<a href="http://flickr.com/photos/agentdero/tags/twitterer/">Twitterer</a> for example) and I've also reminded myself what an utter pain in the ass they can be in Cocoa. With <a href="http://twitter.com/">twitter</a>, they make available both JSON and XML-based webservices, which is good since they use basic HTTP authentication for their user-specific webservices (i.e. everything but retrieving the public timeline). The XML-based webservices are more or less straight-forward to hack up with Cocoa, all one really needs to do is write a parser (<a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSXMLDocument_Class/Reference/Reference.html">NSXMLDocument</a>) and then make use of the URL loading classes (<a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSURLConnection_Class/Reference/Reference.html#//apple_ref/doc/uid/20001697">NSURLConnection</a>, <a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSMutableURLRequest_Class/Reference/Reference.html#//apple_ref/doc/uid/20001696">NSMutableURLRequest</a>) to retrieve and process, or POST data. This method of interacting with "webservices" (more <a href="http://www.gnu.org/software/wget/">wgetting</a> than anything else) is rudimentary at best, and in my personal opinion, isn't as robust as SOAP webservices are. It does however, work. Regardless of the framework, programming language, or geo-orbital location of the moon, they will work because all you're doing is making an HTTP GET and then parsing the results.
<br>
|
||||
<br>
|
||||
The benefit of SOAP webservices however, is the almost "literal" translation of objects encapsulated into SOAP messages, into runtime objects. In effect, if I have a Person object defined in my <a href="http://www.google.com/search?client=safari&rls=en&q=define:+WSDL&ie=UTF-8&oe=UTF-8">WSDL</a> and similarly defined in my application (with a good SOAP framework) the objects should be encoded and decoded appropriately when passed via SOAP. The real power of SOAP can be realized when used with ASP.NET (ick) webservices and .NET clients (see <a href="http://www.mono-project.com/ASP.NET">ASP.NET - Mono</a>) where you can relatively quickly and easily build and deploy a services-oriented application. That's .NET/Mono however, my work is dealing with <a href="http://dietrich.ganx4.com/nusoap/">NuSOAP</a> and Cocoa, a less than ideal mix.
<br>
|
||||
<br>
|
||||
To start hashing out a Cocoa-webservices-oriented application, your first stop should be at a local pub, brewery, or mayor's office for a good round of intoxication, only after every tissue in your body is soaked with fine casket-aged whiskey will you be prepared to embark on your journey. It's usually best to start with a complete WSDL, you can then use /Developer/Tools/WSMakeStubs to generate what resembles some Objective-C that you can flesh out to some extent to provide an intermediary layer between your sane Cocoa code and the actual SOAP method calls. Cocoa makes SOAP painful. The stub code revolves around one magical "object" <A href="http://developer.apple.com/documentation/Networking/Conceptual/UsingWebservices/3_ref_folder/chapter_3.2_section_3.html">WSMethodInvocationRef</a>. Think of WSMethodInvocationRef like you would a sadistic elf that only pops out of his little elf home to kick you in the groin before shouting "TRY AGAIN IDIOT" and scurrying away, there's a bit of magic involved, but mostly pain. Since the invocations will just return a generic "id" type, the only way to really be sure what your webservice invocation returns is to either call [NSObject respondsToSelector:(SEL)] or just trust that the webservice you called will return what you expect, whether it be an NSString, NSDictionary, NSArray, or NSNumber (NSNumber is what's returned in place of numbers and booleans, it's WebServiceCore's cheap way of boxing those primitives). TRY AGAIN IDIOT.
<br>
|
||||
<br>
|
||||
Something else to note is that things you might expect to be able to use, such as basic HTTP authentication are absolutely non-existent in the magic WebServicesCore black-box. With a URL loading-based webservice (JSON, XML) you can just use the delegate method:
<br>
|
||||
<code>- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge</code>
<br>
|
||||
And authenticate from there, popping around through the various NSURLConnection delegate methods. I have also experimented with updating the SOAP endpoint to include a URL something like the following:
<br>
|
||||
<code>http://user:password@bleepsoft.com/some/stupid/url</code>
<br>
|
||||
While one might assume the HTTP subsystem hidden behind that magical WSMethodInvocationRef would handle this appropriately, and translate it to the basic HTTP authentication tokens, it just doesn't work. TRY AGAIN IDIOT.
<br>
|
||||
<br>
|
||||
The alternatives are few and far between if you <strong>absolutely need</strong> to use SOAP webservices for a certain Cocoa project, I am working on converting a framework that <a href="http://toxicsoftware.com/blog/">Jonathan Wight</a> wrote to use the URL loading classes in Cocoa, but other than that learn to love WSMethodInvocationRef or plead with your web developers to rewrite their existing webservices with <a href="http://www.xfront.com/REST-Web-Services.html">REST</a>, JSON, etc. WebServicesCore is an antiquated pain in the ass, and probably hasn't been updated since Steve Jobs was at NeXT.
<br>
|
||||
<br>
|
||||
TRY AGAIN IDIOT.
<br>
|
14
_posts/2007-01-23-ftgl.html
Normal file
14
_posts/2007-01-23-ftgl.html
Normal file
@ -0,0 +1,14 @@
|
||||
---
|
||||
layout: post
|
||||
title: FTGL#
|
||||
tags:
|
||||
- Mono
|
||||
created: 1169571188
|
||||
---
|
||||
I neglected to mention it here, but I <a href="http://stephen.paskaluk.com/blog/?p=37">released</a> some quick code to allow me to write text in OpenGL and C#. It's called <a href="http://ftglsharp.paskaluk.com">FTGL#</a> and hopefully someone besides me will have a use for it.
<br>
|
||||
<br>
|
||||
The <a href="http://trac.geekisp.com/bleep/wiki/FTGLSharp">wiki page</a> has svn info
<br>
|
||||
<br>
|
||||
Disclaimer: I posted this in the mono category, but haven't actually tested it on mono yet.
<br>
|
||||
<br>
|
||||
Update: I have finally gotten around to actually running this on Mono (version 1.2.2.1) on Windows.
|
29
_posts/2007-01-23-thread-cancellation-in-c.html
Normal file
29
_posts/2007-01-23-thread-cancellation-in-c.html
Normal file
@ -0,0 +1,29 @@
|
||||
---
|
||||
layout: post
|
||||
title: Thread Cancellation in C#
|
||||
tags:
|
||||
- Mono
|
||||
created: 1169617431
|
||||
---
|
||||
After some recent frustrations using Thread.Abort() and Thread.Join() in C# I adopted another means of cancelling a thread. In the previous iteration of this code, it was hanging on the following code:<code>
<br>
|
||||
myThread.Abort();
<br>
|
||||
if (!myThread.Join(5000)) {
<br>
|
||||
Console.WriteLine("Failed to join secondary thread");
<br>
|
||||
}</code>
<br>
|
||||
Under certain conditions (such as invoking unmanaged code from C#), the function being executed by the thread "myThread" can cause the Thread.Join(uint) to block indefinitely regardless of what timeout value (in microseconds) is passed as an argument to Join().
<br>
|
||||
<!--break-->
<br>
|
||||
Instead of using the Thread class' functions for cancelling a thread, it is much more reliable to use a stay-alive boolean instead in your thread. In my code, the thread serves as a basic runloop that iterates a couple of times a second, so I added the following code:<code>
<br>
|
||||
private static readonly object threadLock = new object();
<br>
|
||||
private static volatile bool threadStayAlive = false;
<br>
|
||||
<br>
|
||||
public static void ThreadFunc() {
<br>
|
||||
//...
<br>
|
||||
lock (threadLock) {
<br>
|
||||
if (!threadStayAlive)
<br>
|
||||
return;
<br>
|
||||
}
<br>
|
||||
//...
<br>
|
||||
}</code>
<br>
|
||||
Elsewhere in the code, instead of calling both Thread.Abort() and Thread.Join(uint), I set threadStayAlive to false, and call Thread.Join(uint) to ensure that the thread is properly cancelled before continuing execution. I've tested this for about an hour or so trying to replicate the infinite-blocking that would occur with Thread.Abort() and Thread.Thread.Join(uint) and I've not been able to lock up my application yet with the stay-alive boolean. Checking the boolean periodically inside the thread function will allow the the code to appropriately clean up after itself instead of relying on Thread.Abort() which may interrupt whatever the thread is executing at any given time leaving your application in an inconsistent state. Catching a ThreadAbortException inside the thread function can help prevent inconsistent thread states, but I've found it's not preventing any amount of thread lock-ups like the stay-alive will.
<br>
|
||||
<br>
|
||||
Regardless of the framework, threading is never something to be undertaken lightly; it is absolutely essential to know what your thread should be doing so you don't end up with race conditions or corrupted objects. Thread handling in C# is relatively straightforward, and certainly not as frustrating as pthreads, but still can have the same general threading related bugs.
|
@ -0,0 +1,26 @@
|
||||
---
|
||||
layout: post
|
||||
title: Twitterbot. No Really, I Need To Be Stopped
|
||||
tags:
|
||||
- Mono
|
||||
created: 1169560301
|
||||
---
|
||||
Ok, <a href="http://flickr.com/photos/agentdero/tags/twitterer/">Twitterer</a> almost had a valid excuse, but this is just bloody unnecessary. I wrote a C# (Mono) news bot for <a href="http://twitter.com">twitter</a> last night out of boreom while waiting for a client to finish writing the webservices needed for my project. The Twitterbot is based <strong>very</strong> loosely on <a href="http://menti.net/?p=85">Mario Menti</a>'s perl source code, in that I took the tinyurl idea (and that's about it). I wrote the bot with the concept in mind of using one bot to manage all the feeds at once, which does have a slightly undesirable affect of posting the updates for all the feeds at once, but with a bit of tweaking that can be lessened.
<br>
|
||||
<br>
|
||||
The bot is used to run the following twitter-things: <a href="http://twitter.com/googlenews">googlenews</a>, <a href="http://twitter.com/googlenewsworld">googlenewsworld</a>, <a href="http://twitter.com/googlenewssports">googlenewssports</a>, <a href="http://twitter.com/googlenewsus">googlenewsus</a>, <a href="http://twitter.com/googlenewsent">googlenewsent</a>
<br>
|
||||
<br>
|
||||
<!--break-->
<br>
|
||||
<br>
|
||||
<h3>the technical details</h3>
<br>
|
||||
The Twitterbot makes use of <a href="http://rss-net.sourceforge.net/">RSS.NET</a> for all its incoming feed parsing, but uses the standard System.Net.WebRequest class for posting to both <a href="http://twitter.com">twitter</a> and retrieving the proper <a href="http://tinyurl.com">tinyurl</a> link. The basic structure of the bot is simple, whenever it grabs new items it'll check that feed's last (stored internally) items to prevent duplication of twitter-posts, and then will shorten the title, generate the tinyurl link and finally post the tiny message to twitter. One of the issues I discovered with <a href="http://news.google.com">Google News</a> is that they randomize the story providers for any given story, i.e. a they might push out a story to their feeds about China's shooting down of a satellite but each time the bot updates that feed may return a different title for the story from a different news organization. In order to prevent flooding, the bot currently has a twitter-posting maximum of two per iteration, which combined with the update interval (30 minutes) helps cut down on both duplicate stories, but also spamming the living hell out of twitter.
<br>
|
||||
<br>
|
||||
The file format that the bot reads feeds and twitter information from is also simple:<code>
<br>
|
||||
<feeds>
<br>
|
||||
<!-- & -> &amp; -->
<br>
|
||||
<feed name="Google News" url="http://news.google.com/news?ned=us&amp;topic=h&amp;output=rss" twitter="user" password="pass"/>
<br>
|
||||
</feeds>
<br>
|
||||
</code>
<br>
|
||||
<br>
|
||||
I think I am going to release this as open source in the very near future but I want to check with the twitter guys first to take any steps necessary to prevent spamming their goofy little service. I really think my bot would help organizations use twitter as a minimalistic content delivery platform (market-speak!) if they already spit out content in standard RSS formats elsewhere, but I don't want to step on any toes.
<br>
|
||||
<br>
|
||||
A nice and neat little Twitterbot, all in less than 300 lines of code :)
|
11
_posts/2007-01-24-twitterbot-is-now-open-source.html
Normal file
11
_posts/2007-01-24-twitterbot-is-now-open-source.html
Normal file
@ -0,0 +1,11 @@
|
||||
---
|
||||
layout: post
|
||||
title: Twitterbot Is Now Open Source
|
||||
tags:
|
||||
- Mono
|
||||
created: 1169643850
|
||||
---
|
||||
As I <a href="http://unethicalblogger.com/posts/tyler/twitterbot_no_really_i_need_to_be_stopped">previously mentioned</a>, I've written a small C# application called "Twitterbot" that grabs items from an RSS feed and retrofits them for <a href="http://twitter.com">twitter</a>. After discussing it with some of the folks over at twitter, they have no problem with me open sourcing the litte bot, so I give you, <a href="http://trac.geekisp.com/bleep/wiki/Twitterbot">the Twitterbot</a>.
<br>
|
||||
<br>
|
||||
I also added a few fixes this morning after adding the <a href="http://twitter.com/hybridized">hybridized</a> twitter-thing:<ul><li>Improved duplication checks</li><li>Refresh slow-downs between 12:00 and 6:00 am (exclusive)</li><li>Better error handling</li><li>A few comments :)</li></ul>
<br>
|
||||
The Twitterbot can be downloaded from the subversion repository, details are located on the <a href="http://trac.geekisp.com/bleep/wiki/Twitterbot">Twitterbot's page</a>. The Twitterbot is <a href="http://trac.geekisp.com/bleep/wiki/BSD_License">BSD licensed</a> and will run with both .NET and <a href="http://www.mono-project.com">Mono</a>. Enjoy!
|
14
_posts/2007-01-26-publishing-war-on-the-horizon.html
Normal file
14
_posts/2007-01-26-publishing-war-on-the-horizon.html
Normal file
@ -0,0 +1,14 @@
|
||||
---
|
||||
layout: post
|
||||
title: Publishing War on the Horizon
|
||||
tags:
|
||||
- Academia
|
||||
created: 1169829128
|
||||
---
|
||||
Apparently, predictably, and late to the party, research publishers are getting nervous about the push for <a href="http://en.wikipedia.org/wiki/Open_access">Open Access</a>. Hopefully this is just an idea for a push from the publishers that will quickly be dropped, but from an <a href="http://www.nature.com/news/2007/070122/full/445347a.html">article on nature.com</a> (found via <a href="http://science.slashdot.org/science/07/01/25/2155223.shtml">slashdot</a> of course):
<br>
|
||||
<br>
|
||||
<cite>Public access equals government censorship</cite>
<br>
|
||||
<br>
|
||||
I hesitate to even quote that because it's so far off-base.<!--break--> There was more too, but since this is just an article on a potential future publicity campaign I don't really think a thorough response is warranted. If the publishers ever try pushing this BS on the research community I have no doubt the response will not be what the publishers hope.
<br>
|
||||
<br>
|
||||
These publishers have to realize that the entire reason they exist at all is because they have been the best way to make information available to as many people as possible. Publishing researchers want their work to be available and if traditional publishers can't continue to be a relevant way to make that happen then they simply don't have a viable business model. Personally I still think there's value in subscriptions to printed journals, and I'm sure people I work with feel the same.
|
@ -0,0 +1,10 @@
|
||||
---
|
||||
layout: post
|
||||
title: Basic HTTP Authentication with WebServicesCore
|
||||
tags:
|
||||
- Cocoa
|
||||
created: 1170281202
|
||||
---
|
||||
<a href="http://www.ditchnet.org">Todd Ditchendorf</a> is the man I have to thank now, not only for his fantastic <a href="http://www.ditchnet.org/soapclient/">SOAP Client</a>, but now for "showing me the way" in terms of using CFNetwork to handle basic HTTP authentication with SOAP webservices in Cocoa. Performing the basic HTTP authentication is still an absolute pain in the ass, but it is possible nonetheless.
<br>
|
||||
<br>
|
||||
Without further ado, <a href="http://www.ditchnet.org/wp/2007/01/30/example-code-webservices-core-cfnetwork-for-soap-http-auth-on-os-x/">take it away Todd</a>.
|
12
_posts/2007-01-31-were-all-retarded.html
Normal file
12
_posts/2007-01-31-were-all-retarded.html
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
layout: post
|
||||
title: We're all retarded.
|
||||
tags:
|
||||
- Opinion
|
||||
created: 1170283296
|
||||
---
|
||||
I <a href="http://www.makezine.com/blog/archive/2007/01/aqua_teen_hunge_1.html">came across this</a> after reading a bit about the "bomb scare" in Boston today, and cannot come to any other conclusion than "we're retarded." In the picture in the article linked above, even I can clearly see that it's really not a bomb, it's hardly even a "device" but nonetheless, these "<a href="http://www.cnn.com/2007/US/01/31/suspicious.packages.ap/index.html">hoax packages caused alarm in Boston</a>."
<br>
|
||||
<br>
|
||||
I fear that in this age of increased terror-McCarthyism and ridiculous (shallow) security measues, if I were to forget my backback under the table in an outdoor café, I would return later to retrieve it and be greeted by a bomb squad apprehensively approaching my backpack filled with nothing more explosive than a half-eaten roast beef sandwich.
<br>
|
||||
<br>
|
||||
To the staff of "Aqua Teen Hunger Force" it was nice knowing you, and I'm sorry but you're all about to be implicated in an eeeevil terrorist plot to bombard Boston with poor animation; regardless, I hear Cuba has wonderful weather this time of year.
|
10
_posts/2007-02-01-im-on-another-podcast.html
Normal file
10
_posts/2007-02-01-im-on-another-podcast.html
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
layout: post
|
||||
title: I'm on another podcast
|
||||
tags:
|
||||
- Cocoa
|
||||
created: 1170371707
|
||||
---
|
||||
Steve Scott of <A href="http://latenightcocoa.com/">Late Night Cocoa</a> asked me a couple weeks ago if I wanted to come on and talk about <a href="http://bleepsoft.com/buildfactory">BuildFactory</a> and continuous integration, and then that slowly morphed into talking about webservices and Dumbarton as he noticed I posted some WebServicesCore gripes. We got to chatting a bit about why Mac developers don't seem to "appreciate" webservices as much as those in the .NET world, etc and eventually got together to record <a href="http://latenightcocoa.com/?q=node/20">Web Services with R. Tyler Ballance</a>.
<br>
|
||||
<br>
|
||||
If you've not checked out Late Night Cocoa, I highly recommend it, it's already shaping up to be a good (technical) podcast about Mac development (the <A href="http://latenightcocoa.com/?q=node/16">Core Data with Marcus Zarra</a> interview was fantastic, a hard one to follow). If nothing else I hope most developers can use my interview to get a better feel for what's available in the growing webservices (2.0!) landscape. A more active discussion about the strengths and weaknesses in the Cocoa frameworks can do nothing but make the Mac development community stronger, check it out!
|
29
_posts/2007-02-01-webservices-with-dumbarton.html
Normal file
29
_posts/2007-02-01-webservices-with-dumbarton.html
Normal file
@ -0,0 +1,29 @@
|
||||
---
|
||||
layout: post
|
||||
title: Webservices with Dumbarton
|
||||
tags:
|
||||
- Mono
|
||||
created: 1170319882
|
||||
---
|
||||
While I have been know <a href="http://unethicalblogger.com/posts/tyler/webservicescore_why_hath_thou_forsaken_me">to</a> <a href="http://unethicalblogger.com/posts/tyler/webservicescore_on_the_radar_screen">gripe</a> <a href="http://unethicalblogger.com/posts/tyler/basic_http_authentication_with_webservicescore">about WebServicesCore</a>, there are however options now when developing service-oriented applications. Introducing, <a href="http://allan.imeem.com/blogentry/gbgC7kTg">Dumbarton</a>; Dumbarton is basically a ObjC-C# bridge that makes use of the Mono embedded API to allow you to utilize C# code from within your Cocoa application. Personally, I think writing SOAP consumption code in C# using Mono or .NET is far nicer than trying to write something using C/Objective-C via WebServicesCore, so this is my "favorite" option. The word favorite being in quotes as unfortunately Dumbarton is a bit complex to use and bundle for a smaller Cocoa application.
<br>
|
||||
<!--break-->
<br>
|
||||
Dumbarton is however an option, so I wrote up a quick example that makes use of a currency exchange rate webservice via <a href="http://www.xmethods.com/ve2/ViewListing.po;jsessionid=FgQTd9d1ATcFfxMGvYXYCj-W(QHyMHiRM)?key=uuid:D784C184-99B2-DA25-ED45-3665D11A12E5">xmethods.com</a> and essentially rehashes the proverbial "Currency Converter" sample project with an up to date exchange rate. I've pushed the project <a href="http://github.com/rtyler/CurrencyConverter/"><strong>to GitHub</strong></a> in case you want to check out the whole project.
<br>
|
||||
<br>
|
||||
<h3>the nitty gritty</h3>
<br>
|
||||
Mostly because I'm a lazy developer (who isn't?) I used the standard "wsdl" executable that you can find in .NET or Mono to generate the necessary stub class for providing the last intermediary layer between our desktop application. The method that's generated (synchronous) that we'll write our wrapper for is:
<br>
|
||||
<code>public System.Single getRate(string country1, string country2);</code>
<br>
|
||||
which will handle the actual webservice invocations which we'll write a small Dumbarton wrapper for. Interacting with SOAP webservices in .NET/Mono is quite simple however, so it'd be trivial to take an existing set of generated stubs and modify them, or simply write all the code from scratch.
<br>
|
||||
<br>
|
||||
The Dumbarton wrapper provides the neccessary "boot strapping" for a bridged object between Cocoa and Mono and also "acts" as the bridged object for the C# class. For example, our Dumbarton wrapper class is called CurrencyConverter which is a subclass of DBMonoObjectRepresentation, and in the wrapper method we call:
<br>
|
||||
<code>[self invokeMethod:"getRate" withNumArgs:2,str1,str2];</code>
<br>
|
||||
which will invoke the C# method getRate(string,string) and return a MonoObject pointer. The bridged methods will return a MonoObject pointer which you can either unbox with the DB_UNBOX_* macros provided in the DBBoxing.h file, or you can invoke methods on that object like CurrencyConverter does with:
<br>
|
||||
<code>(MonoString *)(DBMonoObjectInvoke(rateObj,"ToString",0,NULL))</code>
<br>
|
||||
in order to return a string, or another MonoObject pointer to use. Overall it's really simple to use once you have all the ducks in a row, such as llinking against the Mono.framework and the Dumbarton.framework properly, and you load them into the DBMonoEnvironment appropriately.
<br>
|
||||
<br>
|
||||
<h3>notes on CurrencyConverter</h3>
<br>
|
||||
I bundled a Dumbarton.framework build that I had handy inside the Subversion repository, but I have linked this against the Mono 1.2.3-preview that I have installed on my machine, so I recommend you checkuot the latest Dumbarton from Subversion (<code>svn co svn://svn.myrealbox.com/source/trunk/Dumbarton</code>) and install the latest stable version of <a href="http://mono-project.com/Downloads">Mono</a> (1.2.2). If you feel like trying out the preview, you can grab the <a href="http://mono.ximian.com/monobuild/preview/download-preview/">Mono 1.2.3 preview</a> installer to link your custom Dumbarton build against. Something to note however, is the Installation Path in the Dumbarton Xcode project is set to /Library/Frameworks currently, so if you want to link against it and bundle it inside your application bundle you'll need to update that to <strong>@executable_path/../Frameworks</strong> and then bundle it in the same fashion you would with <a href="http://growl.info">Growl</a> or <a href="http://andymatuschak.org/pages/sparkle">Sparkle</a>. You will also need to setup a copy files or a build script phase to handle your bundling of the DLLs inside the application bundle as well. Distributing an application that uses Mono and Dumbarton is a bit stickier, as you have to pick and choose which libraries to bundle, etc, check out <a href="http://lists.ximian.com/pipermail/mono-osx/2006-December/000701.html">this thread</a> from the mono-osx list.
<br>
|
||||
<br>
|
||||
<h3>the springer final thought</h3>
<br>
|
||||
Depending on your familiarity with developing with C# in either Mono or .NET, Dumbarton may be a great option for utilize existing .NET code for webservices, write cross-platform webservices code, or just avoid the pains of WebServicesCore; it can also be another frustrating stop on the avenue of SOAPy pains if you misunderstand how Dumbarton or C# works. It's currently on my ever lengthening todo list to start documenting far more of what you can do with Dumbarton, but hopefully the examples distributed with the source, along with CurrencyConverter provide a good starting point for those who feel crazy enough to try it out.
<br>
|
||||
<br>
|
||||
As a side note, I have 8.6444 pound in my wallet right now.
|
12
_posts/2007-02-02-absolute-frustration.html
Normal file
12
_posts/2007-02-02-absolute-frustration.html
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
layout: post
|
||||
title: Absolute Frustration
|
||||
tags:
|
||||
- Opinion
|
||||
created: 1170446333
|
||||
---
|
||||
Time-Warner (again) had an outage this morning, and it has somehow left my Linksys WRT54G absolutely incapable of routing properly.
<br>
|
||||
<br>
|
||||
From the router administration page, I can ping public servers. From inside the network, I can ping ping local machines. I can properly resolve hostnames, I just can't ping anything on the public internet, from inside the network. My router has become absolutely dysfunctional as anything but a simple switch.
<br>
|
||||
<br>
|
||||
I'm only lamenting that I don't know of a taller building from which to hurl this miserable piece of shit from.
|
32
_posts/2007-02-02-mono-winforms-tao-and-me.html
Normal file
32
_posts/2007-02-02-mono-winforms-tao-and-me.html
Normal file
@ -0,0 +1,32 @@
|
||||
---
|
||||
layout: post
|
||||
title: Mono, Winforms, Tao, and Me
|
||||
tags:
|
||||
- Mono
|
||||
created: 1170457820
|
||||
---
|
||||
I finally got around to testing FTGL# with Mono on Windows. Didn't require any modification, but there's one oddity ...
<br>
|
||||
<br>
|
||||
<code>
<br>
|
||||
C:\Documents and Settings\stephen\My Documents\work\FTGLSharp\sample\bin\Debug>"FTGLSharp Demo.exe"
<br>
|
||||
Opening Font File C:\Windows\Fonts\arial.ttf
<br>
|
||||
Setting 24pt, 72dpi
<br>
|
||||
Done font initialization
<br>
|
||||
sap.ftgl.MainForm, Text: FTGL.OnActivated() called
<br>
|
||||
sap.ftgl.demo.demoControl.forceRefresh()
<br>
|
||||
sap.ftgl.demo.demoControl.OnPaint() called
<br>
|
||||
sap.ftgl.MainForm, Text: FTGL.OnActivated() called
<br>
|
||||
sap.ftgl.demo.demoControl.forceRefresh()
<br>
|
||||
sap.ftgl.demo.demoControl.OnPaint() called
<br>
|
||||
</code><code>
<br>
|
||||
C:\Documents and Settings\stephen\My Documents\work\FTGLSharp\sample\bin\Debug>mono "FTGLSharp Demo.exe"
<br>
|
||||
Opening Font File C:\Windows\Fonts\arial.ttf
<br>
|
||||
Setting 24pt, 72dpi
<br>
|
||||
Done font initialization
<br>
|
||||
sap.ftgl.MainForm, Text: FTGL.OnActivated() called
<br>
|
||||
sap.ftgl.demo.demoControl.forceRefresh()
<br>
|
||||
sap.ftgl.MainForm, Text: FTGL.OnActivated() called
<br>
|
||||
sap.ftgl.demo.demoControl.forceRefresh()
<br>
|
||||
</code>
<br>
|
||||
<br>
|
||||
I don't know yet if it's Mono or Me (I'm usually missing some detail ...) but <code>OnPaint()</code> isn't happening when it should if I fill my control with another control
<br>
|
10
_posts/2007-02-03-kernel-panics-do-weird-things.html
Normal file
10
_posts/2007-02-03-kernel-panics-do-weird-things.html
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
layout: post
|
||||
title: Kernel Panics Do Weird Things
|
||||
tags:
|
||||
- Software Development
|
||||
created: 1170535223
|
||||
---
|
||||
With the arrival of my <a href="http://flickr.com/photos/agentdero/sets/72157594514593862/">new Airport Extreme base station</a> came two new ways I can kernel panic my machine. So I now have 1, 2, 3 ways, three ways to panic my machine, <a href="http://en.wikipedia.org/wiki/Count_von_Count">ah-ah-ah-ahhhhh</a>.Besides the usual enjoyment of seeing <a href="http://farm1.static.flickr.com/125/377792291_54c0ba81bf_b.jpg" rel="lightbox">this wonderful image</a>, you can experience some weird things when your OS X machine reboots.
<br>
|
||||
<br>
|
||||
In the attached video, I found that my mouse was in a perpetual state of scrolling down. Not a quick scroll either, a nice leisurely one, the kind you take on the beach, a nice leisurely scroll down in <strong>every</strong> window with a scrollbar in the entire operating system. Gak.
|
10
_posts/2007-02-05-mono-winforms-update.html
Normal file
10
_posts/2007-02-05-mono-winforms-update.html
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
layout: post
|
||||
title: Mono Winforms Update
|
||||
tags:
|
||||
- Mono
|
||||
created: 1170697979
|
||||
---
|
||||
The pre-release version of Mono 1.2.3 handles the painting events properly, so it appears that FTGL# actually works on Mono, at least on Windows.
<br>
|
||||
<br>
|
||||
Thanks to the kind folks in <a href="http://www.mono-project.com/IRC">#mono-winforms</a> for taking a look at this for me.
|
10
_posts/2007-02-07-tiring.html
Normal file
10
_posts/2007-02-07-tiring.html
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
layout: post
|
||||
title: Tiring
|
||||
tags:
|
||||
- Miscellaneous
|
||||
created: 1170910986
|
||||
---
|
||||
I am not certain if forgetfulness is a side effect of working too much, or general stress, but I spent about a minute looking around for my keys before finding them still sitting in the lock on my front door.
<br>
|
||||
<br>
|
||||
Whoops.
|
17
_posts/2007-02-09-i-aint-shipley-but-pmpmyapp.html
Normal file
17
_posts/2007-02-09-i-aint-shipley-but-pmpmyapp.html
Normal file
@ -0,0 +1,17 @@
|
||||
---
|
||||
layout: post
|
||||
title: I ain't Shipley, but PmpMyApp
|
||||
tags:
|
||||
- Cocoa
|
||||
created: 1171013080
|
||||
---
|
||||
Ever since coming across the (draft) specification for <a href="http://files.dns-sd.org/draft-cheshire-nat-pmp.txt">NAT-PMP</a> I've been almost in love with the absurdly simple NAT port mapping protocol. The unfortunate downside is that NAT-PMP isn't well supported except on Airport base stations, one of which <a href="http://farm1.static.flickr.com/123/377791549_dd858e380e_b.jpg" rel="lightbox">I recently acquired</a>, so as is customary when I welcome a new device into my apartment, I had to write some code for it. I hate to sound like a fan-boy, but like Bonjour, <a href="http://www.stuartcheshire.org/">Stuart Cheshire's</a> other baby, NAT-PMP is sickeningly simple. A series of straight-forward UDP packets is all that is needed for a local (inside the NAT) device to create a mapping on the NAT device itself.
<br>
|
||||
<!--break-->
<br>
|
||||
To exhibit this functionality, I've created a sample application that uses a tiny little library I built to create and destroy mappings on the NAT-PMP enabled device. The application is called "PmpMyApp" and can be found <a href="http://github.com/rtyler/PmpMyApp"><strong>on GitHub</strong></a>
<br>
|
||||
<br>
|
||||
The code contained in pmpmapper.c has three basic functions that perform the functionalities that NAT-PMP provides, and are aptly named as well:
<br>
|
||||
<code>struct sockaddr_in *pmp_get_public();
<br>
|
||||
pmp_map_response_t *pmp_create_map(uint8_t type, uint16_t privateport, uint16_t publicport, uint32_t lifetime);
<br>
|
||||
pmp_map_response_t *pmp_destroy_map(uint8_t type, uint16_t privateport);</code>
<br>
|
||||
<br>
|
||||
The pmp_get_public() function returns a pointer to a sockaddr_in that contains the external IP address of the NAT device. The pmp_create_map() function does the heavy-lifting, in that it will create the actual mapping (and the deletion too, with a zero lifetime) and will tell the NAT device to persist the mapping for the number of seconds specified with the lifetime argument. The code is commented so it should be very easy to get a feel for how to use the pmpmapper functions, a good place to start is by examining how it's used in the <a href="http://github.com/rtyler/PmpMyApp/blob/master/source/XzibitController.m#L14">PmpMyApp source</a>. (<strong>Note:</strong> All of the PmpMyApp code is BSD licensed)
|
12
_posts/2007-02-09-internal-server-error.html
Normal file
12
_posts/2007-02-09-internal-server-error.html
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
layout: post
|
||||
title: Internal Server Error
|
||||
tags:
|
||||
- Miscellaneous
|
||||
created: 1171064999
|
||||
---
|
||||
You may have noticed recently (hopefully not) this site kicking back a simple, plain-text error: <code>An internal server error occurred. Please try again later</code>
<br>
|
||||
<br>
|
||||
The root of this issue was some scripts inside Drupal simply taking too long and timing out, which I believe, has been resolved by enabling <a href="http://www.geekisp.com/faq/6_61_en.html?highlight=eaccelerator">e-accelerator</a> in the site's .htaccess file. I'm hoping that has killed the errors, if it hasn't feel free to drop me a line at tyler@bleepsoft.com and let me know the site is broke again :)
<br>
|
||||
<br>
|
||||
Special thanks to Dave at <a href="http://www.geekisp.com">GeekISP</a> of course for being accommodating with my silly complaints.
|
12
_posts/2007-02-14-terminally-ill.html
Normal file
12
_posts/2007-02-14-terminally-ill.html
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
layout: post
|
||||
title: Terminally ill
|
||||
tags:
|
||||
- Miscellaneous
|
||||
created: 1171450821
|
||||
---
|
||||
There's really not a decent explanation for this, other than Terminal.app went bonkers. I've seen this happen before to some extent if you have an NSWindow that has transparent background, but a partial background drawing like here is something completely new.
<br>
|
||||
<br>
|
||||
This sort of weird nonsense only happens to me.
<br>
|
||||
<br>
|
||||
If the video link isn't showing up in the RSS feed, <a href="http://unethicalblogger.com/files/ghostly_terminal.mp4">here it is for you</a>.
|
10
_posts/2007-02-16-in-the-news-last-week-drm.html
Normal file
10
_posts/2007-02-16-in-the-news-last-week-drm.html
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
layout: post
|
||||
title: "In the news last week: DRM"
|
||||
tags:
|
||||
- Opinion
|
||||
created: 1171656501
|
||||
---
|
||||
DRM made news thanks to Steve Jobs' <a href="http://www.apple.com/hotnews/thoughtsonmusic/">open letter</a>. I don't really have anything to say that hasn't been said already, but I found an article today that <a href="http://www.engadget.com/2007/02/16/drm-the-state-of-disrepair/">sums it up pretty nicely</a>.
<br>
|
||||
<br>
|
||||
Of course I don't use iTunes much anyway, I'd much rather buy-and-rip CDs. I guess I'm doing just what Bill Gates <a href="http://www.techcrunch.com/2006/12/14/bill-gates-on-the-future-of-drm/">says</a>.
|
@ -0,0 +1,19 @@
|
||||
---
|
||||
layout: post
|
||||
title: Twitterbot Basic HTTP Authentication Errors
|
||||
tags:
|
||||
- Mono
|
||||
created: 1171880681
|
||||
---
|
||||
As <a href="http://unethicalblogger.com/posts/tyler/twitterbot_no_really_i_need_to_be_stopped#comment-17">some of you</a> may have noticed, the <a href="http://trac.geekisp.com/bleep/wiki/Twitterbot">Twitterbot</a> seems to always fail to authenticate properly against <a href="http://www.twitter.com">twitter's</a> basic HTTP authentication prompt when run from Mono 1.2.3 on Mac OS X. This was neither an error in twitter's webservice (I have been running my bots from a FreeBSD machine with Mono 1.1.13 for some time now) nor in the Twitterbot code itself, but rather a regression in the System.Net.Configuration namespace, I'll let "kangaroo" (the developer who found and fixed the bug) explain:
<br>
|
||||
<!--break-->
<br>
|
||||
<code>13:03 <@kangaroo> ok its falling in to DoPreAuth
<br>
|
||||
13:04 <@kangaroo> Authorization auth = AuthenticationManager.PreAuthenticate (this, creds);
<br>
|
||||
13:04 <@kangaroo> thats returning null
<br>
|
||||
14:04 <@kangaroo> got a patch for you
<br>
|
||||
14:04 < rtyler> to compile into mono or my app?
<br>
|
||||
14:05 <@kangaroo> <a href="http://monoport.com/1821">http://monoport.com/1821</a>
<br>
|
||||
14:05 <@kangaroo> mono
<br>
|
||||
14:05 <@kangaroo> you need a new System.dll</code>
<br>
|
||||
<br>
|
||||
The patch should make it into the next bug-fix release of Mono (1.2.3.2) and should allow you to once again run Twitterbot on Mac OS X, otherwise you might want to try another machine, or step back a few point releases if it's <em>that</em> critical to have you Twitterbot running.
|
10
_posts/2007-02-21-completely-off-topic.html
Normal file
10
_posts/2007-02-21-completely-off-topic.html
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
layout: post
|
||||
title: Completely Off-topic
|
||||
tags:
|
||||
- Opinion
|
||||
created: 1172071359
|
||||
---
|
||||
I try to separate my political leanings from my work, especially when it comes to blogging, etc, but this is too much. The <a href="http://www.reflector.com/local/content/news/stories/2007/02/19/roll_call.html">House passed non-binding resolution on Iraq</a> which is the latest in the long list of completely neutered actions by our legislative branch.
<br>
|
||||
<br>
|
||||
It's not a question of "supporting the troops" or "protecting the children" or "stopping terrorism" if you don't have the <strong>spine</strong> to keep the executive branch in check (what a quaint idea) <strong>resign</strong> so we can find somebody who isn't an absolute coward. Regardless of which side you lean towards politically, <strong>any</strong> executive branch that's given carte blanche is dangerous.
|
10
_posts/2007-02-23-im-shocked.html
Normal file
10
_posts/2007-02-23-im-shocked.html
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
layout: post
|
||||
title: I'm Shocked
|
||||
tags:
|
||||
- Opinion
|
||||
created: 1172247233
|
||||
---
|
||||
I'm shocked that anything as simple as a music download site offering popular music (not major label stuff, but still some high profile artists) in <a href="http://www.michaelgeist.ca/index.php?option=com_content&task=view&id=1719&Itemid=125">unprotected mp3 files</a> could be <a href="http://www.cbc.ca/technology/story/2007/02/22/tech-puretracksmp3launchissues-20070222.html">done so poorly</a>. Seriously, how crappy must that system be if they have to force a .wma extension onto the mp3s? If they have a non-ActiveX download setup what's the deal with Mac downloads? How hard is it to have a properly descriptive error message for Mac users?
<br>
|
||||
<br>
|
||||
I can't even come up with words to describe how poorly they've done this. Has nobody involved with this mess ever actually thought of testing the site?
|
14
_posts/2007-03-02-the-visual-basic-stigma.html
Normal file
14
_posts/2007-03-02-the-visual-basic-stigma.html
Normal file
@ -0,0 +1,14 @@
|
||||
---
|
||||
layout: post
|
||||
title: The Visual Basic Stigma
|
||||
tags:
|
||||
- Software Development
|
||||
created: 1172870489
|
||||
---
|
||||
I recently recommended to a client that a project they were looking to have done in Visual Basic should be done in C#, but I found that it wasn't as easy as I thought it would be to articulate *why* I was recommending that. The easy answer was because I'm a C programmer at heart and C# is what I'm into these days, but given that the bulk of my professional experience in the last 4-years has been in Visual Basic, and that both C# and current versions of VB are fairly interchangeable for someone familiar with both, that reasoning seemed a bit weak.
<br>
|
||||
<!--break-->
<br>
|
||||
I came across <a href="http://clintonforbes.blogspot.com/2007/02/why-dont-visual-basic-programmers-get.html">this article</a> on programming in Visual Basic and it really rings true to me. I don't enjoy programming in VB quite as much, but at the end of the day I'll look back and realize that it made almost no difference to me at all. I have the same embarrassment about programming in VB that the author talks about on occasion, and I have the same thing with Windows programming in general in comparison to C on Unix-like systems.
<br>
|
||||
<br>
|
||||
I also thought the <a href="http://en.wikipedia.org/wiki/Comparison_of_C_sharp_and_Visual_Basic_.NET">wikipedia article</a> comparing VB and C# had a pretty interesting section on the VB and C# programming cultures. I know that my first project in VB6 was terrible. I had a fairly strong C on Unix programming mindset and even though the concepts should have been the same it took me a long time to figure out how to adapt what I knew about programming "The Right Way" to that environment. I can't honestly say for certain that was the fault of VB, it may have been my unfamiliarity with doing graphical user interfaces, but to this day it still feels more natural to follow good programming practice in C#.
<br>
|
||||
<br>
|
||||
Speaking of that first VB program, I'm inclined to agree that, given enough time <a href="http://www.daltonlp.com/view/491">I will think my old code was crap</a> when I look back ...
|
8
_posts/2007-03-06-barcamp-austin-again.html
Normal file
8
_posts/2007-03-06-barcamp-austin-again.html
Normal file
@ -0,0 +1,8 @@
|
||||
---
|
||||
layout: post
|
||||
title: BarCamp Austin, Again
|
||||
tags:
|
||||
- Software Development
|
||||
created: 1173208449
|
||||
---
|
||||
It seems that I might be going to <a href="http://barcamp.org/BarCampAustin">BarCamp Austin<sup>2</sup></a> this next weekend. I'll be presenting on "the importance of webservices" or something about as exciting. I'm still working on my presentation (ick) and I'm going to try to incorporate as many useless buzzwords, pot-shots at George W. Bush, and cult movie references as possible. I'm not sure how it's going to be, at least 41% more exciting than my last BarCamp presentation on Cocoa hacking and why everybody should, but still 12% less turtle-neck than a Steve Jobs keynote. I'll be sure to post my slides and hopefully a video or audio of the presentation later, but we'll see if I can make a presentation worth posting first.
|
10
_posts/2007-03-11-teeny-tiny-updates.html
Normal file
10
_posts/2007-03-11-teeny-tiny-updates.html
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
layout: post
|
||||
title: Teeny-tiny Updates
|
||||
tags:
|
||||
- Miscellaneous
|
||||
created: 1173665916
|
||||
---
|
||||
If you look at the sidebar, you might notice a new "Twitter" column has been added, which I intend on using to keep a good aggregated feed of the unethical blogger users' <a href="http://twitter.com">twitters</a>. I have also added a new category "<a href="http://unethicalblogger.com/blog_categories/literature">Literature</a>" which I hope I'll be able to populate soon enough with book reviews, and other miscellaneous bits of criticism and commentary.
<br>
|
||||
<br>
|
||||
I've noticed a few registered users that haven't commented or blogged about anything yet, which I hope they will remedy soon enough as I'd really like to sucker more folks into using the site or "blogging unethically" (har, har).
|
10
_posts/2007-03-12-soldiers-of-fortune.html
Normal file
10
_posts/2007-03-12-soldiers-of-fortune.html
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
layout: post
|
||||
title: Soldiers of Fortune
|
||||
tags:
|
||||
- Opinion
|
||||
created: 1173688552
|
||||
---
|
||||
I am watching this show on "the long war [on terror]" ("Our childrens' childrens' war") which is covering private contracting firms that are working with the military, specifically <a href="http://www.blackwaterusa.com/">Blackwater USA</a> which is seriously one of the scariest companies I've read about in a while. I'm not a fan of our ever growing federal government, but turns out they're dutifully employing <em>mercenaries</em> in a war on an already questionable moral foundation? Fun.
<br>
|
||||
<br>
|
||||
There is no question that we're involved in a global war of ideologies, but we're walking a fine line between that and a crusade, and mercenaries only sweeten the pot.
|
18
_posts/2007-03-14-a-review-the-metamorphosis.html
Normal file
18
_posts/2007-03-14-a-review-the-metamorphosis.html
Normal file
@ -0,0 +1,18 @@
|
||||
---
|
||||
layout: post
|
||||
title: "A Review: The Metamorphosis"
|
||||
tags:
|
||||
- Literature
|
||||
created: 1173912206
|
||||
---
|
||||
Imagine yourself awaking to find that you simply aren’t; aren’t yourself that is. Such is the situation that Gregor Samsa, Kafka’s unfortunate “victim” in <i>The Metamorphosis</i>, finds himself in. Gregor awakens one morning from “unsettling dreams” to find that “he” has transformed from a (presumably) twenty-something traveling salesman into a beetle-like vermin. The story of Gregor’s unfortunate predicament begins with the climax, the transformation, and slowly descends from there to Gregor’s ultimate demise. Unlike some of the past philosophers I have read who tend to write essays or prose, Kafka’s insight takes the form of a parable of the conflicts of Gregor Samsa’s internal “self” with his external self and surroundings. This mask of fiction concealing the philosophical musings of the story makes them quite difficult to spot upon initial inspection (in my opinion), making a second read through or browsing of academic articles on the piece if not a necessity, highly recommended.
<br>
|
||||
<br>
|
||||
Kafka’s splitting insight is not for the faint of heart, at the same time that Gregor is lamenting his condition (specifically when he, as the vermin, attempts to get out of bed) he is also pleased with his escape from some of his “human” responsibilities that have shackled him to a miserable existence as a traveling salesman working in a soul-grinding firm paying off a debt owed his employer by his parents. As the story progresses, unbeknownst to Gregor, the reader is shown more to convince them that the family was more akin to vermin than Gregor may have transformed into. In Gregor’s early reflection he cites the importance of his work to help support his family and the necessity of his sacrifice (of freedom) to work in the firm that his parents are indebted to. As time wears on however, and Gregor is incapable of working (contrary to popular belief, vermin don’t sell too many Encyclopedia’s door to door) his father attains a job as a bank-messenger and his family lets out one of the rooms, in the spacious apartment Gregor provided, to three “roomers” indicating that Gregor’s degrading sacrifice at the firm may not have been necessary at all, ergo the Samsas may have been the vermin feeding off of Gregor instead of the inverse.
<br>
|
||||
<br>
|
||||
The issue of food, or rather nourishment, is another interesting theme Kafka adds into the already complex literary-gumbo of <i>The Metamorphosis</i>. The first day of Gregor’s transformation he is offered some of his favorite food by his sister Grete (we can assume she is trying to help cure what is perceived as an illness by Gregor’s family as opposed to the transformation it truly is) to which he refuses and scurries back under the couch to which he oft finds refuge. As the story wears on Grete slowly discovers that Gregor, the new Gregor, prefers what essentially boils down to table-scraps and garbage, but this is still not enough to “nourish” Gregor. He consistently complains (in thought) about a longing for nourishment, a lack of fulfillment of some sort that is finally placated one day when he hears the beautiful violin music Grete has taken to playing for the three “roomers.” This still doesn’t seem to be enough to “nourish” Gregor in the sense that he still longs for something, a certain something that he finds the fateful morning when he exhales his last breath with the rising morning sun (finding contentment, or fulfillment, with death is an interesting point Kafka raises for me after reading a few essays on both Absurdism and Existentialism).
<br>
|
||||
<br>
|
||||
Slowly Gregor becomes more of a curse in the eyes of the rest of the Samsas instead of a son with an inordinate amount of legs. When Gregor dies, it is a release in more than one sense. While Kafka cites most immediately the lifting of the burden from the Samsas’ backs, it is apparent that Gregor has also been relinquished of his conflicts with the firm, his parents, and most importantly, himself; with his death Gregor is finally set free, just as he had hoped to become after repaying his parents’ debt to his employer. While there is some academic discussion on whether the metamorphosis itself relinquished Gregor from some of his bourgeois-responsibilities, it is without a doubt that in his death he finds the freedom for which he had longed. An interesting point was raised in one of the analysis of the piece that pointed out that maybe the parents were truly the “blood-sucking vermin” with regards to the last few pages of <i>The Metamorphosis</i>, when the parents turn to Grete, the daughter, and prepare her to be married off to a good husband, pointing out that with Gregor (the initial host) gone they must switch to a new one, Grete.
<br>
|
||||
<br>
|
||||
Unlike most stories, there are no likable characters in <i>The Metamorphosis</i>, as Gregor continues to act more and more like the “vermin” he has transformed into and his parents react negatively to their son’s predicament, the reader is left without solace. Although Gregor eventually attains the freedom he had so desired, he is still a poor choice for the “hero” of Kafka’s work. That is not to say however, that there are no identifiable characters; Gregor typifies a lot of the internal struggle most found themselves in, in the whirlwind of capitalist growth in the early 20th century along with the lessening of the importance of the individual; both very fundamental conflicts most (including Kafka) found/find themselves in, especially in western culture. Simultaneously many can identify with the denial the Samsas find themselves in with their disgust of the vermin that comes to inhabit Gregor’s room. <i>The Metamorphosis</i> is widely regarded as one of, if not the, most important pieces of literature Kafka ever had published, but is a difficult pill to swallow and at the same time a worthwhile exposure of the conflict that Kafka, and many others, have struggled with.
<br>
|
||||
<br>
|
||||
I highly recommend, if you have not already read <i>The Metamorphosis</i>, purchasing the “Bantam Classics” version of <i>The Metamorphosis</i> which includes over one hundred pages of critical essays and academic discussions on Kafka’s masterpiece. Translator (and PhD) Stanley Corngold made a fantastic selection of analytic essays on the story ranging from incisive psychological analysis of Gregor’s transformation to the oedipal conflict and reversal of roles between the father and son that constantly lurks beneath the surface. Dutifully reading all of the explanatory notes on the text as well as the critical essays that Corngold included in the book drive the point firmly into place, Kafka was a brilliant writer and, like his tragic heroes, was a tormented individual who may have found solace in the escape that his death (from tuberculosis) ultimately offered him.
|
20
_posts/2007-03-18-perforce-on-the-road-p4tunnel.html
Normal file
20
_posts/2007-03-18-perforce-on-the-road-p4tunnel.html
Normal file
@ -0,0 +1,20 @@
|
||||
---
|
||||
layout: post
|
||||
title: Perforce On The Road, p4tunnel
|
||||
tags:
|
||||
- Software Development
|
||||
created: 1174220443
|
||||
---
|
||||
The best means of accessing a <a href="http://www.perforce.com">Perforce</a> repository is over an SSH tunnel, to access my home repository while I'm on the road I use a handy-dandy little script to do a few things:<ul><li>Access Perforce</li><li>Access <a href="http://www.perforce.com/perforce/products/p4web.html">P4Web</a></li><li>Setup a SOCKS5 proxy</li></ul>
<br>
|
||||
The proxy is more so I can have some semblance of security while on open wireless networks, the rest should be self explanatory.
<br>
|
||||
<br>
|
||||
Anyways, straight from /usr/local/bin, here's my p4tunnel script:<code>
<br>
|
||||
#!/bin/sh
<br>
|
||||
<br>
|
||||
HOST="yourhost.com"
<br>
|
||||
PROXY_PORT="8081"
<br>
|
||||
<br>
|
||||
echo "===> Creating tunnel to ${HOST} with a SOCK5 proxy on port ${PROXY_PORT}"
<br>
|
||||
<br>
|
||||
ssh ${HOST} -L 1666:localhost:1666 -L 8080:localhost:8080 -D ${PROXY_PORT} -C
<br>
|
||||
</code>
|
8
_posts/2007-03-22-im-seriously-famous.html
Normal file
8
_posts/2007-03-22-im-seriously-famous.html
Normal file
@ -0,0 +1,8 @@
|
||||
---
|
||||
layout: post
|
||||
title: I'm Seriously Famous
|
||||
tags:
|
||||
- Mono
|
||||
created: 1174576173
|
||||
---
|
||||
Okay, maybe not. But as it turns out, the <a href="http://www.unethicalblogger.com/posts/tyler/twitterbot_no_really_i_need_to_be_stopped">Twitterbot</a> however, is! A short 5-minute guide to setting up the Twitterbot has been created over <a href="http://engtech.wordpress.com/2007/03/22/howto-twitter-rss-broadcast-feeds-twitterbot-guide/">here on the engtech blog</a>, and does a far better job of documenting how to get started with the Twitterbot than I ever wanted to. With the help of a Twitterbot, <a href="http://twitter.com">twitter</a> can be a great news-to-SMS gateway, or damn near anything else you can think of doing with about 140 characters worth of content either IMed or SMSed to you.
|
13
_posts/2007-03-31-in-the-fifth-dimension.html
Normal file
13
_posts/2007-03-31-in-the-fifth-dimension.html
Normal file
@ -0,0 +1,13 @@
|
||||
---
|
||||
layout: post
|
||||
title: In the fifth dimension
|
||||
tags:
|
||||
- Slide
|
||||
- Miscellaneous
|
||||
created: 1175396447
|
||||
---
|
||||
I figured I might as well come out and say it, things have been changing quite rapidly lately, thus the latency on blog postings. In the past two weeks, I have accepted a job offer, moved to San Francisco, and started working at <a href="http://www.slide.com/">Slide, Inc.</a> with a friend of mine <a href="http://stuffonfire.com/">David Young</a> (and quite a few other folks who are prime friend-candidates).
<br>
|
||||
<br>
|
||||
I'm not sure yet how this is going to affect my Mac (development) musings, but what I do know is that in the coming weeks <a href="http://www.python.org">Python</a> and I are going to become best of friends...or I'm going to kill it.
<br>
|
||||
<br>
|
||||
There's still quite a few things in the pipeline, such as an update to the Twitterbot, and Twitterer, a customized version of <a href="http://andymatuschak.org/pages/projects">Sparkle</a>, and of course, <a href="http://www.bleepsoft.com">Emission</a>. I hope that the dust settles soon so I can return to wasting endless amounts of time blogging and hacking on open source projects, but that remains to be seen.
|
12
_posts/2007-04-11-cocoaheads-silicon-valley.html
Normal file
12
_posts/2007-04-11-cocoaheads-silicon-valley.html
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
layout: post
|
||||
title: CocoaHeads Silicon Valley
|
||||
tags:
|
||||
- Cocoa
|
||||
created: 1176357251
|
||||
---
|
||||
<a href="http://theocacao.com/document.page/450">Scott Stevenson</a> beat me to the punch in announcing it, but I might as well reflect the sentiment and invite you all (even those of you who actually don't live in Silicon Valley) to come out to Cupertino tomorrow (thursday) night to see if I can actually pull off a Windows-esque presentation in front of a room full of Mac developers.
<br>
|
||||
<br>
|
||||
I will be discussing a lot of the latest developments in .NET 3.0 and Visual Studio 2005 and contrasting them where appropriate to the state of Mac development with Xcode, Cocoa, Objective-C and all the other niceties that Leopard's developer tools offer. If possible I will also try to work in a bit about <a href="http://www.mono-project.com">Mono</a> as another alternative in the sea of options for developers these days.
<br>
|
||||
<br>
|
||||
I'll make sure that I either post my slides to my <a href="http://flickr.com/photos/agentdero">flickr stream</a> or the PDF of the slides to this blog after the fact. If I don't however post before Saturday that means I've probably been beaten up and left for dead by a room full of <em>angry</em> Mac developers.
|
14
_posts/2007-04-21-city-of-lost-boys.html
Normal file
14
_posts/2007-04-21-city-of-lost-boys.html
Normal file
@ -0,0 +1,14 @@
|
||||
---
|
||||
layout: post
|
||||
title: City of Lost Boys
|
||||
tags:
|
||||
- Opinion
|
||||
created: 1177201910
|
||||
---
|
||||
I have struggled to characterize the city of San Francisco ever since first coming out here for a job interview almost a year ago. The city escapes generalization because of the sheer magnitude of intermixing of races, cultures and economic classes, regardless I still am constantly fascinated by San Francisco (that and <a href='http://www.skateboardingbulldog.com/">skateboarding dogs</a> of course). There are two pervailing characteristics about the bay area that I'm noticing already that are only tangentially related, but help make San Francisco the place it is, nobody ever grows up, and it also seems that everyone is a dreamer.
<br>
|
||||
<br>
|
||||
Despite the obvious age differential between some of my coworkers, and the different types of people that I meet either walking down the street or into a bar, I feel amongst my peers. It is uncanny to come from a place like Texas where the lines between young and old are drawn firmly in the dry, cracking soil, to a place like this where the more traditional boundaries between people have deteriorated. As a weird karmic side-effect, almost everybody seems to be perpetually stuck in their mid-to-late twenties.
<br>
|
||||
<br>
|
||||
The youthful exuberance that floods over most of the bay area, and Silicon Valley, seem to be one of the many reasons why the topsoil is so welcoming to startups. Like most starry-eyed young people, not yet jaded by the harsh realities of an unforgiving world, so many people here have a dream to strike it rich. Unfortunately, like those that came to this part of California so long ago for the gold contained in the hills, almost nobody will strike gold. But just like birthday presents to your grandmother, it's the thought that counts.
<br>
|
||||
<br>
|
||||
The perpetual optimism of San Francisco has made it the butt of numerous jokes but also the target of many envious eyes and in general a fun place to be. While it is very possible that <a href="http://buzz.vox.com/">Buzz</a> might be (temporarily) leaving the insanity, I'm thrilled to join in just the same.
|
30
_posts/2007-04-25-choosing-a-platform-windows-and-linux.html
Normal file
30
_posts/2007-04-25-choosing-a-platform-windows-and-linux.html
Normal file
@ -0,0 +1,30 @@
|
||||
---
|
||||
layout: post
|
||||
title: Choosing a platform, Windows and Linux
|
||||
tags:
|
||||
- Software Development
|
||||
created: 1177526955
|
||||
---
|
||||
Came across <a href="http://www.oreillynet.com/onlamp/blog/2007/04/the_virtues_of_monoculture.html">an article</a> through <a href="http://it.slashdot.org/it/07/04/25/0050217.shtml">slashdot</a> (I should almost template that intro) that presents the opinion that Microsoft wins over developers by not offering the wide variety of development tools for Windows that are available on Linux. I've got quite a bit of insight on this topic, and I'll get to that in the context of some quotes from the article, but let me start with one thing I think the author has absolutely right.
<br>
|
||||
<br>
|
||||
<cite>Every time I thought I was going to be stuck, there were a dozen articles explaining how to do exactly what I needed to do, with sample code that was up to date with the versions of the software I was using, and that actually related to the problem I was trying to solve.</cite>
<br>
|
||||
<br>
|
||||
There are always cases where you end up thinking "this example isn't what I want" on any platform, but by and large the material you can find on <a href="http://msdn2.microsoft.com/en-us/library/default.aspx">MSDN</a> is second to only the OpenBSD man pages in documentation that I've found useful and usable. There is also a huge amount of additional information online for .NET programming (<a href="http://www.codeproject.com/">Code Project</a> comes to mind). This is the only part of the article I can say I strongly agree with.
<br>
|
||||
<br>
|
||||
<!--break-->
<br>
|
||||
<br>
|
||||
<cite>I thought I’d share a few thoughts on why people seem to be drawn to the Microsoft Way.</cite>
<br>
|
||||
<br>
|
||||
The reason I do Windows development is because it has been the platform available for every job I've had since 2001. When I was a co-op student working with industrial control systems I did PLC programming and the manufacturers provided Windows tools to work with. When I started my current day job they were looking for a nice Windows replacement for an old DOS program. I do a lot of quick data acquisition setup for experiments and I typically grab a Windows laptop and one of a pile of cheap PCMCIA data acquisition cards that we have lying around that don't have Linux drivers. I'm doing some freelance application development for a medium sized company which is an all-Windows shop. None of these reasons have anything to do with lack of choice, and I suspect my experience is fairly similar to a lot of Windows developers.
<br>
|
||||
<br>
|
||||
<cite>Microsoft offers the certainty of no choices. Choice isn’t always good</cite>
<br>
|
||||
<br>
|
||||
There is no lack of choice on Windows. Most of the options available for Linux also apply to Windows. I can do a project in Visual Basic, C, C#, C++, Java, Ruby, Python or Perl, or choose Win32, .NET, Mono, GTK+, Qt, WxWidgets, or nearly anything else under the sun. I will admit this may or may not apply as much to web development, since that is an area I generally stay away from, but saying there is no choice for development on Windows is simply not true. Just because there is an obvious preference doesn't mean the choice doesn't exist. I should state explicitly that I won't consider only products offered by Microsoft to be the same as choices for programming on Windows. Just because the OS provider is also a tool provider does not preclude the existence or use of other tools.
<br>
|
||||
<br>
|
||||
The astute among you may have noticed I've sidestepped the choice of Linux distributions, and I did so intentionally. I consider it prerequisite for becoming a developer on either platform to be a user of that platform. If you are talking about converting Windows developers to Linux developers they first have to be Linux users, at least to some level of proficiency, and vice versa. The distribution choice is much relevant to users than to developers.
<br>
|
||||
<br>
|
||||
<cite>The takeaway I get from this entire line of reasoning is this: that somehow, someway, we need to start doing some winnowing</cite>
<br>
|
||||
<br>
|
||||
What I really think about why developers program on and for Windows instead of Linux is that Windows is still the dominant environment for most of these developers, exactly the reasons I gave for my own programming on Windows. I've done some Linux programming at my day job in addition to my Windows programming. The longer I'm here the more I'll do and the less dominant Windows will become in this one organizational group. The issue as I see it isn't the quality of the OS or the available development tools, nor is it the number of tools available, it is simply a matter of inertia.
<br>
|
||||
<br>
|
||||
Unfortunately I'm in no position to bring Mac into this discussion, but it'd be great to see some discussion of that as well.
|
8
_posts/2007-04-29-site-upgrade.html
Normal file
8
_posts/2007-04-29-site-upgrade.html
Normal file
@ -0,0 +1,8 @@
|
||||
---
|
||||
layout: post
|
||||
title: Site Upgrade
|
||||
tags:
|
||||
- Miscellaneous
|
||||
created: 1177914937
|
||||
---
|
||||
Just a side note, I upgraded this site to <a href="http://drupal.org/">Drupal</a> 5.1 this weekend. I'm not sure if there will be any visible changes besides the obvious theme change, but overall things should work smoother.
<br>
|
31
_posts/2007-04-30-im-in-ur-phonez.html
Normal file
31
_posts/2007-04-30-im-in-ur-phonez.html
Normal file
@ -0,0 +1,31 @@
|
||||
---
|
||||
layout: post
|
||||
title: Im in ur phonez
|
||||
tags:
|
||||
- Software Development
|
||||
created: 1177929000
|
||||
---
|
||||
In a weird sort of cosmic coincidence, I happened to be researching some of the mobile developer tools available after a weekend of toying with the <a href="http://msdn2.microsoft.com/en-us/windowsmobile/default.aspx">Windows Mobile 5.0</a> framework (which is pretty cool by itself) within Visual Studio 2005, and while I was doinking around on the internet, I came across Nokia's <a href="http://www.forum.nokia.com/main/resources/technologies/open_c/">Open C</a> platform. By itself Open C is pretty impressive, but after digging around some more the entire Nokia development platform is certainly not what I expected. Quicker than you can say OMIGOSHSYMBIANSUCKS I found myself immersed in <a href="http://www.openmobilealliance.org/tech/affiliates/wap/wapindex.html">whitepapers</a> and code all targetted at developing for the gigantic mobile market.
<br>
|
||||
<br>
|
||||
Before I dive into Windows Mobile, I must first disclaim that I'm a relatively big fan of the .NET platform, usually by means of the <a href="http://www.mono-project.com">Mono Project</a>. The <a href="http://msdn2.microsoft.com/en-us/netframework/aa497273.aspx">.NET Compact Framework</a> (referred to as .NET CF) is merely an extension of the .NET framework meaning you can use a lot of the same code and know-how for developing Windows Forms interfaces for Windows Mobile enabled smart phones as well as already existing code for the backend of your embedded application (there is also an interesting extension on .NET CF available at <a href="http://www.opennetcf.org/">OpenNETCF</a>). The power of this sort of portability should go without saying, but why not say it anyways? Because of .NET CF I can write the same services and network interoperability code that can be used in my desktop application and take it straight over to my embedded application with zero or minimal hassle (optimizing your bloated desktop code for an embedded application is always a good idea). In addition the normal trimmings of .NET, the Microsoft.WindowsMobile namespace offers a myriad of device-specific APIs for sending messages, interacting with a smart phone's contacts, calendaring, camera, media player and all the rest that comes stock on modern Windows smart phones. With a saturday afternoon spent in an empty office pouring over API documentation and hacking furioiusly on some test applications, I could send messages, take pictures, play with contact information and do some G-rated damage to a Windows smart phone (<a href="http://channel9.msdn.com/Showpost.aspx?postid=209122">Rory Blythe's screencasts on the subject are a fantastic resource as well</a>). The obvious downside is that it <em>is</em> Windows (Mobile) and that the consumers that tend to own Windows smart phones tend to be business types who walk around with suits and have the word "synergy" tattooed on their buttocks. Not my cup of tea, nor my target market. Next!
<br>
|
||||
<br>
|
||||
On the other side of the world to Nokia. Nokia's S90 platform is expansive to say the least, and runs on <a href="http://www.s60.com/life/s60phones/browseDevices.do">quite a few devices</a> as well. While I'm certainly not "in the biz" with regards to mobile device development, the sheer size of the entire S90 platform and the varying means of using it surprised me. Nokia's S90 platform builds on top of Symbian (ick!) which, fortunately, powers more than half the mobile market but, unfortunately, sucks. You know it, I know it, even <a href="http://www.symbian.com/">Symbian Ltd.</a> knows it, so let's stop pretending. With regards to Nokia's developer tools though, they offer a relatively stock <a href="http://www.forum.nokia.com/info/sw.nokia.com/id/d9f7e9b2-3932-4358-9e8e-aa5cd26be54e.html">Java API for developers</a> to use (<a href="http://www-128.ibm.com/developerworks/opensource/library/os-ecl-rcp/">eSWT</a>? gross!), their <a href="http://www.forum.nokia.com/main/resources/tools_and_sdks/carbide_cpp/">Carbide C++</a> framework which builds on top of Symbian's own C++ libraries, and even a <a href="http://www.forum.nokia.com/info/sw.nokia.com/id/ee447e84-2851-471a-8387-3434345f2eb0/Python_for_S60.html">Python API</a> for their SDKs (the <a href="http://www.mono-project.com/Maemo">Maemo</a> work is worth a look too). Most interesting to me was their <strong>Open C</strong> project which borrows some of the best bits and pieces from a few open source projects and brings them to the mobile platform. While Nokia <a href="http://www.s60.com/life/s60phones/displayDeviceOverview.do?deviceId=262">obvious doesn't have a clue with device design</a> they do seem to be with it in terms of the open source world. Open C is built primarily on top of OpenBSD and OpenSSL libraries with a bit of libz and GNOME thrown in there as well.
<br>
|
||||
<table width="100%">
<br>
|
||||
<tr><td><b>libc</b></td><td>OpenBSD</td></tr>
<br>
|
||||
<tr><td><b>libcrypt</b></td><td>OpenSSL</td></tr>
<br>
|
||||
<tr><td><b>libcrypto</b></td><td>OpenSSL</td></tr>
<br>
|
||||
<tr><td><b>libglib</b></td><td>GNOME</td></tr>
<br>
|
||||
<tr><td><b>libm</b></td><td>OpenBSD</td></tr>
<br>
|
||||
<tr><td><b>libpthread</b></td><td>OpenBSD</td></tr>
<br>
|
||||
<tr><td><b>libssl</b></td><td>OpenSSL</td></tr>
<br>
|
||||
<tr><td><b>libz</b></td><td>libz</td></tr>
<br>
|
||||
</table>
<br>
|
||||
Either somebody at Nokia really wants to piss Theo de Raadt off, or they have a high opinion of his work! Personally I wouldn't have chose OpenBSD, but their unwaivering committment to the "absolutely open source" ideology seems to make their projects an ideal fishing ground for commercial ventures who are really looking to stand atop the shoulders of giants.
<br>
|
||||
<br>
|
||||
Even Blackberry has tools <a href="http://www.blackberry.com/developers/resources/index.shtml">readily available for developers</a>, but I can't say I've researched them too much. I'm pretty sure that people who develop applications for Blackberries go sterile or get cast outside the universe at armageddon or something.
<br>
|
||||
<br>
|
||||
The device development world is riper than ever for some killer application development, <a href="http://www.opera.com/products/mobile/">the Opera guys seem to get it</a> (they use <a href="http://www.trolltech.com/products/qtopia">Qtopia</a> from what I can tell</a>), <a href="http://www.google.com/gmm/index.html">the Google guys seem to get it</a>, where are the smaller shops? If the iPhone turns out to have some sort of "<a href="http://rentzsch.com/cocoa/iphoneIndieAppDevelopment">Cocoa Mobile Edition</a>" (a poor ripoff on my part from <a href="http://java.sun.com/javame/index.jsp">JavaME</a>) then I think we will see an influx of Mac independent developers to the iPhone as a platform all battling for a tiny niche of a niche just as they are on the Mac platform. What about the entire rest of the mobile market?
<br>
|
||||
<br>
|
||||
With the growing ubiquity of the mobile devices market the opportunity for independent developers to write killer applications for Windows Mobile, Symbian, embedded Linuxes, and possibily the iPhone, is more attainable than ever. The tools to develop are either free or cheap, and you don't necessarily need to be a hero-programmer to develop applications for these embedded systems anymore either.
<br>
|
||||
<br>
|
||||
That said, Brent, I'll buy you a beer when I see <A href="http://www.newsgator.com/NGOLProduct.aspx?ProdID=NetNewsWire">NetNewsWire</a> iPhone Edition.
|
14
_posts/2007-04-30-windows-eye-for-the-cocoa-guy.html
Normal file
14
_posts/2007-04-30-windows-eye-for-the-cocoa-guy.html
Normal file
@ -0,0 +1,14 @@
|
||||
---
|
||||
layout: post
|
||||
title: Windows Eye for the Cocoa Guy
|
||||
tags:
|
||||
- Software Development
|
||||
created: 1177980477
|
||||
---
|
||||
I finally got around to posting the slides for my presentation at the april <a href="http://cocoaheads.org/us/SiliconValleyCalifornia/">CocoaHeads Silicon Valley</a> meeting. <img src="http://unethicalblogger.com/files/keynote_icon.jpg" align="right"> The motivation for the talk was to introduce my fellow Mac developer colleagues to some of the goods and bads of modern Windows develolpment. One of the primary points I tried to bring across was that Apple doesn't <em>yet</em> have an IDE that I would put on the same level as Visual Studio 2005, which is arguably one of the most complex and complete IDEs out there (with Eclipse in a close second, in my opinion). Xcode (and friends) in Leopard are <strong>very</strong> close to taking the throne away from Microsoft in that respect, but there are still a few things that are holding them back, such as gdb, which is still a relatively primitive debugger.
<br>
|
||||
<br>
|
||||
With .NET 3.0 however, Microsoft is fighting back hard for the make-believe "most cool framework" award, with additions like Windows Presentation Foundation (formerly called Avalon). The downside of a lot of .NET 3.0 however is Microsoft's incessant love of all things XML, as WPF is based primarily on XAML which is grotesque on a good day.
<br>
|
||||
<br>
|
||||
Unfortunately I can't repeat my entire presentation, and I didn't want to post my presenter notes, but hopefully you can ascertain enough information from my presentation.
<br>
|
||||
<br>
|
||||
<a href="http://www.flickr.com/photos/agentdero/sets/72157600162163767/">Windows Eye for the Cocoa Guy</a>
|
10
_posts/2007-05-01-twitterbot-recap.html
Normal file
10
_posts/2007-05-01-twitterbot-recap.html
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
layout: post
|
||||
title: Twitterbot Recap
|
||||
tags:
|
||||
- Mono
|
||||
created: 1178062136
|
||||
---
|
||||
While trudging through some comment spam, I came across some older comments that I felt needed recapping in <a href="http://unethicalblogger.com/posts/tyler/twitterbot_no_really_i_need_to_be_stopped">this post about my Twitterbot</a>. An anonymous poster had asked about some issues with Mono on Mac OS X returning 401 Unauthorized errors when using HTTP authentication within the <a href="http://trac.geekisp.com/bleep/wiki/Twitterbot">Twitterbot</a>. The issue was fixed relatively quickly after I brought it to the attention of some of the Mono developers, and the fix will be included in <a href="http://mono.ximian.com/monobuild/preview/download-preview/">Mono 1.2.4</a> (preview available).
<br>
|
||||
<br>
|
||||
There shouldn't be any more issues with regards to running the Twitterbot on any platform supported by Mono now. In the future I would also like to add better history and duplicate checking by using either a flat-file datasource or one that feeds on a database, but the latter would probably make the program far more complex and difficult to use. Ideas, as usual, are always welcome.
|
@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: post
|
||||
title: Windows Eye for the Cocoa Guy, The Series
|
||||
tags:
|
||||
- Windows Eye for the Cocoa Guy
|
||||
created: 1178178004
|
||||
---
|
||||
After giving the idea a bit of thought and the desire to further alienate myself from my fellow Mac developers (i've noticed the drop in hits when I started mentioning Windows development versus Mac development), I've decided to turn "Windows Eye for the Cocoa Guy" into a series of posts detailing some of the architectural and semantical differences between developing applications in Cocoa on Mac OS X, and .NET on Windows. I've found myself lamenting my performance at the <a href="http://cocoaheads.org/us/SiliconValleyCalifornia/">CocoaHeads Silicon Valley</a> meeting because I felt like I either didn't have the time, or carelessly glossed over a lot of details that should have been mentioned. I was cramped for time before the presentation as well so I couldn't prepare enough (see: any) code samples or demos beforehand to pimp out some features of .NET or Visual Studio that are still lacking in Objective-C 2.0 and Xcode.
<br>
|
||||
<br>
|
||||
I'm still crafting some of my points to make in upcoming posts, by <a href="http://www.ditchnet.org/wp/">user request</a> (<a href="http://unethicalblogger.com/posts/tyler/windows_eye_for_the_cocoa_guy">here</a>) I intend to cover XAML in general (as well as <a href="http://en.wikipedia.org/wiki/Microsoft_Silverlight">Silverlight</a>) contrasted against the "freeze-dried objects" model that <a href="http://en.wikipedia.org/wiki/Interface_Builder">Interface Builder</a>, with a dash of Windows Forms Designer too.
<br>
|
||||
<br>
|
||||
Also on the yellow notepad of bloggery, I would like to touch on the differences between C# Events in how they're handled and created versus the <a href="http://inessential.com/2007/04/25.php">less than popular</a> NSNotification way of doing events in Cocoa. Major differences also exist between the ways of doing .NET asynchronous I/O compared to Cocoa "asynchronous I/O," in quotes because, as much as I love the runloop, scheduling tasks to the runloop doesn't count in my opinion as asynchronous I/O [1].
<br>
|
||||
<br>
|
||||
While I enjoy being slightly provacative, I'm really aiming to be pelted with rocks at WWDC. You'll be able to find me sitting at a table all by myself outside Moscone. Regardless of the certain doom I will face posting about Windows development from a Mac developer perspective, I hope the series will at the very least be interesting and educational.
<br>
|
||||
<br>
|
||||
<strong>1.</strong> <small>The lack of "real" asynchronous calls in Cocoa <em>bugs the hell</em> out of me. Darwin is one of the few operating systems I've developed on with functions like <a href="http://developer.apple.com/documentation/Darwin/Reference/ManPages/man2/aio_read.2.html">aio_read(2)</a> and friends. Besides scheduling a call on the runloop, you can spawn a worker thread yourself, both options don't take advantage of the <strong>aio_*</strong> functions which just...sucks.</small>
|
14
_posts/2007-05-06-my-guilty-pleasure.html
Normal file
14
_posts/2007-05-06-my-guilty-pleasure.html
Normal file
@ -0,0 +1,14 @@
|
||||
---
|
||||
layout: post
|
||||
title: My Guilty Pleasure
|
||||
tags:
|
||||
- Media
|
||||
created: 1178483600
|
||||
---
|
||||
Reminiscent of Michael Bolton, Peter's side-kick, from <a href="http://en.wikipedia.org/wiki/Office_Space">Office Space</a> I find myself indulging more and more in one of my numerous, geeky, guilty pleasures. Hip-hop. Not just <em>any</em> hip-hop, dirty south hip-hop. Sideways-sittin', wood-grain grippin', screwed and chopped, smoked-out dirty south hip-hop. One of the few exports that I'm proud Texas has produced (<a href="http://en.wikipedia.org/wiki/George_W._Bush">ahem</a>) in the last ten or fifteen years. Texas hip-hop in general is a weird mix between the "roots" of rap in that a lot of it focuses on the ghettoes and hardships the artist has experienced growing up in places like Houston's 5th ward, to the "more modern" hip-hop which has become more and more about women, cash, and cars; mainstays of any good hyper-masculine artform.
<br>
|
||||
<br>
|
||||
There. Now you all know. I'm a sandals-wearing, Volkswagen driving, computer programming, book reading, hip-hop fan. Chances are, if I'm driving somewhere, in between points A and B, I'm bumping in my blue Jetta to some David Banner, Paul Wall, Mike Jones, Slim Thug and even some good old Geto Boys. Forget the east coast-west coast nonsense, with the exception of artists like Mos Def, the new home for hip-hop is in the south.
<br>
|
||||
<br>
|
||||
While working, I listen to a few internet radio stations whose collections of hip-hop far exceed my own. In the past I have listened to a great bit of <a href="http://smoothbeats.com/home.shtml">Smoothbeats.com</a> which is a more traditional hip-hop and rap station, but since leaving Texas I find myself listening to <A href="http://thugzone.com/">Thugzone.com</a> far more. I recommend them both if you're in the same ackward cultural boat that I am, or if you just loves you some hip-hop.
<br>
|
||||
<br>
|
||||
The hip-hop scene has definitely embraced the internet with independent artists like Slim Thug and Mike Jones using it to get their music out to their audiences without relying on rich, prodominently white, record executives to decide which music was more fit for black America. Fortunately for the suburban white kids among us, who have been able to side-step the mainstream media and enjoy the works of artists who may be only from a few miles away but are on the other side of a deep crevasse of social precendence and economic class-structure.
|
@ -0,0 +1,18 @@
|
||||
---
|
||||
layout: post
|
||||
title: Our employees are our most valuable asset
|
||||
tags:
|
||||
- Slide
|
||||
- Software Development
|
||||
created: 1178791890
|
||||
---
|
||||
Having an epiphany over a two-beer lunch on a Wednesday isn't hard, and if you can't, make it a three-beer lunch. I had one such epiphany today where, as if stars in the mental mockup of the corporate world inside my head, started to come into alignment. It is one thing to release a corporate memo that states 'employees are our biggest asset'"or similarly market-drone-tainted nonsense, it is another thing to try to maintain a state of human resources nirvana where your employees genuinely <strong>like</strong> each other. In my less than expansive track record as a professional software developer, I've always chose the cut in pay, over dealing with colleagues that I don't like. That is to say, I've always opted for the companies to work for where I really enjoyed working with who I'm working with, regardless of what I've been working on. In the end, it's just code. They're just projects. And none of it really matters if you absolutely abhor your coworkers.
<br>
|
||||
<br>
|
||||
I don't. I enjoy working with who I work with, and if you've followed the constant stream of absolute nonsense from <a href="http://twitter.com/agentdero">twitter stream</a> it might start to become apparent why I spend so much time at <em>the office</em> (cue suspenseful music). I realized that I'm in the right place over the aforementioned two-beer lunch when I made a reference to a paragraph-long snippet from an ancient page of <a href="http://www.jwz.org">Jamie Zawinski's</a> and everybody at the table knew exactly what I was talking about (<a href="http://www.jwz.org/gruntle/nscpdorm.html">Wednesday, 21 September 1994</a>). The references to <a href="http://en.wikipedia.org/wiki/Arrested_Development_%28TV_series%29">Arrested Development</a>, or just the common understanding that we will all make jokes, and often the funnier ones are at each others' expense, all make the office a very enjoyable place, to where you can find yourself getting carried away until the wee hours of the morning. (<a href="http://www.slide.com/static/jobs">Did I mention we're hiring?</a>)
<br>
|
||||
<br>
|
||||
The startup atmosphere is certainly refreshing after dealing with smaller companies for so long that just "don't get it" when it comes to balancing between trying to bring products to the market yesterday, slowly grinding employees into either burnout or other companies, and the companies that don't understand you're allowed to think big, even if the payroll is small. It is also harder for companies to grow, while maintaining their "startup" tendencies. Apple seems to be proverbially stuck in the "90 hours and loving it!" mode, while Yahoo! has gone from a Web 1.0 blitzkrieg of products to a slow, lumbering giant that operates in every sense that you'd think a large software company, with the right hand not knowing exactly what that pesky left hand is doing over there. Google just has too much damn money. Microsoft is disintegrating into the IBM of old, and all of them fail to capture the fun and excitement of the startup, even though some have tried so valiantly to replicate it[1].
<br>
|
||||
<br>
|
||||
At the end of the day, the majority of us (Americans) need to find some sense of satisfaction and identity in what we do for a living, the importance of who you work with for the majority of your day is the difference between waking up in the morning and dreading what is to come, and waking up in the morning looking forward to lunch just so you can cut out of the office and hang out with your coworkers (I was going to fabricate some statistics about heart disease and stress levels, but the well ran dry shortly after that two-beer lunch when I exceeded my quota of bullshit for the day). In any given job interview that I've been on, I've always been measuring them up while they measure me up, asking myself important questions like if I work here:<ul><li>will this person annoy me?</li><li>will I be thoroughly caffeinated?</li><li>will I <strong>need</strong> to work 12 hour days, or might I just choose to sometimes?</li><li>if we accidentally got into a bar fight with a competitor, would we win?</li><li>will the world come to an end if we miss a deadline?</li></ul>There is little worse (professionally) than ending up on a team, or in a company with people you would try to avoid in public, but on the flip so there is little better (professionally) than ending up on a team, or in a company with people you would come to the office to hang out with even if you didn't have to.
<br>
|
||||
<br>
|
||||
<br>
|
||||
<strong>[1]</strong>: <small>The startup atmosphere seems to thrive around the idea of "make it big or go home." They tend to know that their time is limited so they try to shoot for the stars while they have a chance, some make it there, some burn up on the descent back down.</small>
|
10
_posts/2007-05-19-sp4mz0r.html
Normal file
10
_posts/2007-05-19-sp4mz0r.html
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
layout: post
|
||||
title: Sp4mz0r
|
||||
tags:
|
||||
- Miscellaneous
|
||||
created: 1179610398
|
||||
---
|
||||
After receiving an email a few weeks back about blog spam on my former blog, I decided that I'd go ahead and remove it. About 500 random spam comments later, it's been mostly removed. I'm still wondering if the captcha is <em>that</em> much better for Drupal, or if I've simply not posted anything popular enough to register on the Digg, or O'Reilly blog radars to attract the spam bots? I feel so unloved :)
<br>
|
||||
<br>
|
||||
As a side note, I finally got around to fixing the Drupal mail issue for this site, so if you attempted to register, but never got the confirmation you can request a new password to reset your account. I'm also testing the Twitter Drupal module with this post. Oy.
|
31
_posts/2007-05-26-conference-season-osbc.html
Normal file
31
_posts/2007-05-26-conference-season-osbc.html
Normal file
@ -0,0 +1,31 @@
|
||||
---
|
||||
layout: post
|
||||
title: "Conference Season: OSBC"
|
||||
tags:
|
||||
- Opinion
|
||||
created: 1180231424
|
||||
---
|
||||
I was fortunate enough to be able to go to "OSBC" (Open Source Business Conference) during this past week, I didn't exactly have a badge and I didn't register, I walked right in and snooped around since OSBC was hosted at the Palace Hotel on New Montgomery and Market St (a mere two blocks from <a href="http://www.slide.com">Slide</a> offices). It was <strong>right there</strong>, how could I resist? While at OSBC I met up with my good friend <a href="http://talk.bmc.com/blogs/blog-whurley/whurley/">whurley</a> to have lunch, meet some folks, and the usual pointing and laughing at the suits scurrying about. After the meeting a few folks and taking in a lot of what was going on, I couldn't help but thinking:
<br>
|
||||
<br>
|
||||
<center><strong>Shit.</strong></center>
<br>
|
||||
<br/>
<br>
|
||||
<br>
|
||||
<em>They</em> know, <em>they</em> know, <em>they</em> know. Not only do <em>they</em> know, <em>they</em> now use it casually the same way <em>they</em> started to talk about "emerging web technologies", the "services oriented architecture", the "power of viral marketing through the blogosphere", etc.
<br>
|
||||
<br>
|
||||
<em>They</em> are now talking about "leveraging open platforms" and "the convergance of open source and <em>their</em> systems". <strong>This</strong> has become nothing more than a bullet point on a poorly made PowerPoint presentation, nothing more than another tagline in a corporate press release.
<br>
|
||||
<br>
|
||||
<center><strong>Shit.</strong></center>
<br>
|
||||
<br/>
<br>
|
||||
<br>
|
||||
It's over now, it was such a fun ride, but it is so over it hurts. Looking at the big companies re-orienting themselves around a more "open source" attitude is almost as painful to watch as last year's State of the Union address. Apple adopted open source out of necessity, Novell adopted open source out of necessity (besides, remember how much Groupware SUCKED?), why are these other companies adopting open source? It's the hip new thing of course!
<br>
|
||||
<br>
|
||||
Overhearing suits talking to one another, blindly curious as to what the others' companies' "open source strategy is" is like nails on the chalkboard of my little open source soul. It is a completely empty thought for <em>them</em>, just as once upon a time <em>they</em> were buzzing about <em>their</em> new "web presence strategy" regardless of whether or not it made sense for "Johnson Toxic Chemicals USA, Inc." to have a web presence, <em>they</em> wanted one so they could checkoff a tally-mark on the "Uninformed Suits Monthly" magazine survey.
<br>
|
||||
<br>
|
||||
If we're lucky they won't corrupt it too much like they did to the internet in the late 90's. <a href="http://talk.bmc.com/blogs/blog-whurley/whurley/observations-from-osbc">whurley's</a> comment "they're here" with regards to the number of lawyers that he came across at OSBC is extra-special scary. It's funny though, just the other week as I was partaking in yet another "GPL vs. MPL vs. BSD" license flamewar, I couldn't help but think: "you know what would make open source better, <strong>some more fucking lawyers</strong>." The only way I would want lawyers muddling with open source would be if their name was "Johnny Cochran," <a href="http://en.wikipedia.org/wiki/Chewbacca_defense">purely for the entertainment value alone.</a>
<br>
|
||||