Hacker News new | ask | show | jobs
by sethryclaus 2655 days ago
Surely "exponential personal growth" would be an artifact of the method of measurement? Your first task could be to hack that method to get an arbitrary conclusion of your choosing. I am totally serious. Bigly lesson, that one :)

Remember how, as a kid, doing the wrong thing was thrilling? For me, that's what enjoying learning is like and it does often start from a willingness to be wrong or fail (ever ridden a bike into a bush - not as soft as you think at high speeds).

For example, yesterday I ended up randomly understanding Godel's proof for his incompleteness theorem and it's significance because I was trying to find out why the validity of substitution/equivalence seemed to be an assumption of all logics (if anyone can point me in the direction of what I'm misunderstanding there, that'd be great).

Now, almost everyone I've ever met tells me I'm crazy and/or an arrogant asshole depending on context. It does worry me but not enough to stop because how I feel is like a slow burning version of jumping off a cliff.

It's scary and hard to get started but once you do, you experience something fleeting and hard to grasp and then a sort of calming shock as you hit the cold water and look up, somehow feeling relaxed about having a long way to swim to the surface.

(Bear in mind that I'm paranoid about checking for rocks before jumping and that is somewhat analogous to learning - some of what you do is swimming around at the bottom diving down to see how deep it is or finding a vantage point where you can see the bottom from. It's also hard to trust someone when they tell you it's safe. All of that features in learning for me as well.)

One of the things that happens if you do things like that is that you get fitter because you've been climbing up to the top of that cliff over and over. If you then have to do something a bit boring like, say, read the manual for Rust, it isn't very hard because you're stronger, fast have better endurance and are less likely to trip.

What I'm saying there is that you may have started at the crappy end of the experience :) Go have some fun, find a motive and then worry about it.

Re: distributed computing... If you want to do something cool, I'd suggest starting with Aphyr's blog and his Jepsen test suite.

This is written in Clojure, which is JVM based but has a javascript version, ClojureScript.

Lots of Clojure packages work out of the box in ClojureScript and last time I had a play the "Leiningen" package manager understood that and came to the party.

From there, you could adapt Jepsen to testing a distributed system of your choice communicating via WebRTC and a STUN server running in a serverless browser environment.

If you go straight to conflict-free-replicated-datatypes (CRDTs), I think that'd all qualify as cool - especially if you can automatically test them (I'd suggest spinning up multiple browsers using puppeteer).

Remember that composition still exists and it's possible to achieve slightly less abstract programming conditions by creating a hard dependency on a reasonable context that covers some of the requirements of CRDTs.

/endbraindump glhf

1 comments

If you really wanted to burn your eyebrows off, you could also use a no-serialization tool like Capnproto and implement it in Rust using ArrayBuffers (fixed in Chrome) to share state between background workers and the main thread.

I think I read something about Rust having Capnproto and Emscripten compilation to web assembly these days.

Rust does have both of those things, though Emscripten has fallen out of favor. There's a native LLVM target these days.