1. 19

    Some rough thoughts: I guess I am a bit curmudgeonly about the term “crypto” getting taken over by “cryptocurrency” after several decades of use, it’s a bit galling to cede the term. Though at some point, yeah, it’s a practical reality that’s not worth confusing people over. We’ve seen cryptocurrency promotion get tagged both with crypto and merkle-trees so I’m not really sure expanding to cryptocurrency would change anything; I think all technical communities are going to continue to suffer from promotion for at least a few more years.

    Worth discussing, though, maybe someone has more pros or cons? Maybe it’s worth just trying for a year?

    1. 6

      I’ve renamed the crypto tag to cryptography. There’s strong support for it, it’s cheap, and implicitly ceding a little ground to scammers is a pretty negligible downside.

      1. 6

        I think the realistic view is that it has become ambiguous and would be regardless of what the new referent that “takes over” is. What are the cons in expanding it to “cryptography” exactly? I don’t see any, only pros.

        1. 2

          I would rather not have any bitcoin related stuff on the site if possible.

          1. 2

            Add a cryptocurrency tag, then when used, show a warning like with banned domains and don’t submit the url. Sort of like a fishbait tag. You can add one for business news as well. Preventive moderation of sorts

            1. 1

              Tbh, I’m pretty appreciative of the similar stance for the ml tag.

              On another note, I do kind of wish there was a more general programming-languages or pl-design tag, as a lot of things that get tagged plt aren’t really PL theory, more about PL design etc?

              1. 1

                What do you think about this plan:

                1. Add suffix for cryptography
                2. Add cryptocurrency
                3. Hotness mod cryptocurrency of -0.5
                1. 1

                  There are technical aspects of cryptocurrencies that are technical, on-topic, insightful (presumably? I don’t read them), and I don’t think it would be fair to apply a hotness downgrade to them.

                  The problem is cryptocurrency promotion/spam, which isn’t on-topic at all. Lobsters also gets a fair amount of spam on other topics like cloud wazamabobs we don’t downgrade the entire topic for it.

                  1. 2

                    If it’s described as a cryptocurrency, then it’s likely already moved into the scam category. There are interesting uses for verifiable append-only ledgers. There are interesting use cases for distributed consensus algorithms. These have nothing to do with cryptocurrencies other than the underlying technology.

                    1. 1

                      I do happen to agree that at a first approximation all cryptocurrencies are scams, but even a more charitable reading would lead them to fall under the umbrella of “business news” and thus off-topic anyway.

                    2. 1

                      I thought we use merkle-trees for the technical aspects?

                      A downgrade is just a downgrade; e.g. culture tags are downgraded. If the link is good, votes will still rise it to the top.

                  2. 1

                    I am in favor of expanding the existing tag to cryptography and keeping the implicit ban on cryptocurrency promotion by only keeping the relevant merkle-trees tag.

                  1. 3

                    This paper is a nice overview of build system implementation such as Make though included code is in Haskell, so caveat emptor. “Build Systems à la Carte” https://www.microsoft.com/en-us/research/uploads/prod/2018/03/build-systems.pdf

                    1. 11

                      Company: Adacore

                      Company site: https://www.adacore.com/

                      Positions: GNU Toolchain developer, Static Analysis engineer, DevSecOps developer, Services Engineer, Infrastructure Software Engineer, Technical Marketing Engineer

                      Location: We’ve got offices in New-York, Bristol, Paris, Grenoble, Vannes, Toulouse, Tallinn and probably a few other cities that I can’t remember right now. Some of the positions can be/are remote.

                      Description: AdaCore is the company behind GNAT, the Ada compiler based on GCC. We have a lot of tools that revolve around the Ada ecosystem (build systems, IDEs, formal proof systems, static analyzers…). What we build is open-source and we make money from selling support, trainings, certification…

                      Tech stack: It’s very varried and depends a lot on the position. There’s Ada, C, C++, Ocaml, Python…

                      Contact: Please go through the website :)

                      1. 1

                        I sent my CV a while ago and got a straight rejection; could it be that it’s because I paused my university studies and haven’t graduated yet?

                        1. 1

                          Sorry to hear that. I’m not part of the HR pipeline so I have no idea why you might have been rejected (I only see CVs when HR wants me to interview someone). Have you tried replying to the rejection email and asking for the reason why you were rejected? I always do this - I sometimes get valuable feedback out of it.

                          If you did ask for a reason and were ignored, please PM your name and I’ll investigate for you.

                          1. 1

                            Thank you for your reply! No I didn’t ask since I thought it wasn’t worth it; plus I purge my job email folder for non-ongoing stuff so I don’t have the email to reply to it now. But it’s ok :)

                        1. 1

                          Nice, I remember there is nntplib in Python stdlib. But I am always wondering is there anybody still actively using it?

                          1. 1

                            I am using it daily to post on Usenet.

                            1. 1

                              Is Usenet actually used outside of piracy these days? I might use the aforementioned library to write a bridge to YOSPOS, but only for the aesthetic value.

                              1. 1

                                Usenet has certainly shrunk since its heydays, but there are still newsgroups worth visiting for their discussions.

                            1. 41

                              These days, are you even a real tech giant if you haven’t released (and abandoned?) a faster implementation of a language?

                              Microsoft - ironpython / ironruby
                              Google - unladen swallow
                              Dropbox - mypy / mypyc
                              CCPGames - stackless
                              Stripe - sorbet compiler
                              Facebook - hiphop
                              ...
                              
                              1. 18

                                Don’t forget yjit (developed at Shopify), Pyjion (developed at Microsoft), Pyston (developed at Dropbox originally), and Cinder (developed at Facebook) :)

                                1. 4

                                  Ah, also, Microsoft is sponsoring Guido and Mark Shannon to work on faster CPython: https://github.com/faster-cpython

                                  1. 4

                                    Cinder (developed at Facebook)

                                    Looks like that and OP are similar:

                                    • facebookincubator/cinder: Instagram’s performance oriented fork of CPython.
                                    • facebookexperimental/skybison: Instagram’s experimental performance oriented greenfield implementation of Python.

                                    They have a few contributors in common, though seemingly not many.

                                    Edit: oh haha just noticed who I’m replying to. Do the two projects share any lineage?

                                    1. 3

                                      I work(ed) on both :) Some others did as well. There’s not much shared lineage, since Cinder is based on CPython and Skybison is from-scratch, but there are some shared ideas. The projects were developed in parallel but in a friendly way

                                      1. 3

                                        Do you have any recommendations for production deployments? Since skybison README says it’s not supported for outside use. PyPy or stick to cpython?

                                        1. 2

                                          I really don’t know much about production environments in general or yours in particular. I think most of the time it’s going to be a case-by-case evaluation: what do you need (speed? compatibility? low memory? concurrency? something else?) and what is available to you to scratch that itch.

                                          PyPy may well be perfect for your deployment, or it might not work out because you need to do a lot of C-API heavy work. It depends!

                                  2. 6

                                    Yeah I wouldn’t call CCPGames a tech giant, and also I thought Christian Tismer was the main force behind stackless, and he didn’t work there AFAIK. I also recall that they wanted to merge it for a long time but there was some fundamental incompatibility (probably with the C extension API). That doesn’t mean it was a bad idea – it’s healthy for have forks for experiments.

                                    Unladen Swallow was done by Python core devs that worked at Google. The main project didn’t succeed but the benchmarking work that was done and merged has been useful for all the performance work done in the last decade or so. There has been a bunch of performance work by Victor Stinner and I think he mentioned that he revived Unladen Swallow benchmark work and ran with it.

                                    1. 3

                                      Agreed; I don’t think CCP Games invented Stackless, I think they just deployed it on a large scale.

                                    2. 4

                                      “unladen swallow” Is this a Monty Python reference?

                                      1. 5

                                        Indeed it is!

                                      2. 6

                                        It warms my nationalistic heart to see CCP games called a tech giant.

                                        1. 2

                                          Stackless is still kinda around, in that PyPy added all their features iirc. ❤️

                                        1. 5

                                          I did a Lobsters one, in which I learned:

                                          • I shut down the public instance because I’d need to redo the schema. One of those things you learn by implementing. Perhaps I’ll also switch from Mnesia to Pg.
                                          • NNTP as a protocol sucks. Beyond the usenet grognards getting overrun by spam and piracy, and it being a pain in the ass to get to, the clients all suck because of the protocol. Ironically, the least grognard clients of the time I tested (like Outlook Express) were better than the Usenet traditionalists. (There’s a reason it all ended up in the Unix Haters’ book.)
                                          1. 1

                                            Very cool! (Elixir too! nice)

                                            because I’d need to redo the schema

                                            Did you need the schema? Can’t you just translate the API into NNTP?

                                            the clients all suck because of the protocol

                                            Yeah it’s terrible. That’s why I use it with an email client otherwise it’s not remotely useful.

                                            1. 1

                                              I needed to map the object ID to an incremental count for NNTP, because the protocol heavily assumes that. (You could cheese it, but a client can also be relying on those assumptions.) You might as well cache from that, since I also don’t wanna be too hard on the site. However, I cached a transformed representation, which was kinda inflexible if I wanted to add more stuff.

                                              1. 1

                                                You can (stable) sort both stories and comments together on an immutable unique key like (creation_date, user, title/text) and compute it on startup; that way it can remain the same across runs/processes and then keep an in-RAM cache.

                                                1. 1

                                                  The problem is if they aren’t consistent between runs, then it massively confuses the client because they retain a message-ID/nntp-ID mapping.

                                            2. 1

                                              I was a fan of knode, the KDE usenet client around 20 years ago. Then for some reason I thought I had to learn slrn, but I never really got used to it until I gave up on Usenet.

                                            1. 2

                                              Very cool! It would be super cool if you could post things.

                                              1. 2

                                                I’m writing an NNTP server library in python and plan to implement auth (it’s read-only for now). I will make a reddit bridge too, seems they have a well documented API.

                                                EDIT: Now that I think of it, you don’t need NNTP auth if you run the bridge locally.

                                              1. 9

                                                I’ve experienced it years ago, in an intense period of C programming. I went out for a walk and my mind was parsing other people as structs.

                                                1. 18

                                                  At least you weren’t treating them like objects.

                                                  1. 2

                                                    That’s true, I guess I’m not very object oriented.

                                                1. 1

                                                  My first thought: “okay this looks like haskell.”. Ctrl+f haskell: one result, not about the language. Ctrl+f monad: none. So for everone else that had the same train of thought, I found this link explaining the differences between Haskell and Agda: http://learnyouanagda.liamoc.net/pages/introduction.html

                                                  1. 34

                                                    I had to stop coding right before going to bed because of this. Instead of falling asleep, my mind would start spinning incoherently, thinking in terms of programming constructs (loops, arrays, structs, etc.) about random or even undefined stuff, resulting in complete nonsense but mentally exhausting.

                                                    1. 12

                                                      I dreamt about 68k assembly once. Figured that probably wasn’t healthy.

                                                      1. 4

                                                        Only once? I might have gone off the deep end.

                                                        1. 3

                                                          Just be thankful it wasn’t x86 assembly!

                                                          1. 3

                                                            I said dream, not nightmare.

                                                            1. 2

                                                              Don’t you mean unreal mode?

                                                              being chased by segment descriptors

                                                              only got flat 24bit addresses, got to calculate the right segment bases and offsets, faster than the pursuer

                                                        2. 6

                                                          One of my most vivid dreams ever was once when I had a bad fever and dreamed about implementing Puyo Puyo as a derived mode of M-x tetris in Emacs Lisp.

                                                          1. 19

                                                            When I was especially sleep-deprived (and also on call) in the few months after my first daughter was born, I distinctly remember waking up to crying, absolutely convinced that I could solve the problem by scaling up another few instances behind the load balancer.

                                                            1. 4

                                                              Oh my god.

                                                              1. 2

                                                                Wow that’s exactly what tetris syndrome is about. Thanks for sharing!

                                                            2. 5

                                                              Even if I turn off all electronics two hours before bed, this still happens to me. My brain just won’t shut up.

                                                              “What if I do it this way? What if I do it that way? What was the name of that one song? Oh, I could do it this other way! Bagels!”

                                                              1. 4

                                                                even undefined stuff

                                                                Last thing you want when trying to go to sleep is for your whole brain to say “Undefined is not a function” and shut down completely

                                                                1. 4

                                                                  Tony Hoare has a lot to answer for.

                                                                2. 2

                                                                  Different but related: I’ve found out (the hard way) that I need to stop coding one hour before sleeping. If I go to bed less than one hour after coding, I spend the remaining of the said hour not being able to sleep.

                                                                  1. 1

                                                                    I know this all too well. Never heard of the tetris syndrome before. I need to investigate this now right before going to bed.

                                                                  1. 5

                                                                    Out of ADHD meds (there’s a shortage) and I don’t feel like I can focus on anything productive. Funny how quickly you can get used to normalcy and then it abruptly stops!

                                                                    1. 3

                                                                      If you don’t smoke, and it’s not a crime to do so in your jurisdiction (like it is here) you might find nicotine-containing vapes help.

                                                                      1. 4

                                                                        I found out about this some months ago when again the was a shortage. (hello fellow cigar enjoyer!)

                                                                        If anyone else is interested: Some study with n=17 on nicotine patches as a stimulant. Indeed nicotine patches seem to help me focus. Of course no one should pick up smoking; if someone wants to try this, try patches or at most vaping after you inform yourself on the danger/harm involved. I don’t recommend uninformed medical decisions, and I don’t recommend this at all if you believe you’re susceptible to addictions since nicotine is very addictive.

                                                                        1. 2

                                                                          Going through sort of the reverse thing right now. Recently diagnosed as probable ADHD. Also recently decided to try quitting smoking using pharmaceutical assistance. With bupropion and methylphenidate, my nicotine and caffeine consumption have basically cratered spontaneously. Previously I would be drinking about 8 cups of coffee/day and smoking about a pack a day. I’m still working through it all, but it seems like I’d been using excessive nicotine and caffeine for a long long time for my undiagnosed ADHD.

                                                                          1. 1

                                                                            Bupropion is a nicotine receptor antagonist but you probably already know this.

                                                                            How’s your concentration and general well being going with this regiment?

                                                                            1. 2

                                                                              Yup, the bupropion was specifically for smoking cessation, not for the ADHD. The timeline was kind of interesting… I had an annual check-up and I mentioned to my GP that I was interested in quitting smoking and being assessed for ADHD. Got a referral to a pharmacist for the smoking part, and to a psychiatrist for the ADHD part. I had the appointment with the pharmacist first who thought, based on previous smoking cessation attempts, that Zyban (bupropion) would be a good choice. The psyche consult came afterwards and he figured there shouldn’t be too much of a negative interaction between the bupropion and methylphenidate, but to temporarily stop the methylphenidate if I didn’t feel good. The bupropion should only be for another month or two (quit date is Friday!)

                                                                              I’ve only been on the methylphenidate for about a week now, but it’s been really interesting concentration and focus-wise. It hasn’t been as acutely world-changing as some reports I’ve seen, but everything just feels… quieter. The smoking, coffee, and ADHD have some confounding effects but… I can sit and work on something for more than 45 minutes now. The confounding thing is that I would previously have to get up and either go for a smoke or pee out some of the 8 cups of coffee. Since all three are kind of being addressed at the same time, I’m not entirely sure what’s what, but I like how things are going!

                                                                              Time will tell I suppose, but it’s pretty interesting to me that I’m 37 and only really discovered this now. Before COVID and the lockdown stuff around here, I figured I was just super scattered all the time because I was too busy doing too many things. COVID slowed everything down, and the feeling of completely scattered didn’t go away.

                                                                          2. 2

                                                                            It’s basically another caffeine. Addictive (eventually, for most people), quite useful as a stimulant, and super-poisonous in surprisingly-small doses that are nevertheless impossible to accidentally give yourself. But nicotine is also a pretty good bug-killer where caffeine is not, IIRC.

                                                                      1. 8

                                                                        You can also do that for sqlite databases, though it might be too slow for big files: https://ongardie.net/blog/sqlite-in-git/

                                                                        1. 1

                                                                          I had a somewhat similar idea. A friend of mine who does NLP told me about something called embedding, in which words were mapped to some kind of representation (a vector) such that similar words had similar representations. In fact, even pairs of words would be related; you can (in some cases) do something like boy+(queen-king) and get an encoding closest to girl. Then, the thought was to distribute colors in such a way that words with more similar encodings would have similar colors.

                                                                          Of course, this doesn’t actually pick the “semantic” meaning of any of the words, but I thought it was a similar enough idea to mention it here.

                                                                          1. 3

                                                                            The thing about word embedding is that its vectors have a big dimension; you’d have to do something like principal component analysis and project the embedding to 3D space to get a color. You might not get good results with that.

                                                                          1. 1

                                                                            SPARQL doesn’t seem intuitive or “semantic” to me. It looks like something a tool would generate. There’s query languages like https://en.wikipedia.org/wiki/Contextual_Query_Language which do a better job (though don’t seem to support relational algebra)

                                                                            1. 4

                                                                              Hm is there a reason why? After teaching myself the basics of RDF and OWL, SPARQL came to me pretty quickly.

                                                                              1. 1

                                                                                The Whole RDF is intimidating, the useful subset of SPARQL can be learned from https://data.world/blog/sparql-tutorial/

                                                                                Even if Wikidata QueryBuilder looks good; I think it would have been better to avoid wikidata’s heavy GUI indirection, and help people learn the basics of what a triplestore is, how to add data to it, and how to query it. That is what my project Copernic does. I think the days of the “the user is stupid” are doomed.

                                                                                Edit: Re: Contextual Query Language (CQL), the thing is the people that need to query wikidata, even if they do not know SPARQL, know spreadsheets, hence it is overkill to use a DSL that is elaborated (less than, not operator, regex etc…) instead => a two step process ‘narrow the search to a thousands triples’ then ‘import those triples in spreadsheet’ and proceed to refine the query. Something like the inverse of what openrefine does.

                                                                                1. 2

                                                                                  The Whole RDF is intimidating, the useful subset of SPARQL…

                                                                                  I agree that SQL is usually much simpler and intuitive, but RDF uses different data model and using SQL or some simpler language would reduce it to a primitive EAV. In SPARQL you can express queries that are not possible in SQL (or at least not possible in a native and simple way and also the query planner would not perform well). For example evaluate synonyms (or other predicates) across indefinite number of relationships (indirections). In SQL, you can use CTE (WITH …) but they are often quite difficult to read and write (unlike basic queries like SELECT some, columns FROM som_table WHERE some = condition that are super easy and reads almost like and English sentence).

                                                                                  P.S. I am a big fan of SQL and use it on most of my projects/jobs, but I must admit, that RDF/SPARQL has some strengths and interesting features that are worth of it.

                                                                              1. 31

                                                                                For dithered PNG images, you can improve the compression a good bit if you use an ordered dither rather than an error diffusion dither like Floyd-Steinberg. This is because the ordered dither tends to create regions of repeating pixels that the dictionary compression within PNG can identify.

                                                                                For example, using this command:

                                                                                convert COMountain.jpg -colorspace RGB -filter box -resize 25% -ordered-dither o8x8,3 -colorspace sRGB -quality 96 png24:COMountainIM3.png
                                                                                

                                                                                gives this result at 44,369 bytes after lossless recompression with optipng and then zopfli.

                                                                                Or we can go a step down in the palette size with this command (note the 2 instead of 3 on o8x8,3):

                                                                                convert COMountain.jpg -colorspace RGB -filter box -resize 25% -ordered-dither o8x8,2 -colorspace sRGB -quality 96 png24:COMountainIM2.png
                                                                                

                                                                                which gives this result for 26,163 bytes after recompression.

                                                                                Other details:

                                                                                Resampling to downscale assumes linearized colors, and dithering really ought to be done in a linearized colorspace as well. Hence the change to linear RGB as the first step and then back to sRGB for display at the end. Otherwise, you end up with odd color shift after dithering (i.e., it blows out and tends to look too bright).

                                                                                Ideally you’d use something like sync filter for the resampling (or at least a cubic filter). But that has a slightly sharpening effect and can introduce ringing which negatively impacts compression. Using a box filter does not sharpen and leans towards smoothing so it gives a tiny boost to compression.

                                                                                For the lossless recompression with optipng and zopfli, I used optipng -o7 -zm1-9 image.png; advpng -z4 image.png for both.

                                                                                1. 3

                                                                                  Wow! Thank you for the added information. I was able to reproduce this, and am pushing an update to the post with images produced from these commands, with a big ol’ quote block including this comment.

                                                                                  1. 11

                                                                                    You’re very welcome.

                                                                                    And for what it’s worth, while the dithering was a fun exercise, I agree with you that simply using a better format is the way to go. In my experiments in lossy compression, I haven’t been all that impressed with WebP. It’s usually better than classic JPG even from a clever encoder like mozjpeg, but I find that for equal size files both JPEG XL and AVIF give better results. For your image, with equal size encodings of around 61KB versus WebP, I find that JPEG XL keeps more of the texture of the trees on the left at the expense of ringing (i.e. mosquito artifacts) along the mountain edges, while AVIF has top-notch de-ringing at the expense of loss of texture through heavier smoothing. WebP has both heavier smoothing and all of the ringing. HEIF seems somehere between AVIF and JPEG XL, though closer to the AVIF end but with some odd smudging of edges.

                                                                                    Overall, I’ve tended to like the look of AVIF a little better and quantitatively I’ve found it’s way ahead of everything else in terms of bit-rate vs. PSNR distortion on my test image corpus. (I haven’t extensively tested HEIF yet, however.)

                                                                                    1. 7

                                                                                      I don’t actually love WebP either. For broad categories of images (real life, anime, etc) I think my preference is HEIF or BPG - which is essentially the same thing. Unfortunately, support for HEIF is abysmal, requiring annoying to install packages from the Microsoft Store on Windows and the Linux decoders are rather slow, lacking acceleration (last I checked). My recommendation of WebP was more focused on the fact that it’s actually supported now, where as AVIF, JPEG XL, and HEIF all lack universal browser support.

                                                                                      I dove down this rabbit hole pretty deep when looking to standardize all the images on my computer to one format instead of the mix of png, jpeg, etc. that I have now, so I was trying on my own mix of desktop backgrounds, screenshots, family pictures, and furry art- I ended up giving up due to the poor performance. This was a while ago though, so things may have changed

                                                                                      1. 3

                                                                                        Unfortunately, support for HEIF is abysmal, requiring annoying to install packages from the Microsoft Store on Windows and the Linux decoders are rather slow, lacking acceleration (last I checked).

                                                                                        Yeah, this is still an issue. It takes like 2-3 seconds to decode pictures I took with my iPhone(!) Because I wrote the Imlib plugin myself I thought I must be doing something wrong, but after quite a bit of investigation it turned out … it’s just slow like that.

                                                                                        WebP isn’t perfect, but overall it’s quite an improvement over the classic PNG/JPEG/GIF formats, with the biggest downside that support is still a bit iffy beyond “renders in a browser” (e.g. uploading a webp image on GitHub and many other platforms won’t work, although naming it img.web.png works on some platforms 🤷).

                                                                                        1. 2

                                                                                          AVIF, JPEG XL, and HEIF all lack universal browser support

                                                                                          JXL was frozen, like, yesterday. (a few months ago or something.) Give it time! It’s already behind a flag in Firefox Nightly and Chromium. I even have a feeling that Apple might be more enthusiastic about it vs. AVIF due to it not being based on a free video codec that competes with their favorite patent-encumbered MPEG junk.

                                                                                          AVIF is in such an awkward spot now… it was there earlier, it’s more “ready”, Mozilla slightly prefers it due to Rust implementations existing, but JPEG XL is now so clearly the one – being a purpose-built image format, it supports progressive loading and lots of other features.

                                                                                        2. 5

                                                                                          If JPEG XL actually delivers the ability to serve multiple screen sizes / resolutions from the same image as proposed in FUIF, instead of requiring storing many copies of the same image for responsive design, that would be a godsend and would immediately convert me to JPEG XL for graphics on websites. I don’t want the complication of generating, storing, and serving the right image to the right client, there should be one image and clients should only download the amount they want.

                                                                                          I mean, in what world is HTML like this the right approach to responsive design?

                                                                                          <img
                                                                                          	sizes=100vw
                                                                                          	srcset="/blog/2020/10/pictures/schuylkill_hu1966b96707887b7b85192359bda88cdb_1900414_576x0_resize_q75_box.jpg 576w,
                                                                                          	/blog/2020/10/pictures/schuylkill_hu1966b96707887b7b85192359bda88cdb_1900414_720x0_resize_q75_box.jpg 720w,
                                                                                          	/blog/2020/10/pictures/schuylkill_hu1966b96707887b7b85192359bda88cdb_1900414_900x0_resize_q75_box.jpg 900w,
                                                                                          	/blog/2020/10/pictures/schuylkill_hu1966b96707887b7b85192359bda88cdb_1900414_1080x0_resize_q75_box.jpg 1080w,
                                                                                          	/blog/2020/10/pictures/schuylkill_hu1966b96707887b7b85192359bda88cdb_1900414_1280x0_resize_q75_box.jpg 1280w,
                                                                                          	/blog/2020/10/pictures/schuylkill_hu1966b96707887b7b85192359bda88cdb_1900414_1366x0_resize_q75_box.jpg 1366w,
                                                                                          	/blog/2020/10/pictures/schuylkill_hu1966b96707887b7b85192359bda88cdb_1900414_1440x0_resize_q75_box.jpg 1440w,
                                                                                          	/blog/2020/10/pictures/schuylkill_hu1966b96707887b7b85192359bda88cdb_1900414_1600x0_resize_q75_box.jpg 1600w,
                                                                                          	/blog/2020/10/pictures/schuylkill_hu1966b96707887b7b85192359bda88cdb_1900414_1800x0_resize_q75_box.jpg 1800w,
                                                                                          	/blog/2020/10/pictures/schuylkill_hu1966b96707887b7b85192359bda88cdb_1900414_1920x0_resize_q75_box.jpg 1920w,
                                                                                          	/blog/2020/10/pictures/schuylkill_hu1966b96707887b7b85192359bda88cdb_1900414_2160x0_resize_q75_box.jpg 2160w,
                                                                                          	/blog/2020/10/pictures/schuylkill_hu1966b96707887b7b85192359bda88cdb_1900414_2304x0_resize_q75_box.jpg 2304w,
                                                                                          	/blog/2020/10/pictures/schuylkill_hu1966b96707887b7b85192359bda88cdb_1900414_2560x0_resize_q75_box.jpg 2560w,
                                                                                          	/blog/2020/10/pictures/schuylkill_hu1966b96707887b7b85192359bda88cdb_1900414_2880x0_resize_q75_box.jpg 2880w,
                                                                                          	/blog/2020/10/pictures/schuylkill_hu1966b96707887b7b85192359bda88cdb_1900414_3200x0_resize_q75_box.jpg 3200w,
                                                                                          	/blog/2020/10/pictures/schuylkill_hu1966b96707887b7b85192359bda88cdb_1900414_3384x0_resize_q75_box.jpg 3384w,
                                                                                          	/blog/2020/10/pictures/schuylkill_hu1966b96707887b7b85192359bda88cdb_1900414_3840x0_resize_q75_box.jpg 3840w"
                                                                                          	src=/blog/2020/10/pictures/schuylkill_hu1966b96707887b7b85192359bda88cdb_1900414_1440x0_resize_q75_box.jpg
                                                                                          	width=4032
                                                                                          	height=3024
                                                                                          	alt="The Schuylkill River in winter. There&#39;s snow on the ground, the sun is setting, and the city lights are reflecting in the icy water. The river trail is visible through the trees on the left."
                                                                                          	class=full-width>
                                                                                          
                                                                                          1. 3

                                                                                            in what world is HTML like this the right approach to responsive design?

                                                                                            That’s a lot of steps.. I just use 1000, 2000 and 3000. Before that, I used to only generate a full-size-but-overcompressed (50% “quality” or so) one due to that post from 2012 :D

                                                                                            1. 1

                                                                                              That is a good point, but there’s another side of it as well.

                                                                                              For …let’s say “smaller” websites and places where people code things by hand or some niches, this would be horrible. But I doubt that a blogger like our OP here would go in so many details - unless there’s a very specific need for this, why bother with so many?

                                                                                              And for bigger things, software like CMS (Like Wordpress, Publii, or any of the things we use in our apps), you’d have just one, biggest source file, and your dev pipeline would create all these formats and things itself. You’d rarely ever actually see this code.

                                                                                        3. 1

                                                                                          There’s also a cool online tool for ordered dithering here: https://seansleblanc.itch.io/ordered-dither-maker

                                                                                        1. 2

                                                                                          Is there a transcript available? I looked for it and would appreciate it.

                                                                                          1. 1

                                                                                            Have you tried the builtin auto transcript from YT?

                                                                                            1. 2

                                                                                              Well I tried DeepSpeech and the result is semi-terrible

                                                                                          1. 12

                                                                                            Trying to figure out what to do. It’s OK to do nothing at all, but I can’t be doing nothing all the time.

                                                                                            1. 8

                                                                                              First and foremost, I will be roasted (prognosis is temperature high: 40 and temperature low: 28)

                                                                                              I will be improving sic.pm’s story filtering interface. I replaced fetching stories for each tag and computing the set union in python to pure SQL logic using temporary views and common table expressions. I thought it was going to take me all weekend but it was straightforward. Now I have to implement filter management in the UI side of things.

                                                                                              I will also look into implementing a search interface like lobste.rs but with sqlite3. I am planning on queuing URLs in a file from python when someone makes a post, and setup a rust cron job that uses a port of mozilla’s readability library to extract the plain text content and index it. Lobsters uses https://diffbot.com/ if I’m not mistaken instead of rolling a custom solution.

                                                                                              1. 2

                                                                                                First and foremost, I will be roasted (prognosis is temperature high: 40 and temperature low: 28)

                                                                                                Wow, take care, drink lots of water and hope for the humanity to be wiser ;)
                                                                                                And have fun doing your today’s stuff!

                                                                                                [edit]
                                                                                                added newline

                                                                                                1. 1

                                                                                                  Thank you:) have fun and good rest as well.

                                                                                              1. 12

                                                                                                Apologies for being pedantic, but Cloudflare is a publicly traded company so their only mission is paying the shareholders. Everything they say publicly is PR and marketing, including “working toward building a better Internet”.

                                                                                                1. 10

                                                                                                  Of course. But I can attempt to publicly shame them with their own PR even though I don’t actually believe it. I’m trying to follow the best tactics I can think of for solving this specific accessibility problem, regardless of my (ambivalent) opinions about Cloudflare in general.

                                                                                                  1. 1

                                                                                                    I hope it works. Accessibility is always an afterthought unless the corporation is forced to support it, either via law or public shaming.

                                                                                                  2. 4

                                                                                                    Apologies for being pedantic, but Cloudflare is a publicly traded company so their only mission is paying the shareholders.

                                                                                                    Then public shaming to threaten that bottom line is the only way to ever expect them to behave morally.