Sep 24
I’m wasted and having a bad headache. Not from drinking and partying but from spending the whole weekend, including Friday afternoon, at the No Fluff Just Stuff Java symposium. It was really tough to absorb so much information in such a short time. But it was totally worth it.
My favourite presenter is Venkat Subramaniam. If you want to have a good laugh, get some free candy and learn cool things about software development at the same time, I strongly recommend his talk to you.
A couple of things I learned after this weekend. First, Groovy is definitely worth checking out. Second, Spring/Hibernate/AOP is the future of Java. Third, IntelliJ IDEA looks pretty cool.
By the way, MacBook/Pro is the most popular laptop at the symposium. Yeah, baby!
Sep 11
This Japanese surf guitarist, Takeshi Terauchi, and his band gave classic a twist. Yes, eleven classical scores played surf style. MP3s are freely downloadable. I’ve listened to them and really like them. The page also has a link to another album of theirs, which is more traditional Japanese.
Yasuda San, I know you are watching. You should definitely check it out. Maybe you already did?
Sep 10
As I’m slowly gradually learning Ruby, I find a number of stuff that can categorized as gotchas. I would like to record them here for future reference. The following is one of them. I personally think it’s pretty big.
Normally, methods within a class can invoke other methods in the same class and its superclasses in functional form (that is, with an implicit receiver of self). However, this doesn’t work with attribute writers. Ruby sees the assignment and decides that the name on the left must be a local variable, not a method call to an attribute writer.
class Foo
attr_accessor :bar
def setNewBar=(newBar)
bar = newBar
end
end
foo = Foo.new
foo.bar = 10
foo.setNewBar = 100
foo.bar -> 10
Ruby stored the new value in a local variable of method setNewBar= instead of using the attribute writer. I can see this causing some nasty bugs.
More on Ruby Gotchas to follow.
Technorati Tags: gotcha, ruby
Sep 08
Steve pointed out this post from Joel on Software. It’s a long one. If you don’t have the patience to read the whole thing, I’ve quoted the part I find interesting below.
>Let me, for a moment, talk about the famous Aeron chair, made by Herman Miller. They cost about $900. This is about $800 more than a cheap office chair from OfficeDepot or Staples.
They are much more comfortable than cheap chairs. If you get the right size and adjust it properly, most people can sit in them all day long without feeling uncomfortable. The back and seat are made out of a kind of mesh that lets air flow so you don’t get sweaty. The ergonomics, especially of the newer models with lumbar support, are excellent.
They last longer than cheap chairs. We’ve been in business for six years and every Aeron is literally in mint condition: I challenge anyone to see the difference between the chairs we bought in 2000 and the chairs we bought three months ago. They easily last for ten years. The cheap chairs literally start falling apart after a matter of months. You’ll need at least four $100 chairs to last as long as an Aeron.
>So the bottom line is that an Aeron only really costs $500 more over ten years, or $50 a year. One dollar per week per programmer.
>A nice roll of toilet paper runs about a buck. Your programmers are probably using about one roll a week, each.
So what do you think? I would bring my own toilet paper in exchange of an Aeron chair. Would you?
Sep 06
Fit stands for FrameworkForIntegratedTest. The following is from Wikipedia:
Framework for Integrated Test, or “Fit,†is an open-source tool for automated customer tests. It allows customers to provide examples of how their software should work.
Notice the word customer appears twice there?
We actually have a pretty good Fit Test framework. It uses a combination of Excel, JUnit and Watir. Excel is used for data input, scripting tests and assertion. It makes our Fit tests easier for non-geeks customers to use. Although, our onsite customers were not very keen on this idea. Writing, maintaining and verifying tests has always been only the developer and QA’s responsibility.
With the newest progress in our project, the focus has been switched from finishing stories to completing scenarios. One of the things we are trying out is to really get customers involved in Fit Tests because it’s the only way we can ensure the scenarios are completed and stabilized. Two of our brilliant developers, Mike and Celina, enhanced our Fit framework to make it even easier to use. So let’s hope we will be real Fit this time.
Sep 02
I spared some time yesterday to set up the network in my new home. I bought a Linksys BEFSR41 and put it in the basement. It works as the main router and connects to four other rooms. Upstairs I have the Linksys WRT54GL working in access point only mode. It provides wireless connection for the whole house. A 6 years old Asus laptop acts a wireless printing server using CUPS. Everything works very well so far. The only complaint I have is the noise from the Asus laptop. The thing is louder that my Dell desktop. But I guess a little white noise makes the room feel more like an office.