hosting sourcecontrol comments edit

For my personal coding projects at home, I’ve been using the free one-user version of SourceGear vault for my personal source control needs. As you know, having proper source control is #1 on The Joel Test.

But since I’m embarking on a project with Micah who lives in San Francisco, we need something better than to host on my little Shuttle system at home. We need hosting!

After some preliminary research, I’m leaning towards a semi-dedicated server from WebHost4Life. The Basic plan includes 150 GB of bandwidth, 2000 MB of Space, 2GB of SQL Server 2000, ASP.NET 1.1, Sharepoint Team/Windows Services, and on and on. Plus, no setup fees, and it’s $79.35 a month. This is a LOT cheaper than an equivalent option at DataPipe. DataPipe offers 5 nine uptime, but I think the 3 nines will be adequate.

This server will host our source control (which requires SQL Server and .NET) as well as a staging site for our client. If you know of a better option, please leave a comment. I’ll let you know what we end up deciding.

comments edit

Today, my boss, the CTO, announced that I’m leaving the company to join the adult movie industry. Don’t worry, I’m actually not out to challenge the supremacy of John Holmes. That just happens to be the typical way he likes to announce the departure of employees. I’m just joining the seeming legion of developers who are going independent.

I actually gave notice two weeks ago, but I had promised not to say anything until my company had a chance to figure out how to deliver the news. Hence I didn’t mention it on my blog. Not that any of my coworkers read my blog (I think). But just in case, I wanted to be true to my word.

It’s funny how keeping a secret from your blog can affect how much you write on your blog. It’s as if I was worried that I’d start writing about how Test Driven Development will save your soul and suddenly blurt out, “oh by the way, I’m leaving my company. oops!”.

The first big contract I’m working on is with my friend Micah, one of the smartest software architects you’ll meet (and you’d find that out if he kept a damn blog. hint hint!). He’s fluent in both .NET and Java (where I’m lacking). We’re hoping to also work with my friend Kyle, one of the smartest people I know across the board. We’re positioning ourselves as Solution Architects, or as my former CEO put it, we’re “portable CTOs”. I’ll write up more about what that means later, but essentially it means we’ll help our clients implement the right solution, not just sell them a solution based on a religious preference for a particular platform or custom development when a product would do.

If you’re in need of a portable CTO, software architect, grunt developer on a project, send me an email. I’m also looking to get into process improvement consulting etc… That’s something I have a lot of experience with that I’d like to capitalize on. This includes helping teams get started with TDD, NUnit, Cruise Control, etc… I’m also available for code reviews etc… Sometimes you just need an extra pair of eyes.

In any case, I’m very excited and anxious about this big transition. Now I’m head deep in studying tax law and health insurance policies. Wish me luck and advice is appreciated.

comments edit

Don Park outlines an interesting potential solution to Google’s proposed Auto Link feature of its Toolbar. Essentially his solution is to allow content author’s to opt-in via tagging content for auto-linking.

The question I have about this is if you’re going to go to all the trouble to mark up your content in this way, why not just provide the link yourself? One benefit I do see is in the case of an ISBN number. As a content producer, I might link to Amazon. However, if my user has an account at BookPool, she might configure the auto-link toolbar to link ISBNs to that site instead.

Of course, in general, I might not want that since I’d prefer to get credit for links to Amazon. But that’s beside the point. If I opt in, it’s the potential to give users more control. This assumes that Google gives user that level of control.

Another question I have is if content authors start using this tag, what stops browsers from adding AutoLink to pages that opt-in? In effect, Don’s suggestion creates an extension to HTML and by being opt-in, anybody should be able to hook into that, not just Google.

I’m not sure Google would want to go that route. Microsoft had its hand slapped by attempting an auto-link. Google perhaps thinks it can squeeze by since it’s not a monopoly power on the desktop and it promises to “do no evil”. But by making AutoLink opt-in, that should in theory make it palatable for browsers such as IE and FireFox add that feature.

Ultimately, I think AutoLink would be a great feature if it was controlled by the users. A user could control links to addresses so that they go to his or her favorite mapping site and an ISBN would link to the user’s favorite bookseller.

comments edit

My friends are always looking out for me. Apparently Tre (aka Macktastic Tre Flava) realized that as an elevated player, I was in dire need of a pimp name. So he helpfully sent me a link to the Pimp Name Generator one of the many useful utilities on

So from now an, all you suckas can call me Big Playah P Rock. My lovely wife will heretofore be known as Golden Brown Akumi Slim. Respect!

comments edit

It’s really coming down out there. On the freeway today I started hydroplaning a bit. Be careful out there. I’ve been pretty quiet on this blog due to being very busy. I have some big personal news (no, we’re not pregnant) to announce, but I promised not to announce it till others announce it.

comments edit

I want an add-in to my instant messaging apps whereby if someone responds to a message by me with just the word “ok”, it doesn’t pop an instant message window if I’ve closed the window. Perhaps it can filter any messages with just the word “ok” and flash the system tray or something. Anything. Just don’t get in my way.

comments edit

My friend Thomas Wagner has a small epiphany of sorts. At first, I thought he was writing the biography of my first year at my current job. But apparently this is quite common among businesses.

Very frequently the profit center of a company drives the development schedule and also drives the pressure being excerted on a developer or team. Can you guess who the people are that drive most of the profit? Those crazy lunatics in the Sales Dept.! Yes, the flunkies who like to bend reality in order to make a deal. Those are the folks that set your schedule and drive your work.

Just the other day, I was working on a task that requires certain deliverables from the marketing team be in my hand before I can even begin. Of course those items were delivered late, but naturally I get several emails in the span of the day asking for the status with wording like

This is something a client is waiting to see and technically it’s already late. Yadda yadda please get it done ASAP.

My reply was [edited slightly to protect the guilty] (note the weird pronoun use as time travel is involved).

I’ll tell you what, I will personally bend space, time and reality so that the deliverables will have been delivered to me a week prior to the day they actually were. And then I will personally spike everyone’s water with SPEED so they will have been working faster this entire time, and I will swap out our networks with a 1 TB connection so data will have been transferred faster. Also, I’ll swap out our systems with quantum computers so that they too aren’t limited by the silly constraints of a linear time continuum.

Of course, we have to remember that Sales and Marketing guys have their own pressures and are human too. Sometimes they aren’t all flunkies and can even be intelligent and witty as his reply indicates:

I think I saw a quantum computer at the local pawn shop… crazy shit.

Afterwards I reminded myself not to be such a jackass to this guy. But then again, the more of a jackass I am, the funnier he gets.

comments edit

There’s a house on fire a couple of blocks away. It’s a veritable light show down there with nearly 10 or so fire trucks arriving on the scene.

House Fire

comments edit

I love Ian’s response to James Gosling’s opinion on .NET’s C++ support and it’s supposed inherent insecurity. It’s basically a “Booyah! In your face” piece as he bit by bit dissects Goslings arguments and presents a Java example that directly contradicts Gosling claim that type unsafety is incapable in Java.

Ian, you’re the man! If you’re in L.A., I need to buy you a pint.

It just goes to show that it’s not just Ballmer who spreads the FUD thick. It’s time to bridge the Java/.NET divide and be reasonable here. The “religious” wars aren’t worth the time and energy. Quit spreading FUD in both directions and realize that both technologies have their weaknesses and strengths. It’s really disappointing to see this type of FUD from someone as respected as Gosling. I guess I expect that sort of thing from Ballmer.

comments edit

In his latest entry about life as a infrastructure reconstruction project manager in Baghdad, Mr. Serjak describes the security detail that drives him to an onsite location. One detail in particular struck me as funny.

Our lead Humvee’s job is to clear a path for us which he does by waving an assault rifle at anyone that gets too close. If that doesn’t get their attention, his favorite weapon seems to be half-liter water bottles. He tosses these like a Nolan Ryan fastball at the windshield of cars that don’t pull to the side of the road quickly enough in his estimation. He actually has a little rack of water bottles mounted inside the turret.

I seriously need to get a rack mount of water bottles for my car. That would come in quite handy for the L.A. free way. Can you see me chucking an Evian at grandma ahead of me for driving too slowly in the fast lane?

comments edit

Dare announced the beta version for the Wolverine edition of RSS Bandit (version 1.3.x) today. You can read his announcement to see some of the nice features it includes.

I’ve been feverishly updating the documentation to take into account the new features and the updated look and feel. Documentation is hard work when you’re trying to keep up with developers as productive as Dare and Torsten.

One feature that wasn’t announced, but quietly added by yours truly, is the ability to configure keyboard shortcuts via an XML settings file. The reason this is not an “announced” feature is that we have yet to provide any GUI support for configuring these settings. Nor have I documented the format for these settings or the proper way to change them.

Assuredly, I will be working to post both documentation as well as a separate shortcut editing tool soon. For the adventursome, there is a beta of the editing tool in the Child Projects folder in CVS. You can edit the settings and save the result in the RSS Bandit Application Data folder to override the default settings.

In the long term, we’ll have to decide if this remains a separate tool for power users who demand this level of control and are willing to take the risk, or if it should be added to the main GUI.

comments edit

I’ve kept a couple of other blogs before, but this is my first with staying power. My blog new year resolutions include being even more irreverent, geeky, rash, and misguided (if even possible). It’s been one year, and I recently passed the 500 post mark without even noticing (I hate missing an opportunity to party).

If you’re a regular reader (hi Mom, Dad, Wife), do you realize that there’s much better drivel out there? But you probably read this blog for the same reason I read yours, you’re trying to expunge some latent guilt by self flagellation (Ignore the fact that the phrase “self flagellation” is redundant.). I hope that works out for you.

Seriously though, I’ve been surprised by the quality of comments I receive on my postings. I may have a few readers, but they’re smart readers *cough* *suckup* *cough*. Except for those who find this site by Google and are not searching for a technical topic. Them are the dumbest f***s I’ve ever seen.

Well stick around, I have an exciting line-up of topics coming up. They actually involve a bit of work *damn!*, so they’ll be out less frequently. But they will be above poor. I’ll probably try to blatantly start a controversy or two to drum up traffic so that people will click on my ads (oops, I’m not supposed to promote the ads, there’s controversy #1) and this blog can pay for itself. And you can be sure I’ll continue to be one vain motherblogger.

comments edit

Props to any,one who can tell me the song and artist that my subject line refers to.

Sunday afternoon I flew to NYC, stayed at the W on Lexington (nice), had a Long Island Ice Tea (to commemorate), woke up the next morning, caught a train to Long Island for a meeting, found out our approach to a big project was all wrong (the product guys on their side love it, but the keeper of the tech gates changed his mind), caught a plane back to L.A. (business class upgrade. Loved it), and am now back to work.

One night business trips across the country suck. I didn’t have time to hang with my buddy Dave out there. I called him when I got in. It was only midnight, you would think he’d still be working. Slacker.

comments edit

CAPTCHAAs if to punctuate my post entitled Image Based CAPTCHA is Fast Losing it’s Appeal, Casey outlines his .NET code used to beat the CAPTCHA employed by many blogs using a Neural Network approach.

Neuron This is a beautiful attack on CAPTCHA (as it is currently often implemented) and only shows that there is no “ONE” solution to rule them all. The attacks against rel=”nofollow” as ineffective against spam now apply to CAPTCHA. Blocking automated spam in all its forms will be a continuous iterated process encapsulating multiple combined defenses (such as rel=”nofollow”).

And to the haters that are pissed that Casey published this, get over yourself. You need to realize that his post shows that CAPTCHA (as it is currently implemented) is a wall of sand. If it was this easy for him to beat CAPTCHA, a black hat out there probably already has a similar solution. Ignorance is no substitute for security. Now you know it can be beat quite easily, go fix it and quit whining.

Thanks to Scott Reynolds for pointing out Casey’s approach.

comments edit

Received this comment on my “Blogging Is Pure Vanity” Post.

I’ve always thought blogging was the product of excessive self-indulgence. When one of my particularly vain coworkers started a particularly insipid blog, it was time to strike back. So I started blogging the news of his life. Then I told everyone else at work about it except him. He still doesn’t know about it and we’ve been laughing at him for a week now.

Now that’s funny. I’ve been searching, but I haven’t found anyone blogging about my life due to my particularly insipid blog.

comments edit

Every Friday the company buys lunch. Today we all received an email with the list of choices from a Thai restaurant. I replied with “Orange Chicken”. Soon afterwards one of my coworkers thanks me for letting him know I’m having Orange Chicken. Huh?

Then I get this email from another coworker:

You know… for a second there I thought we would all be held in suspense while we tried to guess what you were going to have for lunch. \ \ I feel so much better knowing you plan on eating the orange chicken tomorrow; seriously it takes a lot off my mind…

Ahh, I’ve made the rookie AOLer mistake of hitting “Reply To All”. I swear this is my first time.

I responded that

I’m a trend setter and it’s my duty to inform the wannabes, losers, and biters of my choices so they have ample opportunity to jump on the bandwagon.

Besides, it’s good to let the President of the company know that I’m an up and comer. Orange Chicken is the choice for an individual who deserves a very large raise. I work with a bunch of wise-asses.

UPDATE:It gets worse. After some good natured ribbing, I send out the following to the “everyone” list.

Hi All,\ \ I accidentally hit the “Reply To All” button earlier when indicating my choice for the savory options we have lined up for this Friday. I apologize for spamming you with my choice, which happened to be, and remains, Orange Chicken.\ \ I just wanted to make it clear that the company neither endorses nor supports the choice of Orange Chicken. The company takes no official position on your choice of Thai food other than to pick from the choices given. The choice of Orange Chicken is a personal choice and should not influence you in your own decision relating to fine Thai cuisine.\ \ Therefore, if you should choose to go with Garlic and Pepper Beef, for example, feel free to make such a fine and tasty choice (though I would suggest you consider Orange Chicken as it is quite delicious).\ \ Phil

After hitting “SEND” I notice that there’s a few emails in my inbox where another coworker had been sending puzzles to the everyone list and received a reprimand from our HR person, let’s call her Bonnie.

This email address sends to everyone in {COMPANY} and should be used ONLY for business purposes. While I appreciate the heart of it is to share fun, addressing it to everyone is extremely inappropriate.

So my “extremely inappropriate” email arrives in everyone’s inbox AFTER this one and my coworkers think I’m both hilarious and a dead man for my “response” to Bonnie. I have some ‘splaining to do.

comments edit

Colin has a nice little quiz about enumeration on his blog. Basically he asks, how would you implement a class to enumerate through all the letters of the alphabet. Below is my “cute” response.

using System;
using System.Collections;
public class Alphabet : IEnumerable
  public IEnumerator GetEnumerator()
    return "abcdefghijklmnopqrstuvwxyz".GetEnumerator();

Now if you compile my answer and run it, it seems to answer the question correctly (for an academic quiz), but it’s completely wrong for a real world developer. The right answer is “Well, which alphabet or alphabets must I support? Does it need to be localizable based on the current locale?”.

Yes my friends, the answer is to gather more requirements. Make sure you really understand the problem domain. This is why software isn’t as easy as “well I want it to do this so just do it.” This quiz asks what seems to be a very straightforward question. If you as a developer gave me the solution I wrote above, I’d be pretty pissed as a client if I was ready to deploy this to Korea.