Threads for rggr

  1. 1

    Nothing beats a boring release.

    1. 3

      Unicode. Seriously, I’d rewrite Unicode specifications from scratch.

      1. 2

        What would you change?

        1. 7

          I would go back much further and redesign the alphabet and English spelling rules.

          1. 4

            I for one would not admit emojis into unicode. Maybe let whatever vendors want standardize something in the private use areas. But reading about new versions of unicode and the number of emojis added has me wondering about the state of progress in this world.

            1. 5

              Customers demand emojis. Software vendors have to implement Unicode support to accommodate that. Unicode support is more widespread.

              I take that as a win.

              Besides, sponsoring emoji funds Unicode development to some extent.

              1. 3

                MSN Messenger had emoji-like things 20+ years ago, but they were encoded as [[:picture name:]]. This works, because they are pictures, not characters. Making them characters causes all sorts of problems (what is the collation order of lower-case lambda, American flag and poop in your locale? In any sane system, the correct answer is ‘domain error’).

                Computers have been able to display small images for at least a decade before Unicode even existed, trying to pretend that they’re characters is a horrible hack. It also reinvents the problems that Chinese and other idiographic languages have. A newspaper in a phonographic language can introduce a neologism by rearranging existing letters, one in an ideographic language has to either make a multi-glyph word or wait for their printing press to be updated with the new symbols. If I want a new pictogram in a system that communicate images, I can send you a picture. If I want to encode it as unicode then I need to wait for a new unicode standard to add it, then I need to wait for your and my software to support it.

              2. 1

                On the contrary, shipping new emoji is a great way to trick people into upgrading something when they might not otherwise be motivated. If you have some vulnerability fixes that you need to roll out quickly, bundle them alongside some new emoji and suddenly the update will become much more attractive to your users. Works every time. All hail the all-powerful emoji.

                1. 1

                  Sure, let software vendors push security updates with emojis. Unicode the standard doesn’t need to do that.

          1. 1

            That’s nice, yet every board out there is not designed to be easily tested and repaired.

            1. 3

              Datasheet doesn’t mention max load on GPIO output pins.

              Only 3 analog inputs and on a wiggly analog reference.

              Personal opinion: GND pins should have been placed at least on pins 1,20,21,40.

              Everything else seems perfect.

              1. 1

                Everything else seems perfect.

                I wouldn’t mind if it also had WiFi. Maybe there will be a second version like with the Zero.

                1. 8

                  Arduino are producing the Nano RP2040 Connect using this Raspberry Pi silicon which provides wifi connectivity.

                  https://blog.arduino.cc/2021/01/20/welcome-raspberry-pi-to-the-world-of-microcontrollers/

              1. 11

                He’s definitely right.

                Also, don’t underestimate the fact IPv6 was born in the 1990’s.

                I’m tempted to draft a No-Shit-Sherlock protocol named IPv7. It will have 64 bit addresses, fixed 16k MTU, no obsolete things, minimal hassle, under the motto “let the routers route, let the switches switch, don’t forget we’re 38 years past the deployment of IPv4”.

                1. 10

                  That Poettering’s article was the primary reason I gave my best to have every company server using systemd. I can’t stress the number of times systemd saved my day in the last four years (mostly because that journal thing logged literally everything, including obscure errors from bizarre ruby scripts that everyone forgot about since ages). A very few systemd issues in 4 years were well worth than the usual monthly battles in the init-scripts jungle.

                  This said, I found every single anti-systemd rant based on either ignorance or “I already have a couple shellscripts doing everything well on my single-application server”. A server only exposing a PostgreSQL instance over a fixed-address ethernet may let you think systemd is useless.

                  Way before Lennart came up with systemd, I posted a number of criticisms about init scripts. Man, Lennart just did the right® thing™ I never had the time to develop.

                  1. 3

                    Not only I have to agree; I’ll also add that the entire Wayland protocol is built like “we only use unsafe C pointers and callbacks to do stuff”. When the most common operations (like putting up a window and painting something on it) requires an amusing number of event loops, callbacks, ping-pong’s, etc, it means the whole protocol has been somewhat over-engineered.

                    1. 5

                      The C library uses void * data pointers and callbacks, but the protocol itself has nothing to do with this. For instance there is an implementation of the Wayland protocol in Rust that does things differently.

                      The protocol is very simple, in fact. A few resources:

                    1. 15

                      Man, I love it when the #RIIR (“Rewrite It In Rust”) virus mania spreads like wildfire :)

                      1. 1

                        Mid 1980’s my /crp was C:\munnezza (literal translation of “crap” in local dialect). I didn’t know yet Unix, yet I intuitively knew there had to be some Official Place where to put files I didn’t want to delete but weren’t important.

                        Mid 1990’s I switched from MS/DOS to Slackware Linux and lost a couple important files from /tmp (wiped at every boot), thus created again a worldly writable (eww) /munnezza after frantically searching “how to undelete on Linux”. In the meantime I often heard Windows-based friends shouting “AAAAAAAAA” every time they found out that the recycle bin wasn’t a /crp.

                        1. 1

                          Embraced Ubuntu in 2009 (after Mandrake, Slackware, RedHat) and then only upgraded on every LTS.

                          In the years I’ve become increasingly worried about keeping my home and office systems up and running, and Ubuntu LTS never failed with its conservative approach (the 20.04 does not yet default to Wayland or Snap).

                          And yes, the latest time Ubuntu made me scratch my head was the infamous “OAFIID” fiasco ten years ago, when apps would only start if they were in the mood. But it was due to Gnome still being in its infancy.

                          1. 1

                            But it was due to Gnome still being in its infancy.

                            ??? I used GNOME in the 90ies. GNOME 2 had been around for a long time 10 years ago, and 2010 was pretty much peak GNOME 2. I don’t think Ubuntu had switched to Unity yet outside the netbook edition?

                            1. 1

                              The infamous OAFIID bug (Object Activation Framework, it was a thing before D-Bus, and it was deprecated by Gnome soon after) is still present in Ubuntu 10.04 LTS. Basically you had to ssh and reboot 2-3 times before getting a complete and usable graphical desktop, at least on systems with less than 512 Mb RAM.

                          1. 5

                            Do any lobsters have ham radio licences?

                            1. 4

                              I got my license in the US some years ago, although I haven’t put it to as much use as I would like.

                              1. 4

                                Yes, I’m an active ham (Extra) who enjoys digital modes and hacking on ham-related software, among other things. I also have some fun with SOTA.

                                1. 3

                                  SA6CJK here (from Sweden, which has a single license class with no renewals). I’m active on FT8 on HF every now and then. QRP has gotten easier with the new digital modes.

                                  1. 3

                                    Yes indeedy, finally got my license a few years ago even though radio has fascinated me since I was a kid.

                                    1. 2

                                      Yes. Anyway I’m only in for APRS, SSTV and weathersats.

                                      1. 2

                                        I do but I need to renew it, will likely get a new callsign since I moved to a new country. QRP is a very interesting technical challenge.

                                        1. 2

                                          I do. It’s a surprisingly big hobby, not just a more powerful CB.

                                          1. 2

                                            raises hand

                                          1. 7

                                            It’s been many years I extensively used Ruby instead of shellscripts. A bit verbose for the most common tasks, but very fine control instead of grepping/awking/sedding/cutting. Does it count?

                                            1. 2

                                              The coolest screen is the “DSKBENCH” test.by Tsuruich Tachitaraya, Sep.02,1994, calling “poor” a ~1000 kilobytes/second throughput.

                                              1. 2

                                                The SSTV handbook (free PDF) about slow-scan television, that is, transmitting images through audio. A bit outdated, but still inspiring.

                                                1. 2

                                                  Corsair K63.

                                                  • Cherry MX Red keys (i.e. the “somewhat silent spring” instead of the “noisy switches”)
                                                  • rock solid assembly
                                                  • small size (less than 37 centimeters wide) because no numeric keypad
                                                  • reasonable price
                                                  • bonus tracks: multimedia keys, “RGB” (red only) lighting, easy to get localized version, Corsair brand, “muh gaming” aura.
                                                  1. 3

                                                    Most of the “scare” actually originates from the fact that a few very important things (say, native SSL support, but also crates that get compiled almost everywhere like aho-corasick, etc) didn’t make it yet in the standard library (where IMHO they deserve to be; but I guess noone will talk about it until some “epic npm fiasco” happens).

                                                    Thus, I hope Rust crate ecosystem evolves to three tiers: “evergreen” (compiler and standard libraries), “tier one” crates directly supported by the Rust team (native SSL, async HTTP, etc: the most used crates should never feature a bus factor = 1, neither they should be fixed/upgraded/optimized “only when the maintainers have enough spare time”), and “normal crates”. That “tier 1” should be kept separated from standard library because it will cover specific (yet extremely common) use cases on specific platforms.

                                                    The “evergreen” six-weeks release schedule, combined with cargo clippy and other goodies, is a real boon (and a demostration that Rust is a mindset, not just a tool). You don’t want your old software to bit rot. If you choose to recompile, you should be ready to work on it again. You don’t want to fix the rot only when some urgent bugfix request comes in, neither you want to install some old version of the compiler and libraries for that bugfix only.

                                                    1. 13

                                                      Most of the “scare” actually originates from the fact that a few very important things (say, native SSL support, but also crates that get compiled almost everywhere like aho-corasick, etc) didn’t make it yet in the standard library

                                                      Speaking as the maintainer of aho-corasick, I would strongly oppose its inclusion into std. It would stagnate.

                                                      “tier one” crates directly supported by the Rust team (native SSL, async HTTP, etc: the most used crates should never feature a bus factor = 1, neither they should be fixed/upgraded/optimized “only when the maintainers have enough spare time”), and “normal crates”.

                                                      Who’s going to pay for this?

                                                      1. 4

                                                        Author here. Sorry, but you missed the point entirely.

                                                        This isn’t about the bus factor. And not about developers, as this quote implies:

                                                        If you choose to recompile, you should be ready to work on it again.

                                                        There are two more groups of people who compile from source: distribution maintainers, and some end-users. For both groups, I (as an upstream author) would really like if those people didn’t have to patch my software to work with their setup. That wish has a limit, of course: e.g. if they don’t have a C++11 compiler, they’re on their own. With C++, that translates into “any compiler younger than 5 years”, but with Rust, it’s more like “a very recent stable, no more than few months old”. That’s too short to my taste, and that’s what the post is all about.

                                                      1. 3

                                                        158 points. Shame on me.

                                                        My proudest moment: Q0027, powers of 2 up to 2**16. German Language teacher asked us questions about numbers: “29*53”, and the first student providing the correct answer in German scored a point (basically it was a multiplication by pencil and paper problem…). When he asked “32*64” I answered immediately and he stared at me for a second and then gravely asked: “do we have another John Nash here?”

                                                        Also, Q003A, I used to whistled to get a 300 baud “CONNECT”; tried (unsuccessfully) to impress friends with that.

                                                        I also made my own A4 line-printed ASCII posters because I wanted my room to feel like the University lab, where actual line-printed posters were there since ages. Today I’m still using vi (actually vim). I used to update my custom fortune cookies file; stopped about 15 years ago; my Linux desktop always has full screen terminal windows on both monitors (but most of the time there’s a browser on the right one). Yes, we have terabytes today, in 1990 the average dude had 20 megabytes, the cool one had 40 (the legendary Seagate ST-251, 820 cyls, 6 heads, 17 sectors, 3600 rpm, 28ms average seek).

                                                        I don’t know why for(;;) fork(); is not mentioned. In 1990’s cool guys wrote it on their motorbike muffles. Yes, the same dudes who “cut the single-side tooth” for flippydisk’ing.

                                                        As ridicolous as it can sound in 2020, I actually played Pong - the real thing. Man, I really feel old now.

                                                        1. 0

                                                          TL;DR: “uh-oh, a latency-sensible service shouldn’t be written in a garbage-collected language”.

                                                          1. 15

                                                            Perhaps depends on the language though - Erlang is used in what I assume to be latency-sensitive applications like telephone switches, and it’s GC’d.

                                                            1. 1

                                                              Erlang is a special case with per-process tiny heaps that are collected independently of one another. I’m not aware of another system that uses such a model.

                                                              There are fully concurrent GCs in experimental and proprietary JVMs (Azul and Shenandoah) that exhibit remarkably low pause times even with large heaps. They are very much the exception rather than the rule and to my knowledge require a throughput hit compared to standard VMs or manual memory management.

                                                            2. 3

                                                              Oh, that explains why no one writes such services in Java or JavaScript or C# or PHP or Perl or Python or Ruby or Erlang or LISP or Haskell … only C and C++. And Pascal.

                                                            1. 2

                                                              He could install SailfishOS on his Xperia 10 and finally enjoy a different cellphone OS.