HNHacker News
TopNewBestAskShowJobs

verttii

232 karma · joined May 10, 2019

submissionscomments
verttii··on Sweden gives employees unpaid time off to be entrepreneurs (2019)
I had no idea the IT consultant salaries were higher in Stockholm compared to London. What kind of rates would an IT consultant be expected to pull in Sweden?
verttii··on Is parallel programming hard, and, if so, what can you do about it?
Haskell absolutely lacks the soft documentation needed to attract new people. Just about every library could use a "mini tutorial" in their README, at the very least, to allow even novices to quickly bootstrap them and start getting productive without having to understand all the underlying concepts.
verttii··on Is parallel programming hard, and, if so, what can you do about it?
Isn't Software Transactional Memory more for concurrency than parallel computing though?
verttii··on Android programming, looking for good guides for beginners
Interestingly, the docs for Flutter are comprehensive and overall just really excellent.

Maybe they shifted focus to that in the past years.

verttii··on Pattern Matching in Ruby 2.7 (2019)
Thanks!
verttii··on Pattern Matching in Ruby 2.7 (2019)
It's typical in statically typed functional languages to match against Algebraic data type value constructors. These ADTs have a fixed amount of variants, which makes it suitable to do a clean pattern match.

ADTs don't exist in OOP. It gets more complicated to do matches against classes whose abstractions are not really decomposable so easily.

verttii··on Pattern Matching in Ruby 2.7 (2019)
It is, from top to bottom.
verttii··on Pattern Matching in Ruby 2.7 (2019)
You got any links to share on this? I'm doing a bit of academic study on the subject of pattern matching in OOP.
verttii··on Pattern Matching in Ruby 2.7 (2019)
You mean that guards + destructuring would effectively be the same as pattern matching in function's params? Pattern matching would allow matching against more complex data structures more comfortably though.
verttii··on Elixir lang 1.10.0-rc0
My point was rather that that's where Elixir excels.

Throughput is always a compromise with latency in garbage collectors and schedulers.

Elixir prioritizes low consistent latency with its garbage collector and preemptive scheduling. Whereas many other systems, such as Haskell's GHC compiler/runtime prioritize high throughput instead for better computational performance.

All the computations have to run inside a process in Elixir. Erlang's platform constrains each process so that any single process cannot hog all the resources available. Therefore, you need to split the computation to many processes when you do CPU intensive work. And processes carry message passing overhead, leading to reduced maximum throughput.

Something like lots of small messages with minimal processing (think: chat) over a bunch of network connections sounds like the ideal sweet spot for Elixir.

verttii··on Elixir lang 1.10.0-rc0
Fair enough, I should've put it more general like "distributed computing". Something that does networking stuff and prioritizes low latency instead of high throughput.
verttii··on Elixir lang 1.10.0-rc0
I actually have a similar experience. This is basically due to having no type system, at least the problems we've encountered.
verttii··on Elixir lang 1.10.0-rc0
It really depends where you're coming from. If you're from the enterprise world I'd expect you'll find the ecosystem limited for anything else than web related, maybe even for enterprise web integrations. If you're coming from something even more niche (for web) like Haskell you'll think the ecosystem is flourishing.

Libraries are generally of good quality and reasonably well documented. The community is very energetic and supportive. Moreover, there's an exceptional range of libraries and solutions available for certain problem domains in which the Erlang platform excels such as distributed concurrency and soft real-time applications in general.

If the problems you work on fall outside of the web sphere Elixir is not a good fit generally.

verttii··on Clojure for the Erlang VM
Elchemy too which is based on Elm.
verttii··on Clojure for the Erlang VM
That was also the first thing I was looking for in the docs. I mean how it ties to the Erlang OTP. It's the reason why anyone would use Erlang's platform after all.
verttii··on Flutter vs. Other Mobile Development Frameworks: A UI and Performance Experiment
It takes like a few days to pick up and you can easily be productive from day 1. Dart's been around for some 8 years already, I'd assume Flutter bites the dust sooner than Dart will.
verttii··on Flutter vs. Other Mobile Development Frameworks: A UI and Performance Experiment
Wow this looks interesting, I don't know why it has slipped right past me so far.
verttii··on Flutter vs. Other Mobile Development Frameworks: A UI and Performance Experiment
My experience is similar with yours. With React Native I had to fight just about everything on Android just to get everything working bearably. Hell, even some things like the profiler didn't work in Android when I was writing RN.

For now I'll stick to Flutter, it has simply awesome tooling. Everything just works. Dart, while not my favorite language, is also no more difficult than typescript to grasp, and they're inherently similar.

verttii··on Flutter vs. Other Mobile Development Frameworks: A UI and Performance Experiment
My experience with Flutter is that you need a lot less native code than you do with React Native.

However, the hands down best part is the tooling. Unlike on react native everything just works on Flutter. It doesn't feel nearly as fragile.

verttii··on Physics, History and Haskell – Interview with Rinat Stryungis
Is it really? Got no exposure to C++ but the rabbit hole goes pretty deep with Haskell.
verttii··on Write Junior Code
True, but the problem is that any production ready library you come across uses some pretty advanced type magic that you have to learn to understand. At least to some extent.

Servant, the currently dominant API library/framework alone is already based on type level programming.

verttii··on Write Junior Code
There's also some work pushing Haskell to perform better (more like Elixir) in networking/concurrency applications: http://www.well-typed.com/blog/2019/10/nonmoving-gc-merge/
verttii··on Write Junior Code
I used to have the same wish as you but then I just decided to pick up Haskell. Haskell's hard part really is the type system. It's also what ultimately enables you to write very high abstraction level type safe code that does exactly what it's expected to do.

Btw you may want to keep an eye on this: https://wende.github.io/elchemy/

Honestly, I wish this would get more traction, it seems like an awesome intersection between type safety and practicality.

verttii··on Python Type Hints
As someone mostly writing functional languages I'm always having a hard time writing decent functional code in Python. There's almost no facilities to support modern functional programming so it just doesn't feel idiomatic in Python.
verttii··on Hippy: React Native Alternative by Tencent
Or a weapon.
verttii··on WTFPython – Understanding Python through surprising snippets
Aren't Python's lambdas expressions while JS's arrow functions are not?
verttii··on Alan Kay: Smalltalk is not about objects, it’s about messaging (1998)
That's not how you would persist to the database. Processes (Erlang VM threads) have mailboxes that process messages (like records to be saved to db) in a queue. Everything is built around message passing, each process just handles its own narrow job.
verttii··on Fast
What are you building?
verttii··on Fast
Japan seems to be completing civil engineering projects pretty fast compared to almost any other nation. Maybe there's something to be learned from there?
verttii··on State of JavaScript 2019
But Typescript is not a "typed language", rather a "language with types". Because of having to maintain JS compatibility it lacks the inherent type safety that other similar languages like Dart provide.
Page 1 of 7Next →