Live data from Hacker News

Ask HN: What technologies did you learn in 2018?

news.ycombinator.com

381–390 of 620 posts

Re: Ask HN: What technologies did you learn in 2018?

#381

React Native I had a use case that I wanted solved for automatically tracking how much crypto I own on exchanges that hasn't been done by any other apps/websites. Used it as a learning/side project, and got the mobile apps on both app stores (they're not as picky as you would think, especially the google store). User base of 1 (me). Web app/api in rails. I used create-react-native-app (Expo) and have not ejected yet.…

Elixir/Phoenix and React Native are my 2 main goals for 2019 :) I'm a full stack engineer and I feel like

- React native will allow me to broaden my pool of clients by being able to do mobile apps - Elixir/Phoenix and this live view might make my web dev life much easier on a lot of project by not having to use the js ecosystem!

Re: Ask HN: What technologies did you learn in 2018?

#382
post #375

Picked up some Go. Still cannot for the life of me figure out why it's so popular (please don't reply with statically linked binaries)[1]. In the infrastructure and ops space it seems to be slowly eating Python (sadness). When in Rome, do as the Romans do. [1] Such a benefit doesn't matter in a containerized world.

Performance wise Go is worlds ahead of Python.

Sure, no strong disagreement there, but it doesn't matter for most operational and infrastructure tooling where the language and ecosystem really seems to have taken off. Hell it barely matters for most web services or apps once you factor in database or other IO latency.

It does have a nifty concurrency system.

I do like that most Go code is idiomatic because the language really kind of restricts you to writing it a certain way.

I wish it had a less verbose way of dealing with errors... some kind of function composition along with better formalization of Go's multi-return (e.g. Try, Either types) would be nice... of course without generics that is likely tricky.

I'm happy I can read and write it, but for my personal work I'll be sticking with some mix of Python and Java/Kotlin.

I think in 2019 I'm going to really give Rust a shot.

Re: Ask HN: What technologies did you learn in 2018?

#383
Nothing. Strangely enough, I can't think of anything new techy that I learned this year.

I've worked full time remote in mobile and machine learning the last 3 years, but this year is special. This year has required me to set my own motivations and goals aside to really be there for my 18 months old daughter, and for my wife. At first I tried to resist and focus on both my family and my career, but I found it hard to be my best self for them.

I took a step back from the stress and greed. I learned that I need to keep my career out of my head when I'm caring for my daughter. I'm more motivated than ever to do some cool projects in 2019. And I've learned that I need to maintain a mental balance between work/passion/me and my family.

Towards new beginnings, and growing as a person.. :)

Re: Ask HN: What technologies did you learn in 2018?

#384
post #348

Polished my Golang skills and Python skills. Studied the Deep Learning Book Theory and toy examples with Keras and Torch. Some good ol C by implementing linear solvers. Understood the inner workings of bitcoin and started working on a better version of it. Most of all the month I spent pouring on Homomorphic Encryption literature was very useful. I also went trough some cryptography books (math from Koblitz book and…

What do you use Go for? Python is my go to language, but I'm increasingly seeing things supporting Go too. When would you pick one over the other, do you think it's working learning Go or just focusing on python?

I prefer the static typing of Go. I feel like code is less likely to have bugs and far easier to understand when I've got static types sent to and returned from every function.

The concurrency of Go is the main feature over python. Python is still faster to write. But very often I want several processes running concurrently and pythons async features just don't cut it. It's so easy to understand goroutines and channels.

Re: Ask HN: What technologies did you learn in 2018?

#385
post #32

Rust! :) I've been working full time with Rust this year for web development using postgres. The language and ecosystem have largely been sufficient for creating a robust platform. I have been working with the latest version of stable Rust all year and have never experienced breaking changes. Working with futures was unnecessarily difficult. Async/await is releasing next year, hopefully in Q1. This will simplify futu…

Have you tried writing a doubly linked list? https://rcoh.me/posts/rust-linked-list-basically-impossible/

1. Do you often try to implement data structures like this? In my practice, arrays are almost always better. 2. Beside that, you may argue that I use "Don't have therefore is not required" argument. But it contained partial truth: if you fight Rust program model then you have to do some extra steps to achieve it. Rust borrowing model considers one owner who can share its data among consumers. And this is damn common situation. I written a whole telegram bot with futures, using Arc container only once, to share my http client across the threads.

If you fight GC in Java then you have same troubles: all this stuff like weak pointers, byte array storages, reflection, etc, etc... If you are trying to write imperatively in haskell... And so on. If you fight language ideas, then your code becomes more complicated. The answer here is that you shouldn't have to do it often.

Re: Ask HN: What technologies did you learn in 2018?

#386
I learned (significantly more of) Python, which I had previously resisted for a long time due to my dislike of the language (said dislike has only worsened, but it ended up being the best tool for a couple jobs, and it's what my employer uses, so it was a matter of time). One of those Python projects also involved learning about Qt5, enough of the winspool API to send a ZPL document to a Zebra printer, and enough of Python's ctypes-based FFI to glue the aforementioned winspool API knowledge to the program I wrote.

For personal projects, I've learned at least a little bit about how parsers work by writing (a pretty awful) one from scratch (bitbucket.org/YellowApple/otpcl), and I'm hoping to fulfill my 2018 New Year's Resolution by adding a simple interpreter to that project (the parser tests include a half-baked prototype, but I need to flesh that out to actually track interpretation state, be able to run real Erlang functions, etc.). If all goes well I'll have something that's properly Show-HN-worthy by the 1st.

Re: Ask HN: What technologies did you learn in 2018?

#387
LLVM. I've been learning by creating a toy programming language and compiler, implemented in Python with the llvmlite library.

https://github.com/syegulalp/Akilang

There's a couple of included demos like Conway's Game Of Life.

Sorry it's Windows only for now! I'll add Linux support once it's all not quite so in flux.

Re: Ask HN: What technologies did you learn in 2018?

#388
I started at a new company working on the data pipeline. So I picked up many things related to that. Java, Go, NLP, ElasticSearch, RabbitMQ/Kafka.

My most fun project of the year was learning NLP and implementing a tokenizer for phrase identifier in Arabic, which I don't speak, but the sentence structure is similar enough to english that I pulled it off.

Re: Ask HN: What technologies did you learn in 2018?

#389
* Physics Simulation - I wrote 2D physics from scratch for this game http://noisyowl.com/disks/ and the ability to actually use the implementation of the physics engine as part of how you solve design problems was absolutely worth it. If you're a programmer making a physics game, I'd recommend writing your own physics as long as you need at most one of: gravity, polygonal objects, and rotating objects. I think I might try something using one of these engines for 7DRL this year.

* Unscented Kalman Filters - These are really cool, wow. I'm pretty sure the unscented transform has a lot more potential than just being used with Kalman filters too, someone should investigate that. Also this year I learned that the truncated Kalman Filters I've been developing for the past few years are a lot more useful and powerful than I realized, and I'm interested in exploring more general ways to use those. (Unfortunately Google won't let me publish these though.)

* Vertx server - Web server frameworks generally manage to make me mad, and this is the first one I was actually happy enough that I'll keep using it. Has a few rough edges though - I wrote a multiple database query method by hand, and Vertx's JsonObject type makes it really easy to accidentally create an infinite loop.

* Elastic beanstalk - Is actually kind of terrible? And yet it's so much closer to what I actually want (run my jar on X machines, reboot as needed, never think about it again) than what I've used before (actual servers, ec2, app engine) that I'm also sticking with this.

* Postgres - I mean I've technically used postgres before but I wrote a reddit clone from scratch this year so I know a lot more now. Hey it's as good as everyone says, go figure. Also pgadmin is so bad, wow.

* Peg.js - Parsers have always been intimidating to me and playing with this really cut down the intimidation factor. I'll write my own parsers for anything important, but still use this for prototyping grammars. The idea that you can have a dirty prototype of a grammar is mind-blowing to me though.

Post reply on HN