Shared posts

07 Nov 18:33

Synth Secrets Of The Dr. Who Theme

by synthhead
This vintage video takes a look at story behind the BBC Radiophonic Workshop‘s arrangement of the classic Ron Grainer Dr. Who theme.  While the original version was created with a setup closer to a classical tape music studio, this version makes use of 70’s era gear, like the Yamaha CS-80, ARP Odyssey and Roland SVC-350. via House… Read More Synth Secrets Of The Dr. Who Theme
31 Mar 12:26

Analysis Paralysis: Over-thinking and Knowing Too Much to Just CODE

by Scott Hanselman
Pair Programming Photo courtesy of FOCUS100

I read a post on ArsTechnica today called "I know too much to program quickly. What can I do?" that is summary of a StackOverflow question by Zilk, who says:

Lately, I've been noticing that the more experience I gain, the longer it takes me to complete projects, or certain tasks in a project. I'm not going senile yet. It's just that I've seen so many different ways in which things can go wrong. And the potential pitfalls and gotchas that I know about and remember are just getting more and more.

Trivial example: it used to be just "okay, write a file here". Now I'm worrying about permissions, locking, concurrency, atomic operations, indirection/frameworks, different file systems, number of files in a directory, predictable temp file names, the quality of randomness in my PRNG, power shortages in the middle of any operation, an understandable API for what I'm doing, proper documentation, etc etc etc.

This really hit me because THIS IS ME. I was wondering recently if it was age-related, but I'm just not that old to be senile. It's too much experience combined with overthinking. I have more experience than many, but clearly not enough to keep me from suffering from Analysis Paralysis.

I have two side projects I'm doing on vacations and in the evenings when the house is asleep. One is a port of popular iOS application to Windows Phone, the other is a iOS app with a cloud service startup with my buddy Greg. Both projects have had awesome beginnings and then stalled when things just got overwhelming.

I kept starting features, the stalling. I felt like I was thrashing to disk, spending more time swapping ideas around in my head rather than just doing them. I'm still getting lots of things done, in general, I'm productive, but when I code I just thrash.

I'm overthinking stuff. "Write settings to a file" turns into a mess of paranoia around concurrency situations, upgrading settings from previous versions of the app (that don't exist, mind you), and it just snowballs from there. It's not exactly scope creep, but it's a kind of architectural paranoia. I see so many issues and possible bugs that I've learned over the years that could derail a feature that I end up derailing the feature.

YAGNI

The answer, they say, is You Aren't Gonna Need It. "Perfect is the enemy of the good" reminds user Telastyn.  These are easy to intellectualize but hard to internalize. User Mouviciel says:

Looks like you are not experienced enough :). The next lesson is: stick to requirements, not more.

I get that, but me, I often need another brain to complement my own.

How I Solve Overthinking

I learned about Agile from James Shore while I was working at Corillian some years ago, but it's Pairing that resonates with me the most. With a good pair, you'll get 3 times the work, not double.

I worked my way through both these startup issues by bringing in another brain. I'm not the best programmer, but I do OK. But somehow we are both better when we pair. I paired with Greg on the iOS and my new friend Jan Hanneman on the other. They are both clearly better coders than I, which is intimidating, but I'm still sure I provide value. What they gave me was a fresh perspective and a focus to say "YAGNI" and just get features done. The ironic part is, if I'm brought in on a project to pair, that's what I bring also.

My wife thinks this is hilarious. It's the old relationship joke where your partner says something for years and years, then one day you rush home from work to share this amazing new "insight" from a stranger...the same insight your partner has been sharing all this time.

Since I work remotely, all my Pair Programming has to happen over video chat and screen sharing. I use Skype, Lync, Join.me, and whatever else works. We take turns working through features in Trello boards, sharing one person's screen, talking and coding, designing and brainstorming, then commiting to Git, syncing, and switching the share.

This seems to work well for sessions as long as 3 hours, but after that, we get pretty wasted. However the feeling of accomplishment when you work through a problem with a partner is also magnified.

Does your coding life get paralyzed? How do YOU work through it?

* Photo courtesy of FOCUS100



© 2014 Scott Hanselman. All rights reserved.
     
27 Mar 00:37

Learn Basic Linux Commands with This Downloadable Cheat Sheet

by Melanie Pinola

Learn Basic Linux Commands with This Downloadable Cheat Sheet

Master the command line and you'll be able to perform powerful tasks with just a few keystrokes. This cheat sheet will help you remember helpful Linux commands, whether you're new to Linux or could just use a refresher.

Read more...

14 Mar 16:35

The Best Mobile Tech From SXSWi

by Armand Valdes
5536056986_fe336fb31a_b
Feed-twFeed-fb

Mobile addicts rejoiced this past week as SXSW Interactive took over Austin, Texas with the latest in cutting-edge mobile technology.

Market Developer Shane Stearns discusses highlights from this year's festival including new startups, panels, and even parties.

The Mobile Minute is a series from Mashable and Mutual Mobile, an emerging technology company that pushes innovation for top brands such as Audi, Google and Citigroup. For insights from their design, development, and strategy teams on mobile tech trends, check out the latest Mobile Minute episodes on the Ask a Dev YouTube channel and subscribe. Read more...

More about Mobile, Video, Tech, Ask A Dev, and Sxsw 2014
07 Feb 03:01

The Day We Fight Back

ThoughtWorks is joining with several organizations, including the EFF, Reddit, Mozilla, and Demand Progress in a call to the international community to fight against mass surveillance. If you are concerned about the growth of mass surveillance of our internet communications, I urge you to see how you can take part. On February 11th, many websites will be adding banners to their site encouraging people to make their opinions known, particularly those in the U.S. concerned about how our government is indulging in behavior that can lead to undermining democracy.

To find out more please visit https://thedaywefightback.org where you can find out how to join in by adding a banner to your web site. For more background on the rationale behind this day of action, read this statement from the EFF. Take a look at my explanation on why privacy is important, even if you think you have nothing to hide.