NSCoderNight tonight in Northern Virginia

I’ve been going to the past few NSCoderNights here in Northern Virginia. We’ve met up at Panera in Tysons before (look for the Apple logos.) But tonight we’re trying a different venue: Camille’s Sidewalk Cafe near the Courthouse Metro in Clarendon, VA. More details in Jose’s blog entry Trying a new location tonite.

It’s been pretty motivating to meet up with other Cocoa Mac and iPhone developers. I think we’re going to be discussing Cocoa Programming with Mac OS X by Aaron Hillegass soon, working our way through the chapters. I was privileged to have the experience of doing technical review on that book and I’ll have a full review of it on this blog soon. Short review: if you have the 1st or 2nd edition, it will help you get caught up to the newer Cocoa APIs and so its worth getting. If you don’t, then you definitely need this book to help you with your Cocoa programming. Big Nerd Ranch uses it as a text book for their Cocoa Bootcamps!

Cocoa / Washington DC Trivia: Aaron Hillegass grew up in Northern Virginia. We actually attended the same high school, Thomas Jefferson High School for Science and Technology, though at different times.

June 3, 2008. Programming, Mac OS X, Cocoa, Washington DC. No Comments.

2007 Training in Review

Last year I took a lot of training. In the past, my employers would usually send me to one training event. Sometimes I would get to go to two if times were good. Other times, there was no training budget.

In 2007, I was self-employed as the sole member of Happy Apps LLC. So being in charge of the training budget (well actually the entire budget), I went to six training events:

  1. Rails Edge in Reston, VA
  2. Advanced Rails in Chicago, IL
  3. WWDC in San Francisco, CA
  4. RailsConf in Portland, OR
  5. Advanced Ruby in Reston, VA
  6. RubyConf in Charlotte, NC

So that’s 2 Ruby conferences, 3 Rails conferences, and one Cocoa conference. I actually was scheduled to go to another Cocoa conference, C4[1] over in Chicago, but had to cancel due to personal reasons.

So which ones were good and which ones were bad? I think they were all quite good. Obviously, if you want to make Mac applications like I do with WebnoteHappy, you’ll want to go WWDC.

In terms of being a good Ruby on Rails developer, I’d have to say that assuming that you already have a good background in object-oriented programming and web development, have worked through a beginning Rails book like Agile Web Development with Rails, then you really should take both the Advanced Ruby course by Pragmatic Studio, followed by the Advanced Rails course. Both taught me quite a lot of things that I hadn’t known before.

Once you’ve got that though, I think its important to keep up with the latest in techniques and also be involved in your programming community. I think The Rails Edge Conference is top notch in keeping up with what’s new in the Rails world. I hope that a date is announced soon though - I don’t see one for 2008 as of today.

RailsConf is also good for keeping up with Rails, but I think is maybe even better for just being involved in the Rails community. There were a lot of opportunities, scheduled and unscheduled, to get together with fellow RoR developers and you could sense that Rails is really changing the way that web development is being done.

RubyConf on the other hand reminded me that Ruby is not just about Rails. There’s certainly been a lot of growth of Ruby use because of Rails, but there is a deep and wide pool of talent that has fallen in love with Ruby. It was interesting to see all the different uses that people have made of Ruby. And it was definitely an honor and a pleasure to meet Matz in person. In the end, it does seem like most people who are doing Ruby full-time are making their money with Rails.

I’m trying to plan out my training in 2008 now. So I’m curious to hear what good conferences or classes other people went to in 2007. Also if there were any bad ones.

January 21, 2008. Programming, Cocoa, Rails, Ruby, RailsConf. 1 Comment.

The software industry lacks political clout

So I’m still upset at this new Maryland tax on software services. I hope it is not a harbinger of what is to come. Hopefully it is just a bad move that is a short term fix for whatever is ailing Maryland’s budget. But I think it points out something that is broken about the software industry. We lack political clout.

The Washington Post had this to say in its lead editorial today titled O’Malley Increases Influence With Wins on Taxes and Slots:

Interest groups with savvy lobbyists and deep pockets got special breaks; car dealers, for example, were treated to a subsidy worth $80 million. Those who lacked comparable clout, like some segments of the computer services industry, will be hit by a sales tax increase that, inexplicably and illogically, still does not apply broadly to most services in the state.

Now, I’m not saying that we need to have any subsidies, tax breaks, or any other sort of special consideration. But it is completely unfair that the computer services industry was singled out for a new tax. We should at least be able to defend ourselves from getting sand kicked in our collective face.

Perhaps it is because thankfully, we’ve been successful. The Washington Post had this to say in its main article yesterday about the new tax titled Md Lawmakers Approve Package:

The only service agreed to yesterday by House and Senate fiscal leaders was computer services — largely because of the nearly $200 million a year in estimated revenue it could generate.

There is some hope that it will be reversed in 5 years when they review it:

Computer services that would be subject to the tax include consulting and programming help, as well as software installation and hardware maintenance. Legislative analysts said at least nine other states tax computer services. The group of legislators agreed to revisit the issue in five years to determine what effects the tax has had.

But I wonder… will we be in any better shape then as an industry to defend ourselves?

November 22, 2007. Programming, Washington DC. 3 Comments.

Taxes on consulting?

I woke up this morning and nearly spit out my coffee as I read that the neighboring state of Maryland (I live in Virginia) is going to start charging sales tax on computer consulting - to the tune of 6%. That starts next year, January 1st 2008. This is a huge change and seems somewhat arbitrary since among the list of things considered were landscaping services, tanning salons, saunas, etc.

I’m not sure how the Maryland software consultants are going to cope with this. The easiest theoretically but probably hardest in real life is to just move to Virginia or Pennsylvania or Delaware, which don’t tax consulting services. They could also pass the cost on to their clients - which may be ok in the short term but I think will probably put them at a disadvantage vs other companies in neighboring states. They could eat the cost, but basically that’s a 6% pay cut. Or they could go and do something else, which is unfortunate. I’d say the first and last option are those unintended consequences that you always hear about. Side-effects in programming terms.

So what about everyone else in other states? Do you have to charge your clients sales tax if you’re doing consulting?

November 21, 2007. Programming, Washington DC. 3 Comments.

DC Mac Programmer Meeting - February 23rd

Calling all Mac programmers in the DC area! We’re going to have the first DC Mac Programmer Meeting of 2006. (We last met in November, which I’ll have a recap of later.) And when I say we, I mean the Programming SIG of the Washington Apple Pi, the area’s largest Apple user group.

We’re meeting on February 23rd, which is Thursday at 7:30pm at the Booz, Allen, and Hamilton (BAH) building at 8283 Greensboro Drive in McLean, VA. The main entrance is near the “u” of “Solutions Drive” in the Google Map below. (Hint: use the Hybrid view to see what I’m talking about.) If you get there late, we’ll leave a note with the security guards where we are.

But even better…a bunch of us are going to grab some dinner at 6:30pm at the Panera off of Route 7 near Tysons Corner. Hopefully we’ll have some nice wireless access. Not sure what to look for… probably a bunch of guys wearing black Apple t-shirts and aluminum PowerBooks.

Here’s a Google map that starts at the Panera and ends at the Booz building.

If anyone needs to come via Metro, I’m going to pick up someone there at the West Falls Church Metro. Actually that person is Colin, who helps develop the open source multi-IM client, Adium.

If you’re coming, please RSVP with me at comment at luisdelarosa.com.

February 17, 2006. Programming, Cocoa. No Comments.

Creating a branch in Subversion from a specific older revision

Branches in Subversion are quite easy and really lightweight. I think the technical term for this is “cheap copy”, which doesn’t quite do it for me. I mean, I’d rather call it an elegant and efficient copy, but I didn’t create my own version control system.

To create a branch of your source base in Subversion, you usually just execute (if you’re using the file-based version and the repository is in /Users/yourName/svn):

svn copy file:///Users/yourName/svn/yourProject/trunk file:///Users/yourName/yourProject/branches/yourProject-1.0

Note that you need to have the branches directory added and committed to your repository. It won’t automatically add this for you.

This does it for working from the head of the trunk. But what if you wanted to branch from an older revision? It turns out to be quite easy:

svn copy -r specificRevisionNumber file:///Users/yourName/svn/yourProject/trunk file:///Users/yourName/yourProject/branches/yourProject-1.0

January 10, 2006. Programming, Random. No Comments.

How to fix certain SVN commit errors

If you’re getting an error message that looks like:

subversion/libsvn_client/commit.c:832: (apr_err=155005)
svn: Commit failed (details follow):

Then try backing up your project directory and re-check it out from Subversion using “svn co “.

If you then get something that looks like:

subversion/libsvn_wc/log.c:337: (apr_err=155009)
svn: In directory ‘YourProject/trunk/someDirectory’
subversion/libsvn_subr/io.c:565: (apr_err=2)
svn: Can’t copy ‘YourProject/trunk/someDirectory/.svn/tmp/text-base/foo.html.svn-base’ to ‘YourProject/trunk/someDirectory/foo.html.tmp’: No such file or directory

Then the problem may be that you have checked in both YourProject/trunk/someDirectory/foo.html and YourProject/trunk/someDirectory/Foo.html. Try to avoid this. This definitely causes problems on OS X and may on other systems.

To verify, execute “svn list /someDirectory/” and look for two versions of the file, but with different cases.

To fix, execute “svn remove /someDirectory/foo.html” or Foo.html, depending on which one you want to get rid of.

December 5, 2005. Programming. No Comments.

Mac Programmer Meeting in Northern Virginia - November 17th

We’re having a meeting of the Programming SIG of the Washington Apple Pi, which is the big local Mac users group in the area.

It should be fun. The group started rewriting a Cocoa app using Core Data and Bindings that we use for raffling off prizes at the user group meetings. It’s called…Raffler. What’d you expect? iRaffle?

Details:

What: A Bunch of Mac Guys Hacking Away on Cocoa and other stuff on PowerBooks

Where: 13161 Fox Hunt Lane, Herndon, VA

When: Thursday, November 17th, at 6:45pm

How to get in: RSVP with me via the email link in the upper left corner of my blog. I’ll tell you about the secret handshake.

November 14, 2005. Programming, Mac OS X, Cocoa. No Comments.

Review: My Job Went to India

My Job Went to India coverThe Pragmatic Programmers just released a great book. It’s titled My Job Went to India (and all I got was this lousy book) - 52 Ways to Save Your Job. It’s also known as MJWTI.

If you’re expecting Lou Dobbs, this isn’t your book. Chad Fowler doesn’t rail about the supposed evils of outsourcing. Instead, he accepts the reality that we are living in and gives us 52 lessons in how to deal with it.

Now Chad isn’t just speculating about things. He’s actually been to India and helped set up an offshore software development center there. Now he is back in the US programming using Ruby on Rails.

MJWTI is a must-read. I think most of it would have applied even during the Dot Com Boom. Its a handbook for managing your career. I guess for a lot of us, we’ll read it to see how we can just survive. But I think if you read this book and apply the action items at the end of each lesson, you won’t just survive, you’ll excel. I’m planning on starting a study group at work to go through each lesson together.

Read the Introduction to MJWTI to get an overview of what’s inside. There’s some other excerpts as well.

September 29, 2005. Programming, Books. 1 Comment.

Act like a business to keep your job

Chad Fowler, who maintains RubyGarden and… well, actually let me just quote from THE Ruby book, the Pickaxe:

“Chad Fowler is a leading figure in the Ruby community. He’s on the board of Ruby Central, Inc. He’s one of the organizers of RubyConf. And he’s one of the writers of RubyGems”.

OK, so what’s Chad go to do with keeping your job? Well, he’s been researching how programmers can stay competitive in the global labor market. He’s in the process of releasing his book, MJWTI (more on this soon).

He’s written a great article called “Remaining Relevant“, which is like an appetizer for his book. He advises us software developers to run our careers like you would run a business in order to compete effectively. It outlines a good plan of action. In short, Research what skills you should invest in (and not just technical), Invest (i.e. practice your craft), Execute, and Market (your skills). Definitely check the article out.

September 7, 2005. Programming. No Comments.

Older Entries