Category Archives: Uncategorized

Motivation

Arnold Schwarzenegger on motivation

Many of us cannot relate to his specific areas of bodybuilding, acting, politics. But it doesn’t really matter the venue because it’s all the same. It’s about what you want, and how bad you want it.

You got to get up and say, “I want to be a champion”.

You have to quest for the pinnacle. Everything you do must strive for that, including the sacrifices you must make. You must try, you cannot be afraid to fail. In fact, you must accept that somewhere along the way you will fail, but from that failure somehow you will grow and you will continue on your quest.

It’s all up to you.

 

Freedom is not defined by safety…

“Freedom is not defined by safety. Freedom is defined by the ability of citizens to live without government interference. Government cannot create a world without risks, nor would we really wish to live in such a fictional place. Only a totalitarian society would even claim absolute safety as a worthy ideal, because it would require total state control over its citizens’ lives. Liberty has meaning only if we still believe in it when terrible things happen and a false government security blanket beckons.”

– Ron Paul

Good source management

Troy Hunt writes on The 10 commandments of good source control management. They are:

  1. Stop right now if you’re using VSS – just stop it!
  2. If it’s not in source control, it doesn’t exist
  3. Commit early, commit often and don’t spare the horses
  4. Always inspect your changes before committing
  5. Remember the axe-murderer when writing commit messages
  6. You must commit your own changes – you can’t delegate it
  7. Versioning your database isn’t optional
  8. Compilation output does not belong in source control
  9. Nobody else cares about your personal user settings
  10. Dependencies need a home too

Read Troy’s article for all the details. I’d like to elaborate on a few.

VSS – stop using it. Totally. “Back in the day” I worked at Metrowerks and they made the Mac version of Visual SourceSafe… or as it was jokingly called, SourceSuck. There were a lot of cool things about it, and sometimes I still think the ability to lock can be useful. But the main repository was constantly down, constantly being rebuilt. It was terrible. Thankfully tools have progressed since then. Subversion is great. I haven’t had the opportunity to try git yet, but that it’s maturing is a good sign.

Commit early and often. Very true. It always gives you a rollback point. A lot of people are afraid of this for whatever reason, especially fearing the merge. Understandable, but it’s just part of life and certainly using version control will help ease the pain — if you use it right. So put your work into a branch, every so often merge in changes from the trunk to keep you building and current, but still doing your thing. When it’s time for you to go back into the trunk, the merge won’t be so painful. If you must reconcile, you must. It happens, but it’s not the end of the world. Maintain that history, give yourself the protection that version control is for.

Going with this, #10. Over time I’ve changed how I lay out my Subversion repository. The basic recommended layout is:

/trunk
/branches
/tags

and while that’s a good start, I expanded upon it:

/branches
/sandbox
/tags
    /builds
    /candidates
    /development
    /releases
/trunk
/vendor
    /archives
    /src

Branches hold branches, labeled in a manner that describes what the branch is about. There’s no need to get too formal about the branch name, so long as it along with the commit message adequately describe what’s going on. Sandbox provides a place to play, perhaps you wanted to write a little testbed application that is relevant to the project, this is where to put it. Why put it into the repository? See #2, along with just all the good reasons for versioning source. Tags is broken down into a little more organization. Development tags are tags defined to ease development, like you’re about to make some big change and want to demarcate a clear rollback point. Build tags are tags made during your build cycle, perhaps by the automated build server, to of course denote a particular build. Candidate tags are tags to say “this is a release candidate”, and these tags are made from a build tag (e.g. “svn copy tags/builds/1.0.0.005 tags/candidates/1.0.0FC1″). Release tags then are the actual public releases, made from the candidate tags (e.g. “svn copy tags/candidates/1.0.0FC2 tags/releases/1.0.0″). This hierarchy of tagging allows a tracking of history. Trunk of course is the main development trunk. The vendor area is for any sort of third party product that is relevant to go in. I like to put the archive, as downloaded, into the vendor/archives/ area (e.g. the .gz or .zip or .dmg or whatever), so the archive as received is maintained. Into vendor/src I then like to put the expanded/opened distribution, but with minor modifications. For instance, they didn’t make a clean distribution and included .svn folders, or build products or other things that are irrelevant or dirty things up, or renaming the top-level folder to something more descriptive (e.g. from “distro” to “boost-1.46.1″) ; it should be as close to the original distribution as possible, just cleaned up. From there, the /vendor/src/whatever/ is svn copied into the /trunk. This allows the original distro to remain clean, but if say it’s necessary to make changes to the local version we can do that without risking dirtying the original distribution.

Of course, this setup may not work for you and your projects, but over the years it’s what has evolved to work for me and my needs.

#8 and especially #9 – yes. Please stop checking in your cruft.

Remember, version control is there to help us write better code. Not directly, but once code is written it will always have to be maintained. History is a part of that maintenance cycle. The more relevant history we can preserve, the better off we can be in the long run.

I think it’s better now

I think wordpress.com was having some ssl problems, but it seems to be resolved now. *shrug*

I have noticed t3h Int3rw3bz have been acting odd the past few days… not just my local connection out of the house, but also lots of servers out there. Don’t know… but whatever. Back to life.

This thing on?

WordPress.com seems to be having problems this morning. I can’t get into the admin area (http redirects to https then hangs). I can view the blog, just can’t admin things.

But there’s this “quickpress” thing… trying it to see if it does anything.

What would she know?

Breda’s a small woman, so what the hell would she know about rape, right? I mean, just because her response to a potential rapist isn’t singing kum-bah-yah to him… she obviously doesn’t know a damn thing. (Yes, I’m being sarcastic.)

Good People

Just in case you need a reminder that there still are good people in this world, I give you Rich Slack.

Funny sense of compassion

Buda is a small town immediately south of Austin (almost an Austin suburb these days). Apparently a couple weeks ago there was a bomb threat phoned in to a high school. After the threat was received, 1850 students were evacuated… but apparently there are 1858 students at the school, since 8 special-ed students were left inside.

Principal Shirley Reich said one reason the children were kept inside was the chilly day, 47 degrees outside, and that “if anything I erred on the side of compassion for them.”

Now, maybe Ms. Reich did have honestly good intentions, and maybe it’s just an honest mistake. But I still can’t help but feel some sense of confusion over her sense of compassion.

So, it’s chilly outside, and it’s compassionate to keep 8 special-ed kids inside and send 1850 other kids outside into the cold.

Or, it’s compassionate to send 1850 kids away from the potential for an explosion, and keep 8 kids at ground zero.

This must be some of that “new compassion” I keep hearing about these days.

Follow

Get every new post delivered to your Inbox.

Join 431 other followers