Other People’s Code

I like looking at other people’s code. Said in the right voice, that could sound quite creepy. But I like to see what kind of projects they’re working on, how they implement solutions, what languages they chose to work with and how many other people are using their work. So I’ll keep looking at other people’s code. At night. Through their window. While they work.

Sometimes, I’ll just go to GitHub and search for a language or maybe a keyword having to do with something I’m doing in one of my own projects. This usually gives me a couple hundred pages of repositories to look through. I’ll click on page 99 or 100 of the results just to “randomize” what I’m seeing a little.

Over the last couple of weeks I started realizing that I was only searching for code in languages that I was familiar with. Within those languages I was only really reading code that I already understood or was familiar with. That didn’t set right with me because I wasn’t seeing anything new or interesting.  I felt like I wasn’t growing as a developer. I was staying comfortable and not challenging my skills.

So I decided to do something about it. I wrote a short little Python script (and later created a more convenient JavaScript bookmarklet) that randomly selects a repository and opens it. Ok, Ok, it’s not that exciting or inspiring. Nor is it original or even useful. It has a bug or two and should probably be developed a little more to give the user more options to filter things out.

But the idea was to gain exposure to new coding styles, languages and technologies and on those points it is a success! I have started a weekly habit of searching randomly using the bookmarklet and whatever result I get, I force myself to read through it and try to understand it. If I think the code is interesting enough I will try to implement it locally.

If you’re interested, you can find the repository at https://github.com/RyanDavison/RandomRepo . Feel free to fix bugs, add features or anything else. If you just want to play around with finding random repositories you can drag the link on this page to your bookmarks bar and click away.

No More Sundays

For several months now I’ve been posting something to the blog every day of the week. I’ve made it a point to create something (prose, poem, drawing, photograph) new every day and share it. But lately I’ve been feeling like weekend posting is too much. Even something good like writing can benefit from a disruption in the routine.

I don’t want to get out of the habit of creating something every day. But I think I’m going to go down to posting only 6 days a week by taking Sundays off. 

Just Write Something

Over the years I’ve written prose, short fiction and poetry. But consistently writing, refining and finishing pieces has always been a struggle for me. Sometimes I’m inspired. The words just come to me. Or my first draft says exactly what I wanted it to say and in the way I wanted to say it. However, those pieces are rare and they’re not usually produced at will.

There’s a solution to this problem. It doesn’t have anything to do with methods or techniques. There’s just one little trick that I need to employ that solves my consistency and production issues. The trick is to write.

I tend to fear imperfection in my writing. More than that I fear not having anything useful to say. Not writing anything certainly takes the imperfections in my writing. And I don’t have to fear writer’s block. But I also ensure that I’ll never create anything good. I’ll never have the satisfaction of producing polished pieces or anything I’m proud of.

I think writing nothing is much more troubling than writing something bad.

Rebate Cards You Wouldn’t Want To Use

There are a lot of advantages to consumer rebate carts. But they’re all for the companies giving them out. For the consumer, you get a pseudo-debit card that expires 12 seconds after it’s mailed out. By the time you get the card in the mail after 6 to 8 weeks, the account maintenance fees have reduced your $3 rebate to 17 cents. Of course, you can still use that amount at any retailer that accepts credit cards – right?

There are some brands that have a unique advantage in the rebate card racket. They could almost be totally assured that the rebates would never be used. All they would have to do is make the card a bright color and emblazon their brand names the top. In no particular order, here is my list of the top 10 branded rebate cards nobody would want to use:

  1. Dulcolax
  2. Preparation H
  3. Bengay
  4. Gas-X
  5. Rogaine
  6. Tinactin
  7. Imodium
  8. Vagisil
  9. Benzoyl
  10. Depends

Stop Putting Things Off, Start Getting Things Done

Have you ever put something off for days, months or maybe years before buckling down and getting it done? Or maybe you never finished it even though you can and probably should?

Sometimes circumstances force you to get them done. For example, at the last house we lived in I kept intending to remodel the bathroom, remodel the kitchen and re-landscape a section of our front yard. After two years of living there I finally did all of these things in the last few weeks before selling the house.

I often put off returning unwanted items to a store until just before the deadline. Even now I have a piece of luggage that needs to go back. Throw it in a box, tape it up and put on a label. That’s all it would take. But I keep walking by it and thinking, “I’ll do it later”. Yes, I’ll finally get it returned but it will feel like a chore because it’s something I have to get done.

This type of reactionary thinking sometimes follows me into the workplace too. I’ll have a map that needs to be finished or a piece of code that needs to be refactored. But I’ll wait until the deadline to finish it or until software breaks before fixing it.

Why do we leave some things undone even if they could be completed relatively easily? We might put off difficult tasks because we don’t want to get started on a chore. But I have a theory that we put off difficult tasks because we don’t want to finish them. When you have something you know you could accomplish but you don’t, it does two things for you.

First, it gives you a sense of control over your life and environment. You can do these things with relative certainty of success but you choose not to. If it were a task or project that didn’t have a clear path to completion it would become a major project and would, in a sense, control you. We like to keep some unfinished but doable projects around so we can have a hand in our own future.

Second, we keep certain projects around a buffer to the bigger and more uncertain things in our lives. Maybe these are those big projects that threaten to control us. Maybe they’re buffers against a phone call you have to make or something you need to learn. Whatever the thing you’re avoiding, you distance yourself from it by first avoiding something simpler and giving that thing priority.

So how do you break free, sweat the small stuff and get the big projects off your plate as well? It’s actually pretty simple. But it’s hard to actually do. I’ve found that you need to create a new habit of accomplishing at least one small thing on your to do list every day. You also have to commit to working daily on any big projects you may have looming.

Along with creating work habits, you have to carve out specific times to do them as well. It really comes down to self-discipline. You’ll soon discover that you get a much more satisfying sense of control over your life when you purposefully tackle your tasks. And those bigger projects will soon seem much smaller and more doable as you chip away at them day after day.

Going the Extra Mile

It seems like it’s been a nonstop week with work, family in town, shuttling kids to events as well as all the regularly scheduled programming of life. One thing I’ve done a lot more of this week is hike. Hiking is something I’ve always considered fun but unnecessary. I usually only go a few times a year locally. Sometimes I make an extra effort to get out on a trail when I’m visiting a different place.

This week I’ve hiked twice and have loved both times. I was out with family which made it even more enjoyable. I had at least one of my sons on each hike and each one said it was a lot of fun and we should do it more often. That’s enough to motivate me to get out with them again. And in the place we live, there is never the excuse of not having enough hiking destinations. We could probably choose a different trail within 30 minutes from our house each day for a year without repeating.

I felt really good after the hikes too. I go for walks every day and that’s wonderful. But there’s something different about a dirt trail. Sidewalks are great but I love uneven terrain more. It gives you a better workout and hits different stabilizing muscles. Everything feels good after a few hours of trail walking. I think it’s even easier to go further on a hike than walking on the street. That’s because there’s scenery when you hike so you don’t get bored. On the street you just see people’s front lawns and those aren’t usually awe inspiring. I can’t stand waking on a treadmill because it feels like you’re exercising. Walking and hiking give you a sense of accomplishment beyond just step counts or time put in.

When I hike I always feel inspired. There are always new photographs to take, interesting people to meet and beautiful places to see. Living in the west is a special thing. We have some absolutely amazing terrain and outdoor spaces.  I don’t want to waste the time that I’m living here.

I’m determined to make hiking a regular part of my weekly exercise regimen. Unfortunately, this means I have to push myself to literally go the extra mile of getting to a trailhead. I’m up for the challenge though.

 

Hey Kids, We’re Going to a Museum!

We’ve been doing a lot of fun activities with my sister’s family in town this week. Our latest adventure was to a local dinosaur museum. It’s small but has some interesting displays. It also is a great place to get out of the afternoon heat and spend an hour or two trying to convince your kids that this kind of experience is actually enjoyable.

 

One of the exhibits was an earthquake simulator. It was one of those platforms that moves around while you stand on it and stare at pictures of earthquake destruction on the wall. I didn’t read any of the signs associated with the simulator so I still have no idea why there was one at a dinosaur museum.

One of the worst (or best, depending on how you look at it) exhibits was a giant animated model of a T-Rex ripping the head of another dinosaur off its body. I’m of the opinion that the neck wouldn’t tear like that. That guy’s teeth would have severed it where it bit. But what do I know? I’m no paleontartist.

No more violent video games. We’re going to a museum instead.