
Ask HN: What are you learning in 2019? - dadoge
Feeling a little too comfortable where I&#x27;m at now.  In the last couple years I had some side projects in distributed systems.<p>Those were fun, learned a new language, came to the conclusion that Go is overhyped and immature and helped me appreciate that Java ain&#x27;t that bad after all.  Feel like the project did help me be a better developer, understand load balancing, databases, storage systems etc better.<p>What new tech have y&#x27;all learned in the past 6 months - 1yr that you found to have made you a better developer?
======
tony
1\. TypeScript - I have had remarkable experience TS on frontend. Along with
react hooks. Turns ES into a powerhouse.

2\. GraphQL - Typed, structured API.

3\.
[https://en.wikipedia.org/wiki/Attachment_theory](https://en.wikipedia.org/wiki/Attachment_theory):
A very powerful tool to explain human behavior. It can explain individual
personal interactions, personal and professional relationships, family systems
and many bigger picture things.

4\. How to build desktops: Build times are way way faster on desktop CPUs.
More control over motherboard / getting faster IO, further improving
buildtimes. More upgradeable, things can be switched out, whereas with laptops
everything is soldered together.

5\. Language practice: Started tapes on Polish / Ukrainian. Restarting Chinese
soon.

6\. Basic fitness things / more exercises

~~~
tom-jh
Seconding TypeScript. If you are a js dev looking to pick up something new,
just rename a .js file to .ts, open it in vscode, watch the magic. It will, I
think, make you a better js dev.

~~~
antigirl
Java dev you mean ;) I dont see how types make you a better dev, its like
saying automated dictionary in input text fields make you a better speller. It
just makes you a lazy speller.

~~~
gazarullz
it makes you think about your code in a more structural way where
composability and low coupling start playing a fundamental role

~~~
antigirl
Can you link to a reference where this is explained more? i am genuinely
interested.

------
ganonm
I'm a software engineer who has until now mostly worked on web applications
(backend and frontend). I have recently been learning Unity3D which has been
immensely satisfying. The breadth and depth of skills needed to tackle
projects in this field makes for some really interesting work.

I am currently awaiting approval to sell an editor plugin on the Unity store
which I spent some free time working on as a side project. In game level
design, most artists make use of 'modular' assets to some extent. These are
small sections of a structure e.g. a corner wall section or a roof section,
which can be combined together to make endless variations on a building style.
The plugin I made allows you to specify 'sockets' on each modular asset,
including a type and compatibility system, then it handles automatic snapping
together of assets in the editor. This speeds up a assembly of modular assets
significantly. The alternative, old fashioned way of doing this is 'vertex
snapping' which is tedious and time consuming.

Video here: [https://youtu.be/MvYTbIU1d-c](https://youtu.be/MvYTbIU1d-c)

~~~
istoica
Is there a gradual path on learning Unity ? I mean, what is it ? A visual
editor of 3D worlds, but not Blender / 3D Max, together with code editor and
C# ?

It looks more like Adobe/Macromedia Flash as IDE, used to like that very much
back in the days, till flash died due to plugin need / proprietary / security.

Would still prefer to ship an app in a single file, that progressively
streams, just as SWF used to do. Now, in the web area, all is utter crap, one
billion files to download, CDNs, fallbacks, signatures.... argh!

Heck, would choose VB or Delphi as IDE for building apps in no time against
all this React / Angular / WebComponents tech salad with no substance and
ephemeral lifespan.

I am still able to compile pascal code from 1997 in Lazarus / FPC.

~~~
bladedtoys
The closest analogy would be the Flash IDE. Art (3D, 2D, images) is made
outside. So is any coding. It integrates nicely with visual studio and Blender
(and Maya and Photoshop and the like) so the process is fairly seamless. For
example, debugging works.

Yet it produces native apps as well as WebGL.

An infinity of tutorials exist in as many qualities so learning resources of
every level are hyper abundant from gradual to accelerated. A passable 2D app
is probably possible in a few days starting from zero knowledge. But a
impressive 3D game will take mastery of quite a range of its abilities and
probably require a team.

Since it is not dependent on a proprietary player, it probably has more
staying power than Macromedia/Flash but it does have competition from Unreal
which I imagine is a viable alternative.

~~~
justanothersys
I built and published this 2D app in Unity with only prior web experience in a
weekend: [https://youtu.be/NTc6pf6OrI4](https://youtu.be/NTc6pf6OrI4)

Haven’t touched Unity since... even though I’d love to make games. I’m partly
afraid of future maintainability of my projects, but there is a potential
future where 3D engines converge on a standard... maybe never.

------
no1youknowz
Outside of Tech, Japanese.

Really love watching Anime in my down time. In the past I have watched well
over 100+ series in Dub. Recently I was frustrated waiting for Dub for some
later series and newer ones.

Which lead me to watch Subs and I really dislike reading the text, especially
when two characters are talking you have text on the top and bottom of the
screen! Too much to read at once.

Finally many times there is hiragana, katakana and kanji written for effects
or spec sheets and many times it's not translated. I felt like I was missing
out on something.

So decided to learn the language. I'm having a blast learning it.

With tech, absolutely nothing. Too busy making stuff. That said, waiting for
Vue 3 to launch and then get into learning all the new things with that and
seeing what benefits can be brought to existing codebases. Can't wait really.

~~~
yawaramin
Very cool. I've been wanting to learn a bit more Japanese for a long time now,
too. What resources are you using to learn?

~~~
no1youknowz
Take a look at my comments, 3rd post down will tell you what I have.

Also since I can't edit my original post. There's also:

[7]:
[https://www.reddit.com/r/LearnJapanese/comments/5x6twj/tae_k...](https://www.reddit.com/r/LearnJapanese/comments/5x6twj/tae_kims_guide_to_japanese_grammar_video_series/)

------
mindcrime
Right now I'm working on Z80 assembly language, in support of my ambition to
build a simple 8-bit computer from the CPU up.

Other than that, I've spent a lot of time on Abductive Inference this year,
since I'm on the hook to do a talk on the subject at All Things Open in
October.

I've also been messing with OpenCV a bit lately.

Finally, a lot of low level electronics stuff. Revisiting my hobby of building
and experimenting with simple circuits and what-not. As part of that, I want
to learn KiCAD eventually, so I can design PCB's. This also supports the 8-bit
retro-computing interest. A weekend or two ago I built a simple little circuit
on a piece of protoboard with a 555 timer and a couple of potentiometers,
which implements an adjustable clock generator which will serve as the clock
input for the z80 project (at least the early stages when I very explicitly
want things going slow so I can see LED's blink with the naked eye, etc.)

------
acl777
Emotional Intelligence

Tips from Emotional Intelligence 2.0
[http://redgreenrepeat.com/2019/07/12/tips-i-got-from-
emotion...](http://redgreenrepeat.com/2019/07/12/tips-i-got-from-emotional-
intelligence-2-0/)

Lessons from company's internal Emotional Intelligence training (from
EIExperience.com) [http://redgreenrepeat.com/2019/07/19/debrief-emotional-
intel...](http://redgreenrepeat.com/2019/07/19/debrief-emotional-
intelligence/)

Biggest win so far: hearing my wife say to me "Sorry I got emotional."

~~~
atiredturte
Wouldn't your wife apologising for being emotional be a sign that she feels a
need to apologise for them? Wouldn't good emotional intelligence be towards
making someone feel valid, and expressing themselves (even if they're
"emotional"). After they are heard, then you can do whatever rational
decisions you want.

Maybe I'm misunderstanding, but having someone else apologise for their
emotions doesn't sound like an EQ win to me.

~~~
acl777
Yes - I missed a lot of context with my wife's comment.

Usually, in any heated situation, I would get tense and cause the situation to
escalate out of control. After cooling off, I would be apologizing to her for
my behavior in the situation.

In our time together (over a decade now) - she never apologized to me for her
behavior.

The fact she did twice recently feels like a shock to me because it's so
unusual for me.

It's an EQ win in the sense that I didn't lose my cool as usual.

Hope that adds context.

------
brunosan
I'm surprised there was no mention (yet!) to fast.ai here. I've decided to
learn deep learning this year, after many failed tries with other approaches.
Their framework (built over PyTorch), their course, and their community around
it are simply the best I've found so far. Very much recommend to anyone who
knows a bit of coding and wants to learn Deep Learning quickly and
pragmatically.

~~~
tracer4201
Can you describe a bit more on why you’ve found this more helpful? Any cool
hobby projects you’ve been able to build from this or other applications?

------
sameerds
Probably an isolated point of view, but I stopped learning "new tech" a long
time ago. I have a systems programming job and C/C++ is my bread and butter.
The only new thing that I might spend some time on this year is C++14, because
our build tools will enable it some time soon.

On the non-tech side, I started learning Tabla (a musical instrument) this
year. This is far enough out of my daily activities that I am getting a kick
out of the new skills I need to master, especially the dexterity required to
play different strokes with each hand while keeping time!

[https://en.wikipedia.org/wiki/Tabla](https://en.wikipedia.org/wiki/Tabla)

~~~
collyw
I wish I was doing systems stuff. The churn involved in web applications is
mostly a waste of time and effort.

------
corodra
I started to learn machine learning relatively seriously. But I've always had
issues with frameworks where the team goes out of their way to be clever
rather than straightforward. ML frameworks to me are plagued with that. And I
hate python. A lot. Mostly because of white space formatting.

So, I decided to make my own neural net in C#. For fun, it'll never be
released. I spent a solid month learning anything and everything I could about
how brains work in the animal kingdom. Then I built out a neural net according
to what I learned. My cells aren't really similar to most of the conventional
types out there. But it does work fairly well with numerical data. If I spent
more time, like a solid year instead of spare time over 2 months, I think it
could be respectable.

What I really learned from this project was optimization to the extreme. I
spent a hell of a lot of time testing different ways to accomplish the same
math and pull out as much performance as possible. I'd guess for every hour of
code, I spent 4 or 5 hours research, testing and optimizing. Mostly because
it's all CPU instead of GPU. I never got into cuda and I never will. It's not
like I've never optimized before. The difference now, I spent time finding out
if conventional wisdom was correct. Also, I discovered a bunch of methods in
C# that I never knew about.

I dont do development anymore for work (and God willing, never will), so this
was just a distraction/curiosity project for me. In reality, I wish I took the
time early on in my career to do a project like this. Anyone fresh in dev
needs to do a 3 to 6 month pure optimization project learning, for themselves,
what works and what doesn't. Conventional wisdom really is only the tip of the
iceberg.

~~~
stormtroper1721
Is this on GitHub? I'd love to take a look since I'm thinking of making my own
ml library to learn more about how frameworks like pytorch and tensorflow work

~~~
corodra
Nah. Like I said, it was a distraction project and I don't do dev for work
anymore. Honestly, making a basic ML framework is not hard. I'm not the
greatest programmer. Hell, I'd barely say I'm even decent. So if I could get
something working, just about anyone can.

My recommendation though, it must be kept neat and tidy. 100%. Plus, keep
paper notes. It gets complex real fast. Spend your time on good naming
conventions and being VERY well organized. Obviously all projects should be
that way. But this is one where it's not really a recommendation. It's a flat
out must. Don't fall into the trap of "hacking" in something to make it work.
Not even once. If something is wrong, fix it completely the moment you notice
it. My experience, neural net hacks compound really fast into trouble.

Plus, I had fun with my naming conventions. My hidden layer cell class is
called a "centralized understanding neural tracker" with the input cells
called "data input command kontroller". As you can tell, I'm not a very mature
adult. Pretty sure it wouldn't be appreciated in github.

------
contingencies
Recently learned a lot about software, theory, process and management in the
design, iteration and manufacturing of custom printed circuit boards.

Having climbed that mountain, I'm currently diving in to industrial
automation: not software automation, but both off the shelf and custom
robotics and factory equipment providing manufacturing 'unit operations' for
working with metals and polymers. It's quite impressive how little integration
currently exists between products from different vendors. There is a huge
opportunity here for a software-world startup. Competing concerns include
safety, reliability, problem detection, automated issue resolution, machine
servicing, tool longevity, vendor desire for lock-in, supplier desire for
lock-in, noise, dust, finish, speed, logistics, HR, scalability, cost, etc.

~~~
ganonm
I delved into this exact area in the last startup I was at. I worked pretty
extensively with Kuka 6 axis industrial robots and spent a lot of time
programming them as well as integrating them with our custom hardware. Totally
agree that there is a big opportunity for a unified software layer on top of
all this hardware.

The system I ended up building allowed users to monitor the robot from the
cloud, including telemetry such as end effector sensors and axis positions, as
well as uptime. It also allowed steaming tool paths from the web platform to
the robots directly with appropriate safety measures such as manual
intervention required to start it. Would love to generalise this sort of thing
and create a turnkey solution that allowed people to focus on solving their
actual robotics problems, not spend all their time glueing together disparate
components.

~~~
contingencies
Sounds interesting, although single vendor is much easier than multi-vendor,
especially when you throw in parallel purchasing decisions on short timelines
and both execute and receive sales and tech support in Chinese...

A generalized solution necessarily has a strong spatial component. Most vendor
motion planning applications seem to be either custom and cell/unit-operation
specific or are expensive specialist general applications with high complexity
that often exist as plugins to CAM tools like SolidWorks.

I don't have the time and resources to acquire and delve in to those, so my
approach has been to accept the fact and go ghetto with cheap local hardware
that comes without motion planning or integration support, observe existing
industry processes, and attempt to self-build iteratively. Luckily I've
already built a team to produce custom robotics cheaply and quickly and
recently added an experienced production manager from the automotive sector,
so we have an advantage in this space.

------
istoica
Using OSX on a laptop, Linux at work and Windows while playing. Tempted
switching back to Windows now because of WSL.

Using gstreamer, creating gstreamer custom filters, performing graph changes
on the fly. Awesome and a joy.

WebAssembly as target(compiling C stuff with emscripten and then enjoying it
in the browser).

Playing Stracraft II, high impact of rapid decisions, dealing with complexity
as some kind of reflex. Started one year ago, never waste more than 15-20
minutes. I am more focused at work, keeping myself in the zone for longer
periods.

Not necessary tech, but being more tolerant towards people in industry not
driven by passion, but by salary and day to day life chores.

~~~
oplav
What would you say are your biggest takeaways from or pieces of advice to
learning gstreamer? I just started building dynamic pipelines and it's been
quite the new experience.

------
trykondev
I'm kind of cheating with this answer because it's not a specific piece of
tech, but the thing that I'm really focused on learning right now is how to
build out my business by hiring developers & learning how to properly manage
them as they help contribute to some of my company's projects.

Most of my development work has been solo, with occasional one-off help from
contractors. But the number and scope of my projects has been growing and I've
been struggling to keep up, so I'm now going through my first round of finding
people to hire, designing a fair & useful interview process, and figuring out
the best way to break down my current projects so that it's minimally painful
for a new developer to ramp up on them.

This process has also forced me to actually start looking for a legitimate
source of funding for my business, besides my own savings. I've been trying to
learn this side of things, but it's been a real struggle -- I've definitely
been living in the bubble of focusing on my product without thinking about the
business side of things for too long, and I'm finally making the leap in terms
of taking the business side of things seriously.

Any words of encouragement or advice are greatly appreciated :)

~~~
ctn40
A few things: Make sure you hire developers that fit the business culture you
are trying to establish and understand the "why" of your company. This is
worth a read: [https://blog.samaltman.com/how-to-
hire](https://blog.samaltman.com/how-to-hire)

You don't have to have overly strict rule about hours, leave, documentation,
etc. but make sure it is very clear to your developers what they are expected
to do, and have them evaluate their own performance (obviously with your
input) every few months.

Criticise in private, complement in public.

Choose your customers wisely. You make a lot more profit when you start saying
no to the wrong customers. (An easy way to say no is just to charge a lot,
like 10 times more, than you would normally charge for a certain job)

Don't be afraid to make mistakes, well rather: try not to make mistakes, but
expect them to happen occasionally and when they do, don't beat yourself up
about it - recognise the mistake, try learn from it, and move on. It might
also be an opportunity to impress your customers, by turning a bad outcome
into something positive.

Make sure you set things up in such a way that can get some downtime without
your company falling apart.

Good luck!

~~~
trykondev
Thank you for the thoughtful reply -- I really enjoyed the article, and
several of the points you mention are already resonating with me, even at this
early stage in the process!

------
ydnaclementine
Music producing with LMMS, mostly wanting to make jungle dnb sounding stuff

I've installed FL studio a few times in the past but didn't get really far.
This time I've decided, let's actually gain some understanding of theory and
tools (like synths:
[https://youtu.be/atvtBE6t48M](https://youtu.be/atvtBE6t48M)) and make a
little something just for fun.

I'm using LMMS because now I'm on linux and don't want to deal with wine and
FL studio. LMMS is actually pretty good, and has a good selection of tutorials
on youtube

~~~
quacker
This is something I've been doing a bit, but I'm more interested in music
composition, for piano or symphony or similar. Musescore[1] is an amazing FOSS
tool for interactively creating sheet music. It's like a WYSIWYG sheet music
editor, with a virtual keyboard, playback support, and very basic mixing. I
have a little background with piano (childhood) and trombone (high school), so
it's been much easier for me personally to create new music by manipulating a
traditional staff in Musescore than with the grid view in FL Studio or LMMS.

1\. [https://musescore.org/en](https://musescore.org/en)

------
zenlot
Clojure. Started with "Getting Clojure" book and can't recommend it enough.
Written in a clear and practical style.

------
elamje
I have had the joy of learning Clojure this year! I am by no means an expert,
but I love the mental paradigm shift I’ve had as a developer.

I am about to quit my current Full Stack job and spend a few months exploring
the wild and see if I can strike out on my own with consulting/SaaS stuff. I
only have a year of professional experience under my belt, but I’m hoping to
use the next couple of work-free months as a retreat to learn a lot of things
and pivot my development career. If anyone has advice on how to move into
consulting, I’m all ears!

------
lioeters
In the last few months, one really fun and educational side project has been
creating/designing my own programming language.

It started by accident, by taking apart an existing mathematical expression
evaluator, to learn how it works. This led to a deeper understanding of
lexer/parser/interpreter, (pre/in/post)fix notations, stack machines..

Once I realized that what I was looking at was a kind of "virtual machine", I
was hooked and continued by adding language features like variables, arrays,
objects/dictionaries, functions.

The basics are now fairly complete, but the language doesn't "do anything" yet
- it's in its own small isolated universe. Next I'm imagining how it will
safely interface with the outside world - networking, file system, database,
vector graphics, sounds.. What I want is something like a cross between BASIC,
Lisp, and Hypercard.

Anyway, still not sure how practical it's going to be, but it's been a
wonderful learning experience. It led me down through the history of computer
science to re/learn the basics, making numerous discoveries of things I didn't
know, getting a better overview of what languages exist(ed), what I like (or
not) about their syntax or approaches to various aspects of programming.
Creating this little hobby language has definitely helped me grow as a
programmer.

\---

As for a non-tech related subject, studying music theory is endlessly fun and
thought-provoking. It also comes down to creating one's own system/language.

~~~
sifar
Can you please recommend any resources for studying music theory ?

~~~
lioeters
This might depend on your personal preference and approach, but I like books
with high information density, with pieces that I can chew on for a long time
- even if much of it is beyond my understanding at the beginning (or even at
the end). Here are some of my favorites:

The Jazz Theory Book (Mark Levine)

Huge series of play-along books by Jamey Aebersold

The Geometry of Musical Rhythm (Godfried Toussaint)

Harmony (Walter Piston)

A Geometry of Music - Harmony and Counterpoint in the Extended Common Practice
(Dmitri Tymoczko)

Lydian Chromatic Concept of Tonal Organization (George Russell)

Augmented Scale Theory (Javier Arau)

------
yaj54
Tech-related I've been learning Postgres recently. Postgres had some features
that MySQL lacked that I wanted to use in some projects. I didn't initially
expect it, but in addition to now knowing basic Postgres, it has improved my
generic SQL knowledge and even my skill with MySQL. Always helpful to increase
the ability to look at a problem from different perspectives.

Non-Tech related I've been (trying) to learn the guitar. I think music is a
great counterpoint to coding. I've been enjoying Coursera/Berklee's Guitar for
Beginners [0].

Which is a great segue to a shameless plug. I mine HN for comments that
mention online courses and rank them over various timeframes, including the
last year [1]. Oddly, it's how I found the Guitar course, though obviously
most recommended courses are tech related. It's a good resource for finding
interesting courses if that is your style of learning.

[0]:
[https://yahnd.com/academy/r/coursera.org/learn/guitar/](https://yahnd.com/academy/r/coursera.org/learn/guitar/)
[1]: [https://yahnd.com/academy/?t=year](https://yahnd.com/academy/?t=year)

------
DoreenMichele
After a decade of wanting to learn to code while life got in the way, I'm
actually doing more coding (mostly CSS styling for websites I run) and laying
the groundwork for eventually learning _a real programming language._

In the spring, a developer from HN talked to me and recommended a free course
and I also applied to an online coding school offering free tuition for the
summer. In the process of applying, I learned my computer doesn't really have
enough RAM.

I haven't been able to spare the $40 or so it would take to upgrade it. I've
been working more and moved to a larger apartment to improve my working
conditions. (I'm still in an SRO, but now I have a private bath and a George
Foreman grill.) I hope to eventually get a laptop to further improve my
productivity.

Between my medical condition and extreme poverty, getting anything done takes
forever. But I'm actually cautiously optimistic and excited to be working
towards goals instead of spending all my time putting out the endless fires of
my shitastic life.

I also set up a blog to help me gather learning resources in one place so I
can find them again when I can get all my ducks in a row and have the physical
arrangements and ability to set time aside to actually learn to program.

~~~
__initbrian__
You mentioned you were working in css. Here are some fun resources
[https://flexboxfroggy.com/](https://flexboxfroggy.com/)
[https://flukeout.github.io/](https://flukeout.github.io/)

~~~
DoreenMichele
Thanks.

I've found sample code from Code Pen useful. I like this CSS blockquote,
though I haven't found a use for it per se:

[https://codepen.io/JacobLett/pen/jZYENy?page=6](https://codepen.io/JacobLett/pen/jZYENy?page=6)

I actually did a couple of home study courses in HTML and CSS years ago. One
was a set of CDs, a Christmas gift from a Canadian friend, the other a book I
purchased. I used to hand code my websites, but I never got any content up.
Maintaining the back end took too much time. Then I migrated to Word Press.
Then I migrated to BlogSpot. I produce a lot more content these days.

------
yakattak
I’ve picked up Kubernetes as a topic of learning this year. Now that I’ve had
a few months of deeply focusing on it, including migrating Apache Spark jobs
from YARN to K8s, I’m changing my focus. My focus from now until the end of
the year is going to be focused on Site Reliability Engineering. From incident
management to logging and monitoring. I think those skills will really help me
in the future, regardless of the current technology hype.

------
teacpde
Woodworking, I have completed a few projects so far including a work bench. I
found it as fulfilling as writing software, a good hobby to develop without
burning myself out with my software day job.

~~~
edanm
That sounds fascinating, how did you get started?

------
alexbanks
I've spent this year mostly on Go. I think I'm in a maybe good enough spot to
be employable with it? Which was probably my goal all along.

Through Go, though, I've been feeling like picking up a language with a more
advanced type system. Usually when I have that feeling I get trapped in
analysis paralysis and just never pick anything up. I've been considering just
hard-committing to Java/the JVM and taking it as it is. My experience with
Java was from college/my first job after graduating (horrible J2EE fintech
mess), but it sounds like more modern Java is pretty neat? Who knows.

~~~
tom-jh
Take a look at Kotlin. We are building our enterprise products with it. You
get all the benefits of Java (stability, maturity) without the bad parts
(boilerplate, boredom).

We just hired a Kotlin person (really a Java guy who refreshed his Kotlin over
the weekend) for this, and we may be hiring more.

I suspect more companies will start looking at Kotlin in the next 2-3 years,
especially for green field projects.

~~~
alexbanks
The concern I have with JVM languages is that employers will have a constant
temptation to just fall back into Java instead of actually committing to the
language they've chosen. From what I understand, Kontlin/Scala/Clojure all
have relatively easy Java-interop, so it smells like after a while non-Java
projects could just become Java projects?

I have heard lots about Kotlin though, and it sounds like most devs that've
touched it are huge fans.

~~~
tom-jh
Scala and Clojure are a bit of a leap for a Java dev, which may come with some
cost. I don't get that feeling with Kotlin - you can kind of slip into it,
it's a very easy transition, and then you don't want to go back.

Sure, Java interop will make some code parts look a lot more like Java then
like Kotlin, but I can't personally imagine that a team would decide to switch
back to Java-only after using Kotlin for a while. Interested to be proven
wrong if someone has seen that happen.

------
ex3xu
Haskell. A couple very solid books for Haskell came out in 2019 -- Get
Programming with Haskell by Will Kurt, and Practical Haskell by Alejandro
Serrano Mena -- and I was lucky enough to find a Functional Programming Meetup
group in my area with some guys who write Haskell code every day.

Currently falling, albeit very slowly, down the rabbit hole of FP -> category
theory -> HoTT.

~~~
weka
Mind sharing books that got you started? I've been looking into getting
started with Haskell myself.

~~~
nikhilbagde
Can you help me understand which kind of projects use Haskell language?

Do we have many long term jobs for Haskell developers?

~~~
a-saleh
So, I have recently been at Zurihac, attended by ~500 people.

From what I have seen, there have been roughly 4 groups:

* people running their verified-contracts on blockchain strartups with haskell stack

* people interested in GHC as a compiler (i.e. developing new extensions for their phd theses)

* people doing consulting projects

* people running their company on haskell because they like the stack

Some projects were really interesting, like a a haskell-inspired language that
is compiled to VHDL, or various use-cases for Dhall (typesafe alternative to
i.e. yaml, that supports functions, but isn't turing complete)

I still have on my todo-list "Do at least one PR for Pandoc!" as that is a
haskell project that seems to have nice entry-level issues :)

And I know there are teams in FAANG that use haskell, but I don't think they
hire too many people :-)

------
sergiotapia
Postgresql. I had learned to rely too much on ORMs and diving into SQL proper
was like getting hit by gamma rays and turning into the hulk.

Looker. I get asked for reports frequently and with this tool I intend to cut
that number down to zero, company wide.

Kubernetes on AWS. Bought a book, learning about it in my spare time.

Graphql with React Apollo for data access. It's pretty sick. First Redux came
out, but it's verbosity was too much, I never liked it. Then Mobx came out and
it works fine for me, really fun to use. Now Apollo exists and you don't even
need a store. Plus it caches stuff. Plus a bunch of other sexy stuff. Very
interesting tech.

I read bad feedback/stories for companies and identify trends on what went
wrong, and what engineers hated so I can prevent that at Papa as head of
engineering.

Drawing. It's the complete opposite of programming and very soothing after a
rough day. There is no right or wrong, it just `is`. I look up pictures of
manga I like, from Baki or JJBA and draw stuff, then upload it on Tiktok to
share in the fandom.

~~~
redis_mlc
> diving into SQL proper was like getting hit by gamma rays and turning into
> the hulk.

lol. wait til you start using COPY.

source: DBA.

------
blendo
After a 40 year gap, I've started to re-learn assembly language programming
via via [https://embedded.fm/blog/ese101](https://embedded.fm/blog/ese101).

Also, last spring I took the basic Electronics 101 class at our local
community college ([http://www.ccsf.edu/en/educational-programs/school-and-
depar...](http://www.ccsf.edu/en/educational-programs/school-and-
departments/school-of-science-and-mathematics/engineering-and-
technology/electronics_program.html)) -- Ohms law, intro to RC time constants,
transformers, etc. It was just one night a week, so not a huge time commitment
(2.5 credit units). This semester: active analog circuits!

Not sure it's made me any better at my Python/SQL day job, but perhaps more
methodical.

------
naikas
AWS and how to deploy a complete web app with the service bundles (EC2,
Elastic storage S3, etc.) It is an amazingly fulfilling experience as a
product manager.

~~~
pqdbr
What resources did you find more useful? Aws’s own documentation?

~~~
mirceal
not op, but the labs on [https://www.qwiklabs.com/](https://www.qwiklabs.com/)
are pretty good and hands on (i am in no way affiliated with them - pointing
out a good resource you may want to look at)

------
aprdm
Past 6 months- 1 year for me was a lot about reading about leadership and how
to be a better lead. Also played a bit with Rust.

I've started learning clojure a week ago and want to continue in this path of
learning / build something cool with it.

------
notamy
In tech: Diving deeper into Elixir and Rust.

Outside of tech: Korean! I find it absolutely _fascinating_ to learn.

~~~
spraak
I recall that the origin of Korean is somewhat mysterious, have you come
across that?

~~~
james_s_tayler
Linguistically it's grammatically about 80% the same as Japanese and if you
replace Hangul with Hanja where possible you'll see a tonne of it's vocabulary
is from Chinese.

I guess what's mysterious is which of Korean / Japanese influenced which??

Korean has a slightly more complex grammar than Japanese. Not by much but
there are some forms in Korean that don't exist in Japanese. But it's
remarkable how they are almost identical.

------
clircle
I've been slowly working through the exercises in Christian Robert's book The
Bayesian Choice. I'm a statistician and my job to help people make educated
decisions, so I ought to know a thing or two about decision theory

~~~
joker3
That's a classic. If you want something to follow that up with, take a look at
Berger's "Statistical Decision Theory and Bayesian Analysis".

------
tunesmith
I've already done some akka/scala work professionally, and separately, some
api development with play/scala, so for a side project of mine I've been
working on an idea that requires api endpoints served by an akka cluster
backend. Now that I have a few of the required endpoints and a working
cluster, I've been working on learning React on the frontend, which is new to
me. The next few months will be crazy because I'll be learning how to bring in
some async communications between frontend and backend. Not really sure how to
start with that on the frontend, but I imagine it'll be sockets or SSE from
the backend.

Separately I dabble with Ng's coursera ML course but aside from writing
jupyter notebooks with the octave kernel, which I enjoy - latex math equations
are so pretty - I find the subject material a little boring. I like graphical
structures though so maybe interest will pick up when they get into neural
nets.

------
tiborsaas
I've started Rust a few months ago, because it sounded interesting and
distinct enough so I decided to add it to my tool belt. So far, I've completed
a few chapters from the official book.

~~~
dijit
Oof, same, coming from python/Go and having some knowledge of C, I can say I
love it.

But I work with C++ developers who are adamantly opposed to taking a jump
because rust is harder for them to grok (as they suggest that they have to
unlearn patterns).

~~~
sjapkee
Rust is unstable, so there is no reason to learn it right now. Many revesions,
version incompatibility, dependencies from unstable branch in main repository
branch. It's absolutely useless for production right now if you don't want to
write the whole thing from scratch.

~~~
steveklabnik
Rust the language has been backwards compatible since 2015. We add stuff, but
don't remove it.

Many, many companies, including big ones, are using Rust in production. They
don't need to re-write things.

------
collyw
Learning React and the ecosystem at work and improving my CSS knowledge as I
am mainly a backend guy.

On a more interesting note , learning Meditation via "The Mind Illuminated"
book. Plus I plan to do a Goenka retreat later in the year (probably after
reading a post on here "Vispasanna for Hackers" I think it was titled).

On a side note, I know we are encouraged to keep learning as developers, but
being an old schooler (been writing software since 2000) I notice that people
often keep learning new stuff instead of getting really good with the tools
they already know. Usually the first attempt with a new framework / language
isn't really the best code as it is a learning experience. As a result we have
a lot of applications written in a less than perfect way. Curious what other
peoples opinions are on this.

------
Waterluvian
Every time I re-approach or begin a new web application I try to pick up a new
tool from the toolbox. Last week was Web Workers. Holy cow they're amazing.

I do a lot of GIS so there's many very cpu intense tasks for analysis.

Instead of trying to break up a problem into lots of small promises as not to
block user input, I can just call away to a separate thread to do a ton of
blocking work and return the output.

The beauty is wrapping the interface in a promise so I can perceive web
workers as being just like Ajax calls: an async data source/sink.

The more broad answer to what I'm learning in 2019: how to use every new
project as a playground to learn new technology while not putting the project
deliverables or time-line at risk. This is basically about learning how to de-
risk and prepare/conceptualize fallback plans. And how not to bite too much
off.

------
moksly
I picked up python in 2018, and really enjoyed that, so I think I’ll be
sinking some time into getting my python skills on par with my C# skills.

There aren’t many Python jobs around here, but there are some. Not that I’m
currently looking, but the next time I am, it would be nice to work with a
language I actually like.

------
etatoby
1\. Deep Learning. No immediate use for it, but I feel it's an important skill
to know.

2\. Powershell (on Linux.) I'm already proficient with the traditional shells,
but I want to see if this is overall a better CLI and/or scripting environment
than, say, Fish. (This was prompted by the recent post about a similar thing
newly implemented in Rust.)

3\. APL, getting back on it after a long time and potentially writing my own
compiler and dialect, if I feel inspired.

4\. Consolidating Japanese, mostly the spoken language, because I don't have
the time nor will to memorize 1000s of characters. I'm already intermediate
level, so at this point I mainly watch movies / shows every day, hoping some
of the vocab will stick to my mind.

~~~
james_s_tayler
Binge watch Terrace House. Best source of natural, spoken Japanese.

------
sidcool
Trying to learn 'Everything'. And that's a problem. So learning how to manage
learning (Not from the famous course)

..Any resources to help me?

~~~
cloverich
I've had this problem off and on. The thing that's helped me lately is looking
back at the times I focused and learned one thing. Example: I read a (MS)SQL
book nearly 8 years ago, it was well written but not excessively long. I took
my time with it. And you know what? It's been relevant ever since, and I've
been surprised how frequently I know more off-hand sql knowledge than other
devs. I"ve had this experience a few times now, and it always boils down to
thinking you need to choose the most relevant, most important thing to learn.
You don't. Just choose _a_ thing that is relatively interesting and relatively
important, and spend a little time with it. It will last longer and take you
further than you realize, and also help you contextualize other things you
want to learn. Its not a simple additive -- its exponential. Things in general
are more related than people realize, and this is especially true in tech.
Most skills you learn will translate better and last longer than people give
them credit.

------
werber
Svelte has been my new thing, and I'm trying to be better at writing js tests
even though I hate writing them because hubris

~~~
iwalton3
I picked this up as well after seeing it here a few days ago. I rewrote part
of my site to use it from React, and I really like what they've done with the
component authoring experience.

------
Austin_Conlon
Finishing up the Introduction to Algorithms course on MIT OpenCourseWare.
Interested in many of the WWDC 2019 releases too, but given that there’s over
100 videos I’ve focused on SwiftUI.

------
anderspitman
Most of my time this year has been with browser streaming, async Rust, and
vanilla JS. I think the last has been the most useful. I highly recommend
really learning the DOM. Implement your own client-side routing. Make a view
framework. See if you can make an app without a bundler/build step. Or even
without npm at all. It's fun.

In general, I think it's very valuable to have a deep understanding of your
platform, even if you don't need all that information on the daily.

------
busterarm
1\. Elixir/Erlang 2\. Binary exploitation/Reverse engineering 3\. Danish 4\.
Miniature painting (brush and airbrush)

Things that haven't made me a better developer: Kubernetes, GCP.

------
atemerev
Physics — always wanted to understand how quantum mechanics works. I have a
masters degree in CS, but it included almost no modern physics. After a year
of fiddling with the Griffiths book and spending about $500 on other textbooks
(less useful, though entertaining), I am definitely no expert, but I am
starting to learn some things.

Erlang — because I love the actor model, but I only tried it with Scala/Akka.
Time to try the original.

------
stormtroper1721
Machine learning, kaggle competitions, trying out GPT2 and BERT, learnt c++,
thinking of learning Julia and rust, started a community for teens interested
in coding and machine learning (reddit.com/r/teensintech)

Trying to start your own ml research project. It's pretty hard especially when
you don't have any formal credentials or training.

Is there anyone else here who's been doing ml research without a degree in ml?

------
vmurthy
I'm not sure this relates entirely to tech but (to me at-least) it's a way of
thinking better:

Algorithms to live by [0] - I am an engineer by training and product manager.
I am always on the lookout to improve my knowledge of computer science. This
book helps tremendously by showing a way to _look_ at problems. Certainly
helps to have a better mental toolkit.

Inner Engineering - A Yogi's guide to joy [1] . Has really helped me get
perspective on the issues that matter and how to lead a happier life.

I have been reading up on Physics (Richard Feynmann's books, obviously) and
intend to continue this in the quest for better thinking. I do wish I had done
this earlier in my life :-( but never too late!

[0][https://www.amazon.in/Algorithms-Live-Computer-Science-
Decis...](https://www.amazon.in/Algorithms-Live-Computer-Science-Decisions-
ebook/dp/B015DLA0LE/)

[1]
[https://www.amazon.in/dp/B06XXN19Y9/](https://www.amazon.in/dp/B06XXN19Y9/)

------
osazuwa
Started a newsletter on data science and machine learning, which basically
curates stuff I think are HN worthy, sifts through all the "how to be a data
scientist without understanding math" and "this manga does not exist" posts
for the things that are really insightful.
[https://altdeep.substack.com/](https://altdeep.substack.com/)

Japanese. Learned Chinese in early twenties then started with Japanese until
life happened. Picked it up again, and trying to learn it as a third language
with my wife. Making progress.

Reinforcement learning, but not the deep RL stuff as much as the fundamentals
and theory. Really enjoying working through
[https://agentmodels.org/](https://agentmodels.org/)

Rust, with a colleague, but mostly because I like my colleague.

Will soon take a class on Racket with my wife.

------
k0t0n0
microservices,kafka and Clojure/FP. I just went over the microservices part
and it's already boring. but Clojure as a language interests me but I never
really developed on JVM. so I am skeptic about that. JVM out of the way I
think clojure could be a good replacement for node/php/golang for server-side.

~~~
spraak
So I've been looking into microservices communicating with a persistent
message broker like Kafka and what I'm still not sure about is the frotnend -
that is, I know that the FE will communicate over https with an API gateway
service (so REST or GraphQL) but if the FE needs a resource, how should the
API gateway handle the request back to the browser? The only pattern I've seen
so far is to issue a 201 CREATED for e.g. creating a user. Have you come
across any other patterns for this?

~~~
k0t0n0
I am not sure if I understood you correctly answer your question. are you
asking for resource management (file uploads, etc...) in MS?

------
non-entity
I've started doing linux / BSD kernel development very lightly. It all started
because my supposedly supported network card wasn't working in FreeBSD. I
still dont know shit, and it seems impossible to keep up, but its the most fun
I've had programming in years.

------
rl3
1\. Rust (again) to a high level of proficiency this time

2\. Bringing my modern web stack skills up from indifference to high
proficiency

3\. Math

4\. Houdini + Redshift

5\. Compositing software (ideally Nuke but it's looking like AE or Fusion)

6\. UE4, basic proficiency

7\. Managing things like screenplays and design docs on a continuous basis,
rather than just having these things exist in my head for years on end.

8\. Any interesting medical/biology material I can get my hands on. I'm
seemingly way more passionate about biomedical stuff than I am software these
days.

9\. Cooking things that aren't just nutritious but actually taste good to
other people.

10\. Effective time management for all of this.

The gist of it is pretty much find a bunch of things I enjoy and bounce
between them to maximize efficiency, while maintaining some sort of ongoing
goal system/structure to manage or otherwise guide myself through it all.

------
nikivi
All the topics I want to learn are in my Trello board.

[https://trello.com/b/cu32qF3q](https://trello.com/b/cu32qF3q)

The cards that I assigned to myself I am learning now.

Trello is great as by pressing Q I can only see the cards I have assigned to
myself and focus in on learning them.

~~~
djhworld
How do you consider a card 'done'?

I've experimented with Trello in the past for this, but I always just ended up
with a massive list on the board and spent an unreasonable amount of time
antagonising over when cards should be considered finished.

Might be easy for "learn how to do X", but more difficult for broad topics
like "learn rust"

~~~
nikivi
Once I build out [https://github.com/learn-anything/learn-
anything](https://github.com/learn-anything/learn-anything)

I will move this list there as it will have much better integration as LA will
have a knowledge graph in which I can simply mark topics as learned to learn
and mark my proficiency in them.

For now, I just mark topics as learned when I feel comfortable in the topic.

------
thetrost
Data Science with a MicroMasters (EdX) by UCSD. I've completed two of four
courses: Python for Data Science and Probability and Statistics. The Python
course was good and doable while working full time. I've had quite some
experience with Python to get into it pretty easy, but learned a lot.

The Probability and Statistics course was hard for me and a big step outside
my comfort zone. I cursed it a lot but I'm glad I completed it. I don't think
I would have gone through with it if I hadn't payed for the certificate.

Next are Machine Learning Fundamentals, last but not least Big Data Analytics
Using Spark.

I'm not really sure it made me a better (web) developer, but the process of
learning keeps my brain fresh. Plus, it opens up a whole new and exciting
world for me.

------
ScottFree
Business and marketing. I'm basically running my own business anyway. It's
about time I got better at it.

OS's. I'd like to build my own, but I've been a web developer for 15 years.
It's going to be an uphill battle. I'm halfway through _Learn C the Hard Way_.

~~~
andreiglingeanu
Eh. That's where I stopped on Learn C the Hard Way too. Hopefully I can find
some diligence in myself to finish it -- the webserver less looks the most
interesting to me.

~~~
ScottFree
I'm into the data structures chapters now. Pointers aren't nearly as difficult
as I remember them being in college.

I'm looking forward to the webserver too.

------
valcker
Tech-related: 1\. TypeScript 2\. GraphQL 3\. Rust 4\. AWS (serverless-related)
5\. Functional programming in general

Less-tech: 1\. Lean Startup 2\. Reading "Cultivating communities of practice"
by Etienne Wenger 3\. Trying to understand the rentability of real estate
investments

------
LawnDart1
Learning Piano, 3d design & printing. Improving my inline skating.

And a bunch of computer stuff too, but hell, for the past 33 years of working
in this game, I've learned a bunch of new computer stuff each year. Sooner or
later it all tastes like chicken.

------
ankitg12
Learning deep dive into linux networking
[[https://sysplay.in/index.php?pagefile=lnd_weekend_workshop](https://sysplay.in/index.php?pagefile=lnd_weekend_workshop)]
/system
programming[[https://sysplay.in/index.php?pagefile=lsp_online_training](https://sysplay.in/index.php?pagefile=lsp_online_training)]
/ algo-DS etc. Mostly through online courses in second half of 2019. Wasn't
that enthused about them previously, but having attended one, those are not
bad and have lot of flexibility in terms of schedule and not having to travel.

~~~
ovebepari
Hey there, a guy on the same path here. Care to be connected through twitter /
fb ?

------
the-alchemist
Clojure(Script)!

I've been learning a little Clojure and using it for work, and it's been kind
of an eye-opener. (I've been mostly a Java developer for 15 years.)

And the idea of using the same clean code for the frontend is super
attractive.

------
cableshaft
Trying to learn more mathematics, as that seems to enrich so many things,
including but not limited to programming. Currently reading "Introduction to
Graph Theory" by Richard J. Trudeau.

Also learning a bit of Phaser.js, since I'd like to make an HTML5 game
sometime soonish.

At some point I need to sit down and go through the gauntlet of refreshing all
the skills for job interviews, (especially since I've been mostly
developing/maintaining software for phone systems the past year and a half and
I don't think I want to stick with it). Been putting that off, though.

~~~
Whoaa512
Just refreshed my interview skills with interviewcake.com, Not 100% the only
resource to use but it got me over the hurdle of starting.

------
djhworld
I've been diving into this operating systems course
[https://classroom.udacity.com/courses/ud923/](https://classroom.udacity.com/courses/ud923/)
in my free time,

It's about 9 years old I think, but it's been very enjoyable

Earlier this year I embarked on a project to help me learn how CPUs work, I
ended up implementing simulator for a simple CPU from the "But how do it
know?" book - I have a blog post about it if anyone is interested.

Since then I've been dabbling with learning about RISCV, but it's been slow
progress.

~~~
hakmad
I'm interested in that simulator, it sounds fun!

I started reading 'But How Do It Know' a while back; I never finished it but I
can say that it was a very fun read.

I've heard that 'From Nand to Tetris' [0] is also quite a worthwhile read. A
quick look shows that it not only has a link to a book [1] but also some
freely available notes/lectures as well as some exercises.

[0] - [https://www.nand2tetris.org](https://www.nand2tetris.org)

[1] - [https://mitpress.mit.edu/books/elements-computing-
systems](https://mitpress.mit.edu/books/elements-computing-systems)

~~~
djhworld
Yeah From NAND to Tetris is probably a better more structured approach, I kind
of just went off and did my own thing but I'd imagine it's more fun to get
something playing Tetris!

Blog post is here:

[https://medium.com/swlh/i-dont-know-how-cpus-work-so-i-
simul...](https://medium.com/swlh/i-dont-know-how-cpus-work-so-i-simulated-
one-in-code-bd85f216b49)

non medium link: [https://djhworld.github.io/post/2019/05/21/i-dont-know-
how-c...](https://djhworld.github.io/post/2019/05/21/i-dont-know-how-cpus-
work-so-i-simulated-one-in-code/)

------
Phillips126
As a software developer that mainly builds internal web applications (frontend
and backend) with ReactJS, I've just started looking into improving my code
with Typescript. I've seen it being praised far too much to not give it a try
myself.

Lately I've also been working on an embedded BLE Mesh project at work writing
C, which I found surprisingly fun. Coming from literally zero experience in
embedded systems programming, I found it a fun and rewarding challenge.

I've also been very interested in Rust lately, just need to find a project to
play with.

------
mothsonasloth
Arma 3 modding (C++ and their scripting language SQF). I want to remake the
original Ghost Recon game (tactical realism) in the game engine. Seeing as it
has a lot of the core combat, I just need to tweak it a bit.

~~~
akhilcacharya
That sounds insanely cool! Is the Arma 3 modding support better than Arma 2? I
bought Arma 2 exclusively for the mods.

~~~
mothsonasloth
Yea, the community has progressed a lot more and the documentation (wiki,
example files) is quite well done.

------
automathematics
How to better my mental health while simultaneously figure out how to share
some of the knowledge I've obtained over the past few years with others
(conferences? blogs? teaching? I don't know. Help!)

~~~
DoreenMichele
Blogging is a terrific way to freely share what you know (if money is not a
goal here) and hone your ability to effectively communicate it. Keep in mind
it doesn't at all have to be limited to writing. "A picture's worth a thousand
words." Adding graphics or short videos can tremendously enhance the material.

------
scarface74
I want to learn to be a better presenter. I want to learn to both do better
PowerPoint slides and Visio architectural diagrams especially involving cloud
infrastructure and to learn how to communicate with non technical business
people.

In the past eight months, I studied React and ElasticSearch but never did any
projects at work or on my own so neither went anywhere. However, I did put my
first two Node projects in production and did a Fargate (AWS Serverless
Docker) proof of concept that I’m trying to find time to put into production.
I want to get deeper into Docker.

------
mortivore
Mostly machine learning. Did the coursera course. Some cognitiveclass.ai
related to data analysis and python. Did a couple small projects with ML.Net.
My learning has been pretty scattered, and not as focused as it probably could
have been, but I think I've gotten a lot out of it. I've also been reading
some programmer/development books. This is the first year I've actively
pursued learning outside of a structured environment, and it's been a great
year for this type of personal growth.

------
pliao39
"A lot of the best programmers and the most productive programmers I know are
writing everything in Clojure and swearing by it, and then just producing
ridiculously sophisticated things in a very short time." \- Adrian Cockcroft

[http://blog.cleancoder.com/uncle-
bob/2019/08/22/WhyClojure.h...](http://blog.cleancoder.com/uncle-
bob/2019/08/22/WhyClojure.html)

I want to learn some Clojure!

------
optymizer
Blender 2.8. It's been fun so far.

------
slipwalker
I come from a very strong JAVA background, working most of my 20+ years of
professional life with various flavours of *NIXes; earlier this year got a job
with a company mostly node+dotnet, and an imac desktop. So i have been
learning dotnet.core/roslyn stuff, and it works fine so far. Besides, i learnt
cannot live without a 4k display anymore...

on the "non tech" side, i decided to learn online as much as i can about
digital video filmmaking, as a hobby.

------
brlewis
As a long-time 3/4-stack developer, learning CSS better.

------
sbassi
Japanese. After several failed tries, I got the Genki I book and improved a
lot. Also pimsleur audios we good. Also have a teacher I Skype to when I need
help.

~~~
dvh
If you want few interesting youtube channels (they are not language learning
but interesting normal channels):

[https://www.youtube.com/channel/UCvnmumaXaxiPvBDq90YxByQ](https://www.youtube.com/channel/UCvnmumaXaxiPvBDq90YxByQ)
\- Really nice metal detector guy

[https://www.youtube.com/channel/UC7RQMyUPzbQerM6rKRGqhvA](https://www.youtube.com/channel/UC7RQMyUPzbQerM6rKRGqhvA)
\- Review of toys, mostly beyblade and collectors toy

[https://www.youtube.com/channel/UC4HCI_GJ2ZsueOlqgjApnFw](https://www.youtube.com/channel/UC4HCI_GJ2ZsueOlqgjApnFw)
\- weird student

------
tracer4201
Lots of things in the data space - automation, orchestration, testing,
quality, completeness, and building a data architecture with the proper kinds
of monitors and alarms. Diving into business metrics, separating useful,
actionable data from fluff.

As a hobby project, I stopped using Sublime and other text editors. I have
been using Vim all of this year and have become more competent with various
shortcuts and general navigation.

------
valbaca
tl;dr: Clojure, Spacemacs, and gardening.

I had similar thoughts about Go. I got excited about it but didn't find that
learning it was really that difficult. That's good if you're learning it to
quickly use it but I'm looking to expand my mind.

Now I'm learning Clojure. I don't know if I'll ever use it, but learning it
(like people always say with Lisp) has been an experience. I'm still working
through learning it and I won't lie, it's been challenging. Been having to
remap a lot of mental models and re-thinking loops and objects.

I'm also learning Spacemacs. I've been a hardcore Vim user for nearly a decade
now. I've tried also learning Emacs but just couldn't get past the C-x and M-x
for everything. I know it's a tired punchline, but it's like it was created to
be anti-ergonomic. I've been using Spacemacs for just a couple of days and
coming from Vim, it's amazing. I'd highly recommend it to anyone that's
already very familiar with Vim. It's got a learning curve, but after using for
just a couple of days I feel I'm already coming out on the other side of that
curve.

In non-tech, I just bought a house and have been learning gardening. Nothing
serious and in fact intentionally NOT taking it too seriously and not over-
planning. I've already grown my own carrots, peas, radishes, and even some
pretty flowers for my wife. It's been incredibly satisfying to make dinner and
look at half my plate and say, I grew that.

I've even had some failures but you just stir it into the dirt and keep on.

I know it's not tech, but having a hobby that isn't in front of a screen nor
sitting down has been great. I used to just play video games and my body was
just not having it anymore.

------
bdcravens
Clickhouse - the speed and cost savings I'm able to get out of it for
expensive database queries is some next-level wizardry.

------
nvarsj
I’m half way through my MS via OMSCS. Last class I took was on high
performance computer architecture where you intimately learn about Tomosulo’s
algorithm. I highly recommend the program for lifelong learners.

Otherwise I’ve been trying to re learn Emacs with the rise of LSP - such that
I can do most of my work now in Emacs. I’ve been using doom-emacs to great
success.

~~~
person_of_color
Are you planning on getting a new job after?

~~~
nvarsj
No plans. I didn't do it to get a new job, just to learn new stuff.

------
SkyMarshal
Zero Knowledge Proofs and related cryptography. These will probably be
impactful as they mature in the coming years and decades.

~~~
plolio
Do you mind sharing how you got started with ZK Proofs? And in what way do you
apply your knowledge?

I tried getting deeper into it using ZoKrates[1] (zkSNARKs) but back then the
docker image was broken. [1]
[https://github.com/Zokrates/ZoKrates](https://github.com/Zokrates/ZoKrates)

~~~
SkyMarshal
I can't think of anything I'd strongly recommend yet, I'm just reading
anything and everything at this point. There's tons of info about it, I'm just
trying to sort through it all.

------
kahlonel
Learning to play a guitar, and some basic music theory. I wish I had started
it earlier, but I guess it is never too late :)

------
badrabbit
Not a dev but I have been learning python more. I did a lot of things in the
past with 2.7,now learning 3.x.

That aside,malware analysis. I've tried using Ghidra a bit but I've mostly
been learning how to use procmon for dynamic analysis in windows and IDA to
unpack and figure out your run of the mill windows malware.

------
george_ciobanu
Clojure, Hoplon web framework and Datomic.

------
z3t4
I'm reading a Rachel or Joel post only to realize I've already read it before.
And realizing that entrepreneurship is mostly about luck and timing. And that
you do not earn money by making a good product, you earn money by buying
something then selling it at a higher prize. eg. hustling.

------
phaedrus
Coq proof assistant, and started working through the book Certified
Programming with Dependent Types.

------
cjbprime
Not a specific tech, but infosec and CTF competitions, often learning from
YouTube videos e.g.
[https://old.liveoverflow.com/binary_hacking/index.html](https://old.liveoverflow.com/binary_hacking/index.html)

~~~
CodeGlitch
I've been doing a similar thing. It's amazing what you can learn from CTFs.
IppSec on YouTube is also a great resource for walkthroughs of HackTheBox VMs.

------
rpastuszak
Product design using Human-Centered Design principles and public speaking,
obviously learning by practice—I’ve spent too much time staring at the
keyboard in the past two years and this feels both somewhat intimidating and
fun.

------
rapphil
I've been waking up early (6AM) to learn Golang and Clojure. I't has been
refreshing and I even fell more productive at work. (I work with Python most
of the time).

------
cryptoz
Flutter/Dart, ML with python, general software architecture.

Coming from a career in Android/Java/Kotlin. The new planned skills are to
enable completion of projects I have in mind.

------
crb002
Angular/Spring simple app .Net Core simple app Kmett's Xuangi. Small
Rust/Postgres app for benchmarking against my Django (likely swap over at some
point).

------
antoinevg
Analog electronics, working to get past the "wire things together and hope
they work" stage and learn how to design circuits from scratch.

Edit: Oh, and Rust as well :)

------
wiseleo
Mathematics. Specifically, best ways to learn and teach the fundamentals of
math that helps to rediscover math rather than rely on rote repetition.

------
abdullahkhalids
Quantum machine learning. I completed my phd in quantum information last year,
have an assistant prof job, but looking to jump into the quantum computing
industry.

~~~
reilly3000
I'm a novice in both topics, but it has always seemed to me that quantum
mechanics and machine learning have a lot of natural alignment, as they both
deal in probabilities. Is there anything you recommend for reading up on the
subject?

~~~
abdullahkhalids
You can always start from some online courses. This Coursera course is no
longer available I think, but the video lectures are available
[https://www.youtube.com/watch?v=Z1uoz_8dLH0&list=PL74Rel4IAs...](https://www.youtube.com/watch?v=Z1uoz_8dLH0&list=PL74Rel4IAsETUwZS_Se_P-
fSEyEVQwni7) Great introduction to quantum mechanics and quantum computing.

I am taking this quantum machine learning course these days.
[https://courses.edx.org/courses/course-v1:University_of_Toro...](https://courses.edx.org/courses/course-v1:University_of_TorontoX+UTQML101x+2T2019/course/)

------
plolio
Tech:

\- how to write a dashboard with React & Redux and a Python backend

\- fast.ai

\- solving various (beginner level) CTF challenges

Non-tech:

\- Sounds lame but it's rather interesting: Risk Assessments and Risk
Management

\- nutrition

\- improving my guitar skills

\- meditation

------
orn688
Out of curiosity, how did you get started with distributed systems side
projects? Do you use e.g. a bunch of Docker containers or cloud VMs?

~~~
dadoge
docker-compose is fantastic for playing around with to spin up a bunch of
servers with one “docker-compose up” command on my local laptop.

~~~
o-__-o
Would you find value in a lab that allowed you to spin up servers like this
but at scale (500-1000)

------
qznc
This year our project is supposed to go into series. So I'm learning a lot
about ISO26262 and safety and what that means in practice.

------
o-__-o
Business management software, trying to start a startup yet again.

Also, [http://comma.ai](http://comma.ai)

------
gaahrdner
Golang and security. Golang is super weird to me compared with Ruby and/or
Python. However, I can buy into its benefits.

------
roschdal
Russian

~~~
duncan-donuts
I spent about 9 months 2 years ago learning Swedish. It was really fun and I
enjoyed watching Swedish tv shows. I think learning languages just because is
pretty rad

~~~
nvarsj
How did you learn? Immersion?

~~~
spraak
My daughter speaks super well from watching Swedish shows with the app
Barnkanalen SVT - just use a VPN with an address in Sweden to access it.

------
tootie
Electronics, lighting, sensors, display tech.

~~~
colecut
What are your favorite resources for learning about these things?

~~~
tootie
Having a gun to your head to deliver a working prototype is helpful. And
working directly with experts. I'm doing most of this on a pro budget so I can
buy all sorts of hardware as needed. Having resources and a defined finished
product to strive for really helps you focus.

------
repeek
Teaching. This will be my 1st semester as an adjunct at my local community
college teaching Project Management 101.

------
espennilsen
Non tech: Spanish

Tech: Python (I am not a programmer by trade today)

Generally just hooked on self development books, I blame Tim Ferriss.

------
fillskills
Elixir - Because it is awesome

Product Management - Because it is challenging

Security - App, Asset, Container. Because it is a must

~~~
decebalus1
Did we start to automate our HN comments with AI?

EDIT: OP just added line breaks. Imagine the same post without them.

------
omar12
Tech:

\- Computer Science: Having a designer background, I didn't have the
opportunity for formal training.

\- React and its ecosystem

\- TypeScript

Non-Tech:

\- Music Theory

\- Synths

------
dandigangi
Invested in learn Go and a little Kotlin. Trying to balance out my JS skills.

------
kevando
Sketch comedy writing

------
fspear
Rust & Kubernetes

------
enz
Rust, Mithril v2, business, Japanese.

------
oseifrimpong
Golang for building microservices.

------
kissgyorgy
Kubernetes, Kafka, Microservices

~~~
spraak
Hey, I've been learning Kafka too and posted this on another sibling comment:

> So I've been looking into microservices communicating with a persistent
> message broker like Kafka and what I'm still not sure about is the frotnend
> - that is, I know that the FE will communicate over https with an API
> gateway service (so REST or GraphQL) but if the FE needs a resource, how
> should the API gateway handle the request back to the browser? The only
> pattern I've seen so far is to issue a 201 CREATED for e.g. creating a user.
> Have you come across any other patterns for this?

~~~
dkoston
Most likely the API Gateway speaks HTTP so it's no different than
communicating with any other HTTP API. The API Gateway has a number of roles:
routing requests to the right backend(s), checking the health of one or more
backends, providing a single point of contact to the outside world (reduces
the number of systems you have to lock down related to access from the
public), holding api documentation, and others.

Think of the API gateway mostly as a router that allows you send requests to
many different pieces of software behind it.

As far as patterns for HTTP Status Codes, you should take a look at the RFCs
that define them:
[https://tools.ietf.org/html/rfc2616#section-10](https://tools.ietf.org/html/rfc2616#section-10)

------
onetype
RF engineering and Meditation

------
vuyani
nand2tetris

~~~
AlchemistCamp
That's an _excellent_ course/book!

------
tosh
k

