If you have a ping-pong ball, you can make some ganzfeld glasses as an alternative. If you want to know how to achieve this effect naturally, either from a sleep or an awake state, you should checkout forums related to AP, OBE, and Robert Monroe.
No. You can construct two messages with the same MD5, but only if you control both messages. Finding a message with the same MD5 as a given message, or password, is still infeasible.
Even if you try 3x10^17 ~= 2^58 in two weeks, MD5 has 128 bits of entropy so you'd need 2^70 ~= 1.1x10^21 times that to exhaust the space. Wolfram Alpha says that's 3.3x10^9 times the age of the universe.
Indeed, this is simpler in ClojureScript world where all state is kept in a single place. It's harder to do the same for JavaScript React components that may have local state, but as you see, it's perfectly possible.
Also, as far as I'm aware, ClojureScript hot reloading tools actually unmount the component. This may be OK because state is restored from one source, but it's not as nice-looking because DOM is thrown away on every update, and it flickers.
What? When's the last time you've used Chestnut? Do you have an example I could look at? I ask because it sounds like you're doing something that re-renders the entire application instead of the components that need to update.
I may be wrong but I don't think Chestnut will patch existing instances? And without patching, I imagine React will recognize new version as a different type and bail out of reconciliation. I didn't try it, just chatted with David on Twitter and that's what I thought. Maybe I got it wrong!
Anyway, I'm looking forward to learning more about ClojureScript. A lot of exciting things coming from there.
Thanks for writing this. I think I'll try reversing Fitbit beyond Galileo. Also, for those who don't know, Wireshark can sniff the Fitbit dongle using usbmon module incase you don't have a BTLE enabled device. MITMProxy is also great for making dumps to be studied.
Imperative builds are a different mindset - where lein projects feel like a different language which emulates Clojure syntax, boot feels more like a library, and context switching is a favourite HN bugbear. Being able to program a build can be a boon, where otherwise you might've had to rely on the creator of your build tool catering to your special case with an appropriate flag.
In practice, though, I've never created a project with very interesting builds in either tool, I only dabble in Clojure. The test will ultimately be whether the community finds it useful.
The biggest thing that grabbed me about boot was the scripting capability. To be able to build concise little applications - 'complete', 'real' applications that can be distributed and deployed - is very freeing. The point of the article was to illustrate how you can get running quickly using that feature and logically evolve into "serious" project-based work as needed.
Ultimately there's more to being productive as a beginner than using the REPL.
There's also a video if you care to watch https://www.youtube.com/watch?v=enwIIGzhahw