
Ask HN: What are you planning to learn in 2013? - anujkk
A new year is about to begin. What are you going to learn in this new year to improve yourself?<p>Here are few things I would like to learn in 2013 :<p>1. UI/UX Design : I'm a hacker who can make decent looking designs using css frameworks. I know I have a sense of design and I would like to take it to next level and become an expert designer.<p>2. A functional language : I don't know a single functional language. I would like to learn one. May be Haskell.<p>3. The art of selling : I am building a SAAS app for a niche and hopefully I will work hard this year to learn how to sell it to customers.
======
tomku
1) Math, specifically calculus and linear algebra. I studied enough of it in
college to pass the classes, completely forgot about it for 10 years, and now
I'm finding myself needing it for some of my coding work. I'm hoping to work
through MIT's OCW Scholar class on introductory calc as a refresher, then
linear algebra, then maybe something harder on the calc side.

2) Japanese. I'm trying the "kanji-first" approach advocated by "Remembering
the Kanji" with practice through Skritter[1]. I already know hiragana/katakana
and basic pronunciation, so after I finish RtK I should be in a good position
to tackle a couple books on grammar and start reading/watching/listening to
less structured content.

3) A creative pursuit that doesn't involve (or at least center around) writing
code. I love programming, but sometimes it feels like I'm missing something
(everything?) by having my methods of creative expression so clustered
together. I want to try writing fiction, drawing/sketching and possibly
musical composition, and see what ends up staying with me.

4) HTML5, CSS3 and modern Javascript. At one point in my life, long ago, I
would've introduced myself as a web designer. This was back when DHTML was a
synonym for Javascript, anything more complex than hover effects seemed to
require Flash or Java and every site had an unholy mess of framesets and
tables for layout. Fortunately for everyone involved, all of those things (and
many more) have changed in the past 10 years. Unfortunately for me, my front-
end skills haven't. Hoping to get up to date with stuff like JS MVC
frameworks, responsive design and Less/Sass.

5) Blogging, so that I can bore other people with stories about learning the
things listed above.

[1]: <http://www.skritter.com/>

~~~
eykanal
For drawing, I've been reading "Drawing on the right side of the brain" by
Betty Edwards. There's a lot of text but the ideas and exercises do seem to
work. I haven't gone through the whole book but so far it's OK.

------
kedean
As someone currently pursuing a CS masters degree, I've decided I'm a little
burnt out on theory and implementation, so I'm getting back into my other
love: history. With 6 or 7 new books about ancient history, hopefully I can
get my brain to stop obsessing over the asymptotic running time of my roomba,
and how best to get c0 coverage with cat toys as a variable.

------
backslash_16
I just got my first Jr Developer job so I'm going to learn the following job
related skills:

1) More algorithms and data structures

2) Get better at using recursion to solve problems

3) If I get through the first two - design patterns

Outside of work I'm going to learn about (and/or continue to practice):

1) Cooking - more techniques, flavors that work well together

2) Running, rowing, weights - correct form, improving my training program, the
theory behind different training programs and why I should do certain types of
work. For example: long steady state pieces vs short interval work

3) Filming videos and editing them well, in particular surfing and
snowboarding/skiing

Edit: formatting - I'm trying to make lists

------
DanBC
1) A foreign language. Maybe Spanish, but more likely French or German.

2) Perhaps how to drive. But I probably won't.

3) Modern CSS / HTML. I'm comfortable with static sites in HTML 4, but I'd
like to learn about newer technology. I'm planning two sites in 2013 (one will
be buying / receiving gifted Duplo, Lego, and StickleBrix to be cleaned,
sorted, sterilised, and distributed to local not-wealthy children. That's easy
enough for static. The other is the "alcohol awareness" game, where people
have pictures of wine glasses and they have to "pour" either one unit, or pour
a serving and guess how many units are in it. This is going to be lots of
dynamic stuff.)

4) Enough about Linux to get a Raspberry Pi to boot in under 3 seconds.
([http://raspberrypi.stackexchange.com/questions/320/what-
is-a...](http://raspberrypi.stackexchange.com/questions/320/what-is-a-typical-
boot-time-for-the-standard-debian-distribution-on-a-typical-sd))

5) Child development for children 2.5 to 5 years old; mostly because that's my
son's age but also because it's freaking fascinating.

6) How to YouTube, because I might set up a channel doing small youtubey type
things.

7) How to _correctly_ run encrypted partitions and password managers and all
that other privacy stuff. 2013 is going to be my year of reclaiming my data
and keeping it safer.

------
mindcrime
ROFL, I'm scared to even answer this, because my ambitions for "what to learn"
every year are always WAY too big to actually accomplish. So, basically, this
year's list is the same as last year's[1] (or the year before), just with even
more stuff on it.

[1]: <http://news.ycombinator.com/item?id=2081336>

So, for starters, the leftovers from last year:

 _Learn Clojure_

 _Learn Scala_

 _Teach myself Calculus, Differential Equations, Linear Algebra, Probability &
Statistics_

 _Dive deeper into data mining, machine learning, and AI stuff._

As it turns out, I didn't make anywhere near as much progress on any of that
stuff as I'd hoped (some weird shit happened in 2012 though, so I'm not
beating myself up too much).

In addition, I want to learn more about:

1\. marketing / positioning / branding stuff. I'm a techie by trade (if not by
nature), working on a startup and we don't have a dedicated "marketing guy" so
I need to learn enough to get us off the ground at least. Luckily I actually
find this stuff interesting, and I did a lot of studying on marketing stuff in
2012 (Chet Holmes FTW)

2\. Sales. See above. We don't have a sales guy, so I need enough sales
knowledge to at least get that first push going.

3\. Influence / persuasion. Always good stuff to have in the repertoire.

4\. More and more diving into "big data" / "data science" stuff.

5\. More on NLP, "text mining" and information retrieval.

6\. In addition to the aforementioned Scala and Clojure, I have a goal of
learning some R and Prolog as well. Haskell would be nice as well.

7\. Lockpicking. I learned the basics last year, but I need to practice more.
I want to get a lot better.

8\. Electronics / hardware hacking. I got into the Arduino scene a while back
and started doing more low level electronics stuff in conjunction with that,
and I'd like to continue down that path.

9\. Physical fabrication stuff. I planned to start on a Mantis PCB mill this
year, but never got to it. So that, and a 3D printer. A friend has a partially
finished Reprap that he wants to hand off to someone else, so I may pick that
up from him and start working on that.

~~~
dccoolgai
I feel you on 8 and 9. I think those are going to shift from "fun-time hobby"
skills to must-knows for anyone who wants to call themselves a legit hacker in
the next 5 years.

------
xiaoma
1\. Web development - go from dabbler to very competent

2\. Voice - I'm about 1/3 the way through a huge singing course

3\. Empathy - I want to get better at _really_ putting myself in someone
else's frame of mind.

4\. Maybe pick up basic conversational skills in another human language, but
this one's at the bottom because I know how much time is involved.

~~~
omGac0W
I've found that the best way to be more empathetic is to become a calmer more
patient person. Putting myself in someones frame of mind is like taking a
mental deep breath after every time they say or do something. I have to let
the loop of consciousness run a few more times before allowing my thoughts to
become opinions and express them in a response.

I recommend meditation. Empathy is consciousness of self and of others,
consciousness is pre-frontal cortex executive function. Meditation is the
expansion of self-awareness. When I was younger, sometimes after getting
angry, like reeaally angry, seconds after calming down I would think "Shit,
there was no reason to get that mad". It's a complete loss of self-control,
executive function. The same thing happens after saying something
stupid(hurtful) and then realizing it was hurtful(not empathy), if I have the
ability to realize I shouldn't have said it, that means if I had just mentally
waited a second or two and reassessed the thought I could have prevented
myself from saying it. Meditation helps give me this time, stay calm, and
assess situations(not only social) before acting. I think if scientists(if
they haven't already) looked at the brains of empathetic people and stay calm
in chaotic situations they would find the front of their brain buzzing with
activity.

------
Chirael
I want to learn/do more with Ruby/Rails, Django, CSS. Would like to dabble
with R as a way of getting familiar with "data science" tools. Would love to
learn Haskell and Clojure but don't really have any specific projects in mind
for them, which is usually a big impediment to successfully learning
something. Same thing with Node. Also interested in Go and think there's a
little more of a chance of actually doing something useful with it (maybe for
a case where performance with Python just isn't cutting it).

------
bgdam
As somebody on the verge of shipping software for the very first time and
trying to make some money off it, I'm hoping I learn a lot about running a
business and dealing with customers.

------
bhntr3
1\. Probability

Bayesian statistics and its applications. A lot of things I want to understand
like Probabilistic Graphical Models, Cryptography, and Computer Vision seem to
be based in fundamental bayesian statistics I never really grokked that well.

2\. EE and Computer architecture.

I never studied any EE. The more I program, the more tempted I am to get
closer to the metal. It's a little weird that I tell computers what to do, but
I don't really understand exactly what they do with those commands. Nowadays
computers are so fast, we don't NEED to know. We're network latency bound all
the time. But not knowing still feels like a big gap.

3\. Visualization.

There are some crazy cool alternative visualizations out there. The remainder
of the decade is going to be about visualizing data for humans as we wait for
the day computers can truly understand and reason about it. I want to
understand the state of the art in explaining data rather than just throwing
pie, line and bar charts around and calling it visualization.

All of these are interesting to me because they're core concepts. I've learned
a good bit about Node, Ember, D3, CSS3, and advanced Python in my free time
over the last few months, but they're just tools of the moment. I'm getting
older and I want practical CS knowledge where the state of the art doesn't
change fundamentally every two years. I can pick up and put down the tools.

~~~
anujkk
I'm also interested in "3. Visualization". Can you share how are you going to
approach it? I'm interested in knowing what topics to cover, which books to
consult, which tools to use.

~~~
bhntr3
I took Edward Tufte's course: <http://www.edwardtufte.com/tufte/> That's
interesting but most valuable is probably his books.

I was planning to read Interactive Data Visualization for the Web
<http://ofps.oreilly.com/titles/9781449339739/index.html> I think that's
mostly an introduction to the tool (D3) but maybe has some info on
visualization itself.

Also, this tutorial was an easy intro to D3: <http://code.hazzens.com/d3tut/>
Hopefully, the author continues to add to it.

Mike Bostock (author of D3) has some interesting blogs at:
<http://bost.ocks.org> and also some great visualizations at
<http://bl.ocks.org/mbostock>

A PHD in my office recommended The Grammar Of Graphics
[http://www.amazon.com/The-Grammar-Graphics-Statistics-
Comput...](http://www.amazon.com/The-Grammar-Graphics-Statistics-
Computing/dp/0387245448) It seems much more technical and statistical but
could be an interesting set of ideas to synthesize. I'm planning on borrowing
his copy.

Mike Bostock's stuff also led me to this page on Hive Plots which is a pretty
cool description of how to do network visualization better:
<http://www.hiveplot.com>

And I like Flowing Data as a blog: <http://flowingdata.com/>

This is all of course prior to actually having studied it. I'm hoping using
these resources and playing with some toy projects will lead me down further
paths. (Assuming I have time which I, of course, probably won't.)

------
ajdecon
In no particular order...

1) Cooking. I have a few standbys that I can make on a regular basis, but I'd
like to expand a bit and find some more dishes both my wife and I enjoy.
(She's a vegetarian, I am not.)

2) Systems / low-level programming. Mostly for my own amusement, but I'd like
to have a better understanding of operating systems and how software interacts
with hardware in general.

3) Improved parallel programming. I'm an HPC sysadmin and I am good enough
with parallel programming to get by with helping debug users' code, but I'd
like to be a lot better, especially since I often interact with complex
applications that scale to thousands of nodes.

4) Math and physics refresher. I have a B.S. in Physics but I've been in
computing for a while, and I'd like to re-assure myself that I know about more
than computers. :) I plan to spend some time on old books, notes, and problem
sets for both basics (Mechanics, EM, Quantum) and some favorite subfields
(solid-state).

5) Machine shop skills... probably take some classes at the TechShop in San
Jose.

And of course, just about anything I see that I think looks interesting in the
next year. :) Be interesting to look at this list again next December and see
what I actually did.

------
julsonl
Other than improving my programming skills and learning a bit more computer
science theory in general:

1\. Music. Learning to play the piano

2\. Drawing and Painting

3\. Cooking

~~~
xiaoma
For drawing, I strongly recommend Drawing on the Right Side of the Brain. And
you DO have all the skills you need to get started as long as you have
remotely decent eye-sight and the ability to wield a pencil. The important
thing is to force yourself to let go of iconic representations and look at the
lines that are actually there. It will be uncomfortable, but once you do that,
your progress will really begin.

~~~
davesmylie
I can second this. I'm your typical average terrible drawer.

Stepping through the first quarter of this book, following the exercises and
going from being able to draw a barely recognisable stick figure to an
actually respectable drawing within 50 pages was an amazing experience.

------
hdra
1\. Japanese, at least enough to navigate some Japanese websites 2\. Some
design sense. So that my weekend projects doesn't look like crap without
bootstrap. 3\. More maths. I am rather surprised how lacking my math is for
doing some serious programming tasks. 4\. Python. there are more, but i think
i should focus to these,

~~~
fieldforceapp
On behalf of all my Japanese friends, glad to see #1 on your list. Highly
recommend traveling there: nothing like immersion to build a skill!

------
joshguthrie
1) UI/UX: I've done too much javascript server-side to pass on the opportunity
to apply my knowledge to client-side technologies and make (visually) awesome
stuff.

2) Blogging: I learn too much stuff to not pass on that knowledge.

3) DreamLeaves: I've had this "group" of mine on hiatus for too long. I need
to build a functional platform to showcase all of our works and make all of us
"rockstars" in our respective fields.

4) Marketing: "You dev guys, you got gold in your hands!" always say a friend
of mine (let's say he's a "bank-guy"). Bad news though is, I could make the
next facebook/instagram/w/ever, I wouldn't know how to
distribute/advertise/sell it properly.

5) More time outside of code. Today, my life is split between coding for a job
and coding for a passion but even those two are still centered around the same
project.

But all this would be naught without... n+1) Follow a schedule.

------
clavalle
Vert.x

I want to solidify my Scala skills with real world projects beyond testing. I
have one about 3/4 done. I am interesting in seeing how it goes when it makes
contact with the real world.

Marketing, marketing, marketing.

That should pretty much take up this next year, at least.

In my free time, I will try and get my guitar skills beyond 4 chord songs.

------
peteforde
I'm doubling down on EmberJS. Paired with rails-api and
active_model_serializers, it hits a sweet spot for me.

I'm planning on doing some substantial renovations in my home so I'm excited
to learn more about how things are built.

Finally, I'm determined to learn how to cook well enough to impress people.

------
Maro
I learned how to program in Haskell. Although Haskell is hard, learning a
language is still relatively easy compared to writing good 100KLOC+ sized
software in whatever language.

In 2013 I hope I will figure out how to write good software in Haskell by
writing good software in Haskell.

------
crawdog
1\. How to say no more often when working in a team - I need to be a better
delegator

2\. Scala + Play Framework - Java shop, I'm sure this will help long term

3\. How do disconnect once I get home from work - I spend too much time
online... I need to unplug once in a while

------
jmspring
For me it is more about improving rather than learning something new, except
for one...

1\. Improve/revisit my german.

2\. Improve my cooking skills.

3\. Improve/augment mobile development skills (iOS/WP8)

4\. Learn the harmonica. It has been sitting on the shelf too long.

------
ditoa
Well as I just bought IntelliJ IDEA in the JetBrains dooms day sale Java (and
Android) is number 1 on my list. Along with a bit of C++11 later in the year.
I think I will also learn the basics (maybe a little bit more) of Python as
well as I have been putting it off for a couple of years now.

In general I want to move away from Windows and more towards Linux as my
development environment as much as possible. I have no real problem with
Windows but I would like to feel as comfortable in the Linux desktop world as
I am on Windows.

------
omGac0W
1) Node.js, express, socket.io

2) How to build a networked multiplayer game with above technologies. Possibly
using impact.js or other game library.

3) How to draw sprites, character concepts, backgrounds for 2d Game.

I've always wanted to become a respectable artist, but the ability to draw was
never enough of a motivator to make me really dedicate myself. Building a
small mmo that others can enjoy and play together lets me become a better
programmer, as well as gives me a reason to draw and exercise my creative side
that I can really get behind.

------
koralatov
1\. sed and awk;

2\. To use vim competently;

3\. To touch-type;

4\. Perl;

5\. Polish;

6\. To stay offline on Xmas day.

~~~
srik
Out of curiosity, why Perl?

~~~
kamaal
Plenty of reasons to.

sed, awk and Perl practically don't have any competitors in their stride.

When you learn those tools, you basically realize that all the while you were
using a hammer, while what you should been using is a screw driver.

~~~
koralatov
I'm planning to learn Perl for a combination of its ubiquity, the cheap
O'Reillys I came across recently, and contrarianism. Kamaal's answer also
covers it really well.

------
gtani
1\. Learn agda and Coq, read Pierce's Softw. Foundations and Chlipala's book

2\. Find a teacher for clarinet and/or cello; keep working through Well
Tempered Klavier preludes

------
kragniz
I feel I'm running the risk of repeating the standard HN response for this
type of question, but here are my goals for this year:

* Greatly improve my functional programming

* Learn Japanese

~~~
fieldforceapp
Another list with Japanese language skill as a goal, love it. Highly recommend
traveling there, it's wonderful and confounding at the same time.

------
paulgb
1\. Enough Spanish to be useful for travel

2\. Salsa dance

3\. Bayesian Statistics

4\. Julia (julialang.org)

------
tpiddy
Español - Estoy aprendiendo hace 3 meses con los websites Duolingo.com,
italki.com, anki y otros. Espero que en un año puedo tener buenas
conversaciónen con hablantes fluidos.

There are some really interesting emerging ways to learn a foreign language
also an emerging community of language learners and polyglots on the internet.

~~~
eccp
As a native Spanish speaker: DuoLingo es muy bueno para principiantes! ...
some parts of Spanish are simple (acute accents rules are not hard) but verbs
are terrible (compared to how simple they are in English) but there's plenty
of material to study. Best of luck!

------
chuhnk
I will try to learn:

1\. A programming language.

2\. A natural language.

3\. Work/Life balance.

4\. To enjoy my life.

------
ruswick
1\. Haskel

2\. Rails

3\. Typography theory

4\. Statistics

5\. More political philosophy

6\. More arcane photography methodology/techniques

This is all in addition to the general academic edification entailed by high
school.

~~~
sentiental
What encompasses typography theory? Like semiotics / linguistics or something
more specific to web font use?

------
okal
1\. Music, theory and practice. I'm currently experimenting with the bass
guitar, acoustic guitar and electric piano.

2\. CS theory. I'm a fresh ECE grad and our program was light on CS content. I
plan to work through Daume's "Yet another Haskell tutorial", Downey's
"Complexity" and SICP.

3\. Ballroom dancing.

4\. German refresher course.

5\. Improve my design skills.

------
pirateking
Planning: all the things I was supposed to learn in 2012..(2012 - [self age]).

Actually learning: whatever I feel like.

I am hoping to land:

1\. Electrical Engineering

2\. Smalltalk

3\. Photography

4\. Wood and metal craft

5\. Higher math

------
primac_apps
I gotta learn how to make this go viral :O

<http://www.lootitooti.com/>

~~~
aashu_dwivedi
that's hilarious, esp the looti tooti version :)

~~~
primac_apps
Thank you :). It's just a silly project for a laugh.

------
krsunny
1\. Javascript templating like mustache and dust

2\. Webgl and three.js

3\. Websockets and node

4\. Phonegap and mobile development

5\. Math geared towards game development

------
meaty
HP 50g RPL (calculator stack language - lisp like).

Maths refresher including statistics.

How to grow mushrooms (not dodgy ones).

------
sentiental
* To learn and get a deep understanding of Go (golang) * To find a project thay excites me and that I believe I will be able to sell. * Meta-goal: to set adequate goals for myself so that I can keep learning, working and building without burning out.

------
fieldforceapp
Learn commercial hardware design & distribution, especially UL (TUV?)
certification.

------
PureSin
For me: Python (Advanced): Django/ BeautifulSoup Clojure Android JQuery

Improve my Japanese/Mandarin

------
Bootvis
1) CFA Level 1 and start CFA Level 2

2) Skiing

3) Improve my knowledge of stochastic Calculus as used in finance

------
davesmylie
Node.js - I've been doing only client side js for a long time (mostly via
rails). Being able to do the client and server side code in the same language
sounds really intriguing.

------
privyfire
1\. pipe welding, all positions 2\. yoga 3\. fingerpicking

~~~
georgelawrence
+1 for pipe welding

------
freiervogel
Cocos2d-x and CocosBuilder. For making relatively simple iOS games that I
_could_ port to Android and Windows, is there a better choice?

------
zengr
I am a programmer.

Will improve on: 1\. Clojure 2\. Enrolling in a design course at Berkeley 3\.
Learn better management of money 4\. Understand business

------
mtrimpe
1\. Dvorak

2\. Emacs

3\. Clojure

4\. Testing from a keyboard

~~~
sswezey
Unless you are dead-set on dvorak, look into colemak. It is much easier to
learn vs dvorak and keeps many common keys. Mac OS X and modern linux distros
have it built in as well.

~~~
evolve2k
Xavier Shays diary on switching to Colemak: <http://rhnh.net/2006/09/18/the-
colemak-diaries>

------
GoldiKam
Android development Ruby Better Java

------
jpdevereaux
1) How to play the piano 2) How to make VSTs 3) How to sell software
(potentially as a service)

------
thifm
1\. Clojure: I should have learned this year(studied some, though).

2\. Study more design patterns.

3\. Some haskell/erlang.

------
thepumpkin1979
1\. German 2\. Rust 3\. UX/Design

------
ibsimpson
1\. How to make the most of my Raspberry Pi

2\. Farsi

3\. Touch-typing

4\. Business Unit Management

5\. Knitting and clothes-making

6\. Ceramics (fine art and stoneware)

------
jaryd
Amateur robotics and radio!

------
stewie2
improve my drawing skills.

------
tel
I plan to become an expert on adaptive clinical trial design.

------
kev009
More Scala and Akka

------
drcross
SWITCH, ROUTE, TSHOOT, NX-OS, ISE, JNCIA

------
snihalani
iOS programming.

Machine learning.

Open source contribution workflow.

Advanced Algorithms from various websites.

------
krapp
Python.

------
ct
Erlang/Haskell

Acoustic Guitar

Drawing

Exercise

Mobile Game

B2B app

------
mtkd
D3 and R

------
wilfra
Hardware and electrical engineering. I want to build an electronic cigarette
with a tiny computer in it.

~~~
javis
I really want to begin to learn this too, any ideas where to get started?

~~~
DanBC
My usual response to this is to suggest that people get "The Art of
Electronics" and "The Art of Electronics Student Manual", and then some cheap
equipment and components, and then work through both books.

Some of the books are severely out of date, but much of it is still useful and
they're great introductions for smart people to electronics.

And nowadays you don't even need real equipment, you can probably find
excellent simulations and virtual equipment.

Along side that you probably want to learn to solder well.
(<http://www.astro.umd.edu/~harris/docs/WellerSoldering.pdf>) is a guide from
Weller. This is a bit old, because it doesn't cover no-clean solders, or low-
lead solders.

Hopefully other people have some more up-to-date information.

------
lucian303
1) Microsoft Bob 2) OS/2 3) Apple Lisa

