
Ask HN: 11 days off for Christmas vacation – What would you learn? - lsiunsuex
My day job strait up closes from the 24th to the 1st - including the weekends, we&#x27;re off for 11 days! (fully paid no less - awesome perk!)<p>Other then family get-togethers, what would you learn with your time off?<p>I bought some Swift courses from stackskills.com last week but I need it more as a refresher - I&#x27;m pretty decent with Objective-C as it stands and the Xcode tools so I got it just to get up to speed on the new language.<p>I&#x27;m very proficient with AngularJS 1.x, html, css, javascript, jquery, php, wordpress, server administration &#x2F; linux, pen testing, etc...<p>Maybe React? Scala? (if it&#x27;s there)<p>Docker?
======
davismwfl
Me personally, I'd unplug from everything and only allow myself like 30
minutes each day to check for any critical emails (like oh shit type emails,
ignore the normal ones). Then I'd spend my time talking to real people and
find things where people are frustrated where I might be able to make an
impact. Basically, spend the time learning from them and spending time
understanding problems they have (not Dr Phil style of course, but everyday
crap). People hacking (for learning) in a sense.

But assuming you don't need/like that then here are another few ideas:

1\. Learn the basics of how to architect a small distributed system that is
fault tolerant, resilient and reliable. You can't learn it all in 11 days, but
man you can make a big dent and it is to me one of the most fun and
challenging problems to solve. And there is still so much to learn. You can
build and test little systems in AWS for nearly nothing using t2 instances.

2\. Do as iqonik suggested, find a simple need some group of people have and
solve it with an MVP and start marketing and playing with it. If it goes
nowhere but you solved an interesting problem for even a small group of people
you will still feel good and have had some fun.

3\. Write an Android app. From the looks of it you haven't done that but it
seems basically up your overall skill set and something you could have fun
with. Even if you "hate" Android learning how it works and the good/bad sides
might help you in other places.

~~~
Hortinstein
> 1\. Learn the basics of how to architect a small distributed system that is
> fault tolerant, resilient and reliable. You can't learn it all in 11 days,
> but man you can make a big dent and it is to me one of the most fun and
> challenging problems to solve.

There was a great tutorial for something like this that google published last
month using kubernetes and docker that involves setting up several minecraft
servers in a cluster. Would be a great into to docker/kubernetes

[http://googlecloudplatform.blogspot.com/2015/11/containerizi...](http://googlecloudplatform.blogspot.com/2015/11/containerizing-
in-the-real-world-of-Minecraft.html)

~~~
joshavant
I've been wanting to setup a small distributed system like this as a project
for a long time, but struggle to find something that would be _useful_ to
build (even to a small degree).

Personally, I don't play Minecraft (and, thusly, couldn't really appreciate
what I just did by setting up a super duper Minecraft server system).

Could anyone think of some more general purpose distributed systems projects
that would be a little more generally useful?

~~~
Hortinstein
I dont play minecraft all that much either, but you could probably replace
mincraft with some other networked service, maybe a database simple web
server?

Database roulette sounds less than useless but still would be a good way to
learn

------
leephillips
I often feel that the American programmer would profit more from learning,
say, Latin than from learning yet another programming language. \-- Edsger
Dijkstra
[https://www.cs.utexas.edu/users/EWD/transcriptions/EWD06xx/E...](https://www.cs.utexas.edu/users/EWD/transcriptions/EWD06xx/EWD611.html)

~~~
mrits
As someone that knows both latin and classical greek, I can't say that it
helped that much. The interesting stories are all translated and very little
time is spent on vocabulary as opposed to edge cases in verb conjugation.

If I had to do it over I would have learned mandarin.

~~~
btrask
This sounds like a very practical lesson that more programmers should
understand.

------
jisaacso
Recurrent Neural Networks. They're so cool. Used in everything from creating
chat bots to describing pictures to machine translation. Bengio and Goodfellow
have a preprint book available
[https://goodfeli.github.io/dlbook/](https://goodfeli.github.io/dlbook/)

~~~
Hortinstein
do you have any good intro tutorials?

A chatbot that could receive pictures and describe them back would be pretty
cool!

~~~
jisaacso
Check out [http://avisingh599.github.io/deeplearning/visual-
qa/](http://avisingh599.github.io/deeplearning/visual-qa/)

------
ctomaybe
I would learn to connect more closely with my family and friends. Do some
maintenance on your relationships. You may find down the line that the longer
you wait to invest the kind of time you have right now, the less effect it
might have.

------
OldSchoolJohnny
I would suggest you do something much more comprehensive and do this:
[https://www.coursera.org/learn/learning-how-to-
learn](https://www.coursera.org/learn/learning-how-to-learn)

I've never taken any course that was more useful and a lot of other people
feel the same way.

------
code_devil
If you are already pretty proficient in coding, I would take a break from it
and instead learn something different.

    
    
      - Sport (Snowboarding/Skiing/Swimming, Climbing etc lessons)
    
      - Reading books (History, Biographies, etc)
    
      - Visit a new town (doesn't have to be too far) and hangout with complete strangers and learn their stories.
    
    

Or purely on the STEM side you could refresh yourself on probability,
statistics, linear algebra and get a deeper grasp on machine learning/data
science.

~~~
tedmiston
+1 for snowboarding

I like to go distraction-free and put my phone in a locker. For a few hours
it's nothing but you and the mountain. And energy drinks.

------
brianoco
Learn to take a break.

~~~
jeffcox
Or at the very least learn something new that is not directly related to work.

------
littletimmy
Buy a fiddle. Learn to play it.

Seriously. You just got off work, and you want to go back into learning more
tech? You do know about the breadth of human experience right? Unplug, read a
good book, watch movies, learn to cook Indian food, go skiing...

How vulgar is a life that must be productive at all times.

~~~
lsiunsuex
Oddly - I find remodeling / manual labor to be very relaxing - the last 12x12
bedroom in our house is begging to be gutted and remodeled.

It's amazingly relaxing and quite the workout throwing a hammer into a plaster
and lath wall and just doing demolition for 8 hours.

Painting a room, too, is relaxing - which is on my list of stuff from the wife
to get done.

~~~
hanniabu
True, just play the radio in the background, go at it, and unwind. Really is a
great relaxing effort.

------
richerlariviere
I plan to play around with D3.js library. I love to play with drones. I want
to produce beautiful visual charts to display many drones stats while it is
flying.

------
cfeduke
ML, Haskell, Idris, or Prolog.

Because these languages will challenge your problem solving abilities and
should improve your overall skill in writing code in any language.

If market feasibility is really your thing, then Clojure or Scala for similar
reasons.

It look some deep investigation in Haskell for me to get fairly dangerous with
Scala. (There are weird type system gotchas in Scala that can seem
insurmountable at first which Haskell does a better job of encapsulating.)

~~~
tjr
What sort of application might be good to build for learning ML?

~~~
cfeduke
There is a text book _Discrete Mathematics and Functional Programming_
(VanDrunen) [1] which can be bought off Amazon for $60 new. (I bought a used
copy when they were cheap, for <$30.) Its a great place to start.

There is an older version of the manuscript available if you scour Google.

Then there are also the videos that accompany the text book, which can be
accessed by anyone. [2]

Because learning a language like ML is for the express purpose of thinking
differently its likely beneficial to learn the language in a domain you might
be unfamiliar with - possibly somewhat academically, instead of building an
application from scratch. ("Oh I know how to solve this problem... I'll write
an if-then-else statement with a bunch of branches!" vs. "Pattern matching in
a case statement? List deconstruction and matching? This looks interesting.")

1\. [http://www.amazon.com/Discrete-Mathematics-Functional-
Progra...](http://www.amazon.com/Discrete-Mathematics-Functional-Programming-
VanDrunen/dp/1590282604/ref=sr_1_1?ie=UTF8&qid=1450932337&sr=8-1&keywords=vandrunen+discrete+math)
2\.
[http://cs.wheaton.edu/~tvandrun/dmfp/](http://cs.wheaton.edu/~tvandrun/dmfp/)

------
cjbprime
React sounds good, I've been wanting to watch
[https://egghead.io/series/getting-started-with-
redux](https://egghead.io/series/getting-started-with-redux)

~~~
dvcc
The one thing I would advise when learning React is to learn React and then
learn some variation of flux. It really helped everything set in for me.

~~~
sehr
Definitely agree on this. I jumped straight into trying react, react-router
and the fb version of flux at first but ended up jumbling all the concepts
together.

You can get so, so far with just react alone it's ridiculous

------
mikestew
My wife and I just bought a banjo, I plan to take some time this week and next
to learn it. Then I'm going to hang out with fellow mandolin players this
Sunday or next. I suggest you do the same, or something similar. You'll be
more rounded as an individual than if you learned the-next-hot-shiny. Plenty
of time for work stuff after the holiday break.

------
iqonik
Build an MVP in 2-3 days, release and market. You'll learn a lot about
business :)

~~~
lsiunsuex
i have been kicking around an idea for the last 2 months; it's been on hold
due to time constraints (day job / my own side project thats been going on for
4 years now / freelance)

got it to the point where i bought a domain, setup the server and laid out the
layout / initial feature set.

I could definitely build it in 2-3 days if i sat down and focused.

------
csixty4
Learn about yourself and the answer will come. Learn to meditate. Learn to
run. Learn wine tasting. Learn to sew. Volunteer. Go to the zoo. Hang out with
friends and family.

Learn who you are, what you enjoy, and where you want to go with your career.
Technology stacks change more often than I buy new shoes. Is that a reflection
on the technology or the shoes?

I see Mobile development, web dev, FP, and devops technologies in your list.
What excites you?

Instead of specific languages, what about learning new concepts? Learning
about functional programming will change how you program in other languages.
Studying algorithms will change how you think about efficiency. Reading books
like "The Pragmatic Programmer" or the classic "Mythical Man Month" will give
you a bit of a higher-level understanding of what it is we do.

------
harveywi
Idris ([http://www.idris-lang.org/](http://www.idris-lang.org/)).

Edwin Brady is working on a book that you can access via the Manning
Publications MEAP program ([https://www.manning.com/books/type-driven-
development-with-i...](https://www.manning.com/books/type-driven-development-
with-idris)).

------
musha68k
A couple of friends of mine and I have agreed to go through the first few
lectures of this still super-relevant and foundational machine learning class:

[http://openclassroom.stanford.edu/MainFolder/CoursePage.php?...](http://openclassroom.stanford.edu/MainFolder/CoursePage.php?course=MachineLearning)

Why not join us with Swift implementations of some of the discussed
algorithms? Simultaneously, you could also experiment with some of the cool,
puristic functional programming libraries recently coming up for Swift. Check
out awesome-swift:

[https://github.com/matteocrippa/awesome-
swift](https://github.com/matteocrippa/awesome-swift)

In any case server side application of machine-learning has its drawbacks in
terms of privacy, reality of losing internet connectivity, etc.

Hit me up on twitter or github if you are interested.

Have fun and happy holidays (don't forget to relax) :)

------
willyk
Given your skillset, I'd pick React over Scala or Docker. If you're into
PHP/Wordpress, you could also look at Drupal 8, which was just released. Given
your CSS/JSS/Angular skills, you could also look at Meteor for apps.

All that said, from a blank slate perspective, I'd suggest learning Phoenix
([http://www.phoenixframework.org](http://www.phoenixframework.org)), and in
turn Elixir. Phoenix is great framework for building moderns apps, in that
it's open source, database & frontend agnostic, leveraging the battle-tested
Erlang VM, highly scaleable (WhatApp built w/Erlang), and real-time (via
Channels). Good overview video here:
[https://vimeo.com/131633172](https://vimeo.com/131633172)

------
kfrzcode
Learning docker was a great way for me to spend my three extra vacation
days... then I discovered ottoproject.io.

~~~
Hortinstein
would you mind elaborating what your use case for docker was and how otto may
have replaced it?

~~~
indexerror
We have been using docker for running challenges for a CTF platform [0]. Check
out this blog post [1] for details on how docker fits in.

[0]: [https://backdoor.sdslabs.co](https://backdoor.sdslabs.co)

[1]: [https://ashishchaudhary.in/dockerizing-a-
ctf](https://ashishchaudhary.in/dockerizing-a-ctf)

------
mongrelion
Hang Gliding or Paragliding. It's important to keep yourself busy with hobbies
that are not related to tech at all. Enough hours you spend sitting behind a
computer doing your job and coming back home to sit some more to code on your
own stuff.

Go out and get some fresh air.

------
Cshelton
Build an API in Swift :p Then learn some good React/React-Native to display
something simple in a iOS/android native app powered by the swift API.

Also, building an MVP in under a week and seeing how far some simple online
marketing can take it is always fun.

------
BrianHutch
I'm working on Elixir this break. Whatever calls your name.

------
gunnarde
[https://scotch.io/tutorials/building-a-slack-clone-in-
meteor...](https://scotch.io/tutorials/building-a-slack-clone-in-meteor-js-
getting-started) Building a Slack Clone in Meteor.js: Getting Started ... ya
know... for fun. and binge watching falling skies

------
yungGeez
I'm trying to get into 3D modeling. I wrote a novel one year for NaNoWriMo,
and I've recently started wanting to convert it from text into an animated
short.

So, Blender, and other things. Trying to relax as well...but I can't do
nothing.

------
Fuxy
I'm in a similar boat as you and my list this year is is Docker, gitlab-ci
documentation and getting started on a personal project I want to do.

Mostly docker and gitlab-ci is on the list because I want to use them in
development.

------
bnchrch
If I were in your shoes I'd keep the momentum going with swift. Otherwise
React seems like a nice complement to your skills.

I think for myself this holidays I'll be tearing into Elixir and React for a
new project.

------
bluedino
What do you want to make? Make that. Don't learn another language just for the
sake of learning one.

For example, o you only know Objective C and want to make a web app? Then
learn a web programming stack.

------
lfx
I'll try to teach my self English, to pass exam. So many holes to path from
school years.

Maybe any body know good resources? Like "English for Hackers" or something
similar?

------
racoonear
I read emberjs's guide last night and play some toy example.

I think ember-cli is great and have good first impression overall, would like
to build a more serious project in these days.

------
ddmng
I'll enjoy learning Scala and dig some new machine learning resource on the
Web. I can advice you the Prf. Andrew Ng's Machine Learning course on
Cloudera.

~~~
ddmng
I mean Coursera of course!

------
hvd
I plan to hunt for business problems this break. That for me is harder than
learning a new language or technology stack.

------
azimuth11
Clojure, ClojureScript, and Om + Emacs/Vim

------
ReadEvalPost
I'm in a similar situation and I'm planning on dominating in Stockfighter
during that time :-)

------
Killswitch
Swift and Go would be the two things I learned. Or I'd work on a side project
for residual income.

------
veddox
How about Ancient Greek? No kidding - that's what I'm working on this break.

~~~
tdees40
I read Koine/Classical/Homeric Greek reasonably well. Message me (e-mail in
profile) if you have any questions.

~~~
veddox
Thanks for the offer! I'll bear it in mind.

I found a book at the university library that aims to teach Koiné as if it
were a living language - i.e. instead of translating Euclid et al. from the
get-go, one starts with simple life-like conversations; also listening and
speaking are included in the curriculum. I'm working my way through that at
the moment.

------
mapcars
How to play on ocarina.

~~~
usermac
Oh my wife learned to play it a couple of years ago. I like it but her
daughter really super hates to hear it. ha ha

------
dustingetz
React, React Native, ClojureScript

HaskellBook.com

------
swcoders
want to do something with AI

