Originally posted to http://techtime.getharvest.com/blog/improving-report-performance.
We have been discussing testing styles at work. My team's preference is split on one-assertion-per-test. This describes a hypothesis I have about developers in both camps.
Originally posted to http://techtime.getharvest.com/blog/code-reviews-at-harvest.
An example of memoizing an expensive operation in Scala, similar to Ruby.
An example of how to detect classes at runtime to implement a convention-over-configuration extension strategy in Scala (or Java).
A quick fix to a performance issue with Scala v2.10.x and JDK 7+
Reasons behind csscss's design.
a CSS redundancy analyzer that analyzes redundancy.
We are more than our code.
Ruby 2.0 refinements have been a hot topic lately. Here are my thoughts on the debate.
Hanging my freelancer hat and joining the awesome crew at CollectiveIdea.
After two months in the new office, I realized we’re going to need to a lot more stuff to fill up the space: couch, big screen, etc. You know, the essentials?
Last night we had our second Northern Michigan Web and Mobile Meetup and I think this went better than our first. This week I grabbed a couple pizzas from Chef Charles in Elk Rapids, that guy can make a tasty pie. In fact I still have a couple slices leftover for lunch today. This week we watched Gary Vaynerchuk’s RailsConf 2010 talk.
Ask anyone who has redesigned their own website or released an open source project, pushing something live can be painful. I think there are two primary reasons for this:
After we moved back home in Elk Rapids Michigan, one thing that I acutely missed was the number of user groups we had in West Michigan. Don’t get me wrong, West Michigan doesn’t have nearly as many compared to a metropolitan hub. In Chicago they even have a VIM Usergroup. But West Michigan did a lot of events going on, and active communities around them.
I’ve blogged at Simple Chatter for a few years, but now it feels like a good time to retire that domain and roll it into a newer fresher look. Oh and while we’re at it, why don’t we create a new company?
I don’t normally write sensationalist articles, but today I’m going depart from the norm and make a bold claim: I think Twitter’s change to OAuth-only authentication is a waste of time for developers and businesses.
Michelle Greer recently wrote about viscous online comments on TechCrunch. Unfortunately, over the years I’ve seen a few ugly incidents where a female was singled out online and verbally attacked. To me, there is one thing worse than these gut-less commenters: it’s telling a minority to “suck it up” or “don’t take it personal” or “that’s just the way it is” or “quit whining”.
I’ll be the first to admit it: I can work myself to death. Paul Boag recently wrote a great article about the false “badge of honor” regarding long hours in the tech field. I love what I do, and I am continuously grateful that I am able to make a decent living in software. But I’m also prone to burnout.
After freelancing for a while, I reflected on a one man shop providing excellent service.
Touched by my clients concern for me.
All things being equal, people want to do business with their friends.
All things being not quite equal, people STILL want to do business with their friends.
Monday was the beginning of my third week working independent. And these three weeks have been a lot of fun. Very busy, but fun. However one thing that surprised me was the reaction from others when they asked what I do for a living.
Embarking on the life of a freelancer
“Finally, I don’t think there’s much value in arguing over who has the most incentive to create good products. The point is you’ll be better off in the long-term if you delivery high-value high-quality products, regardless of whether you’re a consultancy, startup, or enterprise shop.”
Months ago I shared my difficulties with leading others and sharing opinions effectively with Josh Little from Bloomfire. He recommended I pick up the book Crucial Conversations and even mentioned he has had to re-read it many times over the years. It was the first book I finished on my vacation, and I am very grateful for his recommendation.
I gave the Dvorak keyboard layout an honest attempt. For years.
This past semester I had the opportunity to teach the Advanced Java course at GRCC. Teaching at the college level has been something I’ve wanted to experience for a while and it is also quite aligned with my values. While I was excited to start the semester, I was a bit nervous at how my first class would turn out. As the semester progressed, I kept a list of failures and successes that would help me grow as a teacher. I hope this list helps other instructors as they start their career.
Here is the Prezi talk I gave to the GVSU Mobile Developer User Group.
I’ve been tinkering with Haskell lately, and I came across an odd issue. Let’s say I want to create a class that takes Integers, Characters, and Strings and returns an Integer.
Yesterday I was in a bad mood. In my disgruntlement, I decided to do some simple math on the number of hours in a day.
I’ve used the handle “zedder02” for many many years and for many different applications. It has it’s own history, but I think it’s time to retire it.
Voluntering my time to help RailsBridge
Well I finally got off my ass to port over the comments from Mephisto. Let me know if you find anything amiss.
I’m in the process of migrating from Mephisto to Wordpress. Everything should be up and running other than comments. Hopefully I’ll get those wrapped up by the weekend.
For those of you who don’t know, Janson works in Seattle while Aaron and I work in Holland MI. Even though he’s in Seattle, we’re still able to work as if he were in the office. We’ve had pretty good success with a few tools.
I’ve been developing in Ruby (and Rails) for the past 2.5 years. Over time, I’ve molded my own flavor of CRUD controllers and resulting specs. Unfortunately, it’s so different than the Rails and RSpec generated code that it takes me as long to alter the code as it does to create it from scratch. However, in laziness, I’ve pushed off writing my own generators. Until yesterday.
I don’t normally repost from other sites, but this was too good.
Aaron, Janson and I were at Applebees a month ago discussing an estimate for a client. We started talking about a particular part of the estimate that would require us to take more time than usual. We worked on their project previously, and used a few testing practices that we’ve stopped since. I wanted the estimate to include the refactoring of the code, but not publicize the fact. Aaron wanted to communicate with the client our exact intent.
Excited to use Treetop on a project
Reflections on using using view specs for a project
If you’re going to be in San Fransisco around Jan 29th, I’d recommend checking Brandon Keepers Rails Training Session. He’s an extremely talented developer, and an active contributer with a lot to offer based off of real world experience.
Yep, I'm an idiot sometimes
Testing the behavior of ActiveRecord models
A question that I’m asked frequently, especially in regards to mock testing is: “I know it seems worth it to test, but isn’t it just a tautology? I mean when your code changes you have to change your tests.”
Ok so not really. RubyConf officially starts tomorrow, but I still had a blast. The highlight of the night, other than meeting some rockstars in the Ruby community like Chad Fowler, Ezra Zygmuntowicz, Marcel Molina, was playing Werewolf (also known as Mafia). Talk a complete mind-fuck.
We’re in the process of migrating our servers onto a new infrastructure. Namely beefy servers running Virtuozzo. I’ve been a fan of Parallels for a while, and recently fired up a Debian VM, playing with grsecurity. Since this involved recompiling the kernel, and I’m not the most savvy admin, I pragmatically cloned the VM so I could backup in case crap happened.
On average, I drive 150 miles roundtrip each day for work. Obviously there a helluva lot of negatives with that commute. However this was a great “opportunity” to turn a negative into a positive. (Yes, I’m using quotes because it wasn’t easy).
Sometimes you make strange correlations with software.
Last night’s Geeks Group was pretty awesome. It’s definitely a night I look forward to every month. The biggest problem is heading home and starting work the next day. Janson Hartliep and I chatted about this heading out.
I came across something in Rails that’s fixed an issue that has seriously irked me.
Working on a custom CMS, I was tasked to add a feature that allowed users to mark pages as secure. This allowed them to take sensitive data, and then turn around and email it plain text. Go figure.
I’ve been rather quiet the past few weeks due to Brittany and I buying our first house. After 3 years of renting, we felt we were finally stable enough to make a commitment with our own home.
Aaron and I have been talking a lot the past couple weeks about the overwhelming about of work we have at Elevator Up. It really is a good thing, and I’m not complaining at all. Busy startups are longer lived startups.
We’ve moved to our awesome new office in the Zeeland Clock Tower building.
I love discovering neat tricks with Ruby and Rails, even though most times I feel like the slow kid getting the joke 15 minutes after it was told.
Environment specific configuration files can be a pain in version control. Especially when multiple developers keeps clobbering each other on updates.
One of the useful features of Rails servers (Webrick, Lighttpd, and Mongrel) is to see the development log going to standard out. However when using Rails before version 1.2 and Mongrel, you don’t get that nicety.
At Elevator Up I spend roughly 90% of my time buried in TextMate coding in Ruby. Initially I used grep when searching for text out of command line habit. I also toyed with TextMate’s built in searching, but that took too long, especially when I froze Rails.
Recently I got Brit hooked on Flickr and it only took her 3 days to hit her monthly bandwidth quota. However, what’s more interesting is that I needed to find a very intuitive application for her to edit photos quickly. And those of you who know me, I’m all big into thin clients, so I started googling.
Yesterday we brought home our newest addition to the Moazeni household. Meet our new Great Dane. Brutus:
As a developer you face many situations where things will just not work, then you have a revelation that points to something so simple that you want to slap yourself.
One of the things I like about working with Rails is test fixtures. However when the data model becomes more complex, the fixtures can become rather large. Worse yet, tests that require fixtures among two or more models feel clunky.
One of my biggest pet peeves of writing tests in ruby is based on something that makes ruby great. The openness of code.