
Resolutions for programmers (2012) - pkrefta
http://matt.might.net/articles/programmers-resolutions/
======
richmt
On the health note, the single most beneficial thing I did for myself this
year was to start lifting.

6 months ago I started committing 3 days a week to a strength training program
which I've strictly followed since. Making gains in the gym has motivated me
to sleep better and eat better which both have had huge effects on every
aspect of my life.

Not only that, but the exercise has helped a ton with anxiety I've had
throughout life and even the few gains I've made have been a huge boost in
confidence.

I urge everyone here to take up lifting as a hobby and stick with it.

~~~
mysterypie
> I urge everyone here to take up lifting

Everyone I've spoken to got into lifting because they think it gets girls.
They won't admit it directly or perhaps realize it themselves, but a series of
questions leads to women: Of all types of exercise, why weights? -> So then
why do you need to be toned? -> OK, then why do you need to look good in a
T-shirt, or at bars, or in your profile pic? -> Because women like it.

Probably there are some fraction of women for whom this is an important factor
in choosing men. Since I see many beautiful women choosing men with average
physiques, I'm going to say that being highly muscled is not an important
factor for most women.

NOTE: I'm not questioning exercise in general, cardiovascular fitness, being
healthy, being free of disease, and not being overweight. All those are very
important. I'm saying that of all the efficient ways of exercising, many
people seem to pick lifting because of the misguided agenda that it attracts
women.

~~~
kbutler
Happily married for 20 years. Definitely not doing it to "get girls". Health,
longevity, stress reduction, facilitate physical work and recreation, etc.

Did some resistance training a few years ago - felt good, lost fat while doing
it.

Shifted to cardio for a few years with an employee sponsored cardio-centric
wellness program. Experienced a gradual fat gain and knee and back pain,
although I was running 20-30 miles per week, using far too much time per week.

Shifting back to weights the last few months. Not being very rigorous, but
doing the exercises in "Starting Strength". Back pain* and knee pain now very
infrequent. Strength is increased. Some muscle definition improvement (though
lots of excess fat still).

* Lower back pain actually made me very hesitant to do deadlifts. I started with the bar and the very lightest weights and gradually progressed, being VERY cautious about strain on the lower back. I'm only dead lifting ~200 lbs at this point, but my back is much happier.

~~~
koide
What I don't get about this comment, and many others, is why do you have to
choose one type or the other. I believe a varied exercise plan will be more
helpful than just focusing on a single exercise type.

Run one day, lift for upper body the next day, HIIT the third day, abs and
light cardio the fourth day, lower body lift the fifth, rest day and go for a
bike ride on Sunday.

Sites like fitnessblender.com can help you get there. (I've been mentioning
them in these threads because I love them, the changes in my body and most
importantly, in what can I do with my body have been nothing short of amazing
in a relatively short amount of time)

~~~
kbutler
The Starting Strength book recommends that to maximize your strength gains, on
your rest days, you really do /rest/. This facilitates recovery, and muscle
growth and strength increase happen when resting, rather than when exercising.

I occasionally run/cycle/hike/shovel snow/etc. as well, but working for the
three weight lifting workouts per week. I'm not faithfully "doing the
program", but incorporating elements that work for me into my life.

~~~
koide
There's probably a comma missing in my sentence, I meant, if starting the
routine on Monday, rest day on Saturday and in Sunday go for a ride.

I agree rest days should be rest days. I've paid the price of not resting a
couple of times too many already.

------
gregdoesit
I would put _stay healthy_ and invest in your health (chair, standing desk,
exercise, food) as the #1 for any programmer for next year, and the years
after. It's all too easy for us to forget about the long lasting effects of
sitting in front of a computer that are hard to later undo.

~~~
T-zex
Save by not investing in standing desk.

~~~
dpweb
_Build_ a standing desk.. Two resolutions - a hobby (learn carpentry) and
health benefits!

~~~
pc86
The health benefits are at best questionable.[0] [1] [2] [3]

[0] [http://www.huffingtonpost.com/entry/standing-desk-sitting-
da...](http://www.huffingtonpost.com/entry/standing-desk-sitting-danger-
study_561e87aee4b050c6c4a3bb7f)

[1] [http://health.usnews.com/health-news/health-
wellness/article...](http://health.usnews.com/health-news/health-
wellness/articles/2015/02/17/4-ways-your-standing-desk-is-doing-more-harm-
than-good)

[2] [https://www.bostonglobe.com/lifestyle/health-
wellness/2014/1...](https://www.bostonglobe.com/lifestyle/health-
wellness/2014/11/03/yes-sitting-work-bad-but-standing-actually-
better/7ceei6fb0B7QjgAH3FlOrK/story.html)

[3] [https://www.washingtonpost.com/national/health-
science/stand...](https://www.washingtonpost.com/national/health-
science/standing-up-at-your-desk-may-energize-you-but-it-also-may-be-tough-on-
your-legs/2013/11/22/4d166d9a-0f46-11e3-8cdd-bcdc09410972_story.html)

~~~
maroonblazer
>The health benefits are at best questionable.

Not based on any of the articles you cited.

[0] is simply a study that compares mortality rates of sitting vs standing
behaviors, and is counter to a number of other studies that found the
opposite.

[1] and [2] suggest that ONLY standing can be harmful, and that one should
combine sitting and standing for the best outcomes.

[3] is similar to [1] and [2] but points out that poor posture while standing
- not standing itself - can cause problems.

------
brlewis
_Programmers tend to live sedentary lives, and we face unique health
challenges from our occupation._

Yes, that's actually how Fitbit started. From
[http://www.entrepreneur.com/article/223780](http://www.entrepreneur.com/article/223780)

 _Fitbit got its start after founders James Park and Eric Friedman sold their
peer-to-peer photo-sharing company Windup Labs to CNet in 2005. While
pondering their next move, Park, a former cross-country runner and avid
swimmer, realized two things: that years of startup life had left him in
terrible shape, and that he had the resources to come up with a solution. In
early 2007, the two launched their fitness gadget company in San Francisco 's
Financial District, with Park as CEO and Friedman as CTO._

------
steinsgate
The first thing programmers (or any group of people) need in order to improve
their lives is a reason to improve their lives. The blog says "go analog" or
"improve your health" or "learn a new programming language" etc. But why
should I, or anyone for that matter, go analog, improve their health or learn
a new programming language? For fun? If it's for fun, the list should have
been called "Fun activities for programmers". This all new "improve-yourself-
without-any-context" new age movement doesn't make any sense to me.

~~~
douglance
Yeah. Being happy is stupid!

------
victorp13
13\. Work on volunteer projects

I set this resolution for myself last year, and have been able to work on
three projects via [http://socialcoder.org/](http://socialcoder.org/) \- feels
very fulfilling!

~~~
k-mcgrady
Thank you for posting this. Over the last year I've been thinking about
switching careers as I've noticed how unimportant what I work on is and I
believe I'd get much more satisfaction from doing something that helps others.
Social coder looks like a great solution to this for me.

~~~
mikestew
_Over the last year I 've been thinking about switching careers as I've
noticed how unimportant what I work on is_

If I might suggest an alternative way of thinking, I would argue that even if
your day job is figuring out ways to entice people to click on ads, _it can
still be important_ because it allows you to make arseloads of money which you
then turn around and redistribute to the charities of your choice. Me, I like
my work and like to think my work makes the lives of the people that use it
just a teensy bit better. But like my work or not, when the local charity says
"help, we're in a crunch and need money for $GOOD_CAUSE" I can whip out the
checkbook, write a $1000 check and still make the mortgage payment.

And this isn't theoretical, I've actually gone through this mental exercise
with the local animal shelter. Is it better that I do a job that doesn't have
quite as high a hiring bar as software, for less money, but doing "good work"?
Or continue pulling down fat stacks in software, physically volunteer when I
can, and write big checks? I chose the latter. As Tyler Durden said, "you are
not your job." You are, however, what you do with the fruits of your job.

------
mosburger
#3 Embrace the Uncomfortable - one thing I did a few years ago that might fall
into this category (as an American) is start using the 24h clock. It makes
working w/ remotes a lot easier because you become good at doing the +12 math
and knowing which hour it represents. :)

~~~
khgvljhkb
How wonderful would the world be if we had a base 10 clock instead of 24?

Let's make a day be 86400 seconds (already a SI standard), and then you can
divide that into tenths, hundreds or whatever. One thousand of a day is 84.4
seconds, which is close to a minute (which is (/ 60 (/ 24 one-day))).

We have metric for measurements in space, but something as simple for day-to-
day time measurement would be nice.

~~~
prolepunk
^ Typical HN comment.

I'm sorry I'm making fun of you, but I just can't help myself as this happens
all the time -- somebody comes up with a reasonable idea, and then the next
commenter takes it so widely out of proportion, willing to re-engineer the
whole society just to marginally improve his own comfort.

~~~
khgvljhkb
This is something I ponder every month, when I have to enter hours into a
timesheet with decimal time...

------
mavdi
13\. Avoid reading depressing news

One look at any news site is enough to help you avoid the first 12
resolutions.

~~~
prolepunk
So much this. Or maybe paraphrasing -- be aware of your mental health, try
avoiding distractions by reading emotionally charged articles, facebook,
political arguments. Meditate. Avoid distractions but at the same time take
breaks.

------
l1feh4ck
# Keep a hobby project or fork an open source project and work on it when ever
you find time. # Once in a year take one month off from work if possible and
visit new places. # Go for a solo trip and spent time with yourself and
nature. # Go for volunteering in some rural schools. And spend time with kids.
# Publish a book.

------
jonathanfoster
I really like the resolution to embrace the uncomfortable. When you're young
and inexperienced you have very little to lose by taking uncomfortable risks,
but as you advance in your career it becomes more difficult to take the same
risks.

I recently read the 4-Hour Workweek by Tim Ferriss and he has some great
exercises called Comfort Challenges that really push you to go outside of your
comfort zone. Some examples include

    
    
      * Maintain eye contact for a long time
      * Approach attractive males/females and get their numbers
      * Lie down in the middle of a public place
    

These seem like simple activities, but they quickly get you acclimated to
uncomfortable situations. I highly recommend Ferriss' book if you're
interested embracing the uncomfortable.

~~~
thebosz
> * Approach attractive males/females and get their numbers

Should I get my wife's permission first?

~~~
rffn
Depends on how much you want to embrace the uncomfortable.

------
seivan
Don't let past death marches and shit-projects affect _new_ projects mentally.
It's harder than you think.

~~~
matwood
This is a good point. Many people quickly become cynical and lose their
passion for making things. Instead of thinking of the possibilities they
change and only think of all the blockers. Recapturing that naiveté is what is
required to just get some projects off the ground.

------
Anilm3
Very interesting article! I like the fact that you mentioned Prolog as one of
the less mainstream languages to learn. During my time at uni I found that
both Haskell and Prolog really changed the way I approached different problems
and gave me a high level perspective to problem solving. Some interesting
resources to learn Prolog:

# [http://www.swi-prolog.org/](http://www.swi-prolog.org/)

#
[http://people.cs.kuleuven.be/~bart.demoen/PrologProgrammingC...](http://people.cs.kuleuven.be/~bart.demoen/PrologProgrammingContests/)

#
[http://www.cs.bham.ac.uk/~pjh/prolog_module/sem242.html](http://www.cs.bham.ac.uk/~pjh/prolog_module/sem242.html)

# [http://www.learnprolognow.org/](http://www.learnprolognow.org/)

I'm getting an itch now, I think I'll give Prolog a second go this new year.

~~~
steinsgate
I did some Prolog programming too for fun, and boy! it requires a complete
paradigm shift in thinking! For those unfamiliar with Prolog, Prolog is very
different from procedural programing languages. In procedural languages like C
and Python, we assign values to variables and ask the computer to do
operations on them. In logical programming langauges like Prolog and LISP, we
tell the computer truth values of a list of statements, and ask the computer
to check truth values of other statements using the provided list. In the
past, Prolog and LISP aimed to become the go to language for Artificial
Intelligence programming. Sadly, not many people use them any more.

~~~
tlikonen
(Common) Lisp is a multi-paradign language. It doesn't have any specific logic
programming features, no more than any other generic language. Some lisps tend
to lean towards functional paradigm. EDIT: OK, maybe Lisps' symbol type helps
a bit on logic or AI but there's no built-in resolution algorithm like in
Prolog.

But Prolog is really something different. I only know some basic ideas but
definitely want to dig deeper in the future.

------
xarien
I always have #6 on my list and I always put it off. /sad

~~~
mhd
It's a bit like learning a language, you'd need some almost immediate
application to make it past the first steps of a book or course (and/or make
that gained knowledge stick). And while it's easy enough to travel to some
country where they speak a language you just learned, that's often harder when
it comes to mathematics and IT.

3D maths and game development worked out somewhat in the past (I forgot most
of it though, and as that was the DOS days it wasn't really more than high
school level geometry). But I doubt that I could find enough real _noticeable_
application for e.g. category theory.

(Just being the basis for something often isn't enough. You don't need to know
much about physics to hop on a trampoline.)

~~~
Davertron
I was going to say, a lot of the Math I learned in High School and then never
applied to anything I re-learned more recently when I started mucking around
with computer graphics and game dev (especially trig, matrices, vector math,
etc.)

I'd love it if people had suggestions for other engaging ways to apply math
while programming!

~~~
bonobo3000
I highly recommend Jeremy Kun's blog - Math and Programming
([http://jeremykun.com/](http://jeremykun.com/)). His posts are always
awesome.

------
emergentcypher
Was I the only one expecting a list of screen resolutions?

------
sawwit
> Switch from emacs to vim or vice versa.

Switch to emacs + evil, or alternatively to Spacemacs:
[https://github.com/syl20bnr/spacemacs](https://github.com/syl20bnr/spacemacs)

~~~
irishcoffee
I did this a few years ago, and as a result, I'm pretty confident I'm in the
minority of people who 'like' both. I have not yet declared a side in the holy
war of emacs vs. vi. They're both great.

~~~
rhizome31
I suspect the silent majority to have tried only one of them and therefore
have no opinion about the other.

------
pkrefta
It has been probably posted sometime before but I think this is still very up
to date and HN newcomers and veterans (and everobody else) should read this
again and put into action.

------
pmiller2
Lots of overlap with "12 resolutions for grad students"
([http://matt.might.net/articles/grad-student-
resolutions/](http://matt.might.net/articles/grad-student-resolutions/)) as
well, especially for junior folks. Everything other than "check with your
committee applies directly, and if you replace "committee" by "mentor," then
it works very well.

------
sotojuan
For anyone who wants to learn more discrete math, I recommend the Mathematics
for Computer Science MIT OCW course:

[http://ocw.mit.edu/courses/electrical-engineering-and-
comput...](http://ocw.mit.edu/courses/electrical-engineering-and-computer-
science/6-042j-mathematics-for-computer-science-fall-2010/index.htm)

------
voltagex_
#8.

I'm currently waiting to see what comes back from fsck on a 4TB drive
connected to a Raspberry Pi (don't ask). Drive is 390 days old according to
SMART and reporting unrecoverable read errors.

Most of the stuff was in other locations but I know there was one repo I was
waiting to push... waited too long, I guess.

~~~
Davertron
I was going to say, if these are in priority order, move #8 to the top if
you're not already doing it! That way you get the benefits of it moving
forward :)

~~~
voltagex_
This is going offtopic, but if you're going to do backup/NAS, check your logs!
I'm going to see how much I have to learn to set up monitoring on my home
network. An error from Windows (coming from Samba) that I dismissed as a Samba
problem was actually an early warning of the drive failure.

Edit: ouch.

    
    
      root@kiwi:/media/files2# ls -lah
      total 12K
      drwxrwxrwx  3 nobody backup 4.0K Dec 22 22:19 .
      drwxr-xr-x  5 root   root   4.0K Dec 30 20:19 ..
      drwx------ 32 root   root   4.0K Dec 31 00:54 lost+found

------
SoulMan
I would try to use potable devices like iPad/Kindle/Mobile more for reading
(Hacker news etc) purposes. Most of the time we don't need a full fledged
computer compromising the sitting posture.

~~~
greggyb
Do you find that you read better with a mobile device? I tend to find myself
adopting awful posture when using any mobile device. With my computer and desk
at home, though, I've got a monitor and keyboard at the right height and a
very comfortable chair where I can maintain appropriate posture.

------
pacomerh
Oh that number 3. I've been avoiding it for a year and I already know its very
necessary for me. I'm just gonna close my eyes and do it.

------
arvinsim
The whole site itself is chock full of good advice.

------
javabr
That is all I needed: More resolutions to skip!

------
cport1
"Switch to Dvorak" .. ha :(

~~~
sawwit
I think this one is a waste of time unless you seek a mental challenge. In my
experience, it's just not worth getting confused on QUERTY keyboards all the
time, and the 5% speedup or so is really not worth it. It's definitely more a
cargo cult/challenge than a useful skill.

~~~
mbrock
I don't think the speedup is worth it, but that wasn't why I became interested
in the first place. I'm way more interested in the benefits of a more
ergonomic layout for my wrists and fingers. I haven't studied the science of
that very carefully, but I'm fluent with both Dvorak and Qwerty and the
subjective comfort I feel when typing English with Dvorak is very much worth
the effort of learning it, for me. It ticks me off a little bit when people
discount it as "definitely" a "cargo cult" thing. If you don't like it, that's
fine.

~~~
pc86
I'd be interested in knowing what resource(s) you used to learn Dvorak, and
how easy it is for you to switch back and forth (if you do it often/daily).

~~~
metasean
I'm not a dual-keyboarder, so I can't address that question.

When I first got a computer, in college, my father recommended I learn Dvorak
instead of Qwerty for ergonomic reasons.

My keyboard was one of the typical 80's/90's beige color, so I took a black
sharpie and wrote the Dvorak equivalent on each key. When I was typing, I
focused on trying to remember which finger had to move where for each
character. If I couldn't remember it for more than a second or two, then I
could look at the keyboard.

It only took a couple of weeks to get the basics down, and it was several
weeks after that that a friend pointed out I had worn off the sharpie for my
most frequently used keys (I hadn't even noticed) and I was typing at a speed
comparable to all the Qwerty keyboarders in the dorm.

------
andrei_says_
Stopping sugar and caffeine changed my productivity and sleep patterns in a
very positive way.

------
jakejake
12 resolutions is too many for me. Set 1 resolution and stick to it.

~~~
pinkunicorn
1\. Follow the 12 resolutions

------
plinkplonk
Some of those resolutions are more transformative than others.

------
adrianlmm
I would add:

\- Relearn what you already know.

------
molteanu
stop using facebook

~~~
xxs
"Go analog" covers

------
Gladdyu
At least 1920x1080 please.

------
sarciszewski
Initial reactions to each of these list items:

> 1\. Go analog.

Hahahaha NO. I get paid to solve problems, not be happy or healthy.

> 2\. Stay healthy.

"Stay" healthy? Heh, for me and a lot of programmers I've known, that ship has
long since sailed. Maybe "become" healthy would be more appropriate.

> 3\. Embrace the uncomfortable.

Well, if more people did this, we'd probably not have religious conflicts.

> 4\. Learn a new programming language.

Yes. Usually a good idea.

> 5\. Automate.

Yes. Automate more, hire less.

> 6\. Learn more mathematics.

This could be useful for most people.

> 7\. Focus on security.

I already do this, but I agree that most programmers _should_ focus more on
security every day.

> 8\. Back up your data.

Ditto with security.

> 9\. Learn more theory.

This could be useful for most people.

> 10\. Engage the arts and humanities.

Ugh, hell no. That's for _other people_ to enjoy.

> 11\. Learn new software.

Yes.

> 12\. Complete a personal project.

Wait, you mean to tell me that "start a personal project and actually finish
it" is a thing people are capable of?

~~~
mjburgess
> I get paid to solve problems, not be happy or healthy.

> that ship has long since sailed

> that's for other people to enjoy.

> is a thing people are capable of?

You seem very unhappy.

~~~
sarciszewski
Pretty much, but who really gives a shit?

~~~
J_Darnley
Ha. Agreed. I'm surprised you got downvoted for your content-full post. I've
made worse shitposts and been upvoted for them. You addressed each point. They
may have been negative cynical but still substantive. "Please stop posting
unsubstantive comments to Hacker News" was said to me recently.

