It is a typical solution from the 90s, first steps of interactivity after hand-written HTML pages served by Apache. POST request is handled by some Perl script that rewrites the HTML page, then redirects to it or directly sends it as a reply. See the most basic frame-based chats (no Javascript, no nothing).
It only handles massive traffic if reads of those static pages are frequent, and updates are rare. When thousands of users are posting, you have to either block everyone on each write, or subdivide the required synchronisation between boards. Also, the regenerated pages might be used just a couple of times before the next rewrite happens (or not viewed at all, like far away board pages, but you still have rewrite all involved pages as a batch), and not much caching happens. In addition to that, each short comment causes multiple full long pages to be regenerated, and stored on disk. You basically get a very ineffective database with very ineffective primitives.
So usually every image board owner starts with decoupling of message posting and page updates to only regenerate pages once in a while, and process multiple edits at once, then some things stop working, as they assume each state change happens in full in multiple places, then they try to rewrite everything or switch to a real database engine.
This kind of visualisation is an arbitrary artistic choice, not just a function of inputs. A can of spray paint is a tool that needs to be mastered, and it's different from, say, oil paints and brush. LED strip is just another tool. You need to figure out first which movements, pulses, patterns it can produce, and what “looks good”. Those would be the strokes.
The same happens on the other side. Choosing how to interpret sound is also an artistic choice. Everyone does the audio spectrum because everyone has seen the audio spectrum, and considers it a “natural” projection to some one-dimensional form. It only seems “natural” because of all of the graphs you've seen in textbooks. The need to use log scale or smoothing when real audio is not a pure set of harmonics is how “nature” has to smuggle itself back into the abstract reasoning. Beats work for a reason: what we call “modern music” is defined by its constant use of rhythm. When you have a different kind of sound, you need to process it differently.
So the goal is to match something you hear in the audio with something nice that the LED strip does. Which is also an arbitrary artistic choice, and can only be judged as a whole. There is no rule that tone has to match specific position or specific colour. Also, people rarely look at LED strips on their own. Just like film crews, you need to take ambient environment into account, and sometimes increase contrast with light, sometimes blend everything together. Some kind of compressor/expander for dynamic range is probably needed for different environments.
Often the thing that reflects the light is more important. I'd even say that the best way to increase the complexity of that low resolution source is to combine it with some complex object instead of using just the straight line. A Christmas tree should come to mind as an example.
It is wrong to think that the goal of such projects is to figure out a perfect simple process that turns one array of values into another. Their goal is to make people feel something.
CVE-2010-2568, CVE-2015-0096, CVE-2017-8464, CVE-2026-21510... OLE/COM mess from the early '90s and internal assumption that only Microsoft code ever touches the serialised data or calls certain object methods provided some people job security for decades.
Here's another take: The idea that you can only choose between one set of desperate spying and killing fools trying to create a world where they could be totally invincible (with a swarm of lesser demons trying to make a fortune serving them) and another set of desperate spying and killing fools trying to create a world where they could be totally invincible (with a swarm of lesser demons trying to make a fortune serving them) is stupid.
Should be phrased as “Despite the ham-fisted bans, overheating DPI boxes, and propaganda (from both sides, and it is not always clear who is better at scaremongering), a lot of people learned to not give a fuck”.
Like, obviously, Instagram has been blocked for a long time, and, obviously, everyone who is obsessed with that social network keeps using it, including the rich kids of the top crooks (a.k.a. “the elites”) who can't miss a chance to drool over some dress they wore on a private concert of a Western pop star in Dubai (suspiciously never announced in media), and, obviously, the censors are making a fuss about it for the hundredth time, promising to fine anyone who does business there into oblivion to make users move to the competing local services that have been lobbying that under pretext of politically correct patriotic alignment.
I would advise everyone to familiarise yourself with tools like zapret. You'll need them sooner than you think.
I think you both are arguing about how to fight a bear with your bare hands. To win in that, you simply need to not fight with a bear.
Let's say someone made an expansion board with a cool feature: there are 5 documented I/O addresses, but accessing any other address fries the stored firmware. What would you do? No, not leaving a lot of comments in code in CAPS LOCK. No, not printing the correct hexadecimal values in red to put the message on the wall. You make a driver that only allows access to the correct addresses, and configure the rest of the system to make sure that it can only work through that driver.
Let's say there's a loading bay at the chemical plant with multiple flanges. If strong acid from the tanker is pumped into the main acid tank, everything is fine. If it is pumped into any other tank, the whole plant may explode and burn. What should be done? No, not promising that drivers will be fired, then shot by the firing squad if they make a mistake. Each connection is independently locked, and the driver only gets a single matching key.
You have wonderful programmable devices that allow you to solve non-standard problems with non-standard tools. What should be done is making a wrapper for dd that just does not allow you to do anything you don't want to happen. Even the most basic script with checks and confirmation is enough.
I've been using an old Symbian phone with the same Class Not-That-Good SD card bought back then. In the early 2010s, I copied a lot of MP3 files and ebooks there, and used the camera to take photos occasionally. Then it was no longer used for music and other needs, and the files just rested there. After about 10 years, I've decided to play some music on the phone, and these tracks had a lot of skips and rattle. Images copied from the card showed a lot of damage, too. So when someone on the internet posts how SD cards are a cheap and compact long term storage, I am not impressed. You probably need to refresh all previously stored data with each monthly backup.
It should be mentioned that the phone board often gets warm during operation or battery charging, and the temperature is stated an important harmful factor in a different comment.
So if you have some old files on an old device, and assume that they are still there because their records in the file system still look fine, you might be surprised.
It has been available for 20 years. To use combining characters (and client-side font layout and rendering), type the letter, then one of available dead keys two times (e. g. `a, AltGr+Shift+6, AltGr+Shift+6` gives â). To get the single code point (if it's available), type modifier once, then the letter (e. g. `AltGr+Shift+6, a` gives â). I've been touch typing em dashes for years, and can't imagine it any other way.
It seems that corresponding Russian installers are more up to date. You can gently nag the author to update the English version, or just take the Microsoft Keyboard Layout Creator, and do it your way. Be aware that certain silly applications use hard-coded keyboard shortcut handlers that bypass the system, and therefore misbehave if system layout is anything else but default US English. Windows also sometimes likes to resurrect the deleted default layout until the last process that used it exits, or something like that.
It has been said multiple times that the absence of proper typography on personal computer keyboards is just laziness, ignorance, and lack of leadership. There are no technical reasons for that — just look at keyboards for European languages.
But covers also lie. They are mass-uploaded to various services by the similar automated matching systems with cheap human agents used for decision making. Everyone just grabs and re-uploads the existing images from the image search results if they are “similar enough”. Because if it works for instant noodles, it works for books, too. Many publishers don't even bother to provide anything but a single image that is cut from the source file for the printed cover, which might be quite different from the way the book really looks.
For my language, I know I can only rely on just a couple of shops that make a photo of an actual book under regular lights for catalogues and announcements as a matter of principle. Others just add the same image file everyone else used. For the older books that had multiple revisions, it's still strictly manual interaction with second-hand book sites and old listings to figure out the exact version.
On the other hand, most services here do care about providing table of contents, even if its crowd-sourced phone snapshots of the page. International market is insane in that regard. Not only sellers on Amazon and the like ignore them (sure, they were never going to do so much manual work for all the uploaded items anyway), the publishers don't even mention what's inside on their official pages. “Selected stories. New translation by X”. Are those the same stories that were published 5 or 10 years ago under a different name or cover? Has X translated a new set of stories and (partially) refreshed the collection? Both of these things happen. It is ironic that I need to download the full scan from the pirate library to find out what is available in print. Unless, of course, some anonymous worker in some library hasn't diligently typed the whole list of works into the description, hooray for those.
It only handles massive traffic if reads of those static pages are frequent, and updates are rare. When thousands of users are posting, you have to either block everyone on each write, or subdivide the required synchronisation between boards. Also, the regenerated pages might be used just a couple of times before the next rewrite happens (or not viewed at all, like far away board pages, but you still have rewrite all involved pages as a batch), and not much caching happens. In addition to that, each short comment causes multiple full long pages to be regenerated, and stored on disk. You basically get a very ineffective database with very ineffective primitives.
So usually every image board owner starts with decoupling of message posting and page updates to only regenerate pages once in a while, and process multiple edits at once, then some things stop working, as they assume each state change happens in full in multiple places, then they try to rewrite everything or switch to a real database engine.
reply