1,400 karma · joined October 12, 2008
Contact: reginaldo at ubercomp.com
Links: http://www.ubercomp.com/ https://github.com/ubercomp/
Two thoughts for you to ponder: exercising will is doing precisely what you don't need to do. Also, I feel that programming is a lot like writing. When you read something as a reader, you just read it, but when you read it as a writer, you're thinking about what makes the text flow, or "tick", and the ultimate test of that is whether you can write a similar thing yourself, or perhaps a slight variation.
But, just to clarify, mikemike's advice is that everyone (i.e. including people running upstream redis) should disable scripting.
When running large scale production services, the best practice is building your own image, perhaps starting minimal Debian or Alpine core, using automation, and the tech giants have settled on statically linked binaries a while ago, so Debian packaging "idiosyncrasies" should not apply anyways.
Another thing that would be interesting and affect upstream as well would be getting the "debug" package back from the redis error function.
[1] https://developers.google.com/web/updates/2011/12/Transferab... [2] https://developer.mozilla.org/en-US/docs/Web/API/Worker/post...
[1] https://www.usenix.org/conference/nsdi13/technical-sessions/...
I've been very inspired by Mandelbrot's life, lately. Reading "The fractalist", his memoir, it's possible to realize two things: 1) how incredibly resilient he and his family were; 2) how he worked from his own definition of success: the fact that he ended up achieving what most people define as undisputed success was almost incidental. He was, to use Joseph Campbell's words, following his bliss.
Mandelbrot was born in 1924. The Mandelbrot set was discovered in 1980. Of course he worked on important things before that, but having his major discovery in the mid 50s puts things in perspective.
The reMarkable, OTOH, "just works", as well as an i.MX6 machine with an e-paper display can.
It's a Linux machine with a framebuffer, with the added difficulty that you have to explicitly tell the framebuffer to update itself, unless you put the driver on auto-update mode. For my application, explicitly refreshing the framebuffer works better, though.
[1] http://www.davisr.me/projects/parabola-rm/
chroot for now, systemd-nspawn as soon as I have time to hack on it later, as I want to be able to switch between whatever I'm running and reMarkable's original software.
Every choice is going to be inferior in some sense. If you can make a choice at all, consider it a good thing. Participate in the mess. Choose what makes you happy.
Paul Graham was onto something when he recommended having friends in programming [1]. Use what your friends are using.
Note that this is different than saying "let's completely ignore the past".
The part of the video that was the most interesting was the farmer saying "this works. If I don't sell, I don't live, and I do sell" (not an exact quote).
Intriguing indeed.
[1] https://news.ycombinator.com/item?id=23631196 / https://www.youtube.com/watch?v=gSPNRu4ZPvE
> JA: In the first incarnation of Erlang, it was just... little black boxes were communicating, copying their messages - it's a mailbox model, copying to a mailbox. What we were doing was relational. We had Prolog processes inside the black boxes.
> SPJ: But you saw the light.
> JA: We had to. You are launching a rocket program, because... We wanted from a black box perspective, if you send a certain sequence of messages in, you want the same sequence of messages to come out. You want that to be reproducible and deterministic and Prolog isn't like that. It backtracks, and it has things like that. It just sort of became more natural to make it functional. We never made a decision about having types or not having types. That wasn't an issue. We started with Prolog. Prolog didn't have types, so we got the dynamic type system that Prolog had. The issues we were interested in were limiting errors, propagation of errors, restarting things, restarting bits of the system without taking down all the system, having things which may appear inconsistent while you are upgrading them, continuously evolving systems, not systems you stop and restart.
My take from it is they didn't want backtracking because having backtracking would allow nondeterminism (as in [2]) and they didn't want that.
[1] https://gist.github.com/olifante/222879/c7b51c7f2d17d5d5b7b6...
[2] https://en.wikipedia.org/wiki/Nondeterministic_programming