Health Care Reform is Really Health INSURANCE Reform

You know, since the vote I’ve seen arguments for both sides of the health care reform debate. I personally am on the side of smaller government so I’m against the current bill that was voted on Sunday evening. But I wanted to clear something up and this this: Health Care Reform (HCR) is really Health INSURANCE reform.

First off, the United States has some of the best health care (doctors, nurses, hospitals, etc) in the world. People all over the world are told to come here to get their treatments. So when it comes to actual health care, the United States is pretty high up there on the list. Secondly, everyone in this country can be treated for whatever ails them. They can simply go to the emergency room and get treated. The doctors are required, by law, to treat regardless of ability to pay. In fact, in my recent ER experiences (for my son), treatment and payment were handled by two completely different teams at two completely different times.

What Obama is striving for is to ensure that as many Americans have health insurance. The bill eventually will ensure that a large percentage of the currently uninsured will be insured, and the government will help pay for the insurance if someone can’t afford it. So really, what we’re seeing is health insurance reform, not health care reform. I think some of the problem has come from the name the politicians and media have used (“Health Care Reform”) and this has caused lots of confusion.

Posted in Commentary, Politics | Tagged , , | 2 Comments

Alt.NET Houston Open Spaces 2010

Alt.NET Houston Open Spaces

This year, Alt.NET Houston will be hosting it’s 2nd Open Spaces Conference.  Last years was such a success that many wanted us to do it again.

The What and When

This year the conference will be held from Friday, April 30th – Sunday, May 2nd. We’re adding Friday (starting at noon) for workshops. We will have 2 concurrent 4 hour workshops that you can attend if you like. The topic for these workshops is still to be determined but will be announced closer to the time of the conference.

Friday evening we will hold the planning session, where we will all gather and suggest topics that we either want to present/convene, or that we’d like to hear about. This is an important part of the event. Your satisfaction with the conference is completely in your hands. If you want to suggest a session, it’s important that you are there Friday evening.

The Where

The conference will be held at the Houston Microsoft office, located on the west side of town. You can find a map here.

How Much

This year the price of admission is $20. This is being done for 2 reasons. First and foremost, it gives us some money to supply food, snacks, and beverages. Secondly, it ensures that people will be less likely to sign up and not attend. We are making an exception for students though, so if you are a college student interested in attending, please contact Ben Scheirman before registering.

Registration

You can register at the Alt.NET Houston website. Here is a direct link.

Posted in programming | Tagged , , , | 2 Comments

Managing Multiple Repositories With Git

I’ve started a small side project with a friend of mine. It’s a Ruby on Rails project and he has been doing the design work while I’ll be handling some of the Ruby/Rails backend pieces. For many reasons we went with Git as our source control system, the main reason for this is because we are separated by a few states. Since he has been adding UI elements to our app, I had to figure out how to bring his changes down to my local repository while maintaining the separation I need so his work doesn’t mix with my master or dev branches (at least not yet). The reason I want to not bring his changes into my master or dev branches yet is because it’s not done, but I do want to see and “touch” the UI work he’s doing. I figured I’m not the only person looking to do this so I figured I’d throw up a quick blog post about it.

The first thing you have to do is add the git remote for the other user’s code.

[text]
git remote add my_new_remote git@github.com:mypartner/OurProject.git
[/text]

This adds a git remote, with the name “my_new_remote” and that is pointed at my partner’s fork of our project.

Next you’ll want to fetch the remote repository (as usual, with git this will include the entire change log, and all files).

[text]
git fetch my_new_remote
[/text]

After you have the remote, you can create a new local branch that points at the newly fetched code. Below I create a branch called “partner_dev” and point it at my_new_remote/dev (assuming that there is a branch called dev in my partner’s repository)

[text]
git checkout -b partner_dev my_new_remote/dev
[/text]

Now you can look at the changes made to the repository but keep it separate from your work. This is a nice way to mess around with other people’s work without having to bring it into your own. I’ve been using this method to checkout the UI template changes my partner has been committing every few days.

Posted in programming | Comments Off on Managing Multiple Repositories With Git

Software Craftsmanship: What is a Craftsman

A couple of weekends ago, I attended an Open Spaces developer conference in Austin, TX.  The conference had a specific focus on the idea of software craftsmanship.  While a nice fishbowl discussion on the open night of the event touched on a lot of ideas, I feel that some people missed the point at what a craftsman is, and where the desire to be a craftsman should start.

The main issue I had with many people’s opinions was that they were all targeted at explaining to managers, c-level folks, and others about why craftsmanship was important.  They also focused heavily on how to explain to those people why they should hire someone that is a craftsman over someone that would (in most cases) be cheaper.  I felt this was the wrong approach because it was outward rather than inward in it’s direction.  How can you explain to a manager why hiring a craftsman is important when we personally don’t know what a craftsman is or why being one is important.  I heard very little discussion about what a craftsman is or why you’d want to become one.

So today, I’m going to talk a little bit about what I feel being a craftsman is and how that idea can be applied to the development/creation of software.  And to do that, we have to start at the beginning and define what a craftsman is.

What is a Craftsman

If we look up craftsman in the dictionary, we see something like this

A person who practices a trade or handicraft

So by definition, a craftsman practices a trade.  Our trade is that of software development.  When people think of the word “craftsman” they generally think in terms of woodworking.  A craftsman takes a piece of wood and turns it into something beautiful.  This kind of thing generally takes lots of practice and time.  Time spent messing up, cutting a piece too short, splitting a piece of wood, and so on.  You have to do a lot of things wrong in order to learn how to do them correctly.  Eventually you become a skilled craftsman.  You learn a lot of things to not do.  In generally becoming a craftsman is more about learning what not to do than it is about learning what the right way is.  But the main point here is that the craftsman spends time on his craft.  He works at it daily.  Looking for ways to improve and build a better whatever.  Over time the craft is perfected, at least as much as it can be.

A Software Craftsman

When it comes to software, there are a lot of ways to do things.  You can test, you can design, you can encapsulate, inherit, override, and continuously integrate.  You can spend hours refactoring, changing bits of code until they’re just so tight that on occasion you can’t understand it anymore.  All new software developers start out simply by trying to make the computer do something.  Sometimes it’s just about getting it to show text on a screen.  Eventually they graduate to automating tasks, very functionally (do this, then do that, then to something else) and without very little thought to re-usability.  Then someone shows them how to make methods of common tasks, and then eventually how to break those methods into classes (if their doing object oriented programming).  But it’s a slow process, some of these things can take years to master, many times they learn how to be better from someone else.

The general idea is the same though.  To become a good programmer, you can’t just do it in a nine to five fashion.  You have to practice it at home, spend time working on learning new things, finding those new ways to not do something.  You’re not going to learn everything by doing it at a job day in and day out.  The person learning to build furniture is going to learn how not to make chair by making the chair wrong a few times and so the same goes for someone looking to build software.  They will go through a lot of wrong solutions before they start understanding why the correct one is, in fact, correct.  Sure, someone could tell them, but then they haven’t experienced something for themselves and they don’t understand for themselves why it’s the right way.  They only know it’s the right way because someone told them so.

Driving to be Better

Really it all boils down to a personal choice.  Are you going to work to be better at your trade/craft or are you going to linger and stay in that little space that you are so comfortable in.  Why is software craftsmanship important to you?  Why should your manager care if you don’t?  Why should anyone care if you don’t?  In the end being a craftsman (in anything) isn’t about anything other than being the best you can be at your craft.  If you are developing software then you will strive to create better software regardless of who it’s for.  In the end, you’ll do the things that make you a better craftsman because they are why they make you better.  Not because someone told you to do it that way.  In the end, we all want to be the best at whatever we do.  That to me is the sign of a craftsman.  Someone who as a constant drive to be better at whatever it is they do.

Posted in Commentary, programming | 2 Comments

Pablo’s Fiesta – Los Techies Open Spaces

Los Techies Open Spaces Name TagOver the weekend I made a trip to Austin to attend the Los Techies‘ Open Spaces event entitled Pablo’s Fiesta.  This was an Open Spaces Conference where the focus was on software craftsmanship.  There were a lot of good sessions and I managed to be introduced to several new ideas, technologies, and even a new programming language.  While I’m still letting a lot of what I saw, heard, and read while there sink in, you can expect some blog posts in the (near) future about some of the things that were brought up and demonstrated.

This was my first Open Spaces conference (I missed the one held in Houston last year due to the recent birth of my son), and I have to say I quite enjoyed the format.  There didn’t seem to be quite as many breakout sessions at this one as I’ve heard Open Spaces can be known for, but maybe they happened and I missed them.  The people doing the talks did a great job and the open atmosphere was great.  I was in one session where the speaker had someone take over his laptop to give a demonstration on some areas of the topic he wasn’t too familiar with and it was great.

A wiki was set up for the conference, and people were uploading session notes, links, and even recordings of some of the sessions, so check out that wiki at http://pablosfiesta.pbworks.com/

Having attended this conference, I’m now even more excited about the Open Spaces that the Housotn Alt.NET group is working to put together for the first weekend in May.  The fact that there are so many people that are willing to share their experiences and knowledge with others is great and hopefully I continue to surround myself with these kinds of people.  So bring on the Houston Open Spaces conference.

Posted in programming | Comments Off on Pablo’s Fiesta – Los Techies Open Spaces

Pablo's Fiesta – Los Techies Open Spaces

Los Techies Open Spaces Name TagOver the weekend I made a trip to Austin to attend the Los Techies‘ Open Spaces event entitled Pablo’s Fiesta.  This was an Open Spaces Conference where the focus was on software craftsmanship.  There were a lot of good sessions and I managed to be introduced to several new ideas, technologies, and even a new programming language.  While I’m still letting a lot of what I saw, heard, and read while there sink in, you can expect some blog posts in the (near) future about some of the things that were brought up and demonstrated.

This was my first Open Spaces conference (I missed the one held in Houston last year due to the recent birth of my son), and I have to say I quite enjoyed the format.  There didn’t seem to be quite as many breakout sessions at this one as I’ve heard Open Spaces can be known for, but maybe they happened and I missed them.  The people doing the talks did a great job and the open atmosphere was great.  I was in one session where the speaker had someone take over his laptop to give a demonstration on some areas of the topic he wasn’t too familiar with and it was great.

A wiki was set up for the conference, and people were uploading session notes, links, and even recordings of some of the sessions, so check out that wiki at http://pablosfiesta.pbworks.com/

Having attended this conference, I’m now even more excited about the Open Spaces that the Housotn Alt.NET group is working to put together for the first weekend in May.  The fact that there are so many people that are willing to share their experiences and knowledge with others is great and hopefully I continue to surround myself with these kinds of people.  So bring on the Houston Open Spaces conference.

Posted in programming | Comments Off on Pablo's Fiesta – Los Techies Open Spaces