Posts
Dell XPS Vanity Lights Blink!
My newest computer is a Dell XPS thing. It’s a huge monster of a laptop (really a gaming laptop, good for the performance). It comes with external LED lights on the top, sides and bottom. These lights are normally only configurable though a custom program. Since I got the PC, I have been dying to find a way to control these LEDs from a script. Finally, today, I found out how.
read morePosts
If You Can't Say Anthing Useful...
Writing my previous post got be thinking about code comments. I have seen a lot of bad comments in my years, and I’d like it to stop! Here are a few examples from the horror cabinet of the world of code comments.
Stating the bloody obvious Never, ever, say in comments what the code already says. Ever:
class Bar { /** gets the foo of the bar */ public String getFoo() {.
read morePosts
What is the Most Useful Thing You Could be Doing Now?
Recently, there has been a discussion about code comments on the pragmatic programmer mailing list: “Should you comment or not? What should be commented?”
The one point I haven’t seen expressed succinctly is the following: Given a finite amount of time and a codebase with some … issues (which codebase doesn’t have issues?) what is the most useful thing you could do with your time? How often is the answer “comment more”?
read morePosts
Consensus-based Decisions
In the book Software for Your Head, Jim McCarthy introduces The Core Protocols (pdf). Even though the book occasionally give off a new-agey feeling with ritualistic interaction, I think the Protocols have a lot of merit. I especially like “the decider protocol”
As I see it, the Decider protocol is a basic tool for consensus-based decisions. I think consensus as a tools in misunderstood and underutilized. It is easy to assume that basing decisions on consensus is a perfect way of spiraling off into meaningless discussions, but I think this is easily avoided.
read morePosts
DHH: Secrets behind Rails
David Heinemeier Hansen’¨s talk at OSCon is available at IT Conversations. For those who don’t know, DHH is the man behind the big rising star of 2005: Ruby on Rails.
Favorite quote: “Too many technologies are chasing flexibility as thus it was free. It is not. Your exchanging flexibility for velocity in development, for a delay in changing you mind, and it is really a bad notion! … In other terms, constaints are liberating”
read morePosts
Oh, wherefore art Y...
One of the most profound ideas in lambda calculus, is the Y-operator. I’ve learned the Y-operator at least three times, and every time, I found it extremely hard to understand. This blog is therefore an example of a quixotic undertaking: I want to see whether it is possible for me to explain the Y-operator so that you, gentle reader, can understand it with minimal background. In this case, “minimal background” means at least a few years of college level mathematics.
read morePosts
What is Software Architecture
I have been working as a Software Architect for several years now, but I still find myself unable to answer the question “what is software architecture?” However, I think I can point to some of the factors that can make the architectural work successful.
First: Architecture is about vision, communication and governance. The vision bit is relatively simple: Any company has huge inefficiencies in how it operates. I think the very nature of business is such that these inefficiencies have to exist.
read morePosts
C# 3.0 - Magic and mechanics
C# 3.0 is Right Around the Corner (in the Microsoft sense of the word…), and it brings to bear a lot of interesting features. Most of them come together in the technology called LINQ (Language INtegrated Queries). Even though I doubt I will use C#, I think there is a lot that can be learned from this preview release. Let’s take a look at an example Query:
var contacts = from cust in customers where cust.
read morePosts
Reservations on Rails
For the most part I think Ruby on Rails is pretty much the best thing since sliced bread. Of course, like everything else, there are some issues I’m uncomfortable with. Mostly, it has to do with deployment, and especially security during deployment.
SwitchTower deploy.rb configuration file contains source repository password. This is a consequence of the fact that the application servers check out code from the repository. When using SwitchTower the source repository must be available from the application servers.
read morePosts
Rails deployment with SwitchTower - still some rough edges
Everyone is talking about SwitchTower these days, so I just had to check it out. When I got it to work, I was quite pleased with how it works, but there were quite a few issues along the road.
First of: What is SwitchTower? Basically, it is a tool for automating deployment of applications, focused around Ruby on Rails. With SwitchTower in place, I am able to write stuff like “rake deploy” and “rake rollback”.
read more