108 karma · joined June 10, 2012
8nm, pretty power efficient. I've measured it to run at 0.7A@5V idle and 1.2A@5V with all 8 cores loaded with md5sum /dev/zero; iirc it had 1 ethernet connected, no other periphery. Running on Armbian.
In other words without MMU all programs share the same memory space, and if it get fragmented, generally you'd have to reboot. With MMU fragmentation can still be an issue, but it's greatly reduced, since each process has its own memory map. And if memory of the process gets framgmented, you can just restart it. If runtime supports object compaction/relocation, then fragmentation may be not an issue at all.
Re access to memory locations -- mostly any direct access to instruction or data memory in userspace program automatically goes through MMU remapping.
Otherwise the person may just ask: "where are caps, or is this thing a module or what?"
To punish (a person) without legal process or authority, especially by hanging, for a perceived offense or as an act of bigotry.
(Law) (tr) (of a mob) to punish (a person) for some supposed offence by hanging without a trial.
Nothing about racism here. The only thing that doesn't apply to Stallman is that he has not been hanged. That's quite important one. Though words are sometimes used not in their literary meaning (like "I'm killing it" -- well hopefully not).
BTW from what I've gathered this entire thing happened because Stallman was pedantic and has written something along "let's be precise with words, I think what happened was not rape, but statuatory rape because of such and such".
Comparison with lynching seems fair to me.
All of this got me thinking about creating, you know, accepting tech community where everyone is free to express their own opinions. I'm personally fine with my code being called shit and me being called dumbass for a good measure, just tell me what you really think and we'll sort things out faster instead sugar-coating stuff to not hurt my ego.
The problem is HAL support. Some periphery is supported, other is not. ADC and DMAs for UARTs were merged just recently. Stuff like SPI / I2C slave modes is missing, I think HAL interface is not fleshed out yet. Stuff like usb stack would probably take a lot time to complete.
Visualizations are "ghostly", have few details, like 0.1 - 10% of what I usually see. Detail level depends on amount of attention allocated to internal imagery. Picture is always moving, changing, in flow. It takes considerable effort to pin a scene and stabilize it though it increases resolution. I've asked around and some people report having sequence of static, very high-resolution, almost real life quality pictures, either from real experience or synthesized. And images flip, replacing one another. Other people say that they have very fast low-res flowing "movies" like me, often consisting of several independent streams in different "parts" of awareness, typically with only one if focus. It's not that imaginary stream is overlayed on real sensory stream, it's more like they are different kinds of perception, like seeing and hearing is, though visual imagery is closer to seeing because objects it deals with have similar perceptive qualities, like having spatial component and colors.
In my case imagined sounds are more detailed. When I'm remembering or simulating a conversation, voices are rather close to that of real people. Music can be recalled quite well too, maybe up to 20% detail level of original. On several occasions a had some excerpts playing unvoluntary playing in my head with like 90% detail level of original. Quite often I got some music stuck in my head. When I'm underslept it's usually some bad quality pop music from 80s-90s that I haven't heard since my childhood.
Tactile, smell and taste sensations can be and are emulated too.
I wonder, do people with aphantasia have dreams? Dreams are fully emulated sensory input, though I feel like they come from a bit different place then imagined input does.
Edit: actually mind's eye is not restricted with field of vision of real sight, it can encompass say 1km sphere around me with very very low level of detail. I think that kind of capacity is used automatically in daily life when you walk somewhere and you have automatically constructed knowledge of what's behind your back.
The systemd solution may be even better, though it seems there is no way to ignore changes in temporary files that emacs likes to create.
while true; do find $ORG_DIR | entr -d -r rclone sync -v $ORG_DIR $REMOTE:org; done
It's actually the opposite, efficiency goes down when current goes up.
The framework itself is similar to Flask in productivity and amount of boilerplate, though it's even better. It converts all input data to proper types for you using type signatures of handlers. So I don't need to convert strings into ints, or into json and then check if it conforms to a schema. If handler is called, input is parsed and converted.
Rust itself is more verbose than python. Typical data manipulation, like put something in dict, extract/count uniques, "transpose" a datastructure, load data from file, usually takes 1.5x-3x as much chars. For this price you get strict compile-time type checks that take lots and lots of mental load off code refactoring, C++ level performance, and real multithreading, including easy data parallelism with libs like rayon. Rust also has enums (aka algebraic types or tagged unions) that can help to represent problem space better and make fewer logic mistakes later.
It would be all unicorns and rainbows for me if a more concise database interface was awailable. Currently the go-to ORM is Diesel, and it's very verbose comparing to, say, python's sqlalchemy. Current solution is to move database access from views into methods of a model.
About iteration: code requires recompilation. Changes to non-compiled templates do not. I use Maud templates and they make html look suprisingly clean, they compile and are fast, but well, you need to recompile them every time. Currently debug build takes ~10s, though parsing and typecheking are done in the first several seconds.
Diesel doesn't support async yet, AFAIK. But async is usually used to save on context switches and stack space, allowing to support tens of thousands of live connections. You won't ever have tens of thousands of connections to database like Postgres. 100 connections is quite generous. 500 connections may be possible on the fattest DB boxes. Postgres is not async itself, it allocates a 4MB scratch buffer for each client from the start, IIRC. The only good reason to use async for communication with postgres may be if all of your other code is async and you don't want to deal with sync/async impedance mismatch. Though you'll likely want have connection pool anyway.
About IDEs I can't say much, I use emacs with LSP, it works most of the time.
Other than that, I've dropped it from my height on a tiled floor by accident, it landed on a corner. I've unbent screen part with pliers, and fixed cracked hinge with superglue, soda and steel wires, and that was it. Alternative would be to order a part of the chasis, but it would take too long. During the repair I've also weakened hinge resistance a bit, it was too strong for non-touchscreen version; should have done it from the start I guess.