Check out my latest product, BuildFactory

Archives: September 2006
30/09 BuildFactory 1.1...coming really soon, honest!
I've been spending most of my days recently writing cross-platform C# (using the Mono platform) for a client of mine, as a result, my Cocoa development has fallen by the way side. As a side note, I am using Xcode for all my C# development, which keeps me sane, but it's just not the same as Objective-C ;)This weekend, in addition to being sick, I've been trying desperately to crank out the 1.1 version of BuildFactory. Development in this fashion is somewhat risky however, I'm probably going to introduce bugs in the flurry of bug fixes, and features, that I am committing this weekend. The only means I have with which to combat this, is a bit of strenious testing, which I will probably dedicate an entire afternoon to before I release BuildFactory 1.1.
In all honesty, with the number of features that I'm trying to cram into this release, it should probably be a 2.0, but I'm sticking to 1.xx for some time now because I think BuildFactory 2.0 will be revamped from the ground up when Leopard is finally released to the public and Xcode 3 is available for everybody.
Enough of my rambling however, here's the newest feature I wanted to tease my blog readers with (both of you), project duplication in BuildFactory.
[tags: cocoa, bleep, buildfactory, xcode]
30/09 vindication
Phil Aaronson hassled me a good deal a few days ago about my use of the term "trippin' the life fantastic." Today I stumbled across a bit of footage that has made my entire week(end). The footage is from the "Empire State Building" episode of "Modern Marvels" one of the coolest shows on the History Channel, featured in this clip is a career politician by the name of Al Smith, a native new yorker who embodied the spirit of New York as governor of the state and then as he lead the push to build the Empire State Building during the first couple years of the Great Depression.So Phil, and everybody else, enjoy, Al Smith: tripping the life fantastic (you may need to turn up your volume a bit).
[tags: alsmith, empirestatebuilding, trippingthelifefantastic]
28/09 trippin' the life fantastic
Speeding down a frontage road in northern San Antonio any where between five and twenty miles per hour over the speed limit, I drove, right foot on the gas, left foot switching between the clutch and the imaginary kick drum embedded in the floor boards of my VW Jetta.I was just going up the street to get a double quarter pounder from McDonald's, because sometimes when working late at night, the only thing that hits the spot is bound to rest in my intestines for the next week, but I'm sort of fine with that. The quick trip up the street turned into a right out of the McDonald's parking lot, and turn after turn on empty streets while the residents of northwest San Antonio slumbered. In a matter of minutes, I had devoured the entire hamburger, and found myself flying down relatively large city streets at sixty miles per hour, singing along to the music playing from my iPod at the top of my lungs, cool autumn night air flooding in from my open driver's seat window. As I turned right onto the frontage road that runs alongside the 1604 loop (the quasi-boundary between the outer limits of San Antonio, and the surrounding countryside/suburbs) a song titled "Feel Alright" from a great band that couldn't keep it together long enough to release a second album, Gratitude, started playing, and appropriately, I steadied the symbals on the dashboard, and tightened the snare at the base of the steering wheel, dropped into fourth gear and accelerated off into the night literally singing along until my voice grew hoarse as the tune came to a close when I reached the final turn onto the other end of the street I originally pulled into McDonald's from.
As I pulled into the apartment complex parking lot, and turned my blaring music off, my ears almost resonated with the sudden abscence of sound, signaling a silent end to a brief fifty minute venture off into the night for some late night grub. Walking up the stairs to my relatively boring apartment, I came to the realization, I am truly 'trippin the life fantastic.'
After a summer trying to get consulting in order, and far too many situations that left me thinking "are you
This isn't really relevant at all to the development-topic of this blog, I just wanted to make sure that if an asteroid hits earth tomorrow, you all know it's probably my fault ;)
"Trippin' the life fantastic" is a term from my brother by a different mother, Zech Leal who uses it often, it's his fault that it's in my vocabulary at all
[tags: jetta, gratitude, thisisasillypostandishouldgetbacktowork]
27/09 what a terrible pun
Todd Manning, a.k.a. gammah has found a hole in Bonsoir. As it turns out, running on caffeine at four in the morning, I write some pretty terrible code ;)The crux of the flaw is that Bonsoir writes the NSData object it receives over the NSSocketPort straight to /tmp/%@.vcf, meaning that its possible to send a file that would over-write another file via a relative path on the system (such as ../../../../Users/tyler/.ssh/authorized_keys). Todd told me that he's tried as hard as he could to get the host machine to execute code, but it won't, so the flaw is not too major (see: stupid) but it does allow files to be overwritten over the network (if you fetch a user's flawed vCard).
While not a huge problem (given the number of Bonsoir users is in single digits), it is a pretty careless mistake on my part; whoops. Here's Todd's patch to the current version of Bonsoir
Todd wrote up a bit of an Bonsoir + exploit extension application, that he's deemed "BoneSaw" (Todd is about as creative as mashed potatoes). I've mirrored and uploaded a screenshot of "BoneSaw" which can be found here.
[tags: bonsoir, bonesaw, exploit, cocoa, iwirtebadcodewhentired]
18/09 one thousand lashes with a wet noodle
Besides a complete waste of time, bandwidth, and productive brain cells, I had always wanted this blog to be so much more than everything else out there on the web. Unfortunately, this is me we're talking about.Anyways, while doing some Mono/C# related research/work, I stumbled across a bit of code using the Cairo library, and GTK# to re-implement a somewhat more rectangular version of the Apple progress spinner, so here it us, courtesy of Christian Hergert.
Below are various implementations of the spinner pictured above
Note: With exception of the last bit of code, the prior three rely on GTK and Cairo
[tags: mono, apple, csharp, gtk, cairo]
15/09 to: redhat
So, Dave mentioned that I've been picking on centos a lot lately. Well I just want to make clear that I think you're all idiots, and I hate each and every one of you. I don't mean to single anyone out.
Love,
Tyler
Tyler
If you're feeling sadistic, did you know there's a c api for rpm. Its been a long week.
[tags: linux, redhat, centos, rpm, itsajokestupid]
11/09 Changing The World, One Revision At A Time
Mention all the wonderful features that any certain source control system offers to a room full of nerds, and very soon, you'll have a roomful of geeks who'd rather be hacking, sleeping, or watching anime. The number of amateur, hobbyist, or even "professional" developers who aren't familiar with source control and all the benefits of source control is staggering, and somewhat depressing at the same time. The benefits of using any system for source control far outweigh the costs involved of setting such a system up. Now that both CVS, and Subversion both fill out the more basic needs of most developers, there really is no reason not to use a source control system (also known as a "version control system"). Evolution is the name of the game, not in a Darwinian sense (except for the mutation part), but in the sense of gradual change, all source code evolves, regardless. At no point in time will a developer EVER write code to be used once, without changes, essentially, read-only code (unless you are a perl developer, and in that case, might I recommend a large bottle of Johnny Walker Black Label). All code evolves in some form or another, there will always be changes to introduce and with changes, comes bugs, regressions, and other evil sounding spooky terms.A version control system at its most basic level, is a great means of backing up your source code. Given how almost every major version control system (or "VCS") operates, you will develop on your "local working copy" and then commit those changes to the version control server, whether it be local, or running on a remote machine. Say you get a little trigger happy with the command+delete keyboard short-cut while browsing around the file system, a version control system (VCS) ensures that all is not lost, a very simple set of commands and you can have a minty fresh local working copy "checked out" from the VCS in no time. This will invariably save you endless hours of frustration at some point in time, man is by nature a silly creature and has the tendency to make silly mistakes, if you've ever watched yourself accidentally lock your keys in your car, then you're the exact demographic I'm talking about: homosapiens.
08/09 Teatime with a dash of Cocoa
Unfortunately I couldn't get a plane ticket to London for this weekend's CocoaDevHouseLondon event, which should be tonnes of fun. The event will happen at "The Clore Management Centre" (Birkbeck University, affiliated to London University), which can be found on this map as building #2 and is set to occur between 9 am and 9 pm. As per usual, you can stop by the IRC channel, #cocoadevhouse on the freenode network or join the Google Groups mailing list to discuss the event and/or just about anything else Cocoa. If you can attend the event add yourself to the wiki, or rsvp on upcoming.org.Suggested projects to hack on or brain storm about are: Audipad, or my own abomination, Bonsoir. Of course, given the nature of CocoaDevHouse, new ideas are more than welcome, and almost expected! :)
Finally, a special thanks to Realmac software, Wired Up & Fired Up and bitcartel for their sponsorship of CocoaDevHouseLondon.
CocoaDevHouseTexas which was set to go on this weekend too has been postponed, I'll take responsibility for not finding the venue and getting all the tidbits worked out
[tags: cocoadevhouse, cocoadevhouselondon, cdhlondon, pippipcheerio]
08/09 Forget CentOS, use Fedora
I can now say with confidence that CentOS is complete garbage. I've ranted in the past about what a complete load of misery CentOS is as a Linux distribution, but I've come to the final conclusion that it is in fact, a complete waste of your time, drive space, network bandwidth, and blank CD-Rs. I would highly recommend that if you are going to use a Linux distribution, use Fedora or run about in circles piling feces on your head, because frankly, either of those is a better alternative than CentOS is.Through some sort of black magic, I've been able to burn a few FreeBSD ISOs recently, but each CentOS (4.3 and 3.7 ServerCD) I've downloaded at burned has come out "corrupt." I wish they were corrupt in the sense that the CDs wouldn't boot, that'd be understandable, but these CDs continuously fail the installers own media verification tests. I've seen this happen too many times with CentOS ISOs that I've just given up on wasting my $0.10 CD-Rs because it's just not worth it anymore.
There must be a better way I'm sure you're pondering to yourself, alas there is! I could do a network install using either an NFS server, an FTP server, or an HTTP server to install CentOS from instead of that local CD. As I precariously navigated the network setup screens, I was presented with one that said:
Please enter the following information:
o the name or IP number of your Web server
o the directory on that server containing
CenOS 4.3ServerCD for your architecture
o the name or IP number of your Web server
o the directory on that server containing
CenOS 4.3ServerCD for your architecture
Ok, so nobody in the CentOS project had the foresight to add a prepared list of mirrors for my "convienence," I suppose that's permissable, a hop skip and a jump past the realm of moronic and straight into the front yard of idiocy, but permissable. Being the savvy user of the internet I quickly navigated the CentOS web site finding a mirror and entering the details of a mirror within the state of Texas (to lighten the network load, it's not like a big dump truck you know) I hit enter expecting the CentOS installer to go forth and populate my hard drive, but alas, that would be far too "logical" "straight-forward" and "in line with what one would expect from a Linux distribution released since 1994." I was immediately presented with a DNS error, despite the network already have been properly configured, the CentOS installer just couldn't wrap its little personified brain around the concept.
It's about at this time that blood starting shooting out of my eyes and my arms detached from my torso, after which I leaned over and tapped out fedora.redhat.com with my nose on the keyboard leaving the most arcane Linux distribution I've ever used in the dust forever, CentOS.
Blood didn't really start spurting from my eyes, I made that part up, but my arms did fall off, honest!
[tags: centos, fedora, core, redhat, completeanduttergarbage]
07/09 Universal Perforce API
I couldn't quite think of a witty title for this one, but I've generated a universal version of the Perforce API. In the forthcoming days I'll most likely be creating, and releasing a Cocoa framework to integrate with the "p4 api" which will hopefully at some point in time find it's way into BuildFactory.p4api_macosx_universal.tar.gz
[tags: perforce, macosx, universal, p4, api]
06/09 Bikeshed, open source at its finest
If you are unfamiliar with the term "bikeshed" then you're probably an average human being, unfortunately, it's a relatively FreeBSD-centric term but I'm beginning to notice just how apropos it is to the rest of the open source world as a whole.The term "bikeshed" exists mostly in FreeBSD lore but a bit of explaination is in order. In almost any open source project, developer mailing lists exist, these mailing lists facilitate a means to insult, flame, and refer to your fellow hackers in a condescending manner while still maintaining the appearance that your opinion is valid (you're on the mailing list, so obviously, your voice is worth hearing!). Larger open source projects, like Debian, FreeBSD, OpenBSD, Firefox, and X.org have multiple mailing lists, each for their own purpose, but there's no escaping the generic "hackers" or "developers" list in each of these respective organizations. In FreeBSD, it might be the freebsd-current@ or the freebsd-hackers@ mailing lists, in OpenBSD, the misc@ mailing list, and so on. Discussions on these lists range from bickering about code quality, to bickering about new features, and if you've got nothing to do on a Sunday afternoon, are a wonderful waste of time.
Use of the noun "bikeshed" in the realm of software was introduced to the FreeBSD project by one of my geek idols, Poul-Henning Kamp or phk@. The basic idea of "bikeshed" is that in any given project, either open source or not, there will be some very complex things that need to be done (such as GEOM) and these complex concepts will bypass the politics and opinions of the masses mostly because so few can truly understand the concepts. Problems arise however, when simple tasks such as adding minor new features, which can be related to building a bike shed. Anybody can build a bike shed, and because of this, anybody and everybody has an opinion as to how to build aforementioned bike shed, and as to what color to paint it. It's a means of "staying involved" and making sure others know you're "doing something," when it really means you're just sharing your opinion because you've got one (when in reality, you should probably just shut the hell up and return to playing nethack).
04/09 BuildFactory v(1.1), Coming Soon.
I'm hard at work right now on BuildFactory 1.1, amongst other things. The next point release of BuildFactory will contain quite a few bug fixes as well as some fantastic new features, some of which I've neglected to add for quite some time.Features include:
- Pre-/Post-Build Scripting
- Additional xcodebuild(1) parameters
- Improved Subversion integration via SvnCpp
- Bug fixes galore!
I've uploaded a quick outline of some of those features in this screencast of BuildFactory v(1.1)
[tags: cocoa, apple, buildfactory, xcode, macosx]
01/09 nerdy spice
i've been working really hard this week, but i'm still plagued by the one question i cannot answer:which spice girl would you be?
[tags: friday, spicegirls, popmusicreallysucks]
01/09 no really, it sucks
I made a post a while ago titled i hate open source, sort of. Today I stumbled across the biggest thing that infuriates me about open source:--[snip]--
The following package will be installed or updated:
gtk-sharp
The following 234 additional packages will be installed:
--[snip]--
The following package will be installed or updated:
gtk-sharp
The following 234 additional packages will be installed:
--[snip]--
Grumble.
[tags: opensource, gtk#, gtk-sharp, jeezychreezythatsalotofpackages]


