I’ve moved my blog to a hosted solution with its own domain at BlackBeltCoder.net
Move your feeds, bookmarks, and attention.
I’ve moved my blog to a hosted solution with its own domain at BlackBeltCoder.net
Move your feeds, bookmarks, and attention.
I once read about a millionaire that was having a conversation with some of his other rich buddies, and they asked him what he would do if lost all his money. His answer was to hire a personal marketing advisor. His thing was that life is all about marketing, perceptions are king and the world would open up to him once again.
Knowing that, why do I do such a piss poor job at marketing myself? When I read Steve Pavlina’s blog I feel like that guy knows everything, he’s living the sweet life, and somehow owns 32.05% of my soul when he decided to diversify right before the dot com bubble. Why is it, I have the worth Nothing in my blog title? Why do I use a hosted free version of WordPress that is a serious hit on my credibility?
Does anyone care? (The answer is surely no, as people generally don’t care why you do stupid things to oneself.)
Insert philosophical thoughts here.
Now that the bull is out of the way, lets get some upgrades. Scrum style.
Lets do a small sprint product backlog
- New Hosted Blog
- New theme for blog, thats not so common and tacky.
- Rename blog
- Develop a topic for the blog
- Move blog posts to new blog
Good thing thats over, lets get to sprint planning.
New Hosted blog – 8 hours
New Theme – 20 hours
Rename Blog – 2 hours
Develop a topic for the blog – 2 hours
Move old posts to new blog – ?
Lets assume I’m really busy, and have 8 hours available per week, and lets do week sprints.
Committing to a New Hosted blog by next Wednesday and determine how long it will take to move old posts to new blog.
Ready! Break!
This blog has moved, and so has this post.
Last week Mike Vizdos wrote an article at Implementing Scrum.com that had me scratching my head a little. In this article Mike was arguing that Silence is a symptom of poor communication, and that when team members have conversations over messenger, those that would gain collateral information from the conversation would be shut out from such juicy bits.
One of my colleagues once walked into a room with a new team. When he told me about it, he said something along the lines of, “It was so quiet you could hear the waterfall.”
Think about that last statement for a moment. I’ll stick around.
Welcome back. Good thought break? Hope so.
When *I* hear this statement, I realize a team is probably not working to its full potential.
While not the Uber scrum master Mike is, I don’t think he understands the psychologies of programmers to realize that ambient conversations are going to murder their performance and concentration. When I initiate a conversation with a person over IM that is in the same office, it gives them the ability to multi-task and not be thrown off their process completely.
I’d basicly equate this to trying to program with the TV on. Some of us can do it, some of us can’t, but nobody is as productive with it on, as with it off.
A lot of the rules of Scrum are really important, transparency between client and team, team and scrum master, team and team are super important, but were not the Borg. And there are only so many hits performance can take in the name of transparency before Scrum starts to become a hindrance.
Long live IM!
So I wrote that Singleton post a few weeks ago, and what it really turned into is how to initialize Static Properties. Though calling it a Singleton post really makes you look kind of silly, since its a piss poor example of that.
Here is the Class Diagram from Wikipedia for the Singleton Pattern

To break that down, we have a Public Instance Function that retrieves the singleton instance, and a private constructor so the object can only create itself.
In the example I gave earlier, you can’t have a private constructor, and you can still call the public constructor again after the singleton has been defined. I was really excited to see that the new Prototype 1.5 library that was released (maybe the old one too, I’m just starting to get into it) contains some classes such as the Position class that have no public constructor, and are available without having to construct them initally.
How did they do this I wondered. A quick dig into the library shows that Prototype just uses the inline object syntax, which makes the Position class just an object instance, which of course has no constructor.
var Position = { “Methods” : function() { /* */ } }
I really like this a lot better, and I’ll probably be utilizing it a bit more in the library for our companies product. I’d love to see more libraries out there that you can include and you would get these specialized functional classes. Prototype’s Position is really helpful, what else could we want?
So like many, I have a New Years resolution to get healthier this year. Being a programmer who sits on his butt all day and my only joy (other then my glorious job!) is a social hour with good food and great company. I can’t state enough how much fun it is to wander down to the International District during lunch to get some authentic Japanese food. But, now I have to put all that in the past, this year I’m eating to live, not living to eat. Here are my plans.
So with that in mind, here is a breakdown of a typical day and the meals I expect.
I’m adding walnuts to my diet because it was on this list of superfoods I read. The hardest part of this, is saying no to my co-workers when they want to go out. I kinda feel bad, its not that I don’t want to, I just have terrible discipline when it comes to saying no to a menu.
On top of this, I’m going to keep doing my usually extra curricular activities after work, which include Karate, Soccer, Flag Football, Softball, and Running with my Girlfriend.
How do you deal with eating healthy while being a programmer? Got any suggestions, please share.
If you view enough of my Javascript, you’ll notice, I like to comment my code a little differently then the other developers at our company.
My main purpose of doing this is to track comments that just I make. I also want to be sure that I did or did not perform any working a certain area. Or to just make comments to myself. I’ve seen comments like, // Edited by Bill Gates 10-20-2003: I fixed a bug here, and yes those serve the same purpose, they are even more descriptive, but they how many of you do that currently? Source control will tell me when a changed occurred and who fixed it, I’m mainly worried about my own train of thought, and notes.
Here are the signatures I use.
//— Generic comments.
//# Todo comments
I don’t have a signature for /* */ style comments, and the Todo comments are for NON crucial todo tasks only. A good old / / TODO: still is king for those.
For those of you with no Imagination, here are some for you guys to pick from.
//> Whats this supposed to do?
//\\ My little house here says, this code rules!
//oo I just infinitely commented my code!
//=D Smile! This code just took a picture of you!
If you adopt a comment signature, post!, share!
This blog has moved. You can read this post here.
Its my New Years weekend vacation and I’m reading reading these juicy programming articles. Beware, full of naughty goodness.
AJAX Patterns – All about AJAX, quite helpfull.
43 Folders Wiki – Productivity wiki for the software development field.
Reflector Addins – Code Generation, Code Coverage, Code Graphs, man look at them all.
The Peoples Toolbox – Usefull tools for developers
0Rand 1, 0Rand 2 – Two great articles by this guy, Article 1, debuging with Reflector and Visual Studio, debug lower level components you don’t have source code for. Article two, debunking my statements that us developers need offices to be more productive.
WPF versus WPF/E – Interesting comparison with some sample code.
The Dojo Toolkit in Practice – Intro to Dojo
Superfoods everyone needs – Eat healthy!
and our company is asking for more.
We’ve been contracting developers and testers overseas, known for the length of this article as Initech. (Wha?) So like I said, we’ve been using Initech for the majority of our support issues, and then using them to make up large portions of our development teams. The former, while a developers dream (never have to fix a bug in released code, holy cow) is eventually going to lead to shoddy quality and less attentiveness on the behalf of the in-house development team.
As a result, Test driven development and even more importantly any real refactoring attempts are ignored by management, and not voluntarily adopted by the majority of the development team. Test driven development will catch the majority of your issues at dev time, and ensuring quality in following builds through the magic of continuous integration. Since we aren’t writing our tests first our coverage is quite low based on our weak testing discipline, but a much bigger result is that we are not performing the third step of TDD, which is Refactor Ruthlessly.
What we’ve got now is a bunch of weakly tested, ugly, smelly code that we just need to mangle enough to produce the functionality we want, without having to worry to much about the long term quality issues.
I know what your thinking, excuses, excuses. Good developers should refactor, they don’t need a reason, they have the motivation to have quality code developed and part of that is refactoring. There are other factors, and since this is an outsourcing rant and not a refactoring rant, I can’t go into those fully yet.
The Initech guys really are talented, I’m impressed by what they can do, especially under the conditions we impose upon them. Yet they have serious lapse in their completeness. Such as jobs being reported as done just being skipped, functionality being skipped, holes in the design going unnoticed all killing us overall.
Our in house development staff is spending a large portion of their time reviewing, fixing, and completing Initech code. Add these extra duties, to the new demands of scrum, we are finding the amount of time we get to actually code is being severely decreased which leads back to in house developers not having the ambition to self impose TDD and Refactoring into their day to day efforts.
Less apparent is the effect this is having on employee moral. You can argue developers ambitions for their work but whatever they are, this process is ruining it. Our code isn’t something to be proud of, our day to day operations are contain less coding and we’re producing less of those glorious features everyone praises us for. Would it surprise you to find out we’ve had some key people leave in the last few days?
I may make outsourcing seem like the root of all evil, I don’t think we need to do away with them, but with our current process, structure, and personnel, we cannot handle the work load given to Initech. They are great tools for supporting our current in house development team, but history has shown that we can’t trust them on a consistent basis. I hope the message can be relayed to the top, otherwise life as an Initech babysitter will continue to suck.