HNHacker News
TopNewBestAskShowJobs

Benjmhart

26 karma · joined November 22, 2018

submissionscomments
Benjmhart··on Ask HN: Who is hiring? (May 2021)
MLabs | Haskell or Rust Developers | Full-time OR Part Time | REMOTE | Worldwide (UK headquartered)

We are a consultancy with a team of Rustaceans and Haskellers in the payments and fintech space. We are looking for experienced Rust & Haskell developers to join our team.

Experience and competency in the following areas will be expected:

- Strong programming skills in Haskell OR Rust - Strong software architecture skills - Strong problem solving and analytical skills - Basic knowledge of security, concurrency, backend systems, system scaling and databases - Version control (git) - Strong verbal skills in English

Experience with the following technologies would be considered a major asset, however none are strictly required:

- Blockchain (Cardano, Ethereum) - Purescript - Type-level programming - Compilers/Interpreters

If you are interested please send an email to mark@mlabs.city with a short introduction about yourself and why you think you are suited for this role.

Additional Details: Flexible working hours, remote position, 6 weeks of paid vacation, competitive salary

Benjmhart··on Ask HN: Who is hiring? (April 2021)
MLabs | Haskell Developer | Full Time | Fully Remote (Anywhere) | http://mlabs.city

Haskell Position We are a consultancy with a team of Haskellers in the payments and fintech space. We are looking for a senior software architect to join our team and help us build a new lending platform in Haskell. Experience and competency in the following areas will be expected: Strong Haskell skills Strong software architecture skills Strong problem solving and analytical skills Blockchain experience preferred Basic knowledge of security, concurrency, backend systems, system scaling and databases Version control (git) Strong verbal skills in English. Experience with building blockchains or implementing smart contracts is preferred. If you are interested please send an email to mark@mlabs.city with a short introduction about yourself and why you think you are suited for this role. Additional Details Flexible working hours, remote position, 6 weeks of paid vacation, competitive salary

Benjmhart··on 70TB of Parler users’ messages, videos, and posts leaked by security researchers
The vast majority of this data was posted publicly. You have no reasonable expectation of privacy.
Benjmhart··on Amazon, Apple and Google Cut Off Parler
Yep still funny too
Benjmhart··on Public Apology to Jeremy Howard
Well, if nobody tells you you're being a shit, humans rarely realize it on their own, squeaky wheels get the grease.
Benjmhart··on Is Rust web yet?
Yeah, but those compile times catch bugs everyone misses in your Django app.

People think speed is the only advantage, reducing runtime debugging and providing a more secure, more correct front end, free null pointer issues and free of memory leaks and runtime type errors - rust just has the added bonus of being fast.

You're right some of the tools aren't quite there and if you move a rails-y app over to rust, you have a job ahead of you to assemble some libraries, but it is doable - the point is that you can put rust in production at web scale now.

Benjmhart··on Towards Tactic Metaprogramming in Haskell
Nitpick. But unused bindings is a warning, it doesn't create an invalid program
Benjmhart··on An Anecdote About ML Type Inference (1994)
Purescript is Haskell without cruft and built for the web era.

Idris or agda for type level goodies.

Benjmhart··on Ask HN: When do you expect life will get back to “normal”?
The neoliberals and neomarxiists want opposite things.
Benjmhart··on Universal health care: will people finally get it?
No, push for the most aggressive plan possible. This is the one moment in history you might just get what you want. If you start in the middle they'll argue you down to nothing. Hold firm and tell. Don't ask.
Benjmhart··on Client-side web programming in Haskell: A retrospective
I actually PR's these docs a couple weeks back. In short halogen v5 greatly simplifies a lot of the complexity around parent/child components.
Benjmhart··on Ask HN: What board games are you playing?
I really enjoy coup.
Benjmhart··on Ask HN: What programming language features or ideas do you wish were mainstream?
Pattern match, curry by default, function composition, metaprogramming through custom operators, Sum types.
Benjmhart··on Ask HN: What happened to trigger my Spotify password reset?
Was there some kind of big breach in 2017? My account wasn't even pro! I just logged into my account after a couple months and someone else was using it!
Benjmhart··on What are some good Linux friendly laptops?
Pelretty happy with my asus x-555q. Great specs for the price. Otherwise go thinkpad
Benjmhart··on Ask HN: How can Higher Kinded Types help in domain driven design?
Higher kinded types create a context arlu d the types(and ultimately the values) they wrap. This can type classes which implement a the same function in different ways for the same value wrapped in a different higher kinded type, for example. So if your domain deals with values in two contexts, and you want to manipulate them using a common language, higher kinded types are a pretty great way to achieve that. They also enable parametric polymorphism, and that creates a LOT of predictable behaviours for free, which in turn allows you to automatically derive typeclasses, interfaces, and theorem proofs in certain situations.
Benjmhart··on Ask HN: Functional programming allows you to do more work with less code?
So function languages are excellent and taking very little work to model a clean abstraction. This is mainly due to the behaviour of a lamda function.

The result is that you can easily model a procedure as a series of discreet steps and abstract away clutter. Mutated state and implicit arguments (this) are also typically not used in FP (except where required by the language or for performance reasons)

Upsides to this is that code is explicit, terse, and doesn't get bogged down in the specifics of how the hardware might need to assign pointers to values, etc.

The downside to this is that some people find the mounting abstractions and endless new terms difficult to parse, since FP spends very little time working with primitive values, and since it often is so different from traditional OO languages.

Javascript in particular can be very terse because there's very little boilerplate necessary due to the type system, and because it places no restriction on side-effects, allowing very easy methods of getting things done (but also creating a lot of brittle, bug-prone behaviour)

Haskell and purescript have much more verbosity devoted to types and type manipulation, but produce much more stable/predictable behaviours.

Benjmhart··on Ask HN: Why Isn't Functional Programming Taking Over?
So I think, just reading this thread, there there are a lot of misconceptions of FP's capabilities. Things like statelessness - Haskell, Purescript, et al have ways of representing state, and for optimizing recursive behaviour into constant space/time (they even have great abstractions and data structures that can compete with C)

The number one reason is that ultimately it feels too different, and Functional programmers tend to be terrible educators. So it all feels very esoteric. To learn a pure functional language is almost to start learning programming from scratch.

The secondary reason is the package ecosystem. Generally speaking these languages have a rough go at dependancy mgmt/build tooling (stack vs cabal and the lack of good, simple guides for their usage, and the same for bower(deprecated) psc-package and spago. The problem is that once the tools improve - the docs and guides are all outdated. Good reliable information takes more digging in these languages.

BUT it is achievable. These are perfectly serviceable languages that can provide robust, provable behaviors. And in the case of purescript, a strongly typed environment on the web.

The development processes are out there and there are folks writing full stack FP. (myself included). But as a whole, pure FP needs a lot more educational material in order to grow.

Benjmhart··on Ash HN: What is your must-read audiobook?
The Areas of My Expertise - John Hodgeman.

Sold me on the format and is more like a 7 hour stand-up comedy special than a book per se. Also features Paul Rudd.

Benjmhart··on Ask HN: What was the most useful elective you took in school?
Symbolic logic 1, 2, and 3.

Years later I launched a career in programming and these classes gave me an enormous edge