This morning I made some simple changes to a website. It felt good.
Effortless. I instinctively knew where to look and what to change to
keep things as pain free as possible.
Yesterday afternoon I met and talked with a partner of mine about an
up-coming web project. Similar to the changes I made this morning, I
noticed that I knew what questions to ask and what details to watch
for.
I remember that when I first started I was constantly learning by
trial and pain. I remember scowering forum threads and looking
material up in books and wondering if I was somehow the first person
to ever have the questions I did. I remember making silent promises
that if I could have my answer, I would ensure that others would find
my solution by posting it.
It feels great to be beyond that.
Read more »
This year hasn’t been easy for me.
From January until August I was working 60-70 hour weeks, getting up every morning and working into the evening seven days a week. Things leveled off a bit in September and then were depressingly slow into the end of the year. I started the year off poor and managed to end it poor.
This year wasn’t easy, but it’s been great.
Read more »
The week before Christmas a friend of mine(Tshombe Brown) held a
teleconference with Bob Burg, co-author of, The Go-Giver. I
found the conversation to be interesting enough that I got the book
and read it.
The Go-Giver is an allegory about a salesman named Joe who is trying to land a major contract in order to meet his quota for that quarter. He hatches a plan to try and convince a well known business figure, the Chairman, to help him pull the big contract. However, when he speaks with the Chairman, he finds himself going through a week long lesson on the subject of getting ahead.
Read more »
It’s almost 8:00 AM in Portland. I’m sipping coffee and typing up a bid for a small project that someone in Las Vegas requested. I happened to look out the window a few minutes ago and the sky is clear and light blue and pink. I feel acutely grateful to be sitting here in my bathrobe working.
Read more »
Larry Wall wrote the three virtues of a programmer are laziness, impatience, and hubris. I think I could pass for any of these.
The quote for virtues is a little tongue in cheek though, because it turns out that being lazy, impatient, and proud require copious amounts of diligence, patience, and care.
I’ve often seen a much more serious quality sought in programmers: attention to detail. Employers want this quality in the programmers they hire and most programmers probably find it to be an easy requirement. It requires a certain kind of myopic perception.
When I was in the Marines, attention to detail was also prized. During my four years I suffered several large errors that were caused by inattention to detail. They were whoppers for an infantry man, the kind that most grunts only made once. I made the errors from E1 all the way to E5. What they were was that I kept losing track of gear: bayonets, helmets, flak jackets, night vision goggles, and radios. I would be doing something and then realize, “Wait a sec, where the hell is my X?!!!”
Read more »
This is coming about a week later than I had originally planned. I got my new website design in and had to focus on that to make sure I was getting my marketing message correct and out there.
So this afternoon I sat down and used a UML Modeling program to model up the validation interface. It took me about an hour, and everything was done, but just for clarity, I decided to mark down the multiplicity of some of the relationships. The second relationship I marked the program crashed; I hadn’t saved my diagram. A rookie mistake!
Read more »
George Bernard Shaw, “Few people think more than two or three times a year; I have made an international reputation for myself by thinking once or twice a week.”
I’m going through an interesting phase with my business. I did some navel gazing back in August and realized that client interaction takes up most of my time and doesn’t contribute nearly as much to my earnings. I’m good at relationships, however just because you’re good at something doesn’t mean that you should devote more time to it than other activities (like billable work).
I figured out that to decrease my time working and increase my earnings I had to either try to focus on a few clients with larger budgets or get out of the client service business altogether and start writing software. I decided to do both. Read more »
I’ve been reading PHP in Action since June. I started reading it on Safari Online, and eventually bought it because I’ve found it to be exactly what I was looking for– namely a guide to stepping up my PHP development to the next level. The authors cover good design principles, patterns, test-driven development, and common problems and solutions.
A challenge that I’m currently interested in is input validation. To date, I’ve been writing input validation as methods of classes that needed it. Doing it that way doesn’t help me in the long term, because I can’t gain from code reuse. It also doesn’t conform to good design practices because validation is, “the concept that varies.” Fortunately, PHP in Action has an entire chapter dedicated to developing a logical framework for input validation. As a bonus, it covers the Specification and Facade patterns. Unfortunately, the authors don’t make any recommendations for the actual validation rules. I will have to fill those in on my own.
My plan is to create the classes tomorrow and Thursday(Turkey Day) and post them here along with an explanation of how they interact this weekend.
I’m blogging once more.
This is my third time around the blogging bush. The first time I was
blogging about Linux and the second I was writing about small
businesses and web related technologies. I enjoy writing, so blogging
is a natural fit, but both times I was typing to an external pressure
(trying to tap into a growing user group and developing my “expert
status” for business reasons).
Fortunately, I’m putting all that behind me. I’ve read advice to the
effect that a developer should develop software to solve their own
problems. In a similar vein, I’ve decided to engage in purely
ego-centric writing. That doesn’t mean that I plan on writing about
whatever happens to interest me at the moment, just that I will write
more in the vein of journaling my experiences rather than trying to
create value for potential readers.
So if I’m not writing about the fuzz in my navel and what I had for
lunch today, what do I plan on journaling? This blog will serve to
chronicle my experiences and thoughts as a freelance web developer. Read more »