Monday, June 30. 2008Eclipse GanymedeI've been using Eclipse Ganymede for a couple of days now and here are a couple of first impressions.
Wednesday, June 11. 2008Slides for my Inside Enumerable talkThe slides for the talk I did last night at the Rails Project Night are on SlideShare at http://www.slideshare.net/mbowler/inside-enumerable
Tuesday, June 10. 2008East Side Marios attempting to rebrand themselves?East Side Marios has done a great job of branding in the past. People know exactly what to expect when they eat there and the atmosphere at the restaurants is very consistent with their advertising.
So we were very surprised, and disappointed, to discover that they're changing the "feel" of the restaurant. In the past, they put on a big show for birthdays. All the staff come over to your table and sing and the person celebrating the birthday gets to spin the big wheel and get prizes ranging from free deserts to "Surprise - let's hope it isn't a pie in the face". I got the latter once and while the kids were disappointed, I was glad it was a coffee mug rather than a "pie in the face". Yesterday was my son's birthday and Saturday had been my nieces birthday so we took them both out for dinner at East Side Marios. We took them there specifically because East Sides has always made a big production about birthdays (and we like the food). So we ordered our food and waited for the staff to come over to sing and for them to bring the wheel for spinning. By the time desert arrived, it was obvious that neither one of these was going to happen so we asked our waitress and she explained that they had discontinued both of those. She said that the restaurant was trying to be more upscale now. If you haven't been to an East Side Marios', you may not appreciate how inconsistent this is with their branding. The walls are covered with empty tomato cans and jars of food stuffs and crazy sayings. This has always been a "fun" place to eat, not an "upscale" place. The place is loud, the decor is tacky and it's always a good time. Thinking that perhaps our waitress was new and just didn't understand the whole East Side process, we asked to speak to the manager. The manager then proceeded to tell us that there had been complaints and so they were changing their process. Now this is a franchise and franchises are required to follow the formula provided by head office so I have to assume that this is a change across the entire company. We hadn't come to East Sides for an "upscale" dinner. We'd come for a fun birthday dinner for two kids and they didn't get it. If we'd known in advance about these changes, we would have eaten somewhere else. Friday, May 30. 2008Rails on different Ruby implementationsOne of the big milestones in a ruby implementation is when it's able to first run a simple rails application. Until a couple of weeks ago, there were only two ruby implementations that were able to do this - the C reference implementation (Matz's ruby) and JRuby.
Today, there are four implementations that have hit this milestone. Rubinius and Iron Ruby have both just announced that they're able to run a simple rails app. This is an impressive milestone for both projects - congratulations to everyone working on those. Friday, May 23. 2008Secrets of Mental MathI listened to a truely amazing podcast this morning. Secrets of Mental Math has Arthur Benjamin demonstrating complicated "in his head" calculations in front of a live audience. He then talks about the techniques that he uses in order to do these calculations. Absolutely fascinating!
Wednesday, May 14. 2008TorontoRBIf you're working with ruby in or around Toronto, check out TorontoRB, a new site for the local ruby community.
Monday, May 12. 2008Isolated testsLooking through the rspec documentation, I find this...
This notion that we should isolate every component and test it entirely by itself is something that I've heard over and over again. At one point, I even believed that it was a good idea. Such is the way of an anti-pattern. In the beginning, it usually appears to be a good idea and it's not until you've actually tried it that you start to realize that it might not have been so good. A long time ago, I worked on a project where we followed this practice. Where the only time we touched the database was when we were testing the persistence layer. For each layer above that, we would mock out what came below so that each layer was tested in complete isolation. We had lots of tests and they all passed. So when we showed the application to our client and it started blowing up, we were shocked. We had all kinds of tests! They all passed! How was it possible that anything was breaking? We identified and fixed all those bugs and went back to show the client again. Once again, all our tests passed. Once again, the application blew up over and over again. Looking at all the bugs that had been discovered, we noticed some interesting patterns. All of the bugs that our client was finding were in interactions BETWEEN layers. Each layer by itself was covered by tests and was working fine. The interactions between layers, however, were not being tested in any reasonable way and that's where all the bugs were. I've seen this same idea in many applications. Whenever there is a strong emphasis on testing in isolation, many bugs are hidden until much later in the process. Sometimes not to be found until the application enters production. The solution to this problem is simple. Don't ever assume that your isolated tests are enough. You always have to have tests that pass through all parts of the application. Wednesday, May 7. 2008Slides from my Ruby for Java Programmers talkI've put the slides from last nights talk up on SlideShare. This is the first time I've used SlideShare so if you have any trouble accessing the slides, let me know.
Monday, May 5. 2008Pictures from the Warplane MuseumI've posted photos from our trip to the Warplane Museum. The shot below is the only plane we actually saw flying although about half of the planes are flight-ready. Colorado Software Summit 2008Colorado Software Summit has posted the initial agenda for the 2008 conference. As I've written here before, if your business is writing software, you need to go to this.
Nite-ops at the Warplane MuseumThis past weekend we took the Beavers to the Canadian Warplane Heritage Museum in Hamilton for their Nite-Ops program. This is a special program offered to Scouts, Girl Guides and Cadets only and is an overnight event where the kids do a variety of aviation related activities and then get to sleep out underneath the planes.
The "nite-ops" portion of the program is a late night tour of the planes by flashlight and this was a huge success with all the kids. About half of the planes are fully functional and they do fly periodically. The plane we camped underneath was one of the functional ones. It was a "tracker" which had served on the HMCS Bonadventure aircraft carrier. I was quite impressed by the hook on the back of the plane that had been used to bring it to a quick stop when landing on the ship. The hook was a lot smaller than I would have expected for such a large plane. The kids were all amazed at the fact that the wings on the plane folded up for storage inside the ship. The favorite plane for most of the kids was a big bomber. There was a story here about dropping a load of watermelons during a practice run and the thought of a plane dropping watermelons seemed to really grab the kids' attention. My own favorite was a plane that would drop water on forest fires. The museum really put on an outstanding event and all the kids had a fabulous time. Thursday, May 1. 2008A developer bubble?Joel Spolsky has an interesting rant about companies building products that nobody wants. I want to highlight one point in particular.
Assuming that this is accurate, this is a bubble waiting to burst. Joel is describing a situation where programmers are being paid significant amounts of money to build products that will never generate enough revenue to pay for the investment. That's just bad business. Wednesday, April 30. 2008Ruby at the Java Users GroupI'll be speaking at the Toronto Java Users Group next Tuesday on "An Introduction to Ruby for Java Programmers"
This talk is based on one I gave at Colorado Software Summit a couple of years ago although it's been updated and expanded. Facebook: http://www.facebook.com/event.php?eid=9900617139 Toronto JUG: http://www.torontojug.org Tuesday, April 29. 2008Lawsuits and vendorsOne of the arguments that I've heard many times against using open source is that if things don't work properly, there's nobody to sue. Now I've always thought that this was a silly argument since companies hardly ever do sue their vendors but they've wanted the ability to do so.
So I thought this article at CIO magazine was interesting. Here's they're suggesting that you shouldn't sue even if you feel that the vendor deserves it. That sort of blows the whole "we need someone to sue" argument out of the water.
Technorati tags: lawsuit Monday, April 28. 2008US Postal ServiceHere's an interesting video on the steps a letter passes through once it's dropped in the US Postal Service. The first 30 seconds or so are specific to Send Out Cards (which I resell) but then it's all about the Postal Service.
|