Ionrock Dot Org

by Eric Larson

My Weblog

Day Two of Riding a Fixie: Thankyou Brakes!

I rode downtown to do some work and eventually meet up with some folks for a drink. It was my second ride on my fixed gear. There were some healthy hills to go down and a good deal more traffic to contend with. My overall conclusion? Brakes are awesome!

It shouldn’t be surprising that riding a fixed gear is very different. It is pretty much like a regular single gear most of the time, except where it is nothing like a single gear. Where things diverge most are hills and intersections.

On hills, you really need a pretty tough gear ratio unless you are really fast as pedaling. My new ratio is pretty decent for the time being as it wasn’t too fast going downhill, but it was definitely fast. A couple times I tried to slow down without my brakes and realized pretty quickly that I was not able to stop very quickly. With time an experience I’m sure this will change somewhat, but physics suggests that it will never be like using brakes. Thankfully, my brakes are working like true champs and stopping is not really a problem.

The other difficult thing is dealing with traffic at intersections. Typically on my single speed, I can push off and coast for a second to get my feet in the toe straps. If I need to take a corner somewhat quickly, I can coast through it safely. On the fixed gear, neither is trivial. Getting my feet in the toe straps as the pedal is moving is tricky, especially when my shoes are wet (it had just rained a bit this afternoon before riding). Likewise, taking a corner with some speed is a little more nerve racking since I can’t stop pedaling. I’m sure over time these issues will be less of an issue. Some more practice should help in both cases. The few times I managed to nail a turn or get my foot in the toe strap on the first try, it was actually a really good feeling.

I’m really excited I got these new wheels and the fixed gear. It is tough to find reasons to get out an exercise when you almost always have things you can do at home. Having a new toy to play with has been a great excuse to hop on my bike instead of thinking I don’t have the time. I’m hoping the extra time pedaling will help get me ready for tour in February!


Posted Thu Feb 2 23:49:00 2012 by Eric Larson

Riding a Fixie

This past Christmas I received a gift card to my local bike shop, The Peddler. Seeing as I had just gotten some new tires and bar tape on my geared bike, it seemed like a great opportunity to start fixing up single speed.

My single speed is a steel frame Panasonic Sport 1000. It is a pretty typical inexpensive Japanese road frame. The fine folks at Freeze Thaw Cycles built it for me. They specialized in building bikes from scratch using used parts. It has always been a great bike. My only complaint was that the gear ratio was a little too easy at times.

With some disposable funds to spend, and knowing that my wheels needed a bit of work (some spokes had broken at one point and could probably used a bit of love replacing the bad ones), I decided I wanted to get some new wheels and a higher geared chain ring. They had a set of blue Retrospec deep v wheels that came with tires and a flip flop hub. Seeing as I’ve always thought the hipster fixie look striking, I thought this was perfect. As for the chain ring, I went from 39 to 46 teeth. They had to special order the chain ring and a lock nut for the fixie side of the wheel, so I was able to ride around on the new wheels as a single speed while waiting for them to come in.

My initial reaction was rather mixed. They were extremely smooth, but also a lot stiffer of a ride. My old tires were a bigger, so obviously it was going to take some adjustment. The brakes also were honking like no ones business. After reading up a bit from every cyclists friend, Sheldon Brown, my pads seemed toed in just fine, although they were off center. I centered things up and it helped with the squawking. The rims were also unmachined, so I’m sure the pads wearing off the paint had a lot to do with noise. On the positive side, the wheels were much faster. It was trivial to get going fast enough where my legs would start spinning due to the easy gear of my chain ring.

I had ridden out to the coffee shop next door to The Peddler, Flightpath Coffee, in anticipation of my new chain ring and lock nut. They put the parts on right away and I began my first fixie ride back to the house. Knowing it would take some getting used to, I took a back road part of the way and spent a minute or two trying to do a track stand. It was definitely harder than I expected. I’m sure once I get more familiar it shouldn’t be too difficult. Learning to get my feet in my pedal clips was also much more difficult than I expected.

Past the initial awkwardness, it was a ton of fun. The bike is silent and the new chain ring feels great. I still have my brakes in case I need to stop really quickly. Surprisingly, the brakes work really well. My impression was that brakes on a fixie didn’t really do much, but they were just as effective as before. Having always had a desire to try out a fixie, when I rode my single speed, I’d keep pedaling almost all the time. This ended up being great practice and helped a great deal in feeling comfortable.

I’m really excited to get out on the road. People say that riding a fixie allows you to make a strong connection with the bike. Your body is directly responsible for all aspects of starting, cruising and stopping. I didn’t really experience that just yet, but I’m hopeful that it is something I noticed as I get more experienced.


Posted Wed Feb 1 22:02:00 2012 by Eric Larson

Home Network Sysadmin

After an excellent term of service, my Linksys WRT54G finally started showing its age and revealed a need to be replaced. It was the first wireless router I had ever had and served me well. Yet, with new hardware comes new possibilities.

Besides an upgrade to the newer specifications, one of my goals was to find a router that allowed network storage. NAS systems have become insanely cheap, but they are not mobile. We often need our files on the road, which means the router + hard drive combination is a slightly better fit.

I settled on a Netgear WNR3500L after a good 20 minutes at Frys randomly looking at the selection of networking gear. This process took much longer than expected as my home sysadmin skills have wavered in light of cheap VPS hosting. It was always a lot of fun to run a dynamic DNS service and host my website and media files at home. Unfortunately, I now value reliable service over noodling on geeky endeavors at the house. The result is that computer and home network hardware have failed to pique my interest for quite some time. I’d consider myself completely out of the loop when it comes to knowing what kinds of hardware is out there. Fortunately for me, home networking gear hasn’t changed too terribly much.

My new router supports something called Readyshare (they put a TM at the end of this, so I suspect it is something specific to Netgear) that will let you place a USB based storage device on the network. It shares it via Samba. It was trivial to set up and I was backing up my data in no time.

I also use Vonage for my home phone and previously had its router doing my local DHCP and sitting in front of my wireless router. Seeing as I rarely even use my home phone (it forwards to my cell), it made more sense to go ahead an put this new wireless router first in the chain. After a little trial an error, I configured my vonage router with a static IP and opened the necessary ports for UDP traffic, successfully allowing my home phone to function once again. The fact this didn’t take a few days of noodling to get to work made me feel pretty good about the whole process.

There are times where I wish I could be a sysadmin. Actually, I take that back. There are times I wish I knew what a sysadmin knows. None of it is so difficult you can’t understand it, but it takes practice and requires a different type of mindset that thrives in making software and hardware play nice. I’m confident when this router dies after 10+ years I’ll have another chance to flex my sysadmin muscles a bit at home and be thankful for the experience. But, I’m also thankful I don’t have to do it every day. Thanks to all you sysadmins out there!


Posted Fri Jan 27 02:02:00 2012 by Eric Larson

Ubuntu HUD

I had seen an article on Ubuntu HUD recently and finally got a second to actually read a little about what it does. The idea seems to take the use of tools such as Quicksilver or Alfred and apply the same workflow to menus actions in all applications. Overall it seems like a slick idea. The video in the post above shows how it can be used on the command line! Very nice.

My biggest question is that of discoverability. I remember when I was working on the NLD 9 usability and felt the push for search was somewhat misguided. Search is extremely powerful, but it is also something of an art form. As a programmer, many times my goal in asking questions in forums or on IRC is to gather new terms to help aid in my searches. When you are a young programmer with no formal training trying to understand how to work with files, knowing terms like “handle” or “EOF” can be tough to discover on your own.

What is easy to appreciate in the HUD idea is that you never need to leave your keyboard. This is the reason I’m enamored with Emacs. It provides an interface to do so many things, that you rarely need to leave the comfort of your frames and buffers. In Emacs the use of plain text enables this sort of tool to work and I’d assume that GTK+ (more or less) is what allows HUD to take things like menus out of the application and add them to an index. If this assumption is correct, we might finally see how a free platform has an advantage in providing a better user interface. I doubt you could ever see such a widespread conceptual change in something like OS X or Windows, partially because it may not make sense to users, but also on a technical level it seems really difficult.

No matter the long term effects, it is exciting to see some innovation in user interfaces that reflect the maturity of the “computer” as a tool that the majority of people use.


Posted Wed Jan 25 08:23:00 2012 by Eric Larson

Making Transitions

I can’t tell you how many times a transition has made a song work. A riff or chorus, no matter how interesting or catchy, is only as good as the transition that introduces it. This theme also holds true when developing systems. APIs and tools such as databases are only as good as the data formats used in the transitions. A well designed architecture with a poorly designed data or storage format will quickly gain complexity, losing the benefits of the system design.

At work I’ve been taking an existing internal API and transitioning it to a service based API. The process has proven to reveal a wide arrayf of complexity. In my efforts to manage this complexity, the best tactic has been to focus on the data format passing between the two systems. Defining expectations and the contract using the format, it has enabled simplifying the service as well as making the client code manageable.

While I’m still very much in the process of making the changes, the strategy of adjusting the data going between the systems has made other decisions much simpler. The result is that both the service and the client application can be implemented with elegance and simplicity.


Posted Fri Jan 20 20:04:00 2012 by Eric Larson

Slowing Down

Speed is overrated and yet my mind thinks it is of extreme importance. The extra few minutes spent triple checking some detail is agonizing to my silly brain that simply wants to go go go. It is extremely frustrating that the process of communicating ideas is rife with peril. Just taking the words from my mind to my keyboard is a struggle at times. Typos are just one example. My eyes look at what was written and find the concepts I wanted to communicate instead of words that need proofreading.

The one tool I know I have to battle this curse is to simply slow down. Instead of the silent reading most do, I can read aloud to help improve my comprehension. My own ears filter the cruft and make clear when an idea is simply wrong. When I was a kid I took a test that suggested I was an auditory learner, so my assumption is that by communicating audibly, my mind gets a healthy does of reality.

Even though I recognize this powerful tool, my mind wants to avoid it in the quest for speed. I need to slow down and speak clearly to myself. This post is meant as a reminder.


Posted Fri Jan 13 17:29:00 2012 by Eric Larson

Testing and Design

A well designed system does not always imply it is easy to test. Adding a flexible, modular design can make testing difficult. The complexity that hides behind a good design still exists, which means we need to be sure the interfaces between the different layers of the design are fully tested.

Conceptually, testing interfaces seems relatively simple, but as layers build upon other layers, things can become more difficult. Typically a layer of design will interact with libraries which may in turn have similar layers. A change at one layer may have a larger impact than expected.

Fortunately there are strategies to help manage the complexity when managing complexity! Mocks can be a good options as long as you also test the real interface using the same parameters. There are other tools such as code injection, but it is something I’m personally familiar with.

If you do have to test a complex, well designed system it may not be easy to test, but it should still be testable. The difference lies in the fact that testable software can be tested effectively. Even though the process of testing a system might be difficult at times, it should be clear that it is possible. If the code doesn’t seems impossible to test effectively (brittle tests, tons of stubs/framework for small corner cases, extremely slow tests), then it is probably a sign of a poor design. This is unfortunate as code that is difficult to test is also code that is difficult to confidently refactor.


Posted Thu Jan 12 09:21:00 2012 by Eric Larson

A Busy New Year

I’ve been slacking on my writing this year thanks to life getting in the way. With that in mind, I have had a couple small things I wanted to post about even if they don’t really need a full fledged blog post.

Dad

I’m coming the conclusion the biggest advantage of Dad is that is really light weight and simple. This is a good thing in development but I don’t know that in production it is missing important features. I plan to keep playing with the idea, but other tools are already doing a good job managing processes.

Xenv

Xenv on the other hand is proving to be more useful. I recently read how to make chroot jail and it occurred to me how Xenv provides a similar yet different use case. The key difference is that a chroot jail aims to create a new system from scratch, effectively copying everything in some existing system. Xenv on the other hand tries to provide a simple layer on top of an existing system. From a DevOps perspective, the Xenv gives developers a way to meet their requirements without clobbering sysadmins. This may seem contrary to DevOps, but in larger organizations or even when someone is better as a sysadmin than a programmer, having an easy way to layer requirements means a smoother transition from development to deployment.

Singing

Unbeknownst to most, I’ve been taking vocal lessons. My goal is to help improve my speaking voice as well as help me start singing a bit. I don’t have any really concrete goals at this point, but it is something I’d like to do. A bit of formal training goes a long way in getting a better idea of what might be a good goal and gives me tools to get there.

What is interesting about the methodology is how little it has to do with singing. Instead it is understanding how you naturally vocalize sound and training your body to do the same thing when you “sing” as when you speak. The process is simply singing scales using different vowel and consonant sounds. It is like free weights for your voice. I can say with confidence that it has already made a big difference in the shower and on the Karaoke stage.

Recording

We’ve been demoing some tracks to show to folks who might be interested in working with us in the future. The biggest thing I’ve learned this time around is how important is to be confident in your sounds. This predicated by taking time outside of the studio to practice and really understand your sound. If you are able go in with confidence it goes a long way to saving time. You aren’t trying a million things trying to figure out how something can sound. Instead, you have the sound and you merely need to capture it.

Hopefully I can get back to a more regular writing schedule, but in the mean time I’ll keep collecting my thoughts whenever possible.


Posted Tue Jan 10 03:07:00 2012 by Eric Larson

Other Programming Languages

Recently I’ve found myself having a desire to check out some other programming languages. It has nothing to do with Python being lacking anything, but it just sounds like fun. When I begin actually taking a closer look, my desire quickly fades away into the reality that learning another language would be really hard and have very little benefit. Python is a great language and no matter what other language I try, heading back to Python always ends up being a beneficial decision.

If I did have a bit more motivation here are some languages I’d like spend some quality time with.

Lisp

There are really tons of different Lisp dialects and runtimes. Here are some more specifics.

Scheme / Racket

Racket is the new name for PLT Scheme. It provides a web framework.

GNU Guile

The blessed scripting and extension language for GNU systems. There has been talk of rewriting Emacs using Guile, naturally, I’m curious.

Clojure

The Java ecosystem has some powerful tools that always are enticing. Being able to write some service in Clojure and immediately reap some of the benefits of years of VM fine tuning always sounds appealing. Getting over the hump of the classpath and Java-isms always stands in the way.

CLISP (CL)

There are some web frameworks in CL. The window manager I use also can use CL.

Haskell

I’ve dabbled in Haskell here and there, but it never stuck. The static philosophy is something I can definitely appreciate and functional paradigms make sense to me. I think the syntax is where I lose some interest. Yesod was a recent framework that looked interesting, but not enough to lure me from Python.

Go

The other day I spent some time going through a more advanced Go tutorial and had a nice time doing it. The problem here is that I don’t have any ideas of what to write. Again, Python always gets in the way by being too easy.

C

I’m pretty dangerous with C now and would like to fix that. The larger concepts like pointers make sense, but I’d like to learn it more fluidly. Understanding the many tools surrounding C (autotools, make, etc.) is of interest to me as well.

There are others of course, but these are probably the languages I’d actually start spending time with sooner than later. Not long ago I had a similar interest in asynchronous programming that I did managed to satisfy. My conclusions then ended up sending me happily back to plain old Python. With the exception of C, my guess is the same thing will happen, but time will tell.


Posted Sat Jan 7 00:13:00 2012 by Eric Larson

A Silver Lining Amidst Tragedy

The new year brought a painful dose of tragedy in the loss of our friend Esme. To learn more about what happened and to find information on how to help check out these words from waterloo records. Esme was a really amazing person. She loved music and was an example of the kind of person that makes all the hard work and money spent being in a band completely worth it.

Losing someone is never easy as it creates a void. Something is missing that you wish was still there. The experience is different for everyone, but what is consistent is the mark left behind. It is safe to say that Esme left a beautiful and deep mark on everyone around her.

It is this mark left behind that we can see some positivity within the tragedy. People begin to speak up and share stories. Friendships are grown and the community rallies. Some people find new meaning in what they do and others make commitments beyond themselves. I hope that as we reflect on our lost friend we do so with a desire to change how we live today. Let great things rise up from the sadness we feel in the loss of our friend. We as a community have already begun to react and while our feelings are sad, the actions are becoming more powerful and spread memories of a great person.


Posted Wed Jan 4 23:42:00 2012 by Eric Larson
Created using Python, jQuery and Emacs


You are viewing a mobilized version of this site...
View original page here

Mobilized by Mowser Mowser