Ask HN: What do you want to learn in 2017? - reinhardt1053
======
developer2
My goal for 2017 is to fully figure out Docker.

The majority of information out there, including tutorials and blog articles
about others' successful deployments, comes in the form of very high-level
overviews. Everything I've found is an introduction to getting a basic docker
instance running. There is very little useful information out there as to how
to run a proper multi-host cluster.

There is core Docker. Tack on docker-machine, docker-compose, Swarm, and the
dozens of 3rd-party cluster management abstractions such as Rancher - and the
intensity of the headache never stops growing.

It sounds wonderful, but there is so much to learn to be able to tackle a full
production stack. It's one thing to successfully launch a working cluster
after hours of manual tinkering. It's a separate beast altogether to fully
automate setting up a new cluster by issuing a single command, taking into
account consistent configuration of: secure networking, persistent volumes
with backups, deployment of container configuration and VCS codebases (ex:
nginx vhosts and your code itself), etc.

My goal is to set up an entire project in such a way that there is a single
suite of automation that can deploy all environments: development VM, staging,
and production.

~~~
JBerlinsky
Are you looking to automate infrastructure-as-code in there, as well? I've
lost many a night to trying to get Rancher to play nice with Terraform,
especially in high-availability mode. Luckily, it appears that the process has
been vastly simplified in recent rancher-manager releases.

~~~
developer2
Oh great, you've just added Terraform[1] to my list of possible tie-in
softwares. Thanks for that, you monster. /s

Yes, at least for development, setting up the entire environment must be a
one-command execution. Every new developer to a team will obviously need to
progressively learn the entire stack, but they should be up and running after
a single VCS checkout and installation command.

I expect staging and production to be a perfect replica of the same
environment developers use. As to how realistic it is to "launch the entire
production cluster with a single command", with remote server provisioning, IP
allocations, multiple hosts for various load-balanced pools, etc... I'll have
to see when that time comes.

[1] [https://www.terraform.io/](https://www.terraform.io/)

~~~
JBerlinsky
You're welcome ;)

Terraform is designed for something close to one-command execution. You're
going to have to swap in variables (e.g. AWS access keys for a particular
account, domain names, IP addresses, etc.), but Terraform is designed for
that. I would advise looking into Terraform Modules[0], which encapsulate this
kind of work nicely.

[0]:
[https://www.terraform.io/docs/modules/create.html](https://www.terraform.io/docs/modules/create.html)

------
peteretep
A bit meta, and will probably get lost, but I would _strongly_ encourage
anyone answering this question to also include: "and this is how I plan to do
it"

Firstly, because if you don't have some kind of plan, there's no hope, so try
and work out what that is now; second, you'll give people who already know
that skill a way to advise you.

~~~
rcdmd
apropos-- "and this is now I plan to use it"

------
theweirdone
I want to be more socially active in 2017. I graduated in 2013 , got a dev job
and since then been living in a virtual world w/o any interaction whatsoever
with people outside of professional environment. In 2017, I want to break this
trance, get to know the real world and probably get a girlfriend. :)

~~~
wallflower
Good luck!

One of the better ways to do this is to to take the lead. Be a leader, not a
follower. That can be interpreted multiple ways: organizing events, inviting
people to things, asking what you would like, not what you "want", even taking
dance lessons (something like Salsa), not caring about the outcome so much...

Some wisdom from a book from the Ask HN Books thread [1]

> \- choose carefully what you give a f*ck about, but when you do, do it right

> \- there will always be problems, deal with them and move on, it's your own
> responsibility.

> \- the constant pursuit of a positive experience is in itself a negative
> experience, acceptance of a negative experience is a positive experience

Also, Systems Not Goals

[http://jamesclear.com/goals-systems](http://jamesclear.com/goals-systems)

[1]
[https://news.ycombinator.com/item?id=13243705](https://news.ycombinator.com/item?id=13243705)

~~~
botverse
No need to be a leader. Just to be comfortable with yourself, being able to
enjoy things that can be enjoyed socially is enough to attract other people.
Salsa lessons are good advice. Also a wine tasting course! There you can
follow others and be happy too.

------
foota
I'd like to learn Japanese. I'm hoping to travel there in June after I
graduate from college, and I figure it would help if I could talk to people
(or try, at least).

I'd also like to get better at Rust. I've written a few small projects in it
at hackathons, but I've yet to get to the point where I'm comfortable writing
in it. I'd like to get close to that.

I'm taking a class prior to graduation in abstract algebra, which I'm excited
for. I'm hoping to be able to continue to learn in this after graduating, I've
thought about continuing to take math classes at a college by Seattle after I
start working.

I'm hoping to lean more about machine learning and how it can be applied to
problems, a project that I'm hoping to do in advancement of this is to learn
to predict cloud cover in some future interval based on the history of some
things (maybe pressure and current cloud cover?)

~~~
mikekchar
Couple of quick pointers wrt Japanese. First, human languages take a long time
to get good at. If we think that children learn faster than adults (which I
think is not actually true, but it's a widely held belief), then it will take
you 5 years to talk like a 5 year old, 10 years to talk like a 10 year old and
15-20 years to talk like an adult -- minimum. If you study very effectively, I
think you can double this speed, but no more than that. Adult level
proficiency is 15-20,000 word families. Ignore anything that tells you that
you can be proficient with 2,000 words of vocabulary (even a 4 year old has
more than that!)

Specific advice about Japanese: forget polite form and learn plain form from
the beginning. If you are in dire need of sounding polite, just put "desu" at
the end of every sentence. It will be grammatically incorrect, but nobody will
fault you for it (it's what children often do). The mapping from plain form to
polite form makes total sense. The opposite is not true and complex sentences
require that you master plain form, so this will reduce your effort
considerably.

Also, learn to read. This is especially true if you are coming to Japan.
Hiragana and katakana will take you a few weeks. Try to learn at least 100-200
of the most common kanji as well. This will take you only a month or so and it
will make your life dramatically easier.

Learn full sentences and ignore grammar for the most part. I got to reasonable
conversational level simply by memorising the example sentences in Tae Kim's
grammar guide:
[http://www.guidetojapanese.org/learn/grammar](http://www.guidetojapanese.org/learn/grammar).
Use spaced repetition to help speed it up.

Get the JLPT N5 and N4 vocabulary lists and memorise them. Even N3 is useful.
These are words that map pretty much directly with English without a lot of
nuance, so memorising them is efficient. Otherwise learn vocabulary in context
by reading. I recommend manga because it will give you conversational
Japanese. There is no description in comic books -- only conversation. They
are perfect.

Finally, get a phrase book and memorise some set phrases -- just to help you a
long. Keep in mind, though, that a lot of phrases are regional and wherever
you are going, they might say things a bit differently. Generally speaking you
should be fine if you stick with common phrases, though.

~~~
mianos
> If we think that children learn faster than adults (which I think is not
> actually true, but it's a widely held belief), Anecdotally, I saw my two
> children learn a foreign language in exactly the same place and over the
> same time as me. They learnt it to fluency in the same time I could barely
> communicate. Actually google 'scholarly articles on how children learn
> languages'. It's probably not just anecdotal.

~~~
jjoonathan
Controlling for time availability and motivation seems both crucial to getting
relevant results and damn near impossible to pull off. I'd be happy to CMV but
it's not the kind of thing I'm willing to spend a day doing a deep-dive over.

~~~
agibsonccc
1 thing that helps a lot is immersion. I couldn't justify learning a language
till I lived in the country where it was spoken. I am doing this in japan now
(moved here recently)

~~~
mianos
I lived in a country town where my wife was the only person I knew who spoke
English. She got sick of talking to me pretty quickly. Total immersion.

~~~
agibsonccc
It forces you in to a corner :D. It's kinda frustrating in a way. I'm not
quite going to that extreme though, tokyo will allow me to "ease in to it".

------
sergiotapia
I want to write a real, hand-holding example for using GenStage and Elixir for
a real tangible feature.

The official documentation sucks and does nothing to illustrate how to use it
in a real setting. I've tried to understand what it does and how it works
about once a month for the past four months but I still don't get it.

[http://elixir-lang.org/blog/2016/07/14/announcing-genstage/](http://elixir-
lang.org/blog/2016/07/14/announcing-genstage/)

Hopefully I can understand it soon, and further cement my understanding by
writing a real example for people to learn from. It sounds very powerful and
useful but damned if I know how to use it lol.

~~~
davedx
I found this post educational: [https://discord.engineering/how-discord-
handles-push-request...](https://discord.engineering/how-discord-handles-push-
request-bursts-of-over-a-million-per-minute-with-elixirs-
genstage-8f899f0221b4#.qc1dhtiwk)

------
d7z
Confidence - never thought it would be an issue when you're leading your own
company. I quit a great job on the east coast in 2012, went to grad school and
moved to Silicon Valley after graduation (2014) to work on my startup. I've
been learning and building constantly for the past 4 years. I would rather my
work speak for me, so I don't draw any attention to what I'm doing or to
myself until I have great results to report. I don't have a co-founder because
the people I would ask are not financially independent enough to take the risk
without a salary. I'd rather make some money and hire them with as much equity
as they can handle.

My first project stalled because of poor architectural decisions that
overlapped with not-yet-profitable product-market fit (and too much networking
instead of product work) and a baby. I learned that lesson and turned into a
hermit to rewrite it completely - the market is there, but not immediately
lucrative. I'm also writing something that makes money first. I'm hammering
day and night with nothing else in my life but my family and the product. My
second project is written in GO, wonderfully cheap to run, and about to be
ready for launch. Not sure how to turn on that swagger button yet.

Selling to customers is one thing, but how/when do I start selling to
investors and employees when few people know me in SV because I've been
hammering instead of networking for almost 2 years straight.

~~~
superplussed
I'm in a similar position. We should create a group for the subset of solo
founders who are inclined toward product and not sales. It is a tough position
to be in for sure (though I imagine the inverse has its own problems).

~~~
jakobegger
I'm a solo founder (of a slow growing 'lifestyle' business, not a fast growing
startup) who is inclined towards product. The trick is to build a product that
requires minimal sales effort.

My app costs 40€, and is geared towards individual users. You don't need a
sales team to sell a 40€ app -- just a few emails to announce your product on
the right mailing list, and a few cold emails to key influencers.

And a lot of patience, because unless you are very lucky, noone will buy
version 1.0.

~~~
superplussed
Good advice Jakob, thanks. Yeah my app is essentially a video language
learning application, think very broadly of it as Youtube crossed with
Duolingo. So it definitely isn't the kind of app that requires a traditional
sales team. It's going to be all about influencers and language learning
forums in the early days and building from there.

------
DigitalJack
I want to learn compiler development. My goal is to get enough of an
understanding to be able to work on other people's compilers, such as SBCL.

I'd like to:

-Build a lisp that targets LLVM IR

-Build an HDL out of lisp that can be compiled into a simulation, as well as be compiled to a netlist for synthesis.

-Build a testbench toolkit out of that same lisp.

~~~
agumonkey
I have that planned for a long time. I've been making progress in recursive
thinking and thus compilation and interpretation last year (thanks to a prolog
book). I may attempt the LLVM thing in 2017. This or a bootstrapped forth, x86
64 or maybe AARCH64.

Do you have a blog ?

~~~
mynameisbahaa
What is the name of that "prolog book" ?

~~~
agumonkey
It's Ivan Bratko's book. I think he only wrote one about prolog.

~~~
mynameisbahaa
Thank you :)

------
deepaksurti
Going back to the basics to solidify my foundation, one each quarter. Good
Practice makes one a better engineer!

Digital Electronics using [1] Operating Systems using [2] Functional Data
Structures using [3] Graphics Algorithms [4]

Any recommendations for these subjects sincerely appreciated. Thanks.

[1] [https://www.amazon.com/Digital-Design-Computer-
Architecture-...](https://www.amazon.com/Digital-Design-Computer-Architecture-
Second/dp/0123944244) [2] [https://www.amazon.com/Modern-Operating-Systems-
Andrew-Tanen...](https://www.amazon.com/Modern-Operating-Systems-Andrew-
Tanenbaum/dp/013359162X) [3] [https://www.amazon.com/Purely-Functional-
Structures-Chris-Ok...](https://www.amazon.com/Purely-Functional-Structures-
Chris-Okasaki/dp/0521663504) [4] [https://www.amazon.com/Graphics-
Visualization-Principles-Alg...](https://www.amazon.com/Graphics-
Visualization-Principles-Algorithms-Theoharis/dp/1568812744)

The more you practice, the more you can, the more you want to, the more you
enjoy it, the less it tires you.” ― Robert A. Heinlein, The Cat Who Walks
Through Walls

~~~
signa11
> Digital Electronics using [1] Operating Systems using ...

also, in case you are not aware of it, there is always the nand2tetris
[[http://www.nand2tetris.org/](http://www.nand2tetris.org/)] thingy (currently
running on coursera btw). the book is also pretty good imho.

~~~
deepaksurti
thanks signa11 for the nand2tetris reminder. I have worked through that book
and it is really awesome. Worth the time and effort for anyone inclined. I had
posted my review on Amazon as well. [1]

I think I should enroll for the Coursera thingy and have at least 1
certificate in my kitty ;-)

[1] [https://www.amazon.com/gp/customer-
reviews/RZ4ME4QH22JML/ref...](https://www.amazon.com/gp/customer-
reviews/RZ4ME4QH22JML/ref=cm_cr_arp_d_rvw_ttl?ie=UTF8&ASIN=0262640686)

~~~
signa11
> I have worked through that book and it is really awesome. Worth the time and
> effort for anyone inclined.

very cool :)

in case you want something more, i have _very_ fond memories of zvi-kohavi's
book (switching and finite automata theory) as well. you might find
useful/instructive.

------
eranation
How to spend more time with my family, friends, work out, learn how to cook
and less spend time plying with a new framework without a real business idea
behind it.

~~~
botverse
> learn how to cook

The key is to learn to eat.

~~~
AbenezerMamo
I love this.

------
teejayvanslyke
How to effectively market my consulting skills. I've been a web developer for
over a decade now and I'm still not confident in my ability to bring in
consistent work. The work comes, but I'd like to have more potential clients
knocking.

From what I can tell, the best way to achieve that is by consistently offering
to help others with my skills. So I'm making it a point in the coming year to
make blogging a part of my work routine.

Are any of you facing the same dilemma? I'd love to hear your insights!

~~~
grardb
I have a hard time breaking into the consulting/freelancing world. I really
like the idea of working part-time during off hours for extra cash, but it's
proven to be quite difficult for me.

I think part of it is that I'm not loud enough, and I think it comes from
being an introvert. I'm confident, I'm _not_ shy, and I know I'm skilled
enough to work on lots of stuff, but when it comes to marketing myself,
networking, small talk with strangers, or anything else like that, I just have
the hardest time.

It also doesn't help that a lot of opportunities to meet potential clients are
found in non-professional settings, and those events are usually centered
around the consumption of alcohol in the presence of loud music. I cannot
stand loud music and I don't drink alcohol, so the difficulties for me just
seem insurmountable.

~~~
smnplk
Have you tried any of the online freelance market places, like toptal, upwork,
peopleperhour..etc ?

~~~
grardb
I have, but with zero success. I've read awful things about Toptal and
PeoplePerHour, so I didn't really go for them. Upwork seems to be filled with
developers from various parts of Asia where the low cost of living allows them
to bid way lower than what I would charge. The quality of work also seems
pretty bad, from what I can tell (one-sentence descriptions, bad grammar,
crazy low budgets, etc.).

I've seen advice like, "If you charge high instead of trying to compete with
low bidders, you'll be taken seriously," but then there's the issue of having
0 clients/reviews/ratings, which make it hard to command a high rate.

I did have one client on Codementor.io! He didn't give me a review, though,
even though we had three sessions and he seemed to be super happy with my help
:/

~~~
spencerfry
What about packaging what you know and putting together an eBook or online
course? A lot of freelancers and consultants are turning to that to make extra
money and to build their reputation. Here's an example:
[https://courses.gorails.com/](https://courses.gorails.com/)

------
anonyfox
Diving deeper into Rust. It strikes me how this language is exactly what I
want in the future. From building Webapps/services (good libs/frameworks
_will_ arise) to codify algorithms as efficient as possible, and so on.

I have some libraries that I tend to rewrite for every new language I learn,
but once I wrote something in Rust, its written once and for all, highly
efficient and considerably safe, and I can use it from all other languages
(node, elixir, ruby, ...).

And I have high hopes for webassembly to replace the brittle and
overcomplicated frontend stuff in the next years, Rust should be the ideal
candidate to write enterprisey stuff which must not fail.

------
Ocerge
I want to learn how to even start a side-project. I've been out of university
since 2012 and have done basically nothing in my free time CS-related. Every
time I start to even think about doing something, that "why are you working
while on your free time" feeling comes up and I immediately do something else.
Not sure if it means I really don't love programming and Computer Science
after all (entirely possible) or if it means I'm just lazy. My goal is to find
out one way or another.

~~~
gravypod
Do you want to know the secret to starting projects for yourself? Don't buy or
download any software just write it yourself.

I've got a huge movie collection on DVD. Rather then use Plex I made my own
website to do the same thing. I have a lot of PDFs of books I want to read,
made similar software to allow me to keep my position in my browser

I wanted to study for a HAM license general exam do I made this:
[http://ham.joshuakatz.me/exam](http://ham.joshuakatz.me/exam)

I've been looking for a thinkpad x220t so I made this go scrape cregslist for
me: [https://github.com/gravypod/BargeIn](https://github.com/gravypod/BargeIn)

(I live in N. NJ if anyone has one laying around)

There are thousands of examples where I've done this and it's very fun. It
improves your abilities and toolings and in general makes your life on the
computer much easier.

You don't have to be trendy just be useful to yourself and people will like
it.

~~~
shrikrishna
I can't overstate what a good advice this is. It's counterintuitive, but if
you are just starting out, reinventing the wheel is the best practice you can
get!

~~~
joe563323
I too think the same seriously. This is not sarcasm right ?

~~~
shrikrishna
No it isn't. I did the same when I was starting out. Rather, we all do, when
we are starting to learn anything new, by following tutorials, where you
basically reimplement what the author of the tutorial has.

------
silvaben
Growth hacking.

I'd like to learn how to sell a SaaS product[1] to businesses. I'd also like
to explore content strategy and marketing. As a software developer joining a
new 2-person startup, this is uncharted territory for me. Looking forward to
the experience.

[1] [https://www.metriculator.com](https://www.metriculator.com)

~~~
callmeed
There's several good blogs out there but I really suggest reading Traction
[0]. It's well organized and very practical/easy to put into action. I've
bought copies for multiple people (including my wife who recently joined a
startup doing marketing).

Also you used the word "sell". Don't forget that sales is different than
marketing. If you plan on doing real sales the book Predictable Revenue is
great (though designed for slightly larger teams than just 2).

Good luck! And don't forget, NPS tools are good for brick and mortar
businesses too.

[0] [http://tractionbook.com](http://tractionbook.com)

~~~
silvaben
Traction book seems interesting and is highly recommended by a lot of people.
I plan to buy a copy and read it over the holidays.

I've got a few broad ideas for marketing - direct "cold-connecting" via
LinkedIn, Angel; long term content strategies and Facebook/Bing ads.

Approaching brick and mortar businesses seems challening, especially since I
don't have a background in sales. I have a feeling that online startups might
be more approachable to begin with.

Adding Predictable Revenue to my next year's reading list. Thanks for the
suggestion.

------
jonaf
1\. Rust. As a DevOps engineer with a lot of experience and interest
developing and operating distributed databases, I have so many ideas and Rust
is perfect for them.

2\. Everything about building and using FPGAs to their potential.

3\. machine learning / deep neural networks. I feel we are getting to a point
where they are becoming more practical for a business to invest in.

4\. How to survive parenthood, with #3 due in May, my son is 3 and my daughter
is 2. I've been making it up as I go, but wow is it a lot of work!

~~~
flukus
I'm going with rust as well as a follow on from currently getting myself
reacquainted with lower level programing (c), building desktop apps and
flex/bison. I "knew" c++ >10 years bet went to more productive environments to
build apps. What I'm discovering now is that this productive is more from
experience than from using higher level languages.

------
jchmbrln
GIS. I've been using PostGIS a ton at work in the past year, and I've read
_PostGIS In Action_[1], but I've really just scratched the surface. I want to
play around with making my own projections.

[1] [https://www.manning.com/books/postgis-in-action-second-
editi...](https://www.manning.com/books/postgis-in-action-second-edition)

~~~
cossatot
Desktop GUI Gis programs like QGIS are pretty fun and there are tons of
resources for learning the basics. You can download elevation raster data and
highway vector data for the area around your city or somewhere more
topographically interesting and start making maps or just some armchair
exploring. Topography and hillshade data are gorgeous. And it's pretty easy to
play around with projections, especially changing parameters on standard ones
like Lambert.

~~~
markovbling
Check out d3.js - building a GIS app myself on top of d3 and it's really
powerful and runs in the browser. Will have to do the GIS calcs server side
and just use d3 to render but that plays really well with PostGIS...

------
xrjn
I want to learn and play with LoRa. It's a 'IoT' technology that allows you to
communicate over long distances using amateur (unlicensed) radio bands. Some
of my friends have achieved distances of over 40km, and I'm curious to see
what I can do with it.

So far I've been able to get a ping between two modules over a 10m range. Next
up I'd like to transmit some useful data over longer distances (temperature
for example), and then move on to devices that provide useful data (eg when a
train passes a certain point to see if it's on time).

~~~
Raed667
I have played with LoRa using Arduinos and an RPi that forwarded the
transmissions to a web-service.

Going from the 'hello world' ping to data is an extremely easy step using the
right library.

~~~
xrjn
I'm sure it's easy, however right now the range part is where the blockage is:
I get a SNR of -11 and RSSI of -107.. which results in just a few meters of
transmission.

Using a Draguino Lora Shield + Hat combination, with the antenna which was in
the box. Dunno what I'm doing wrong - what hardware and library did you use?

~~~
Raed667
I have used the SX1272 module with the multiprotocol radio shield.

[https://www.cooking-
hacks.com/documentation/tutorials/extrem...](https://www.cooking-
hacks.com/documentation/tutorials/extreme-range-lora-sx1272-module-shield-
arduino-raspberry-pi-intel-galileo/#step3_2)

------
pasbesoin
I'm coming 20-30 years late to the "biology is the future" mindset.

In my case, personal health has left me no choice.

Some poor medical advice and treatment, combined with my adversity to the
whole topic -- yes, strong squeamishness combined with fear/observation that
thinking about adverse events seemed (seems!) to instantiate them. That all
has left me with a substantial health burden.

Meanwhile, in my experience the current U.S. health care system seems to be --
technological "miracles" aside -- making getting effective treatment ever more
difficult.

So... As with everything else, it seems, you can't rely on expert consult --
even when you can afford it -- but rather have to learn and do -- or at lease
prescribe and manage -- everything yourself.

So... biology. In other words, I need to belatedly read up on the owners
manual. And find some hacks that help me.

As an aside, we're about to the point of molecular programming. So, maybe this
will coincide with the current leading edge in technology, anyway.

------
parthdesai
Learn to have hobbies?

Right now my life consists of Commute->Work->commute->gym->sleep. I actually
don't look forward to weekends since there is nothing to occupy my mind.

~~~
Razengan
Pick some books to read or gaming handhelds to play during the commute?

Once you like something you'll look forward to continuing it in peace on the
weekends.

~~~
parthdesai
I usually sleep while going to work, but yes i do read on the way back.

But still doesn't leave much to do on weekends. I usually end up doing some
work and going to gym. Not having a car doesn't help. :(

~~~
Razengan
How long is your daily commute? Perhaps you could change your routine a bit,
and consider going to work on a bicycle. It could reduce the need to hit the
gym every weekend, and seeing new sights and sounds on the way to work may
open you up to new hobbies. :)

------
hota_mazi
I've learned too much stuff in 2016. My goal for 2017 is to learn fewer things
and actually understand what I've learned better.

~~~
dwaltrip
Sounds like exposure vs actually learning something deeply.

However, both activities are very valuable. Without looking at many things,
how else can we know what is worth spending time to learn or do well? I
currently feel that alternating between the two is good for a while. Perhaps
later in life I will know enough to confidently work on one thing for many
years :)

I've also found the tree trunk of knowledge model to be very powerful (I
believe I heard of it on waitbutwhy.com). The best learning and understanding
comes when we build it up in a tree like fashion, where each leaf or branch is
supported by a stronger, more fundamental conceptual branch. At the core is
the trunk & roots, which are the deep, underlying principles supporting the
entire tree of concepts/knowledge/ideas.

Without a strong trunk to build off of, concepts and bits of knowledge float
alone, ungrounded, and can wither or rot more easily.

~~~
hota_mazi
Yes.

I sound a bit more negative than I really am. I think both kinds of learnings
(deep and broad) are useful, you just need to make sure you adjust your brain
and technique of actually assimilating things to the type of learning you are
doing.

I've learned quite a few languages/libraries/frameworks/methodologies this
past year and while I don't feel like I'm an expert (or even reasonably well
versed) in either of these, this broad exposure to vastly different things has
stretched my brain in positive ways.

I'd just like to switch that trend for next year.

~~~
dwaltrip
No worries, your post didn't come off as negative. I just took it as an
opportunity to ramble for a bit. Hope your 2017 goes well!

------
IgorPartola
Docker, rkt, LCX/LDX, and Kubernetes. I use some of this stuff already but
want to see whether I can set up a Heroku-like multi host cluster that will be
more stable for running production projects than my current setup of running
things on "bare" EC2 instances.

Swift and/or React Native. Mobile apps are good.

How to use some basic ML in practice. TensorFlow based NNs would be good.

How to use the ShopBot at my local hacker space. Also how to use the laser
cutter to make cooler shit than I already do.

How to sew. I want to make some one-off items but really don't know much about
sewing beyond the real basics.

How to use a bullwhip India Jones-style.

Surfing.

Bonus: welding, how to change brakes on a car, how to rebuild a carburetor,
how to make kombucha, how to keep bees.

~~~
ars
> how to change brakes on a car

This is really easy. In fact it's the easiest non-trivial repair there is on a
car, because unlike other parts it's actually designed do be replaced as a
wear part.

You'll need a jack, jack stands (pair), and a set of good socket wrenches
(make sure you get 3/8 and 1/2 size - you'll need the larger sockets). A
breaker bar and torque wrench are a nice bonus. You can get all of that at
harbor freight for less than $100 (they do ship if you don't have one nearby).
And considering the parts for a brake change cost around $100, but a shop
charges closer to $600 it's a no-brainer financially.

I learned by checking out a chiltons repair manual from my local library and
following the instructions. That works very well, and you can supplement by
watching some youtube videos (not an option when I first started). (I would
not do just youtube - you never know if they are skipping a step.)

Disk and drum brakes are all very similar within their type, so it hardly
matters which model year chiltons book you get.

Like you, I'd also like to learn how to weld :) but the cost of the machine is
too high to justify.

Edit:

[http://www.harborfreight.com/64-pc-14-in-38-in-12-in-
drive-s...](http://www.harborfreight.com/64-pc-14-in-38-in-12-in-drive-sae-
metric-socket-set-67995.html) [http://www.harborfreight.com/12-in-drive-18-in-
breaker-bar-6...](http://www.harborfreight.com/12-in-drive-18-in-breaker-
bar-67932.html) [http://www.harborfreight.com/1-2-half-inch-drive-click-
type-...](http://www.harborfreight.com/1-2-half-inch-drive-click-type-torque-
wrench-239.html) [http://www.harborfreight.com/3-ton-steel-jack-
stands-61196.h...](http://www.harborfreight.com/3-ton-steel-jack-
stands-61196.html) [http://www.harborfreight.com/4-ton-hydraulic-bottle-
jack-664...](http://www.harborfreight.com/4-ton-hydraulic-bottle-
jack-66450.html)

Total: $95.95 (including coupons, the home page has the coupon codes)

~~~
JustinGarrison
On top of this if you buy break pads from Autozone ($25-40) they come with a
life time warranty which includes wear. I have bought 1 pair of pads for every
car I've owned and when I need to replace them I just take the old ones off,
put them in the box and bring them to Autozone. They give me a brand new set
of pads for free!!! After my initial investment my break changes take ~1-1.5
hours of time (including the trip to Autozone) and cost no money.

------
jetti
Elixir/Phoenix -> I'm starting a greenfield project that I'll get to work on
commercially that will be using Elixir/Phoenix for the API backend, so that
will be a thrill there

Woodworking -> I'm going to have more free time this year so I want to get
back into learning woodworking and actually building and finishing pieces. My
first goal is to re-build my workbench and make it smaller so it takes up less
room in the garage. After that, I have an idea on a stand that will go next to
my couch.

Marketing -> I've created a software product that I'm selling and I want to
figure out how to market better so that I can actually sell my product

------
vcool07
My goal is to learn enough tech to build an end to end web based application.
Planning to learn python, then html/css, MySQL and move onto learning
deployment with AWS.... let's see how it goes !

~~~
giancarlostoro
There's many options for Python but check out CherryPy. If you can write a
class, and a few methods that return text (or HTML) you can write a full blown
website with CherryPy. It maps methods to URLs.

[http://cherrypy.org/](http://cherrypy.org/)

Just look at HelloWorld. As for templating, I personally use Mako:

[http://www.makotemplates.org/](http://www.makotemplates.org/)

Mako is used by Reddit. A few months back I was hired to code a back-end API
and I chose Python and CherryPy for the stack, never done as much web dev as I
have since. Got a fully working app. Can't recommend much for MySQL, except
either SQLAlchemy or PonyORM.

You can make a simple website / web service in CherryPy, and yes RESTful
services can be made as well. I say start with basics. Even if you don't use
CherryPy in the end, you can start testing it right away with the hello world
example. Just don't forget to pip install cherrypy

~~~
vcool07
Thank you, will check them out !

------
oxplot
After watching La La Land, I finally settled on the instrument I'd dabbled
with for years - piano. So I enrolled in a music theory course and I'm gonna
learn to play the piano along with it.

~~~
baddox
I'm no great pianist, but I've got a pretty decent grasp of music theory. Let
me know if you come up with any questions.

~~~
oxplot
Awesome — appreciate it.

------
blueintegral
Conversational Navajo. It's such an interesting language with an amazing
history. I don't know any other languages right now besides English and a bit
of Spanish, and I didn't grow up around any Navajo people. Despite a
relatively small speaking population, there seems to be enough information
online to learn at least enough to hold simple conversations.

~~~
anderspitman
I used to spend time learning languages as a hobby and have a hardcover copy
of a book called "The Navajo Verb". I'd be happy to loan it to you.

------
nonsince
I've moved to the Netherlands alone less than 6 months ago - so Dutch is high
on the list of things that I want to learn (I can read it pretty well already,
but I can't speak or write it very well). I'm using Duolingo, plus I have some
Dutch friends already who help me out.

On top of that I want to learn industry game development techniques, including
finally getting a solid grasp on C++. I've got a pretty strong grasp of
systems engineering concepts and memory management since I'm very active in
the Rust community but by the end of the year I want to be qualified to get a
job in the games industry. Web development is not going to be my career,
that's for certain. I'm reading through various maths-for-computer-scientists
books, and I've got a bunch of highly-recommended game dev books (Game Engine
Architecture, Real-time Rendering, looking at getting Real-time Collision
Detection) in my library. I was an avid amateur mathematician in a past life,
so although I'm rusty I'm getting back into my stride quite fast. If anyone
has more tips on how to get your foot into the door in game development
(engine/tools development, very specifically _not_ programming the game
itself) I'd be extremely grateful.

~~~
ejanus
I have game development in my list...looks like I should pair up with you.

~~~
nonsince
If you want to contribute to anything, I'll be posting it on my GitHub at
[https://github.com/jFransham](https://github.com/jFransham). I've got the
start of a game in Rust on there at the moment, but it's nothing like
production-ready (and there's no actual _game_ there yet, it's just testing
code).

~~~
ejanus
Thanks .... I will fork and follow you repo. But I need to learn Rust :)

------
awgme
Completely not tech related, but I want to learn making hand pulled noodles
because they're so tasty.

~~~
palerdot
I upvoted you because this is the first non programming comment I came across
in this content. The question was generic, but incidentally almost all replies
are related to programming.

~~~
gravypod
If this question was posted on a forum for gardeners, most of whom are
gardening fanatics, you'd find many of the plans involve gardening.

------
skierscott
* Distributed optimization. How efficiently solve a large optimization problem with N cores? We would like to the time to complete the optimization to be N times faster. Hogwild[0] and Hogwild++[1] are (basic) algorithms for this.

* Security. What's my threat model and how should I address it?

[0]:[http://pages.cs.wisc.edu/~brecht/papers/hogwildTR.pdf](http://pages.cs.wisc.edu/~brecht/papers/hogwildTR.pdf)

[1]:[http://www.stat.ucdavis.edu/~chohsieh/wildSGD.pdf](http://www.stat.ucdavis.edu/~chohsieh/wildSGD.pdf)

------
FLUX-YOU
Those computer science fundamentals that let you ace all of the big company
interviews so I can actually move somewhere else and feel confident in getting
a job.

------
tixzdk
Pony! Seems like a very interesting language that doesn't get much exposure.
Predictable GC, fine grained capabilities, actor model (concurrent by
default), no deadlocks etc.

[http://ponylang.org](http://ponylang.org)

------
lloeki
What: learn not to be so much caught up in thoughts about whatever happens or
will happen - which in turn generates terrible anxiety and self-fulfilling
prophecies - and to enjoy the present moment.

How: socialize, be more outgoing about who I am, get back into sports and
reach back to friends I've been letting down, build new relationships, trust
people again. Just keep on building, doing and enjoying things for what they
are, not what they might fail to be.

------
SnowingXIV
Ship a game. Better understanding of setting up a reliable backend. Grow
current business and start ranking better for more organic traffic. Vim. And
really work through being able to quickly whip up a project with one of the
major JS framework. Also, using a VPS such as DO and make it secure.

------
brudgers
I went through this last year. After two false starts with something toward
the leading edge, I settled on Emacs, Linux, and JavaScript. All of which I
already 'knew' enough to get my face slapped. Photography got added without a
formal application. Raspberry Pi sort of worked it's way in under Linux in the
second half of the year. Since I haven't 'learned' any of them, I'll probably
keep them around in 2017.

I'm also thinking about adding some 'classical' AI at the agent level of
abstraction (not the lower DNN level). That probably means a bit of Common
Lisp and an excuse for buying some used Norvig books. Like the formal topics
from last year, this seems to be a domain that I bump into by trying to avoid
it.

------
bencoder
Just bought myself a piano, so I want to learn to play - to a beginner level -
I'm aware that probably even after 5 years one is still essentially a
"beginner", so it's a long road.

~~~
xpil
Great idea. It took me some 2 years to realize that piano wasn't my favourite
way of making noise; on the other hand though it gave me a solid base on the
theory of music (intervals, notation, cleffs etc) so that picking another
instrument became much, much easier.

~~~
wallflower
Take a look at [http://www.lightnote.co/](http://www.lightnote.co/)
(previously mentioned on HN)

------
abhimskywalker
Top priority: How to be Happy.

And also some Kubernetes, Docker in more detail, explore rkt and CoreOS,
perhaps also get into details of linux kernel and finish a custom build from
[http://www.linuxfromscratch.org/](http://www.linuxfromscratch.org/) Get more
depth into system security

If time permits, would love to learn more about Quantum Computing and explore
if I can contribute in any way.

~~~
antrion
I don't know what your knowledge of quantum computing is, but I'm a complete
beginner and I found this article [0] a very good read to begin with.

[0]: [http://twistedoakstudios.com/blog/Post2644_grovers-
quantum-s...](http://twistedoakstudios.com/blog/Post2644_grovers-quantum-
search-algorithm)

------
LeicaLatte
I want to move out of the cloud. My apps should run on my own server hardware.
I feel this is more important than anything else right now. Even growth.

~~~
ne01
I'm just wondering, why is it more important than growth?

~~~
LeicaLatte
Many good reasons. Here are two.

1\. Cloud companies' best interests are not aligned with mine on issues of
ethics, snooping.

2\. Control.

------
adrice727
Scala.

I did the two functional programming in Scala courses on Coursera. I'm
currently going through Martin Odersky's book and am in the middle of my first
small project. I'm just starting to turn the corner on feeling productive and
actually understanding what the hell I'm doing. If I am half as productive in
Scala as I am in my main language (JS) by the end of the year, I'll be quite
happy.

~~~
jakeway
If you picked up Scala, I'm going to assume you're interested in functional
programming. In which case you should check out the book Functional
Programming in Scala. Describes a bit more advanced functional programming
ideas using Scala

------
candu
Canning / pickling (IIRC there's a course on Instructables), salsa / Latin
dance (there's a local café / bar near me that does regular salsa nights),
basic woodworking (my wife and I are making a bookcase and coffee table early
2017), mobile development (started with Android via the Developing Android
Apps course, continuing with some projects plus Vogella and other tutorials to
fill in specific knowledge gaps), game design / development (a combination of
reading books such as The Art of Game Design: A Book of Lenses, playing games
and picking apart the design decisions, and working on game projects).

Time will tell how much of this I actually get to, but at the very least I'll
be busy :)

~~~
wallflower
Re Salsa/Latin dance.

The secret of learning Salsa (and other things) is that most people give up to
early (after the 1st lesson, 2nd lesson). If you keep on going, the lessons
that were hard for you in the beginning will become easy. If you keep going
and get better and be (more) social and fun, the follower that you were
intimidated to dance with will ask to dance with you... (the tipping point, an
important milestone).

If you can take lessons with your wife and practice with your wife at home,
that will make it easier. The hardest thing for single persons who start
learning Salsa is that they don't have someone to regularly practice with.
This is usually not a problem for the most dedicated beginners, as they block
off their free time for learning salsa (multiple lessons a week all the way up
to multiple lessons a day). The most social tend to progress the fastest, as
everyone wants to be around someone who is fun and social. Salsa is a
community, like anything else.

Addicted2Salsa has enough free lesson videos to keep you busy for a long time.

[https://www.addicted2salsa.com/](https://www.addicted2salsa.com/)

Start listening to Salsa music instead of other music, so you can pick up the
'1' (or the '2') beat.

Buena suerte!

------
franciscop
Robotics. I know some basic Arduino and would love to build a wheeled thing
with a robot arm. Maybe with a camera in streaming. This is super wisful
thinking though, if I can make the wheeled thing (with _power_ electronics)
I'll be happy.

------
smnplk
\+ learn the notes on the guitar neck

\+ continue learning Clojure and build stuff with it

\+ improve english speaking skills

\+ read more, in english and native language

\+ learn how to find clients outside of online freelance marketplaces

\+ get away from ruby and rails

\+ study more poker hands

\+ learn to play chess better

\+ learn about seo & marketing

\+ bootstrapping a SASS product

\+ make a few html5 games in clojurescript

~~~
ThomPete
As a fairly accomplished guitarist let be give you a piece of advice.

If you want to learn the notes instead of learning them across the 6 strings,
concentrate on learning them up and down the same string.

~~~
smnplk
Thanks for advice, I am using similar approach too. Because I also try to
learn the positions too, so if you ask me what note is on sixth string/8th
fret I have to know it's C and then if you ask me where are the other C notes,
I need to know other string/fret pairs.

~~~
St_Alfonzo
A mnemonic that helped me was learning relative notes in 'shapes' on the
fretboard.

The octave is 2 strings higher & 2 frets higher. The perfect fifth is 1 string
higher & 2 frets higher. (Same shape as one of the movements of the
knight/horse piece in chess :-) ) The minor third is same string & 3 frets
higher OR 1 string higher & 2 frets lower. The major third is 1 string higher
& 1 fret lower.

On a normal tuned E-Bass this is valid for every string and every fret. On
Guitar you have to add "1 fret higher" if your start point is on string 1-4 (E
to G) and the target is on string 5-6 (B, e) because the interval between
string 4 and 5 is different (major third instead of perfect fourth).

Good Luck in 2017! My goal is also "continue learning Clojure and build stuff
with it"

------
KurtMueller
F#

Specifically, I want to learn how to: 1\. Build and deploy an F# web app with
Suave as the web framework and Fable on the frontend. I'm not quite sure what
to use as a backend (I know and use Postgres, but am open to using something
else). 2\. Test my code using FsCheck (based off of Haskell's QuickCheck) by
defining properties/attributes. 3\. Use computation expressions 4\. Use and
build type providers

I'm a professional Ruby on Rails developer by day, so I'm interested in F#
because it's so very different than what I'm used to. Plus, it has a lot of
shiny tools/toys that I want to play around with and learn.

------
gravypod
I want to learn to weld, machine, and develop electronics

------
duiker101
How to actually promote the stuff I do in a more extensive way than a single
reddit thread.

~~~
garysieling
There is one HN comment I come back to periodically for ideas -
[https://news.ycombinator.com/item?id=341288](https://news.ycombinator.com/item?id=341288)

I collected a list of videos from some business conferences I really like, you
might get some ideas in here -
[https://www.findlectures.com/?q=marketing&p=1&type1=Conferen...](https://www.findlectures.com/?q=marketing&p=1&type1=Conference&talk_type_l2_Conference=Business)

~~~
duiker101
Thanks man! I'll check it in 2017!

Joking! I'm going to dive in it right away!

------
sidchilling
I want to learn to market something and make some money from one of my
products.

I have been develioping web and mobile apps for about 6 years and now I want
to create something for passive income.

------
supernintendo
3D modeling and animation. I know this is a field that takes years to master
but I'd love to be able to design my own characters and objects for games and
video composites.

~~~
rayalez
Great goal! I highly recommend to check out Nevercenter Silo for modeling, and
Maya or Houdini for animation(Maya is the most popular, and Houdini is the
most awesome).

------
davedx
Elixir, and probably Phoenix. We have a large IO bound orchestration layer
written in Scala that's been struggling with our traffic lately, and it's been
a lot of work to optimise performance. Curious to see if Elixir can help us,
and how.

~~~
adrice727
I'm curious as well. What advantage do you think Elixir might provide over
Scala?

~~~
davedx
With Scala you have to be very careful to explicitly avoid blocking
operations. You also have to micromanage execution contexts across the various
components (or services) of your app. I also like the sound of the resilience
provided by the Erlang OTP and the "crash early" strategy.

What I don't like is the prospect of losing static typing. Nor do my co-
workers. We need to spend some time doing R&D.

------
mguillemot
In 2017 I want to move my digital electronics skills from "patching together
30 years old ICs on a breadboard while playing with devkits" to "designing a
simple board with modern components". I'm finally taking the plunge to SMD
soldering, and the ultimate goal will be to make a fully functional JAMMA game
board using a decent FPGA (a project I left incomplete 10 years ago, which has
always bugged me).

~~~
DanBC
I'd be interested to read a blog of your progress, especially if it includes
mistakes you made and what you learnt from it.

~~~
mguillemot
I'll keep that in mind! (I'm sure there will be many mistakes on the road ^^')

In the meantime, my Twitter is in my profile, and I'm pretty sure I'll post a
few snaps here and there :)

------
cvoss
I'd like to learn to leverage collaboration and the societal politics of my
field to help achieve bigger and more impactful projects. Being a loner is
only going to get me so far, I've realized. (I'm a grad student.)

~~~
JoshTriplett
Good call.

You can be the best developer in the world, in a job that leaves you alone and
lets you write code, and you might get several times as much done as another
developer. Or you can spend a little less time writing code and have a few
_productive_ meetings and discussions, resulting in far more development than
you could ever do alone. And you'll still get to write plenty of code.

------
s_c_r
Vim. I'm a notepad++ and PHPStorm user but I've gotten curious about the
potential productivity gains afforded by the vim power user functions.

~~~
joe563323
I use vim and emacs both. From a power user standpoint emacs is better. From
faster edits perspective vim is better. I am sure most will agree with this
view.

~~~
pvdebbe
Perhaps the best of both worlds -- spacemacs from the get-go?

Personally I don't like these Emacs distributions so I might recommend the way
I did my journey: first vim for years, then emacs+evil. You'll learn the bare
emacs basics on the side. Now with Vim 8 having vastly enhanced IPC
capabilities, Emacs might not be at such an advantage anymore. The amount of
Vim users is staggering, and they have such energy. It's a nice community
overall. (Not that Emacsers would be any worse.)

------
sakoht
Get good at building excellent front-ends.

I have been doing scalable back-end systems for years and can tackle
interesting problems quickly. But, with UI work, I am like an infant with
crayons. It takes too long to go from desire to product.

------
snowcrshd
Here are my goals for 2017:

\- 10 seconds Free-standing Handstand: Practice 6-7 days a week, for twenty
minutes, following the GMB Handstand progressions.

\- 10 seconds advanced tuck back-lever on the gymnastics rings: Practice 3-4x
week, following FitnessFAQs progressions.

\- Bulgarian split squats, 4x12 50kg: I'll go with a somewhat linear
progression -- work from 3x8 up to 4x12. When I do 3 workouts using 4x12, I'll
up the weight by 2-4kg and start a new cycle.

\- Books I'll read:

    
    
      1. Gödel, Escher, Bach
      2. Black Swan
      3. The Society of Mind
      4. Code complete (I'll read a chapter every week)
    

\- Finally learn about compilers/interpreters:

    
    
      1. Work through "Writing an interpreter in Go"
      2. Work through "Language Implementation Patterns"
      4. Work through "Engineering a Compiler book"
      5. Do the Kaleidoscope LLVM tutorial in OCaml
    

\- Get good at algorithms to have a better chance at landing a job in one of
the the big 4:

    
    
      1. Work through HackerRank's Cracking the Coding Interview track: I'll do 3 challenges every day until I am finished.
      2. Solve as many problems from LeetCode [1] as I can: I'll solve 2 problems every day.
      3. Work through the "Algorithm Design Manual book"
    

\- _Really_ learn Java. Java 8 looks interesting and I see there are a lot of
job opportunities for Java devs.

Looks like a plan!

[1]: [http://www.learn4master.com/interview-
questions/leetcode/lee...](http://www.learn4master.com/interview-
questions/leetcode/leetcode-problems-classified-by-company)

~~~
gcav
I think learning the handstand is a great idea. For me, handstands helped
relieve a ton of shoulder pain I had from football + too many bench/bicep
workouts. It also just looks super cool to boot and you can do them anywhere.
Best of luck

~~~
snowcrshd
Hahah, thanks!

I'm currently working on wall leg flutters. My balance improved _a lot_ after
I increase training frequency to 5-6 days a week (in comparison to 3x).

------
snovv_crash
The basics of what's required to become a quant for trading algorithm
research. I already do a lot of linear algebra and calculus in my day job, and
I love the challenge. I also have some experience with competitive predictive
analysis during game AI competitions, which I turned out to have a knack for.
I see Ito and related fields as the next level, and the money doesn't hurt
either.

------
DanBC
I want to learn to drive and get a UK driving licence.

~~~
gaius
I'd advise against the one week intensive courses - the muscle memory just
takes time to build. A one hour lesson once a week is about right, with maybe
an hour more practice per week if you can persuade a friend to take you out.
Allow one week per your year of age is the rule of thumb. Good luck!

~~~
jimnotgym
I think you can do more than one per week but I agree, it does take time to
build the muscle memory.

I learned in my early 20's and I did it in 6 weeks. Get the theory part out of
the way ASAP.

When you have got your license is the time to watch out for complacency. The
road is full of egos driving Audis, don't get involved. Keep a safe gap and
you will deal well with uncertainty

------
petecooper
Mindfulness. JavaScript. How to have fun.

Not necessarily in that order.

~~~
duiker101
You might struggle mixing mindfulness and Javascript. Or Javascript and fun.

EDIT: yhea fine this was a bit insensitive and mostly a joke sorry, I wont
delete as proof of my mistake. Javascript it's not that bad.

~~~
smnplk
To me it's funny because it is true. :) True for me.

~~~
wellpast
Oth though Clojurescript is fun af.

~~~
smnplk
It sure is.

------
DeanWormer
Sales. I have a computer science degree and learned software development isn't
for me so I'm switching to sales this year.

I'm looking forward to having both the technical skills and sales skills under
my belt.

~~~
apapli
I've been in sales 15 years now. Check out these resources and they will give
you a GREAT foundation:

Read the challenger sale: [https://www.amazon.com/Challenger-Sale-Control-
Customer-Conv...](https://www.amazon.com/Challenger-Sale-Control-Customer-
Conversation/dp/1591844355/ref=sr_1_1?ie=UTF8&qid=1482721774&sr=8-1&keywords=the+challenger+sale)

and read SPIN selling: [https://www.amazon.com/SPIN-Selling-Neil-
Rackham/dp/00705111...](https://www.amazon.com/SPIN-Selling-Neil-
Rackham/dp/0070511136)

Listen to the advanced selling podcast:
[https://advancedsellingpodcast.com/](https://advancedsellingpodcast.com/)

Cheers

~~~
DeanWormer
Thanks for the tips! I read and enjoyed SPIN Selling.

I love podcasts so I'll give that a listen.

~~~
apapli
Any time. The podcast is an excellent way to really understand what the sales
profession is about.

------
gemalandaverde
I would love to learn how to focus in one damn area of CS, I have been doing
some IT Security but it's sooo wide and there are sooo many things to learn
and ace and I don't think I'm Linux /programming /DBA /Networking / robotics
savvy at any of these... I'm just confused about how to direct my career... Oh
and I'm 35 hehe

------
bacchus2017
Winemaking. Not the WinOS emulation kind. But the cultivation and fermentation
of fruit. With the eventual goal (beyond 2017) of living on a producing
vineyard.

Formal study would be fine, perhaps at UC Davis' world class Viticulture and
Oenology program. Or in Burgundy, France. But for now just apprenticing once a
month at Wind Gap Wines in Sebastopol and seeing whence it leads

~~~
wallflower
It seems like you are pretty serious about this. If you have not already, read
"The Hills of Chianti: The Story of a Tuscan Winemaking Family".

[https://www.amazon.com/Hills-Chianti-Tuscan-Winemaking-
Bottl...](https://www.amazon.com/Hills-Chianti-Tuscan-Winemaking-
Bottles/dp/0847843882)

------
afarrell
I want to learn to draw mediocre comics. Eventually, I want to be able to draw
tutorials like [https://jvns.ca/strace-zine-v2.pdf](https://jvns.ca/strace-
zine-v2.pdf) or
[http://lawcomic.net/guide/?p=22](http://lawcomic.net/guide/?p=22)

~~~
afarrell
My plan is to keep a cadance of one doodle a day on my intuos tablet.

I'll start out with 100 days of drawing anything. After 100 days, I'll start
trying to make them more tutorial-oriented. Then I'll start working on
cartoons about Linux commands. I might also explicitly just imitate some of
Julia Evans' stuff. I might do some maps of US revolutionary war battles or
diagrams of contra dance steps. By the end of the year, I hope to have done at
least a few illustrations for the Postgres docs.

------
feiss
How to balance family life and work

------
vayarajesh
I have been reading alot about Machine Learning and I want to get into the
practical application of it. So I will begin with learning Mathematics and
then some Machine learning code for training a basic model for NLP or Facial
Recognition :)

Any suggestions on how to go about learning Mathematics requires for Machine
Learning is more than welcome

~~~
StClaire
Assuming you know the basics of calculus: learn lots of linear algebra, lots
of probability theory, mathematical statistics, and optimization.

But you don't have to wait to learn all the math to get going

~~~
solipsism
He wants to get into the _practical application_ of machine learning, not
machine learning theory.

This is a common mistake people new to the field make. You can be very
successful by learning how to _use_ machine learning frameworks, and that
doesn't require _lots of probability theory, mathematical statistics, and
optimization._ Not that it hurts.

vayarajesh, start using Tensorflow, you'll reach the ability to reason about
problems to which machine learning can be applied, and how to apply it, much
more quickly than starting by starting at the root of the tree of knowledge.
You can always learn as much math as you want in order to dig as deeply as you
want, but first get a sense of what you're dealing with.

~~~
vayarajesh
@solipsism, I did try out the TensorFlow playground and they use lot of
mathematical terms which I don't understand yet. Al though I like the idea of
diving in and then learning the concepts which I come across to accomplish NLP
or Facial Recognition. Thanks.

~~~
solipsism
Mathematical terms like what? Perhaps they could just be explained to you.
Starting at the root and working your way up is a long, long path. And
unnecessary if your interest is primarily in applying ML.

------
kisop
I have plans to relearn undergraduate mathematics (upto Functional and Complex
Analysis) and learn the basics of computer science (just Algorithms, Data-
Structures and Discrete math) in the first half of 2017. Being able to do this
successfully would mean a lot to me.

Finnish and Hindi are the two languages I wish to learn in the next year.

~~~
joe563323
Hindi?? why?

------
palerdot
I want to learn to create a business however small from my own piece of
software. This includes creating an useful software for people along with
marketing and selling.So far I have struggled just to get eyeballs to my
works. It has been a revelation to me on how difficult it is to market and
eventually sell software.

~~~
FLGMwt
I haven't enacted it, bit some solid advice I've seen is to put up canary
sites for your ideas.

Spend some time on a good marketing page (which you'll have to do anyway) and
have an newsletter sign up where a download link would be. You can get a feel
for how many people are interested, and having a known audience can keep you
motivated to keep working.

------
_spoonman
I want to learn Latin and read one book a month (unrelated to learning Latin,
I just have no time to read anymore).

------
mmargerum
Learn clojure. The time feels right for functional programming with react and
datomic. Been doing imperative and OO for 25 years. I've never gotten around
to learning a lispish language. I find rich hickeys talks very inspiring.
Smart people have a way of making complex things seem simple.

------
misrab
This thread is awesome, so much enthusiasm and curiosity.

I'd like to learn/do a couple things in 2017:

\- An overview of college-level conceptual physics. Historically I've tried to
leap-frog into advanced physics because my math is pretty good, but I end up
missing out on the concepts. So I'll stop rushing and do it step by step.

\- Deep learning and deeper machine learning. I'm pretty familiar with ML in
general but have never had the intimate understanding I've wanted, nor taken
the time to properly dive into DL.

\- Bahasa Indonesia and Mandarin ^_^ (while maintaining the rest)

\- Abstract Algebra and Information Theory

\- Keep up the pace with reading interesting books

\- Become more familiar with devops and systems programming (Docker, Rust
etc...but not an expert necessarily)

As an aside, I'm also trying to improve my running, swimming, and martial arts
:)

I'm sure other things will also pop up in time!

------
ak93
I want to learn Generative art! I really enjoy the intersection of programming
and art. I have previously worked on couple of designs using python and it was
amazing. I want to continue that again this year(once I have a full time job).
I really think I can work some design that might sell too!

------
c_shu
C++17 (Sigh. I use many languages but learning c++ takes me more time than all
the other languages combined.)

~~~
joe563323
Realized only after learning other languages. On the bright side c++ sets the
bar very high.

------
rayalez
\- I have learned the foundations of Node, React/Redux, and Docker, and in
2017 I want to get really competent and confident at that. I would also like
to figure out how to use ActivityPub.

\- I want to get really good at making my video tutorials about digital art.

\- And I want to get way better at making my webcomics.

------
mrkgnao
Math-wise, well, it's a matter of where I go to college, I figure it'll have a
huge effect on basically everything that happens thereafter. I definitely want
to continue on my path towards understanding the Weil conjectures and that
kind of thing, so I plan to be able to compute sheaf cohomology for schemes by
the end of the year and learn more algebraic number theory. (And maybe look at
representation theory.)

CS-wise: learn enough ClojureScript to be able to make convincing mathematical
(etc.) visualizations -- I recently got a taste of Figwheel+Reagent and I'm
hooked! -- and be able to manipulate Haskell transformer stacks better.

Other than that, I'd like to learn some French (marathoning Engrenages was the
best decision ever!) and not forget the little German I know.

------
garyfirestorm
Learning to apply deep learning, ai etc in solving practical problems

------
sudshekhar
I want to improve my networking skills and land a remote job.

Being in India, I can do a lot of work for much cheaper rates than others out
there. But I don't want to waste my time with short term projects. Might seem
like you're earning a lot but there's very little one actually learns at the
end of a few months, which to me at least is a net loss.

So I am going to try to find some kind of long term project/task as a
junior/senior engineer, something that's challenging or at least worth putting
on your CV.

I am also planning to work on my thinking skills (lesswrong/SSC and
Economist), and React.

 _Not_ going to add anything else. Discipline is the word for this year.

------
th00m
How to master theoretical material and consolidate the things I learn. I've
basically stumbled my way through a Computer Science Undergraduate degree
without actually understanding anything I've really done.

------
mars4rp
Image processing, I know a little bit of the theory, and I did my master
thesis on image processing on FPGA with algorithms I developed. But I feel
building a working program needs lots of experience not just theory.

------
iamgopal
Good Habits. This dopamine addiction went on for too far long. Ruined my first
two startups, lucky to have another to help me financially. Running, Avoiding
Social Internet, NoFap and more time to family.

~~~
afarrell
Install [https://selfcontrolapp.com/](https://selfcontrolapp.com/),
[https://chrome.google.com/webstore/detail/momentum/laookkfkn...](https://chrome.google.com/webstore/detail/momentum/laookkfknpbbblfpciffpaejjkokdgca?hl=en),
and [https://freedom.to/](https://freedom.to/)

------
SmooL
I'd like to finally, officially, explore functional programming. I see a lot
about it, and I get the general gist, but I want to actually dive into a
language and feel first-hand all the differences.

------
RossBencina
One of my current goals is to learn Idris by working through the Idris MEAP
book[0]. I have set up a cheap ultrabook running Linux for this purpose, and
intend to disappear to a library or cafe semi-regularly for Idris time. If I
make it far enough, I intend to implement some P2P network protocols (e.g.
STUN, Zeroconf, BitTorrent Kademlia overlay).

[0] [https://www.manning.com/books/type-driven-development-
with-i...](https://www.manning.com/books/type-driven-development-with-idris)

------
ud0
Fill Front-end Engineering knowledge-gaps, currently using
[https://www.frontendhandbook.com/](https://www.frontendhandbook.com/) as a
guide.

Learn CS basics, Data structures, Algorithms. Plant to use this =>
[https://github.com/open-source-society/computer-
science](https://github.com/open-source-society/computer-science) as a guide

I'm a self-taught front-end developer without a CS degree, coding
professionally for 4 years now.

------
catwell
Economics. I have started to get interested in them in 2016. Like most topics
I get into, I started by looking at the history of the field. I also read
Basic Economics. Now I would like to start taking actual lessons, either
Coursera or maybe even physical classes at some point, if I can find good ones
compatible with my work schedule in Paris.

I also want to get up to date with the most important advances in my field
(distributed systems and algorithms). I did follow research in 2015, but not
in 2016, so I have to catch up a bit.

------
atarian
Anger management. I don't understand how most people can get through a week
without killing each other.

~~~
contingencies
Seriously give meditation a try. Also try to knock off stimulants and
depressants, high-GI foods/drinks, and up your exercise frequency.

------
bobbyisgood
I may just do the wim hof method sometime in the year. After a crazy 2016
where I let the information flood me, I feel that understanding and
appreciation for things was low. My intuition says it might be better to focus
on a thing a month or two (depending on how alien the thing is) to get to a
place where the mind has adjusted its cache eviction policies and made the new
item into L1/L2).

In terms of practical benefits, I still hunt for python idioms on a routine
basis. Owning and flipping through a book occasionally comes to mind. Any
suggestions? (I am pretty good with multiple years on the language across 2
and 3)

I would like to stop flirting with machine learning and just finish essential
chapters from statistical inference and spend time on linear algebra. Then
maybe I would try to understand backpropagation for real. Meanwhile,
applications must continue to be built and I must learn effective techniques
to preprocess data. I would like to do more work in Pandas and Hive.

I've found my notes to be a trustworthy friend. I need to set myself a reward
system to inculcate a habit of writing more (daily thoughts, project ideas,
blog...) (and on paper)

I would like to fingerpick a few songs I have in mind too.

This would be a good list if I go deep. Could I make space for haskell,
clojure, scala? Probably not. Might just read Backus's functional language
paper though.

One book to read every month - The Power of Now.

------
emdowling
Career: Transition from engineering to product management (starting mid-
January so getting that one sorted early)

Personal: Mastery in something non-computer related. I've spent my twenties
building a career in software, have built a startup, etc but want to end my
twenties and begin my thirties with something new to "master" (even though we
can't ever fully master something). Increasingly fascinated by freediving and
reconnecting with nature and what the human body is capable of.

~~~
sudshekhar
> Transition from engineering to product management

Even I am considering such a move. Though for me it will be to Associate
Product Management (if I do get through) from SDE.

Any tips/advice you may have?

~~~
sixdimensional
If you can afford it, take courses from Pragmatic Marketing. Also remember
that product management means a lot more than just software. I found it hard
to break into pure product management without that coursework and more
"business" experience.

However, technical product management is a different story than "pure" product
management, and for me, was a more logical transition from software
engineering/dev.

------
rokhayakebe
Finish everything I start. Even if no one uses it. Just finish.

~~~
arunaugustine
Amen. I got better at finishing by starting really small. Like putting
together a small puzzle (and finishing it), then moving onto a paint job for
my library shelf (and finishing it), then moving onto building a roof top
garden. In my experience, this skill of finishing does carry over into
technology projects/work, even though the first attempted projects are
distinctly non-tech or non programming oriented.

------
contingencies
Improve my skills in Solidworks and overall mechanical engineering design
expertise, as well as electronics and manufacturing.

Outside of work, perhaps one day a week or less, I am planning to take some of
my photography and turn in in to wood carvings using a custom automated
workflow via commercial laser cutters. Allows me take the best of digital by
working in vector, but maintain the satisfaction of an analog result by
printing a tangible, physical result.

------
czep
In 2017 I want to learn what levers I can move to make my company more
successful. If it's email marketing, then I'm going to learn everything there
is to know about email marketing. If it's a neural net or averaged perceptron
classifier, then I'll learn everything about neural nets and averaged
perceptron classifiers.

And I also want to learn how to play the Stone Roses' I Am the Resurrection on
guitar.

Happy New year, hackers!

------
Cerium
I'm going to learn how to run an ecommerce business. I'm a programmer at work,
so I feel like I can use skills I know to learn ones I don't.

~~~
sudshekhar
Be sure to

a) Define your niche

b) Point out the ways you will be different from others

c) _Know_ who your first customers will be and how will you approach them

Before you start programming/other tech stuff. Simple advice but much easier
to preach than practice.

All the best!

------
androng
How to ask people for their problems and hire developers to make scalable
products for me instead of selling my individual programming time for money.

~~~
jefferson123
Maybe consider partneting with someone who is good at that already

------
cup
Somali. The resources for learning the language are extremely limited however.

~~~
kakaorka
Why Somali?

------
redgetan
User Acquisition. Preferably for B2C apps [1] and how to partner with
influencers. I'm comfortable building web + mobile apps, but when it comes to
distribution/marketing, I lack the experience. But it's something that I'm
trying to actively learn through experimentation.

[1] [https://bard.co/](https://bard.co/)

------
0xFFC
Becoming C++ guru, I mean in professional way. My 2017 mean focus on C++ as
much as possible, then apply for C++ job abroad ! (I think about going to
Europe or US).

p.s. I have bachelor degree in CS, and my theoretical (specially in Design and
Analysis of Algorithms and Operating Systems) foundation is rock solid, maybe
same level of a last year graduate student from ordinary university (not top-
notch of course). But I need to learn more about Compilers and Programming
Languages and their underlying technology, and I have chosen C++ as language
that I want to spend my career on. So 2017 for me means C++ ! (and a little
bit of Rust).

Another things I really like to get my hands really dirty is build tools. I do
use CMake for my personal projects, but I want to learn Autotools, Meson, gn,
etc. Because I fucking hate build tools, so I think knowing more and more, is
good idea to understand whats going on in build tools area.

p.s. I wish next year this time, I can look at past and proud myself! I wish,
wish me success HN!

------
giis
Starting with Astronomy. I like idea of stargazing & fascinated by reading
about stars like KIC 8462852.

On programming front, Rust is looking good.

------
jakobegger
I want to build an RC car that can autonomously navigate between waypoints.

------
joe563323
Calculus, Statics, Machine learning, Economics courses in coursera. Being more
helpful to colleagues. More exercise. Less browsing. Less junk food. More
water. Mastery over profiling tools. Understanding how floating points work.
Working out the floating point exercises to make sure i had understood. Learn
to form sentences without using "I".

------
du_bing
I want to learn Front-end and Back-end developing furture in 2017, I want to
become a professional web developer, competent to do things like server,
database, javascript, UI, http protocals, safety and profiling.

I have built some basics of Linux, Python, Ruby, HTML/CSS/JavaScript and tools
like Vim/Emacs in the second half of 2016. I decide to do program development
on my 27th birthday. My major in the University is English Literature.

More in details, in 2017, I plan to learn Elixir, MySQL/PHP, Sqlite, Ruby on
Rails, Django/Flask, Node.js, Gulp, advanced Javascript, Material Design,
Semantic UI, Docker, Travis CI, Jupyter, Lisp, Haskell, basic Machine Learning
and pick up math like calculus, probability theory, linear algebra which I've
learned in the University.

I desire to become a remote developer who can earn at least $30000/year after
2017. That's my target now. But in the long run, I want to be an expert in ML
and AI.

~~~
arcticfox
Very cool, but I'd suggest narrowing your list of technologies down
substantially: I'd suggest learning one database well, one backend language
well, and one frontend framework well. Then you can spend some time using what
you know to evaluate which other of the other options you want to learn.
Otherwise, you're going to spend most of your time tripping over syntax, which
really isn't useful learning unless you plan to be actually using a syntax
extensively, IMO.

~~~
du_bing
One database, one backend language, one frontend framework, that's great! I've
got your idea, thanks very much.

~~~
zappo2938
I learned AngularJS in 2016. Everyone wants to hire a React developer. I don't
know if functionally one is better than the other however the small devs shops
what React developers. Otherwise, people are looking for web developers strong
with Rails, Django, React ecosystem, JavaScript on server, Postgres, and
Redis.

~~~
du_bing
Great, React, Postgres, Redis, I got it, thanks for your sharing!

~~~
zappo2938
Since I wrote that comment I have found a job using React. They are confident
I can pick it up looking at my code portfolio which makes me lucky. The point
is that people are looking for React developers or in this case someone who
they think can pick it up quickly.

------
jaybosamiya
My goal for 2017 is to get a _lot_ better at the fields of reverse engineering
and vulnerability discovery (as well as showing PoC).

The plan of action: keep at it by attacking more wargames and CTF (capture the
flag) contests. Also, I should probably try to consider bug bounties, to be
able to orient the skills to real world problems as well.

~~~
giosch
Same. Pwn the world!

------
kome
I would like to learn Rebol ([http://www.rebol.com/](http://www.rebol.com/))
and Red ([http://www.red-lang.org/](http://www.red-lang.org/)).

And that's how I plan to do it:

\-
[https://learnxinyminutes.com/docs/red/](https://learnxinyminutes.com/docs/red/)

\- [http://redprogramming.com/Home.html](http://redprogramming.com/Home.html)

\-
[http://easiestprogramminglanguage.com/easiest_programming_la...](http://easiestprogramminglanguage.com/easiest_programming_language.html)

\- [http://business-
programming.com/business_programming.html](http://business-
programming.com/business_programming.html)

------
Sharma
I want to learn "How to focus effectively." This will in turn help me learn
many other things in future.

------
ranveeraggarwal
* Android. Built a really tiny but useful app after reading up tutorials from a gazillion places in a couple of weeks. I still don't have a very good hang of the architecture or the most optimal way to do things. Any recommendations on this this front would be very helpful.

* Computer Graphics. This is one area of computer science I am really interested in and wrote my undergraduate dissertation in. I want to go back to the basics and get up to speed with the new trends in the field. Again, need recommendations on how to proceed with this.

* Become a Python Ninja. Python is one language I am really comfortable with and whenever I can't get anything done, I go back to Python. There are still several facets of this language I need to explore.

And lastly, I need to quit my current job and work on something that lies
somewhere in those^^ areas.

~~~
arvind_devaraj
I gave a talk on Android and Graphics at Google, which you may find
interesting. I am also learning python and machine learning

[http://coursehunt.net/info/graphics-
programming/](http://coursehunt.net/info/graphics-programming/)

[http://coursehunt.net/info/android-
programming/](http://coursehunt.net/info/android-programming/)

~~~
ranveeraggarwal
Your slides have a good overview and can be very useful for 101-102 sessions
:)

But this isn't what I'm looking for. I have a bird's eye view, I can build
apps, I can make games. But that doesn't make me a good Android Developer or
an expert in computer graphics. I need recommendations for texts/courses in
these fields.

------
rukittenme
Electronics. I'd like to make my software more physical.

------
jdmoreira
I'm planning to learn Swedish. I've been living in Sweden for one and an half
year now and so far I've made zero effort to learn.

I plan to learn by myself with a combination of duolingo, babel, flash cards,
traditional teaching books and audio cds.

My girlfriend is Swedish so I can train at home.

Any tips are welcome!

------
keviv
\- I'm learning Elixir and Phoenix and want to build a side project using it.

\- Want to learn about sysadmin stuff. I know the basics but I want to learn
about automating the infrastructure using various tools like docker, ansible,
terraform, etc.

\- Definitely want to learn and build cool IoT stuff.

------
omginternets
I'd really like to pick up a functional language, but I'm faced with the
paradox of choice. I'm presently torn between:

1\. Haskell: all the cool kids are doing it, and I like its formalism

2\. Hy: I write a lot of python, and really like the idea of working with
familiar data structures.

~~~
baddox
If you're interested in web development (and perhaps even if you're presently
not), you may want to take a look at Elm. It's a functional language that
compiles to JavaScript and is almost entirely developed for the purpose of
building web components and applications. The way the functional features and
other language features are explained as directly benefiting the developer
experience is pretty cool.

[https://www.gitbook.com/book/evancz/an-introduction-to-
elm/d...](https://www.gitbook.com/book/evancz/an-introduction-to-elm/details)

~~~
omginternets
Great, now I'm torn between _three_ languages ;)

(In all seriousness: thanks!)

------
framebit
For work, Spark, Spark, more Spark. Also Spark. I already know how to use it,
but I want to know how it works in detail from the ground up.

For not work, I want to improve my oil painting and my drawing skills! I got a
Pi this year and want to use it to dabble in digital sculpture.

------
firewalkwithme
I want to learn how to walk on my hands. I will achieve this by repeated wall
hand stands at home. I also want to learn how to live again and how to respect
myself, so that I can create a distance between me and work, and stop wasting
my short life in an office

------
patzol
React Native - want to add those to my dev stills toolbox along Swift/Obj-C
Networking - to find more freelancing opportunities Video Making - to better
market my apps Bahasa Indonesia - to better communicate with locals when in
indonesia/malysia

------
echelon
I'm planning on studying deep learning techniques and relevant literature so I
can apply it to the generation of better phonemes for my Donald Trump text to
speech engine [1].

I've also got a huge interest in film and intend to teach myself filmmaking.
I've had an interest in exploring it since middle school, but I've never
committed the time. This year I'm obligating myself to film and edit something
short every weekend. I live in Atlanta and our film scene is burgeoning, so
I'm also hoping to network with local filmmakers and students.

Anyone in the Atlanta area interested in either of these subjects?

[1] [http://jungle.horse](http://jungle.horse)

------
cgh
I want to learn:

1\. Whether I can climb V11.

2\. Rust well enough so it doesn't feel like a wrestling match any more.

3\. How to do a handstand.

------
deepnotderp
Category theory. It's such an interesting idea.

~~~
PudgePacket
I'm going through this series aimed at programmers by Bartosz Milewski,
finding it pretty great so far.

[https://bartoszmilewski.com/2014/10/28/category-theory-
for-p...](https://bartoszmilewski.com/2014/10/28/category-theory-for-
programmers-the-preface/)

[https://www.youtube.com/playlist?list=PLbgaMIhjbmEnaH_LTkxLI...](https://www.youtube.com/playlist?list=PLbgaMIhjbmEnaH_LTkxLI7FMa2HsnawM_)

~~~
deepnotderp
Thanks, but my lingua franca is math, not programming, i'm a pretty bad
programmer actually :(

Did you find anything from a "practical mathematician" type of view?

~~~
radicality
Category theory for the working mathematician [1] would probably be a good
fit?

[1]
[http://www.maths.ed.ac.uk/~aar/papers/maclanecat.pdf](http://www.maths.ed.ac.uk/~aar/papers/maclanecat.pdf)

~~~
deepnotderp
Awesome,I'll check it out!

------
minhajuddin
I want to build a product which can let me leave my full time job and support
me financially. I have built a lot of products over the past
([http://www.websrvr.in/](http://www.websrvr.in/) ,
[https://zammu.in/](https://zammu.in/) ,
[https://getsimpleform.com/](https://getsimpleform.com/)) but none of them
have allowed me to work on them full time. I should probably spend more time
in marketing/selling the products.

------
alc90
For me this year will be about focusing on growth for my new SaaS venture. I'd
like to learn how to sell a SaaS product - talk with customers and gather
feedback and also how to manage a business. Also I would like to learn more
about marketing and different growth hacking techniques.

P.S. Also if you are in need of Intercom analytics please give us a try - I
would be glad to have you onboard.

[https://www.tinymetrics.in](https://www.tinymetrics.in)

[https://www.twitter.com/tinymetrics](https://www.twitter.com/tinymetrics)

------
JensRantil
Android programming, Terraform, Docker and putting containers in production
using Kubernetes. I also want to improve my mentoring skills as I've realized
I've become a fairly senior developer nowadays.

------
markatkinson
I want to learn C++, specifically for the Ue4 engine. I have spent a few years
using blueprints and prototyping games for mobile, PC and VR and it looks like
I might be able to actually get into the VR thing full time next year. I
imagine I will need to have a good grasp of C++ to really commit full time.

Planning to use the Unreal tutorials and then a few YouTube tutorials I found
and I'll check out Pluralsight, and then just start building stuff!

I'm coming from a C# base so any suggestions would be greatly appreciated.

Sorry no links, on mobile and don't have access to my bookmarks.

------
krapp
1) I'd like to learn how to create a programming language.

Nothing complex or groundbreaking, but i've always been curious about how that
all works. Maybe if it works well enough (it won't) I'd even adopt it as a
scripting language for

2) Game development. Either to really learn Unity or C++/SDL/GL but put out
something that isn't utterly basic and pedestrian.

3) I don't know. Something new. I'd hate for my life to have become so
predictable that I can easily predict what opportunities will arise or what
the limits of my ability to learn will be.

------
NumberCruncher
New people who share my interests. In 2016 I started dancing again (I had a
break of 4 years and forgot almost everything) because a buddy of mine needed
company at the salsa course. I started bouldering in spite of my back problems
because a college of mine needed company in the boulder-hall next to our
office. Now I want to trade my drinking / women obsessed buddies for folks
intrested in web dev side projects. It is quite lonely if you can not talk
about your hobbies.

On the other hand I want to learn urban sketching.

------
d1ffuz0r
* become an expert in PostgreSQL

* improve my knowledge of Erlang

* catch up with ES6 (not really useful, but, just in case)

* learn how to scale my side projects from 5-10 initial users to 100-500 (some seo, marketing, sales)

* how to be efficient with my time

------
tehwalrus
Write a novel, and learn a language.

I started writing a sword and sourcery novel on my rail commute, and its been
much more fun than listening to fantasy audiobooks (which are very hit and
miss in quality).

I've previously learned some French, German and Mandarin Chinese. I'd like to
reach the threshold where I manage conversation in one of them by the end of
the year. My Mandarin learning is most recent, my German was the most in-
depth, and there's a French programmer working next to me. I dont know which
one to do yet!

~~~
nikolaplejic
I'd recommend going with the language you're most likely to use extensively -
since you're sitting next to a person speaking French, I'd say that might be a
good option. It's too easy to underestimate the importance of conversational
practice while learning a language.

------
wtvanhest
I'm finishing up the CFA (hopefully), and when I'm done I want to expirement
with learning how to teach motivated learners better. I've come to the
conclusion that most resources aren't that good for quick learning. It may
simply be human (my) limitations, but I suspect that there are better,
unexplored ways. I also think they may not be monotizable, but that is ok. I
just want to finish the cfa in June and in my free time, learn all about
teaching and learning.

~~~
sah2ed
You could reach more people with what you know by blogging. Have you
considered doing this?

I'm assuming you already work in a firm managing investments and will likely
have little to no free time already.

~~~
wtvanhest
Yes, absolutely. I don't think the blogging format is really want I want to
use, but I will be doing all of it in writing so that I can get advice, tweak,
improve etc.

I'm thinking about starting with a limited format, say no more than 300 words
for explanations and a few images. I want to focus on teaching the absolute
barebones basics of a concept so that someone could then go to wiki or other
sources with a basic understanding. IDK. Something like that.

------
ram_rar
I want to get more comfortable with Rust and Python internals (CPython, GIL
etc). I want to give a shot at getting rid of GIL in python using the
concurrency concepts used in Rust.

------
dojomouse
Finish working through 'AI - A modern approach'

Finish reading 'From AI to Zombies'

Get to a point with Rust that it's my go-to language for personal app
development and general scripting. Super happy to see Rust feature so often on
people's lists btw.

Get to a point with general Machine Learning understanding and proficiency
that I feel I can usefully contribute to OpenAI work.

Build a retaining wall under my house, and have it still be retaining the
things it's intended to retain come the end of the year...

------
Windson
My goal for 2017 is 1\. Deploy my application I learned IOS develop in 2016
and building my own app, One is for unicooo which I already build a website.
Another application call Cherry which is for finance. 2\. Learn a new
languages.Computer one and Real life one. I learned Swift and Japanese in
2016, Now I also wanna learn Rust/Go and Spanish in 2017. 3\. Learn more math,
when I start learning machine-learning, I know I have to learn more math to
make myself better.

------
shradha408
Here are the things I want to learn in 2017:

1) I want to learn Java and be an expert in it by the end of 2017. Also, some
of the basic concepts of computer science. 2) I am going to start a new food
website where I am going to create and share new recipes. I really want to
learn so many new recipes and improve my cooking skills. 3)I am going to buy a
Ukulele next week and I want to learn it so badly. This is going to my first
musical instrument and I am so excited.

~~~
afarrell
> I really want to learn so many new recipes and improve my cooking skills.

Consider watching Alton Brown videos on youtube. I find he does a good job at
explaining cooking at a lower layer of abstraction. Also, a big part of
cooking is keeping your kitchen organized, so think of the physical layout of
your cooking space as a UX/information architecture problem. If you have a
disorganized kitchen and are trying to just follow a recipe, then you will
feel overwhelmed as you aren't able to hold things in working memory.

Also, for recipes, check out
[https://paprikaapp.com/](https://paprikaapp.com/) and
[https://www.reddit.com/r/slowcooking/](https://www.reddit.com/r/slowcooking/).

~~~
shradha408
I agree! Thanks for the links.

------
noobcode
I want to be able to get independent and start my own business. I love to
write, which I have started slowly over the period of time.

All the best to everyone for their learning goals.

------
activatedgeek
1\. Raise my algorithms bar. This will definitely boost problem solving skills
in general. I'll do this mostly via Competitive Programming.

2\. Get one open-source project shipped.

------
davidspiess
I'm about moving out, bought my own flat. Looking forward to be independent.
Learn cooking, cleaning and grow some healthy vegetables on my balcony. On the
other side i finished a climbing course recently, now i want to practice that
further, so i can climb one of the three peaks of Lavaredo. As a programmer i
want to take a step back, spending less time in front of the computer and
socialize more, though it costs me a lot of energy.

------
saddington
I've already started this just a few weeks ago... but i'm working on my video
production and editing skills as i learn to vlog on YouTube.

[http://john.show/](http://john.show/)

Some other things that I'm excited to learn is how community is created,
managed, and sustained in this type of medium.

It's a creative challenge that has been really hard in the past few weeks,
but, I've already learned a ton.

------
gaius
Learn to use radios on land, get into packet radio perhaps.

------
jamesmp98
I think I'm trying to get in Salesforce development. I don't know if it's
possible for a self-taught (predominantly) hobbyist developer to pick it up,
but Apex does not seem to complicated. I'll probably come up with something
simple but useful and publish to the App Exchange store.

I also might mess around with the Salesforce Heroku connect and build some
Spring or Play application to connect with Salesforce data.

------
wordpressdev
My goal for 2017 is to learn something new everyday. However, I will be
concentrating more on Python and try to learn enough Python to assist me in
Business Process Automation and Data Analysis.

I have listed my goals here: [http://www.kashifaziz.me/new-year-
resolution-2017-goals-plan...](http://www.kashifaziz.me/new-year-
resolution-2017-goals-plans.html/#learnnew)

------
markhollis
* How to make a simple MMORPG.

* Understand what toposes are.

* Understand what monads are.

~~~
LeanderK
A recommendation for monads. Don't read too much tutorials, try it. Programm
in some languages that emphasises monads and then reflect how you used them. I
think these fundamental concepts are way easier to experience than to explain.

Edit: what are toposes and why do you want to learn it? Has it some connection
to topology?

~~~
tobbe2064
It sort of a theory about the object at the intersection between logic and
geometry

------
znpy
I would like to learn enough Racket to start coding some real-world
applications.

I am finding the Racket documentation a bit problematic: it's either "learn
this super-specific things with no prior introduction" (example: the
"continue" guide) or "learn everything from the very ground up" (example: the
racket guide or how to design programs).

Any suggestions would be appreciated.

------
shrikrishna
Personality Devpt: Conversational confidence (I get anxious when I'm talking
to strangers). I got better this year, but long ways to go yet.

Career devpt: Sales

Mob. Platform: Swift/ObjC. In 2016, it was Android

Web Framework: React/Native. Last year, it was Angular

Langs: Golang/Rust, Haskell/Erlang/Elixir

Personal: Long form writing. I already write short stories at
stories.shrikrishnaholla.in . Want to write something more ambitious

------
dopeboy
TypeScript. Having made the systems engineer -> web developer transition, ES6
has made the ride smooth but I want to take it all the way.

------
nojvek
My goal for 2017 is to finish some of the projects I started in 2016.

1) VSCode extensions for code coverage and inline debugging decorators.

2) Rasberry Pi Self Driving Car. Autonomously navigate from A to B

3) VR Meditation app. You are a god and different sounds of "Om" creates
beautiful landscapes and life.

From non-technical side I want to:

1) Keep up meditating everyday.

2) Write one chapter of my book a week.

3) Once my wrist recovers, go back and hit the gym.

4) Take some dancing and art classes.

~~~
sudshekhar
> 2) Rasberry Pi Self Driving Car. Autonomously navigate from A to B

This seems interesting. What are the resources you're using? Do share a blog
post about it once you're finished!

~~~
nojvek
Its still in the works. I have a github repo with the build
[https://github.com/nojvek/RasberryPiSelfDrivingCar](https://github.com/nojvek/RasberryPiSelfDrivingCar)

I want to mount the structure sensor from occipital which gives depth info and
be able to build a map of my house. Still a lot of things need to be done but
I have ideas on how to make it work.

------
spangry
I'd like to learn some basic physics, up to the stage of understanding
electromagnetism and other magnetic phenomena. I've got a notion about how to
design a more efficient coil-gun, but can't find any electromagnetic
simulation software that I can use to test my idea. So my plan is to build a
basic simulator from the ground up, learning in the process.

------
borcunozkablan
I wanna develop the small desktop games via Godot for Linux and HTML5 in new
year. I started to learn it and go on. And i participated goodreads challenge
to read 5 books in new year. The most will be related to programming and
operating system. I want to learn go programming, and read all chapters of
Tanenbaum books about operating system and distributed systems.

------
milanove
Personal goal is to transition from basic C++ to either NVidia's CUDA
framework, or move towards iOS/Android app programming.

------
randcraw
I want to understand the principles of a signals and signal processing, as
they form info theory, and the theoretical underpinnings to learning. Then I
want those insights to enrich my deep dive into machine learning, esp deep
NNs, in particular to extract ineffable features from images and other complex
signals, and finally, how to build a mind.

And I want to learn French.

------
xk0nsid
1\. I'm either gonna pick up Golang or Rust in 2017 and go all the way with
whichever one I pick.

2\. gRPC/Protobufs

3\. Kubernetes is also on the list. I really wanna understand how
microservices work in production (deployment, monitoring, recovering,
debugging).

4\. Practical Deep Learning (TensorFlow/Keras etc)

Any suggestions/guidance for any one of those will be really helpful.

PS: I'm from C++ and python background.

------
arvind_devaraj
I am compiling list of free online courses in technology at
[http://coursehunt.net/info/](http://coursehunt.net/info/)

You can search the collection by keywords. For example
[http://coursehunt.net/?query=android](http://coursehunt.net/?query=android)

------
HanGaozu
How to do nothing!

I want to learn how to chill out and take it easy in stead of cramming every
single minute of my day with something or the other.

~~~
staz
I suffer from the same problem, I started meditation this year and that's what
helped me the most to combat this. Hope This Helps.

------
Razengan
Japanese, any musical instrument, how to travel the world on a budget, and
maybe some ways to earn money with what I already know.

------
thiht
Docker Swarm, Kubernetes, Mesos/Marathon

I'd really like an opportunity to work with these, I find the whole ecosystem
really appealing

------
nocoder
Learn programming, I have dabbled a bit in Python and R mostly for data
analytics but never achieved anything at the level of proficiency, I always
get frustrated. I am from marketing but I get so many ideas about apps that I
feel knowing to do my own thing would be great. Also run a sub 2 hour half
marathon and start a blog about running.

------
ancarda
Spanish.

But more generally, how to get into a routine for learning something. I have
Duolingo and Memrise but I forget to open them every day.

~~~
sharp11
Have to suggest my app: [http://supercocoapp.com](http://supercocoapp.com)

Would love to get your feedback. It's designed to give you practice actually
using (speaking) Spanish. Totally different from Duolingo, Memrise, et al,
which I find unbearably tedious.

~~~
ancarda
Thanks, I'll check it out!

------
tluyben2
I had the same feeling after I received the Oculus years ago from the
Kickstarter campaign, but now with the PS VR I am sure of it; VR is here and I
need to do something with it. I want to make at least one VR application and
because my 3D chops are from the late 80s, meaning pixel based vector
graphics, I have some catching up to do.

------
thewhitetulip
\- I am going to start a Youtube channel for high quality tutorials which will
be practical.

\- Build a full end to end app using Vue and stuff

\- Build my Startup

\- Learn investing

\- Learn German

~~~
fgandiya
> I am going to start a Youtube channel for high quality tutorials which will
> be practical.

I'm kinda gonna do that too. Wanna race to 100 subs?

~~~
thewhitetulip
Sure.

------
PascLeRasc
Material properties and manufacturing. I'd like to learn more about heat
transfer and heatsink design as well.

------
mzzter
\- A different hello world every 3 days \- Write better \- Think outside of
the box \- Embrace exposure \- Docker \- How to make a VR app \- Understand
inverse kinematics \- C \- Crystal \- API Gateway microservice \- Concurrency
patterns \- Understand FPGAs, and an HDL \- Applied machine learning

------
Tharkun
My biggest personal goal for 2017: read more. I only read 20 non-technical
books in 2016, which is probably the lowest number since I learnt how to read.
I've set up a "want to read"-list on goodreads and I'm rearranging my schedule
to make room for reading time.

------
20161112
The non-technical things which are needed to successfully bootstrap and
sustain a profitable business.

------
vivekd
1\. Marketing 2\. Django (mastery instead of just the basics) 3\. A solution
to Parkinson's law

------
eiriklv
I'd like to go even more back to the fundamentals. Hopefully finishing SICP,
building a JavaScript interpreter/compiler and other fun experiments to get a
better understanding of the foundation that we're building everything on top
of today.

~~~
yaantc
Then "Software Foundations" may be of interest:
[https://www.cis.upenn.edu/~bcpierce/sf/current/index.html](https://www.cis.upenn.edu/~bcpierce/sf/current/index.html)

It covers the foundation of functional languages with the simply typed lambda
calculus, and also the principles of formal specifications and proofs. It's
suitable for self learning, but is a significant effort so you need to have a
strong interest in these topics and be ok with a very formal approach to
software.

------
thaumaturgy
How to be happy.

That is actually my goal for 2017.

------
baristaGeek
1) Deep Learning 2) Figure my way around DevOps 3) Get more proficienet with
ES6 and Go

------
raj7desai
I am working on starting a computer programming school in India over the next
year. So going to focus on learning a lot of learning methodologies and
learning as much as I can about various ways of teaching programming
effectively.

------
HissingSound
I want to:

1\. Improve my English skills

2\. learn more about basics CS knowledges like algorithms, data structures.

3\. Figure out what is Machine Learning. Maybe learn some Discrete and Linear
Algebra for better understanding, but first I'll write some code using
frameworks.

~~~
zabi_rauf
I recently started to brush up on my Linear Algebra and found this very useful

[https://m.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVF...](https://m.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab)

------
gmemstr
My project for 2017 is to build and learn how to manage network
infrastructure. I wrote up a blog post but the TL;DR is learn how to network
hardware together with switches, managing storage servers, dedicated servers,
etc.

------
mynegation
1\. Meditation and focus 2\. enough physics to understand Erik Verlinde's
paper. I know it might be too much, so I will start with one of the books
explaining general relativity from the high school physics and math.

------
lj3
Webassembly, graphical design, sales and marketing. It's time to anti-fragile
my income stream by making lots of side projects and getting some of them to
make money. 12 months of 2017, 12 potential side projects.

------
gmayank32
My goal for 2017 is to make career in Data Science field.

I want to learn by doing good projects in this field but I dont have any
ideas. Apart from Kaggle, is there any other sites which have projects related
to Data Science field.

~~~
jbrambleDC
driven data

------
bootload
To build a new language/compiler combination for a specific problem domain.
Nothing fancy, just something that spits out geometric shapes using code
rather than a GUI. Start small, web accessible and cheap.

------
shardo
I want to learn how to create an AI to solve tasks in OpenAI's Universe.

------
andrei_says_
Storytelling via filmmaking.

------
handedness
Patience.

------
mistermaster
learning how to build a microservice architecture. some deep learning!

~~~
vijayr
Any resources you are using to learn micro service architecture?

------
alramadhan
I want to learn about how to be a good technical leader. I just promoted into
a new position and i have to handle 80 developers. So 2017 will be a huge
experience for me.

------
johndoenut
\- Learn some math (starting with Calculus by M. Spivak)

\- Read more books

\- Basics of music theory

------
tmaly
I want to figure out how to get better at customer development. How to
productively figure out what people really want or what is the real essence of
their problems.

------
juliend2
I want to learn to kick myself to get out of my comfort zone.

------
soneca
To code.

Specifically more about CSS and JavaScript, maybe NodeJS, maybe React.

------
vladimirfomene
I want to learn functional programming and machine learning.

~~~
markovbling
You should start with "Introduction to Statistical Learning" which is the baby
brother of "Elements of Statistics Learning" (arguably THE reference book) -
it's easy to follow and has examples in R, a functional language.

Plus, it's free!

[http://www-bcf.usc.edu/~gareth/ISL/](http://www-bcf.usc.edu/~gareth/ISL/)

------
jensvdh
Algorithms and datastructures :) I Want to interview better.

------
donquichotte
I want to run one of the less "Ultra" trails of the UTMB (Ultra Trail du Mont-
Blanc) and compete in an amateur motorcycle rally (Hellas Rally).

------
adolfoabegg
I want to learn about the best way to price my services.

------
rajangdavis
I want to learn Hindi; TDD for Ruby, Rails, Elixir and Angular 1.5; how to
have a better work life balance; and some more advanced guitar technique.

~~~
sudshekhar
Native hindi speaker here.

All the best with your hindi effort. I don't have any resource recommendations
to give but if you wish to ever talk or clarify hindi concepts, you can hit me
up.

Only yesterday, I was cribbing about the lack of quality hindi content on the
web. Time I actually started trying to do something about it >_> .

~~~
rajangdavis
Thank you! I saw this [http://www.learning-hindi.com/](http://www.learning-
hindi.com/).

Going to try to learn from my mom as well; I used to know how to speak it when
I was really young, but forgot over the years.

------
GeneticGenesis
I want to have a deep understanding of Kubernetes...

Oh, and Finnish.

------
damptowel
* Grow a beard * Exploring vegetarian recipes * Get to a 100 push ups * Learn Racket * Learn to weld and make some furniture * Sit less

~~~
deepakhj
Try

[http://www.startbodyweight.com/p/start-bodyweight-basic-
rout...](http://www.startbodyweight.com/p/start-bodyweight-basic-
routine.html?m=1)

Or

[https://www.reddit.com/r/bodyweightfitness/wiki/kb/recommend...](https://www.reddit.com/r/bodyweightfitness/wiki/kb/recommended_routine/)

------
grigy
Learn to build great UIs, fast. I think this is the most important skill for
testing app ideas and eventually creating a product.

------
danellis
I'd also like to learn everything I need to know to keep a corporation running
legally and smoothly without too much expense.

Any suggestions?

------
DrNuke
Nothing novel here, just going to strengthen my tech skills. Spent too much
time chasing business in 2016 and need a refresh.

------
analog31
* Make myself credible in some area of data science

* Get more skilled at off-road cycling

* Publish a non-embarrassing code side project

* Expand my healthy cooking repertoire

------
aspiringme
I want to learn Machine Learning from scratch. Please let me know all
prerequisites for the same. Please help me learn.

~~~
jimnotgym
Maths....

Seriously how good is your calculus and statistics? Joel Grus book 'Data
science from scratch' might be a start.

------
kakaorka
Mandarin. Playing the piano. Some basic concepts about quantum mechanics as
well to apply it to a few thoughts I have.

------
severus
I want to improve my maths so that I can open up the amount of books and
articles I can read and understand.

------
weishigoname
I want to learning deep learning, but first I need to dig deeper about
algorithm, hope it will go smoothly.

------
LouisSayers
I'd like to learn more about the biology and psychology of the mind. Also
about the ageing process.

------
praveer13
I want to learn machine learning and also complex systems deeply and build
some projects around them.

------
dewmal
Im planning to release apistudio version 1. It is a microservice platform for
EE, apistudio.egreen.io

------
_navaneethan
I want to develop good applications in Golang. I would like to explore opencv
in python in 2017

------
debt
how to do an ollie on a skateboard

~~~
yeowMeng
Wirst guards and a helmet are a worthwile investment.

------
rajington
Shipping

------
bemmu
Learn the first 1006 kanji characters used in Japan (AKA kyoiku kanji).

------
fgandiya
1) SQL

2) Working with VPSs and other IaaS/PaaS services.

3) App Development

4) More about Python

5) Design

6) Historical figures in CS

7) How to adult

8) How to navigate the job market

9) How to grow a blog

------
SunboX
How to repair more stuff.

------
kchauhan
I will going to learn how to make themes for GNU/Linux GTK.

------
vjdhama
In tech, dig deeper into

* open containers * rkt * docker * kubernetes * terraform

------
hatty
I want to get trained on all of the machines at techshop.ws. :)

------
fratlas
Learn top-to-bottom of how an OS works. Any recommendations?

~~~
ma2rten
Read Modern Operating Systems by Andrew Tanenbaum. He builds an Operating
Systems from scratch in the book.

------
salatin
Guitar, German, Meteor

~~~
techplex
For Meteor, I highly recommend the Discover Meteor book. It is a bit behind
the times but you'll get the foundation from which to learn the new state of
the art as described in the meteor guide.

------
kriro
Cooking, Elixir/Phoenix, refreshing my French

Probably in that order.

------
danellis
Verilog. I'd like to design and implement a CPU.

------
Keyframe
Machine learning. It's still a mystery to me!

------
muminoff
1\. Learn Rust

2\. Read books

3\. Family and work balance

------
hellofunk
Python. Not sure where to start. Python 2? 3?

~~~
gaius
[https://wiki.python.org/moin/Python2orPython3](https://wiki.python.org/moin/Python2orPython3)

------
jbrambleDC
1\. Deep Learning 2. Bitcoin/Blockchain

------
wingerlang
Speaking thai because I live there.

------
lowglow
How to construct a model of AGI. :)

------
k__
how to go from my freelancing dev. business to a product business.

Don't know where to start.

------
arunoda
Maths.

------
hrshtr
get into data science/engg reduce body fat and be big by 10%

------
gm-conspiracy
Learn to play guitar.

------
tuananh
\- Elixir \- Erlang

------
Yuvrajv5
Copywriting

------
satyajeet23
Nothingness

------
crispytx
Android

------
bbcbasic
Category theory and some advanced Haskell

I feel that such knowledge is eternal. It won't be obsolete in 2027. ReactJS
on the other hand ...

~~~
johnfn
Counterpoint: ReactJS solves a lot of engineers' problems in a clean and
elegant way. Even if it goes away, the ideas behind it will continue to be
good ones.

There's nothing wrong with Haskell, but I think that a lot of people
mythologize it because it's not used by many people and has an air of
academia. A lot of people do the opposite to ReactJS because it's a popular
framework that a lot of people use. It has no mythos. Of course, mythos is
orthogonal to actually having practical, useful ideas.

~~~
bbcbasic
Sure I'm not against reactjs and that is just one example. It's a good
framework to solve problems, but I doubt I'll get deeper insights from
learning it.

------
williamle8300
I'd like to learn EcmaScript6. I'm pretty proficient at 5 but 6 has really
evolved the language and made it a more functional language. It seems
promising!

------
nether
Numerical weather prediction. After I finish up my data science bootcamp, I'll
be dusting off the old undergrad aero textbooks.

