Ask HN: Which technology are you learning or are you planning to learn?
I am a desperately curious developer and I was wondering which technology are you currently learning or are you planning to learn in the near future and why?
I am a desperately curious developer and I was wondering which technology are you currently learning or are you planning to learn in the near future and why?
Learning how to apply clean architecture (ref: Robert C Martin) when using a large framework like rails/django. Learning ruby, rails, and django (already quite familiar with python. Been using flask for everything I do so far).
Building a real time application. Learning meteor and how to apply TDD with meteor.
Building a front end heavy single page application. Relearning HTML and CSS properly. Still deciding whether to use React or Ember. Ember's documentation is bad but I've already put up my hand to help improve it. I really want to help. But react is just looking really good and it's docs are stellar. To the point that I feel like I'd be missing a bus if I ignored learning it. Will probably toss a coin on that.
1. Networks and protocols
I know most of the TCP/IP stack, physical through to application layer, but lack expertise in most of it. For example, it couldn't tell you how to pack a query in a DNS packet even thought I know the header and body format - or tell you how TCP Fast Open works, despite knowledge of the 3 way handshake.
Security and exploits:
I'm really interested in exploiting software. In fact, just today I developed a buffer overflow vulnerability in a HTTP server that can be exploited by a maliciously crafted HTTP request (a dummy server for educational use)
Operating Systems:
Likewise, I have working knowledge of operating systems but nothing exemplary. I could talk to you about interrupts, ISRs, user level v.s kernel level threads, the VFS, etc..., but lack hands-on experience with any of them.
Finally, and to a lesser extent (I haven't got that far yet) the Linux kernel.
It's a lot, I know. However, it's becomes obtainable when you realize people dedicate years to their craft. You just have to be persistent, self-motivated and enthusiastic - the rest takes care of itself
I find the ML languages fascinating in their approach to programming. I think there is a pragmatic side to MLs that gets ignored due to their background in academia. The way you set out to model your programs is interesting and a nice change coming from languages like Ruby/JS where you tend to run around with your head cut off.
Functional programming. I've been trying to wrap my head around the paradigm. I'm using clojure instead of haskell, but the principles are still there.
Also I want to get more on the backend side so I've done some small projects with Node but I'm going to start to learn PHP and Symfony2 since there are no Node jobs where I'm from.
And generally I'm trying to improve the quality of my code, so I'm working slowly through Code Complete 2.
The language is indeed quite basic, but to me, that is one of the factors that I like about it.
ES6 and React. I haven't really done any JavaScript development since I used CoffeeScript and Backbone two years ago. Hopefully ES6 and React will have a relatively longer shelf life.
After that I'm probably going to learn HTML5/CSS3/JS and some JS framework. Also I really want to learn MeteorJS or Elixir.
I've heard of Kotlin few times, but it never had my interest. I will give a try some day.