Ask HN: What new skills are you learning?

47 points by zuck9 ↗ HN

119 comments

[ 4.7 ms ] story [ 189 ms ] thread
React/Flux of course! Who isn't at this time?
Lots of people aren't drinking the koolaid.
Those of us holding off for Web Components?

That being said, I'm quite excited for React Native.

Everyone that doesn't do web development?
lockpicking and blacksmithing
After interacting with a few lawyers I realized I am severely lacking in communication and people skills. Their emails were inviting but not over the top. My emails were either too curt or too verbose.

When talking to people face to face, I also work on adding value without rambling. Breathing more helps a lot.

And for fun I'm learning how to draw. Here is some of my work.

http://www.redbubble.com/people/kelukelu https://twitter.com/KeLuKeLuGames/status/553404094958694400/...

I really need to do this too. Programming and social skills are each others' enemies.

How are you learning to draw? Did you check out http://drawright.com ?

Yes! I heard draw right is a really good book. But learning how to draw is like learning how to program: too many resources can cause analysis paralysis. I really just need to shut up and draw

The first thing I did was draw the alphabet every day. For example, I would draw something that started with the letter a, then the letter b the next day, etc. It took me more than a month to finish but I saw a huge skill improvement from the later drawings.

How are you working on improving your written communication skills? I think that's something that I and others have lots of room for improvement in as well.
I have three short answers for you.

1. http://www.amazon.com/Writing-Well-30th-Anniversary-Nonficti...

2. Watch the video at the end of this link: http://fivethirtyeight.com/features/watch-me-write-this-arti... The take away is write, rewrite, rewrite, rewrite, and rewrite some more.

3. Pay attention to the people who write well in your life. When you read an email that feels well written try to figure out why you like it. And use those elements in your future writings.

For writing, I am almost done with this book and it is great:

Writing That Works; How to Communicate Effectively In Business by Roman and Raphaelson

Stresses clarity and writing how you talk.

Passively learning survivalist skills by watching Survivorman.
Distributed computing using Python

Techs: HBase, MLLib and Spark (Most of my time)

Spatial SDR Reconstruction with NuPIC (1 day a week)

Spanish using Duolingo (20 mins a day)

Game development with ImpactJS (only 1 day a week)

Hey could you provide some resources for learning Distributed Computing using Python. I was thinking of using Go but since I know python to a considerable extent, I wanna give Python a fighting chance for making distributed systems.
Sure thing -

I'm not one for reading books I think there's more value in just building stuff:

Check out Prediction.IO - http://prediction.io/ it's an out of the box machine learning server, it uses hbase, but hbase in this configuration is sitting on top of the local filesystem, not HDFS -- so the first task I assigned myself was to learn how to setup hadoop, and then configure HBase to store data in HDFS.

Once I have that, I'm going to use PySpark to use spark to query the data. (Thats where the python comes in)

Another cool project (not related to the tech stack above) is Pyro https://pypi.python.org/pypi/Pyro4 ... this consumed a whole weekend of mine a few weeks back, building a small distributed search engine for querying compressed DNA sequences ... think a parallel boyer-moore. As a learning exercise try doing that, it's great fun!

VHDL. I'm planning on making an FPV quadcopter using an FPGA + using analog signal transmission on a personal project.
Very cool. What tooling are you using? I've found the world of FPGA tools to be bewildering to the point that I've abandoned my projects and my Nexys3 languishes in a drawer.
I would suggest using myhdl (www.myhdl.org), and then plugging the verilog/vhdl it generates into your vendor's tools.
Thank you! I'm looking on the internet for help/books also.
It's still in the idea stages, why my original idea of sending an FPGA doing active video processing would be computationally and energy expensive, where transmitting a low-latency signal to a processing unit on the ground wouldn't cost an arm and a leg. I'm looking at a ZYNQ-7000 board because the free eBook by Xilinx looked very approachable to a newbie at hardware design. If optimized properly, I'd hope to be able to integrate the quadcopter controls onto a better fpga and be a single unit. It's gonna be an all-summer project.
Learning how to build a product business alongside my consulting via [the latest version of] Amy Hoy's 30x500 course.
Mandarin Chinese
Me, too! My whole family (wife + two young kids) started private tutoring about 6 months ago. What kind of resources are you finding helpful?
I learned a bit on my own time last year. Check back on this thread in a few days—I'm writing up a post detailing how I went about learning it with links to a whole bunch of resources. It'll probably be useful to you, so I'll post it as a reply to you here once it's done.
Business development, product distribution
Some basic music theory so I can write my own chiptunes :-)

Also planning to give Haxe a try one of these weekends, to see how pleasant it is for coding small browser games.

I've finally decided that regular expressions are not witchcraft and that I need to learn how to use them.
I spent an entire day trying to decipher how to replace spaces with tabs. Wish I had been better with regular expressions.
I hope this isn't flippant, but have you read the Perl regex man pages [0]? "Perl compatible" regexes are very common, and are explained _really_ well. Similarly, the Perl Cookbook (from O'Reilly) has a whole chapter on regular expressions -- even crazy ones like detecting US phone numbers (hard!) -- with explanations. That chapter is QUITE good, and I highly recommend it even you don't write Perl.

For your specific problem at hand, I assume you want to replace spaces with a tab character.

In Perl, you could do:

  # replace four spaces with a tab, globally
  $line =~ s/    /\t/g;
You can do this directly on the command line as well:

  perl -e 'while (<>) { $line = $_; $line =~ s/    /\t/g; print $line; }' < foo_spaces.py > foo_tabs.py
I have a gist [1] which has very slightly more comments, if you prefer. To paraphrase XKCD, there are now N+1 regex explanations, and I apologize that mine is comparatively worse than all of them. :)

0: http://perldoc.perl.org/perlre.html 1: https://gist.github.com/gknoy/94c382299c4543f2e863

(comment deleted)
Thanks for sharing the man page link. I am reading it now! :)
Have you looked at sed yet?
Sed was the problem. On Mac the syntax is slightly different and it doesn't take \t as tab. Those two curve balls took some extra research.

I didn't actually take the entire day. :)

Any recommendations on learning them, e.g. tutorials?
Tip: You don't have to put the entire expression in one line
Past 6 months I was learning Go, but I started looking into Rust yesterday and am tempted to give it some attention.
Squeak Smalltalk, the computer revolution is coming!
VR Development (Unreal Engine and Unity) and 3D modeling (Blender)
Fellow game developer, hi!

After becoming annoyed with how hampered I was with acquiring 3D art assets, I too am trying to get into 3D modelling with 3DS Max.

I think I've got the hang of it, found out about edge loops yesterday, and I've created a small 'office room' for my game!

Go Language. After working with Java for 10 years, it seems to provide a good alternative.
Symbolic logic. Years ago, I did a paper in logic which my professors initially took to be of publishable quality. They took a closer look and decided that I needed to clean it up a bit.

I've finished reviewing Aristotelian logic and am now going deep into modern logic. I don't know for sure, but I have a hunch that my paper will be of use to mathematicians.

Cool! I would love to read it! When you release it, could you email a copy to me? (email in profile)
Haskell, and functional programming at the same time. In school I wasn't properly introduced to it (learned some Lisp on paper, during half a semester, and that's it). It's quite the steep road so far, especially since I can only work on it during spare bits of time.
I'm also looking into learning Haskell and I know a very little about functional programming (I'm still in university but I think no one will ever introduce me to that), any advice on where to start?
Here's a free e-book on Haskell that I used in university: www.learnyouahaskell.com

You can also support the author by purchasing a copy!

Edit: I'm new and do not know how to make that into a link. Sorry about that.

It looks well structured and I found a lot of positive reviews about it, I will give it a try! Thanks :)
I've been learning Haskell for the last year and a half, though I've been working with functionally inspired languages for 8 years. Haskell is wonderful, easily the most fun I've had learning a language in 20 years.

I'd advise not getting distracted by monads and other glamorous parts of the language. Monads are pretty abstract, and they won't likely make much sense until you've written enough Haskell to feel the pain-points they address.

I've learned a lot by reading blog posts from these people:

* Aditya Bhargava: http://adit.io

* Gabriel Gonzalez: http://www.haskellforall.com/

* Joseph Abrahamson: http://jspha.com/

* kqr (I don't know this person's full name. Avatar not withstanding, I'm pretty sure kqr isn't David Bowie): https://github.com/kqr/gists

* Edward Kmett: https://www.fpcomplete.com/user/edwardk

Most of all, I advise not getting discouraged. Haskell has a lot of concepts that seem intimidating. Many times I've spent days trying to figure out what the hell a contravariant functor is, only to get really discouraged. At times I've doubted my own abilities and whether learning the language was worth it. I stuck to it, and a year and a half later I'm pretty damn capable with Haskell (and I know what a contravariant functor is!) and I'm having the time of my life learning more about it.

Thank you, I have seen a lot of interesting examples over there, I can't wait to understand more about them!
Me too. I learned the basics at uni in 2000. Had a few plays since but I really need to get stuck in - I want to get to the point where I understand the fancy stuff like Lenses. Beyond the cool stuff I strongly believe it can be really practical and I would like to convince my employer (or any employer!) to seriously consider it for a production system.

You can't hire Haskell programmers by the 40ft container-load like you can with Java or C#. You won't need as many Haskell programmers though. And they should get paid accordingly :-)

Haskell has a duality: It is a nice "toy". I mean that in a good way - fun to play with, enjoyable to code. But also I can see it being a serious contender for writing Enterprise systems where you need clarity, accuracy and readability of business rules.

Haskell functions can extend Enterprise systems in an elegant and powerful way, by adding on rules that are safe because they have no side effects. They can only affect things indirectly through their returned results.

This means the basic Enterprise system you ship can be simpler and then you can customize it more easily and with more confidence. I envisage smart non-programmers can probably write the custom business rules as tight Haskell scripts.

TL;DR I want to cut the cruft with Haskell!

Electronics. I got started with a spare Raspberry Pi a friend gave me. I got hooked and test as much things I can get my hands on. I now have a BeagleBone Black, a few Arduinos on the way and lots of sensors.

There are a lot of interesting small projets you can do with small electronics.

I've been (very slowly) working my way through "Art of Electronics" for the last few years, and I highly recommend it for the next level of depth below Arduino et. al.
Kickboxing

I'm 36. It's time to take this whole body thing serious.

Swift, React, long-distance running (surprisingly, there are things to learn about endurance running)
(comment deleted)
Processing. Too many times I've spun my own little mini-library just to play around with some basic animation on the canvas.
Ruby on Rails. I'm moving from a PHP product to a RoR agency. Start dates in 2 weeks and I *can't wait.