Threads for tiniuclx

    1. 19

      The success of Balatro is absolutely incredible, and very well deserved. It’s a pity that it seemed to have such a physical toll on the developer.

      Balatro’s probably the most accessible roguelike deckbuilder I have ever played, and it really is a ton of fun. In a lot of ways it feels like ‘outsider art’ to the genre - the blog post mentioned that the developer didn’t really play any similar games during development and it really shows. Balatro really is a breath of fresh air, and brings a lot of innovation to the table.

      1. 1

        I genuinely wonder what do you consider to be Balatro innovations? Joker mechanics is not different from “all orcs get +1” effect cards I think. (I only have unlocked all decks)

        1. 1

          The biggest innovation is the core game mechanic of playing poker hands and receiving a score based on a multiplier.

          Most roguelike deck builders have you starting off with a fairly small, fairly weak deck that you increase in power by adding cards to. Balatro innovates here by starting the player off with a standard 52-card deck!

          Another innovation is the way scaling works over time - the most powerful ways to scale are all “meta” - scaling that is preserved between different rounds.

          The different types of rewards, such as the Tarot cards are also very interesting.

          1. 1

            Not sure it counts as innovative, but Balatro is a game for the sake of it. It doesn’t have a story, doesn’t have a message, doesn’t have lore. It’s just a game.

            An extremely well designed and fun game that you can play whenever you want for how long you want, which some mechanics you likely already know (poker hands) and some you don’t (jokers). It nailed the infinite replayability with Endless Mode without making it (too) frustrating, it’s just bonus challenge.

            Besides that, it has all the ingredients of a rogue like, nothing really innovative here in my opinion, and that’s ok.

            1. 1

              For me, a number of the “innovations” are simple details that make the game more compelling and fun, and the fact that these design choices aren’t oriented around getting the poor victim to open one more loot crate while draining their wallet.

              Like the way the multiplier graphs burst into flames, the sound effects and the like.

          2. 17

            There won’t be a better headline in 2025 anymore. We can skip the year.

            1. 17

              The headline is incredibly clickbaity and misleading. Bezos and Amazon don’t really have anything to do with the real problems outlined in the article.

              1. 7

                I found it so over-the-top obviously click-bait in such a way that it didn’t bother me. Almost click-bait to be ironic.

                1. 4

                  Gosh, it’s quite obvious hyperbole. I can’t imagine it actually misleading any reasonable person.

                  1. 3

                    It is misleading because the issue is almost completely unrelated to Amazon (that just happens to be the cloud provider being used; the issue would be the same with another provider). The implication of the hyperbolic headline is that Bezos or Amazon have anything to do with the the startup that made the mistake, but clearly that’s not the case. It leads one to expect more Amazon involvement than there is.

                2. 4

                  That title is a work of art. I didn’t even know they make IoT beds, this is a ridiculous story all in all and the title is perfectly appropriate.

                3. 1

                  Going through CVs for several internship openings at $WORK. It’s a tough market out there, I’m seeing a lot of very qualified candidates applying.

                  Also working on commissioning some key art for Botnet of Ares, my hacking simulator game. Hoping to also get some development work done on the game this week, but funnily enough I’ve also got quite a few social events this week - unusual for me but I’m not complaining.

                    1. 1

                      Enjoying Space Age? I (mostly) finished Fulgora & Vulcanus before I got bored & started playing other games - but will come back to Factorio for sure!

                      1. 2

                        Yeah it’s fantastic. Space Age really adds a bunch of new dimensions. Been playing for months, and creating circuits that make the ones people are sharing look tiny (that’s software engineering for you). Lots of hard lessons and take aways for programming, particularly around simplicity.

                        Honestly Vulcanus is a bit boring. Gleba is an interesting curiosity. Fulgora flips everything on its head and is fascinating.

                    2. 1

                      Recovering from jetlag from my trip to China, and (hopefully) working on Botnet of Ares a little (https://tiniuc.com/botnet-of-ares/)

                      1. 2

                        Hi Alex - I tried to email you the following, but the email address from your “Contact me” link is not working:

                        This is an automated message from the mail system at Fastmail.

                        I’m sorry to have to inform you that your message could not be delivered to one or more recipients. No further attempts will be made to deliver this message to those recipients.

                        For further assistance, please read our help center article about message bounces

                        https://www.fastmail.help/hc/en-us/articles/7010500320655-Why-messages-bounce-back

                        If you would like to reach out to our support team about the issue then please include this problem report.

                        The Fastmail support team. fhigh.stl-outbound-01

                        alex@tiniuc.com: host smtp.secureserver.net[216.69.141.84] said: 550 5.1.1 alex@tiniuc.com Recipient not found. https://www.secureserver.net/help/fix-rejected-email-with-a-bounce-error-40685?pl_id=1592&prog_id=domainspricedright#irbpl_id=1592&prog_id=domainspricedright#irb (in reply to RCPT TO command)

                        I can’t find another way of contacting you except here, so the message I sent was this:

                        Hi Alex, thanks for the article on making your own tools. Can I point out an issue with your site’s web design? Described here:

                        https://lukeplant.me.uk/blog/posts/you-can-stop-using-user-scalable-no-and-maximum-scale-1-in-viewport-meta-tags-now/

                        1. 2

                          Thanks for getting in touch - I had no idea said email was broken, it was working absolutely fine before I’d set up the mailing list! I’ll take a look at my DNS settings.

                          And thanks for sharing that link regarding accessibility, I’ll see if I can fix my website after dealing with the broken email.

                          1. 1

                            Update - looks like my DNS provider (123-reg) is now bundling e-mail forwarding with their e-mail provider offering, when it used to be free with the domain name. Thanks again for flagging this, shouldn’t be too much trouble to get it back up!

                          2. 6

                            As usual, there’s an xkcd for everything! This time, there are even two!

                            What this has made me realize is that speeding up part of a workflow can provide value far beyond the mere time savings: it also unlocks new ways of working that were not possible before.

                            That! I fully agree! Then, in my experience, once others start using the tools too, more and more features tend to creep in, leading to more development/maintenance work in the long run.

                            […] in bigger studios there is often a team dedicated to building & supporting tools & editors for designers & other folks to use.

                            At my current workplace, we also have a few people dedicated to building and supporting the tooling and they are essential for fast iteration times - time on tools can be time well-spent!

                            1. 4

                              What this has made me realize is that speeding up part of a workflow can provide value far beyond the mere time savings: it also unlocks new ways of working that were not possible before.

                              I think it has two more upsides…

                              1. the ikea effect of building something for yourself and you have some pride in that

                              2. sometime the issue you automated away is a thing that you just irrationally dislike doing to the point of avoiding it so it actually gets done with the tool.

                              1. 3

                                value far beyond the mere time savings: it also unlocks new ways of working that were not possible before.

                                This shows a nice relationship between the Jevon’s paradox, efficient notation as a tool of thought.

                                1. 1

                                  Yes, the ‘is it worth the time’ XKCD is such a classic - I was half a mind to include it in the article itself!

                                  That! I fully agree! Then, in my experience, once others start using the tools too, more and more features tend to creep in, leading to more development/maintenance work in the long run.

                                  As we all know, more code being written doesn’t necessarily make our lives easier :)

                                2. 3

                                  I’d like to hear from the Lobsters developer community on this topic - did any of the tools you have built provide some surprising benefits long after you’ve started using them?

                                  1. 6

                                    The thing I’ve most recently written is a compiler for books. It parses a TeX-like markup, builds a tree, and then lets me run Lua passes over it to transform the tree and then output it. My first four books were all written in LaTeX but for the second one the publisher wanted ePubs and outsourced this to a company that completely screwed up the formatting. For the third one I wrote a prior iteration of the tool so that I could write semantic markup and have some LaTeX macros that would expand it, or parse it with another tool and generate HTML.

                                    For the book that I’m just finishing, I wanted to have a single flow for:

                                    • HTML for online reading.
                                    • ePub (HTML + metadata) for eBooks.
                                    • PDFs for print.
                                    • PDFs for online reading (fixed-layout eBooks - some people prefer these).

                                    I started writing this one in AsciiDoctor and eventually wrote my own tool. Extending AsciiDoctor is supposed to be possible, but the docs are totally lacking. I wanted to write my code examples as separate files that I could compile and test and then have libclang mark them up and add them to the text, so my document source code is a thing saying ‘pull in the things between these markers in this file and give it this caption’.

                                    One of the things that’s really helped is that there’s no privileged syntax for syntactic markup. Defining a new thing that’s lowered to a span (HTML) or some format (SILE for PDF) is trivial, so I don’t fall back to using back ticks, I mark things up with the right language. And then, later, because that markup is there, I can go and use TreeSitter to do syntactic labelling for inline snippets.

                                    1. 1

                                      I remember that you were talking about this topic in another post a while ago. I wanted to follow up on this and ask if you’re planning on making the code available. I would definitely be interested in taking a look (and not because because I want to procrastinate on writing my thesis).

                                      One thing that I am not sure about is how to do cross-referencing properly. I really love how Scribble resolves the functions used in code and is able to link directly to their documentation in code snippets. I would love if something like this would be available in a language-agnostic way.

                                      1. 3

                                        The code is here: https://github.com/davidchisnall/igk

                                        I haven’t pointed people at it because it needs a lot more documentation before anyone who isn’t me can do useful things with it.

                                        1. 1

                                          Cool thank you anyways! Hope you get around to tidying up the repo at some point.

                                          If you do so and want some feedback, is be happy to take a look and write down my thoughts.

                                    2. 5

                                      Actually yes, but it’s on purpose :)

                                      Management asked us to keep track of the time we spend on each task “type” everyday (r&d, exploitation, support, …). So I wrote a program to keep track of my time, that I run whenever I switch tasks (it’s bothersome, but wait for it…).

                                      Thanks to it, my time is tracked very accurately, and it could hilight that I spend way too much time doing support, leading to actions being taken by management. On the other hand, my coworkers do it the “old” way, by guessing approximately how much they did for each task during the week. Which is inaccurate and not representative at all, as you might guess.

                                      1. 2

                                        I have written small firefox extensions that scratch an itch or two. or a bookmarklette if it’s really small. a simple tab switcher and manager i use daily. one to switch focus in tabs where i press capslock + a or d. one to make the docs on a site prettier. one to open up a folder of bookmarks say 5 or 10 at a time. all of them i use daily.

                                        1. 2

                                          Hey, long-time-after is kind of a hard (because of not tracking the root cause for improvement) requirement to track, which you did not apply to your own examples!

                                        2. 2

                                          Are there any members in this thread? I would love an invite!

                                          1. 27

                                            Thanks for all the great comments here, especially the many people who’ve volunteered to speak with their representatives and policy makers. I’m hopeful that we find a way through this situation, and based on what we know of the Parliamentary approval process that seems like the most promising avenue for giving time to make improvements.

                                            I think it’s important to highlight that I fixed a bad link. I wrote “the current, bad plan is that Lobsters will geoblock the UK before the law takes effect” and wanted that to link to the commit specifically to show that the geoblock is pending. I want it to be unambiguous that in the same way the OSA is scheduled to take effect, so is our “current, bad plan”.

                                            To round up some other great parts of the conversation, c12 left two comments that made a persuasive case that huge fines are unlikely. Though there’s still the problems that the process is the punishment and encouraging worse future censorship.

                                            Outside of this comment thread, I’ve gotten two very useful contacts.

                                            First was an employee of a large site working on OSA compliance. They made an email introduction to current Ofcom employees so that I can directly discuss these concerns with the regulator. I’ve only gotten an out-of-office reply so far, but I primarily plan to ask for Ofcom to publish guidance appropriate to hobbyist and foreign sites. I’m hopeful that I can talk directly to the people who have written the current statements we have been struggling to understand.

                                            Second, a UK lawyer who has relevant professional experience named Neil Brown has publicly announced that he is working on free resources to help small sites understand the OSA better. I’ve started talking to Neil in case hearing directly from a small site can improve his work. I’ve been real concerned about the perils of playing lawyer, so I’m really looking forward to a resource that I expect to meaningfully advance the public understanding of the risks of the OSA.

                                            This has all been great progress, and I really appreciate everyone who’s contributed here and elsewhere to help. Especially with the prospects of Neil’s resource and talking directly to the regulators, I’m optimistic that this situation will improve.

                                            1. 15

                                              As a Brit, I just want to say thank you for expending time and energy on this! I would fully have understood if you’d just thrown your hands up in disgust, implemented the block, and walked away :(

                                                1. 1

                                                  More from Neil Brown, looking at the latest from Ofcom https://mastodon.neilzone.co.uk/@neil/113837276025674919

                                                  Hot-off-the-press guidance from Ofcom for the UK’s Online Safety Act:

                                                  Age checks to protect children online

                                                  1. 1

                                                    The link seems to broken.

                                                    The fedi instance itslef is up: https://mastodon.neilzone.co.uk/@neil/

                                                    Edit found the post, the link I got from it is identical to the one above and does not load correctly in Firefox or Chrome

                                                    https://mastodon.neilzone.co.uk/@neil/113837276025674919

                                                    Text:


                                                    Hot-off-the-press guidance from Ofcom for the UK’s Online Safety Act:

                                                    Age checks to protect children online

                                                    Note:

                                                    Pornography services must introduce age checks by July 2025 at latest

                                                    So very little implementation and testing time.

                                                    https://www.ofcom.org.uk/online-safety/protecting-children/age-checks-to-protect-children-online/

                                                2. 3

                                                  Thanks a lot for putting in all this work to make sure Lobsters stays up in the UK. I visit almost every day & it would be big loss for me if I were to lose access.

                                                  1. 2

                                                    As someone who’s mostly been lurking, wanted to say thanks for everything you’ve been doing here.

                                                  2. 3

                                                    Very cool! I really enjoy seeing things built in Godot, as I predominantly build on the backend and CLI/TUIs.

                                                    Do you care to comment on any of the challenges exporting your Godot project to Android and/or iOS? Was there anything particularly unexpected about that process?

                                                    1. 3

                                                      The biggest challenge was installing Android Studio and downloading the correct versions of all the tools! Once everything was set up, exporting was a breeze. Setting up the crypto signature for the Play Store also took a few tries.

                                                      But this is all work you only need to do once. After it’s up and running, you can run your debug build in two clicks, straight onto your phone. And exporting is basically just as fast.

                                                    2. 41

                                                      I’m disappointed to see no discussion of a major drawback of developing desktop apps in game engines in general and Godot specifically: they generally don’t integrate well - or, in this case, at all - with platform accessibility toolkits. While I can understand not caring much about e.g. screen reader support in a whiteboarding app (though, yknow, it’d be cool to make one that works for that use case), some of the other examples, like Arrow, really should support screenreader users.

                                                      1. 23

                                                        The other drawback is that they bring their own widget set, which makes them look and, more importantly, feel foreign. This is a feature for a game: you want a game to feel like a separate world to the host system. It’s not for an app.

                                                        1. 18

                                                          I’m not sure this is much of a drawback anymore, given the prominence of web apps (and Electron apps on the desktop). Even just looking at fully native desktop apps, I feel like (anecdotally) I’ve seen a lot more devs choose to abandon native-looking windows and widgets entirely. 5-10 years ago I would have fully agreed, but I think we’re in a world with such heterogeneous desktop UIs that there’s not much of a sense of “foreign” these days.

                                                          1. 14

                                                            The sensation is still strong to me. Every time I find that an app’s menu bar doesn’t include the bulk of its functions, I go looking for an alternative. Foreign widgets are just a symptom; the problem is a lack of intent to uphold norms and thereby keep the overall system easy to learn and use.

                                                            1. 12

                                                              That’s far less true on macOS, where the default widgets were not intentionally crippled to prevent competition for the vendor’s office suite. It seems to be the norm on Windows now, which is one of the reasons I hated using Windows. Electron isn’t as bad as it could be, because it at least provides widgets that mostly match the host ones, though rich text views are a complete mess.

                                                              1. 5

                                                                As bad as Electron is, non-native UI toolkits other than it tend to be in worse shape for i.e. text input or accessibility. With Electron, you at least get native text input (inherited from Chromium) and decent accessibility (inherited from the ARIA world) for free. Qt apps tend to be infuriating to type into on macOS because they don’t support any of the platform features for input.

                                                                1. 4

                                                                  Yes and no. You do for plain text input, but rich text tends to be done with custom widgets. The text input in Teams, for example, does not quite match the default behaviour on Windows or macOS. On Windows it’s amazingly bad because it somehow manages to update asynchronously and so typing quickly with high CPU load (i.e. Teams is running on Windows) means that it inserts the characters but doesn’t update the cursor position and so your typed characters appear backwards, slowly.

                                                                2. 2

                                                                  Except that web tech is excellent and using native widgets so you can look and feel native. More than any other portable GUI system.

                                                              2. 8

                                                                Yes, this is a valid concern. Some work has been done towards adding screen reader support as a Godot plugin but I do not think there is anything like this built into the engine itself.

                                                                It’s a hard problem to solve! As it stands, you could make the argument that people don’t use Godot for professional app development because it lacks accessibility features. And if app development does not have many users, the core developers will not invest time into app-specific features such as… accessibility features.

                                                                1. 6

                                                                  The very sad thing about a11y is that shipping something that doesn’t care about it doesn’t net you economic consequences (fewer users or penalties, like anything that needs to be accessible under the ADA).

                                                                  Surprisingly a lot of apps fail at simple a11y things like color schemes that are impossible to discern meaningful information for users with colorblindness, which is like 5-8% of men, or poor contrast ratios for people that don’t need screen readers but would benefit from it, which as I get older seems to approximate 100% of people’s eyes.

                                                                  Personally I think about it a lot, especially for easy wins like contrast and colorblindness but handling a11y interfaces can be a struggle. It’s unfortunate that the path of least resistance makes it something you need to think about rather than being the default - but I think that’s changing a bit, and maybe some light regulation will force it to be considered.

                                                                  1. 6

                                                                    While I can understand not caring much about e.g. screen reader support in a whiteboarding app (though, yknow, it’d be cool to make one that works for that use case)

                                                                    Have a look at Apple Freeform. It seemed like a simplistic tool before I tried it with VoiceOver.

                                                                    1. 1

                                                                      I will, thank you!

                                                                    2. 3

                                                                      I think Flutter shines here. It does integrate with mobile screen readers, and while it doesn’t have the WYSIWYG style of development that a Godot GUI has, the hot reloading feature makes updates appear instantly in the app while it’s running. So it still feels good to develop GUIs in pure code

                                                                      In fact it feels really lispy to edit the app while it’s running. And if you want to develop games using flutter there is the Flame framework, and flutter casual games toolkit, as well as bonfire (I wouldn’t use Raylib if you are on Mac)

                                                                      1. 2

                                                                        I think the target audience of such programs and developers are adjacent to game dev.

                                                                        You are definitely right about accessibility. I’m not sure if extra work to be accessible for small tools is worth the effort (possibly also built by one or two devs).

                                                                      2. 5

                                                                        If you’ve read this far and are thinking “If Redo is so great, how come it hasn’t taken over?”

                                                                        I want a build system that can help me with the following:

                                                                        • build variants – e.g. don’t do “make clean” between debug / release / ASAN builds. GNU make has some tortured support for this, but it requires you to use it correctly, and I haven’t seen many people do it (I think it’s VPATH or something). AFAIK redo doesn’t help you with this any more than GNU make does – probably less.
                                                                        • Writing correct incremental builds, e.g. specifying all your dependencies. I don’t want a tradeoff between fast builds and correct builds. GNU make doesn’t help you with this enough, and neither does redo AFAIK.
                                                                        • Correct parallel builds. I think apenwarr’s redo does better here, but the original redo doesn’t. But I haven’t seen a real convincing demonstration of that in any case. I think the declarative graph model helps you analyze bottlenecks in your build (critical paths), but redo’s non-declarative model may thwart that to some extent.

                                                                        In other words the whole point of a build system is to let you write something that’s fast and correct (which is not easy), and neither GNU make or redo helps enough with that.


                                                                        FWIW I sort of made fun of the Android build system circa 2015 here for using GNU Make (they no longer use it):

                                                                        https://lobste.rs/s/znrsap/tech_notes_success_failure_ninja#c_l04v6d

                                                                        ButI didn’t mention that it was a very parallelizable build. It was much more parallelizable than Firefox’s build as I recall. Android was building much more but it could saturate 32 cores easily. Other build systems do not do this – you have to try to get a really parallelizable build, and that’s what I want a build system to help me with.

                                                                        As I mentioned there, I’m probably going to switch the build to Ninja + a shell or Python generator. This recent post was very cool

                                                                        https://lobste.rs/s/952gdv/merkle_trees_build_systems

                                                                        I think that architecture has a lot of potential for hard build problems in the future. Some context on Oil’s problem here: https://github.com/oilshell/oil/issues/756


                                                                        In other words I think redo is fine and cool but it doesn’t help enough with hard build problems. You could make an analogy to Forth. Sure it’s more elegant for certain problems, but if it falls down for harder problems, then it’s not a net win. It has its place, but it’s not surprising that it’s not more popular.

                                                                        1. 3

                                                                          build variants – e.g. don’t do “make clean” between debug / release / ASAN builds. GNU make has some tortured support for this, but it requires you to use it correctly, and I haven’t seen many people do it (I think it’s VPATH or something). AFAIK redo doesn’t help you with this any more than GNU make does – probably less.

                                                                          The easiest way to do this is to have something like

                                                                          .PHONY: %.var
                                                                          .PRECIOUS: %.var
                                                                          %.var:
                                                                          	@echo "$($*)" | cmp -s - "$@" || echo "$($*)" > $@
                                                                          
                                                                          %.o: %.c CC.var CFLAGS.var
                                                                          	$(CC) $(CFLAGS) -c -o $@ $<
                                                                          

                                                                          This will 100% work, but it takes some discipline to specify all used variables as dependencies.

                                                                          Writing correct incremental builds, e.g. specifying all your dependencies. I don’t want a tradeoff between fast builds and correct builds. GNU make doesn’t help you with this enough, and neither does redo AFAIK.

                                                                          Yeah, to do something like this in make you have to do something like

                                                                          $(OBJS) := # ...
                                                                          $(DEPS) := $(OBJS:.o=.d)
                                                                          
                                                                          %.o: %.c
                                                                          	$(CC) $(CFLAGS) -MMD -c -o $@ $<
                                                                          
                                                                          -include $(DEPS)
                                                                          

                                                                          but of course this only works for C files. For a more comprehensive treatment of this problem, have a look at tup. It puts an overlay FUSE filesystem on your source directory to track what objects use what files. One downside may be that its limited syntax makes it less useful as an all-in-one config/build tool than make is. If you use tup, you may end up needing to use something like autotools/cmake/meson to generate your tupfiles.

                                                                          Correct parallel builds. I think apenwarr’s redo does better here, but the original redo doesn’t. But I haven’t seen a real convincing demonstration of that in any case. I think the declarative graph model helps you analyze bottlenecks in your build (critical paths), but redo’s non-declarative model may thwart that to some extent.

                                                                          I believe if you have proper dependency tracking, then this becomes trivial to do. Well-written makefiles tend to parallelize extremely well, but only if the author has included all the dependency info.

                                                                          1. 2

                                                                            Yeah, the short way to say it is that the build should fail if the Makefile is broken. Bazel has that property, and the linked Merkle tree post describes a system that appears to have it as well.

                                                                            In other words, the build tool should help you write a correct build config. GNU make doesn’t help you at all – instead you are left with a bunch of obscure rules that you’re not sure if you followed.

                                                                            You can state the rules, and maybe follow them yourself, but if I give you 5,000 lines of someone else’s Make, then good luck.

                                                                            On top of that, make can’t be statically parsed, so you can’t write a lint-type tool for it. I don’t think redo can be either. You can statically parse shell (which is what Oil does) but redo has semantics on top of shell, that occur after runtime substitutions.

                                                                            1. 2

                                                                              I tried tup, and liked it initially, but was ultimately put off by it. I don’t like that it requires a fuse module (heavy dependency, doesn’t work well on platforms that aren’t linux, kind of hacky). It also broke its promise to never screw up a dirty build.

                                                                              I don’t know what the solution is for projects that require complicated builds. I try to keep mine simple—list of source files converted to objects—so plain make can handle it, but sometimes that’s just not practical. Meson is decent, but not great. Cmake and autotools are hell. Language-specific build systems (cargo, dub, …) tend to be good, but inflexible.

                                                                              1. 1

                                                                                I tried tup, and liked it initially, but was ultimately put off by it. I don’t like that it requires a fuse module (heavy dependency, doesn’t work well on platforms that aren’t linux, kind of hacky). It also broke its promise to never screw up a dirty build.

                                                                                Yeah, I primarily mention it because it’s sort of the natural end-point of something like redo. I wonder if one could do something like this with ptrace. Does windows have an api for that? I wonder what the performance is like when compared to fuse.

                                                                                Cmake and autotools are hell.

                                                                                I agree. CMake does make windows builds better, but at the cost of its awful configuration language. I think there’s an urge to reach for a tool like them whenever one starts to have significant configuration for a project. I think Kconfig does a pretty good job, now if only it could get recursive dependencies :)

                                                                            2. 2

                                                                              but redo’s non-declarative model may thwart that to some extent

                                                                              It is non declarative, but after a full build, you get .dep.$name files that declare the build tree, which redo-dot or others implementation’s tools can make use of.

                                                                              Writing correct incremental builds, e.g. specifying all your dependencies. I don’t want a tradeoff between fast builds and correct builds. GNU make doesn’t help you with this enough, and neither does redo AFAIK.

                                                                              I fail to see how either fails at doing so: as soon as the full dependency graph is there, it is a problem that is solved by both?

                                                                              1. 2

                                                                                It’s easy to introduce bugs in Makefiles simply by leaving off a dependency. You add a dependency to the code but forget to update the Makefile. (the gcc -M stuff helps for C/C++ code only, though it’s not exactly a great mechanism)

                                                                                So the build still works in the sense that you’ll get some output file and will exit status 0, but the incremental build is subtly broken, and may remain that way for a long time.

                                                                                What I’m thinking of is more along the lines of what’s described here:

                                                                                https://lobste.rs/s/952gdv/merkle_trees_build_systems

                                                                                • Using something like bubblewrap to run build steps in a deterministic environment / lightweight container. If you leave off a dependency, you get a build error – file not found. Bazel does this and it’s very effective at enforcing the correctness of the build.
                                                                                  • For speed, there could be an option to run without containers / chroots. But for changing the build description, the enforcement is very valuable.
                                                                                • Directory trees, not files, as dependencies. For many problems I suspect this coarse-grained solution may work better. Checking every file is tedious and causes a lot of stat() traffic on the file system.
                                                                                1. 1

                                                                                  So not only about reproducing related files according to logical rules, but the entire directory tree with hashing to reproduce a filesystem image reproducibly (which might be a software project working directory), then provide a hash of the whole build.

                                                                                  Sure, then Make and redo might be used for doing this, but it is not their doing nor default behavior.

                                                                                  On a side note, redo tracks changes in dependencies with hashes put in .dep.$filename, but not of a whole directory hierarchy and just of the individual files.

                                                                              2. 1

                                                                                I’ve been using CMake for the past year and a half exactly because it checks all the boxes. I recommend using the Ninja generator alongside it - it’s parallel by default and significantly faster than Make.

                                                                                The one drawback of CMake is that you essentially have to treat the build system as its own part of the software that needs maintenance. I believe this tradeoff is well worth for larger projects.

                                                                              3. 16

                                                                                This is the complete list of domains where a user’s next submission could be blocked for having a majority of submissions from them. It’s a little close to being a worst-of list I don’t like to share queries of (especially where the submitters column is 1…) but I wanted to include it as a list of examples of content marketing.

                                                                                MariaDB [lobsters]> select domain, count(*) as submitted, count(distinct stories.user_id) as submitters, (select count(*) from stories s where s.domain_id = domains.id group by s.user_id order by 1 desc limit 1) as from_one_submitter from domains join stories on domains.id = stories.domain_id group by domain having count(*) > 5 and (from_one_submitter + 1) * 2 > count(*) order by 2 desc;
                                                                                +-------------------------------------+-----------+------------+--------------------+
                                                                                | domain                              | submitted | submitters | from_one_submitter |
                                                                                +-------------------------------------+-----------+------------+--------------------+
                                                                                | blogs.msdn.microsoft.com            |       206 |         36 |                132 |
                                                                                | jvns.ca                             |       159 |         36 |                 80 |
                                                                                | blog.netbsd.org                     |       126 |         13 |                 85 |
                                                                                | css-tricks.com                      |       116 |         15 |                 86 |
                                                                                | developer.telerik.com               |       113 |          5 |                101 |
                                                                                | codewithoutrules.com                |        93 |          2 |                 92 |
                                                                                | righto.com                          |        91 |         19 |                 64 |
                                                                                | flippinawesome.org                  |        90 |          2 |                 86 |
                                                                                | phoronix.com                        |        85 |         31 |                 44 |
                                                                                | oilshell.org                        |        83 |          4 |                 80 |
                                                                                | devblogs.microsoft.com              |        75 |         20 |                 42 |
                                                                                | spin.atomicobject.com               |        74 |         20 |                 39 |
                                                                                | blog.softwaremill.com               |        73 |          4 |                 55 |
                                                                                | lemire.me                           |        72 |         22 |                 45 |
                                                                                | ponyfoo.com                         |        68 |          5 |                 64 |
                                                                                | mail-index.netbsd.org               |        61 |          5 |                 44 |
                                                                                | citusdata.com                       |        60 |         10 |                 41 |
                                                                                | alistapart.com                      |        58 |         14 |                 45 |
                                                                                | hillelwayne.com                     |        58 |          3 |                 56 |
                                                                                | smashingmagazine.com                |        57 |         17 |                 33 |
                                                                                | dailydrip.com                       |        55 |          4 |                 39 |
                                                                                | vermaden.wordpress.com              |        55 |          2 |                 54 |
                                                                                | vuejsdevelopers.com                 |        52 |          1 |                 52 |
                                                                                | schneems.com                        |        50 |          6 |                 45 |
                                                                                | eev.ee                              |        49 |         17 |                 31 |
                                                                                | crate.io                            |        48 |          2 |                 47 |
                                                                                | driftingruby.com                    |        48 |          1 |                 48 |
                                                                                | bendyworks.com                      |        46 |          8 |                 25 |
                                                                                | petecorey.com                       |        44 |          2 |                 43 |
                                                                                | codepen.io                          |        42 |         14 |                 21 |
                                                                                | kev.inburke.com                     |        42 |          5 |                 38 |
                                                                                | imaginarycloud.com                  |        41 |          3 |                 39 |
                                                                                | zwischenzugs.com                    |        41 |          5 |                 36 |
                                                                                | intoli.com                          |        40 |          3 |                 28 |
                                                                                | pythonspeed.com                     |        40 |          1 |                 40 |
                                                                                | ma.ttias.be                         |        39 |          7 |                 30 |
                                                                                | pdfs.semanticscholar.org            |        39 |         11 |                 24 |
                                                                                | fsf.org                             |        38 |         15 |                 20 |
                                                                                | tboox.org                           |        38 |          1 |                 38 |
                                                                                | mattwarren.org                      |        37 |          5 |                 31 |
                                                                                | nanxiao.me                          |        37 |          2 |                 36 |
                                                                                | daringfireball.net                  |        36 |         11 |                 24 |
                                                                                | christophermeiklejohn.com           |        35 |          4 |                 32 |
                                                                                | dolphin-emu.org                     |        35 |          6 |                 24 |
                                                                                | filfre.net                          |        35 |          9 |                 25 |
                                                                                | 250bpm.com                          |        34 |         12 |                 22 |
                                                                                | blogs.gnome.org                     |        34 |         16 |                 17 |
                                                                                | christine.website                   |        34 |          2 |                 32 |
                                                                                | newrustacean.com                    |        34 |          1 |                 34 |
                                                                                | tech.marksblogg.com                 |        34 |          3 |                 32 |
                                                                                | flak.tedunangst.com                 |        33 |          6 |                 28 |
                                                                                | kevq.uk                             |        33 |          2 |                 32 |
                                                                                | os2museum.com                       |        33 |          7 |                 26 |
                                                                                | pixelstech.net                      |        33 |          2 |                 30 |
                                                                                | stackbuilders.com                   |        33 |          5 |                 17 |
                                                                                | blog.ikura.co                       |        32 |          2 |                 30 |
                                                                                | blog.logrocket.com                  |        32 |          6 |                 22 |
                                                                                | blog.runnable.com                   |        32 |          4 |                 22 |
                                                                                | craigkerstiens.com                  |        32 |          8 |                 22 |
                                                                                | deliberate-software.com             |        31 |          4 |                 27 |
                                                                                | promptworks.com                     |        31 |          4 |                 27 |
                                                                                | bravenewgeek.com                    |        30 |         10 |                 21 |
                                                                                | drmaciver.com                       |        30 |         14 |                 16 |
                                                                                | beza1e1.tuxen.de                    |        29 |          4 |                 26 |
                                                                                | bluishcoder.co.nz                   |        29 |          6 |                 24 |
                                                                                | neo4j.com                           |        29 |          6 |                 16 |
                                                                                | solipsys.co.uk                      |        29 |          5 |                 24 |
                                                                                | blinkingcaret.com                   |        28 |          2 |                 27 |
                                                                                | joezimjs.com                        |        28 |          1 |                 28 |
                                                                                | geeklan.co.uk                       |        27 |          1 |                 27 |
                                                                                | interrupt.memfault.com              |        27 |          2 |                 26 |
                                                                                | victorzhou.com                      |        27 |          2 |                 26 |
                                                                                | blog.mariusschulz.com               |        26 |          3 |                 21 |
                                                                                | davidgerard.co.uk                   |        26 |          1 |                 26 |
                                                                                | gigasquidsoftware.com               |        26 |          2 |                 21 |
                                                                                | gkbrk.com                           |        26 |          2 |                 25 |
                                                                                | jeremymorgan.com                    |        26 |          2 |                 25 |
                                                                                | saturnflyer.com                     |        26 |          2 |                 25 |
                                                                                | sicpers.info                        |        26 |          5 |                 21 |
                                                                                | blog.higg.im                        |        25 |          1 |                 25 |
                                                                                | pragtob.wordpress.com               |        25 |          1 |                 25 |
                                                                                | raganwald.com                       |        25 |         12 |                 13 |
                                                                                | telerik.com                         |        25 |          2 |                 21 |
                                                                                | hoelz.ro                            |        24 |          1 |                 24 |
                                                                                | metaredux.com                       |        24 |          3 |                 22 |
                                                                                | nedbatchelder.com                   |        24 |          7 |                 17 |
                                                                                | netbsd.org                          |        24 |          8 |                 13 |
                                                                                | osnews.com                          |        24 |          6 |                 18 |
                                                                                | raymii.org                          |        24 |          3 |                 22 |
                                                                                | verisimilitudes.net                 |        24 |          2 |                 23 |
                                                                                | about.sourcegraph.com               |        23 |          5 |                 15 |
                                                                                | arp242.net                          |        23 |          9 |                 14 |
                                                                                | blog.jle.im                         |        23 |          7 |                 13 |
                                                                                | blog.pragmaticengineer.com          |        23 |          4 |                 20 |
                                                                                | blog.sqreen.io                      |        23 |          3 |                 21 |
                                                                                | dragan.rocks                        |        23 |          3 |                 18 |
                                                                                | ecc-comp.blogspot.com               |        23 |          2 |                 22 |
                                                                                | parsonsmatt.org                     |        23 |          5 |                 19 |
                                                                                | bitemyapp.com                       |        22 |          3 |                 19 |
                                                                                | cambus.net                          |        22 |          3 |                 20 |
                                                                                | tedium.co                           |        22 |          8 |                 13 |
                                                                                | blog.takipi.com                     |        21 |          6 |                 10 |
                                                                                | brooker.co.za                       |        21 |          9 |                 11 |
                                                                                | carlchenet.com                      |        21 |          2 |                 20 |
                                                                                | beastie.pl                          |        20 |          1 |                 20 |
                                                                                | kanoki.org                          |        20 |          2 |                 19 |
                                                                                | lethain.com                         |        20 |          8 |                 11 |
                                                                                | modernweb.com                       |        20 |          2 |                 18 |
                                                                                | wilfred.me.uk                       |        20 |          4 |                 15 |
                                                                                | blog.ably.io                        |        19 |          4 |                  9 |
                                                                                | blog.codeship.com                   |        19 |          8 |                  9 |
                                                                                | blog.dantup.com                     |        19 |          1 |                 19 |
                                                                                | blog.floydhub.com                   |        19 |          6 |                 14 |
                                                                                | blog.graphqleditor.com              |        19 |          2 |                 13 |
                                                                                | blog.testdouble.com                 |        19 |          7 |                 10 |
                                                                                | ops.tips                            |        19 |          2 |                 17 |
                                                                                | people.eecs.berkeley.edu            |        19 |          9 |                  9 |
                                                                                | shape-of-code.coding-guidelines.com |        19 |          8 |                 12 |
                                                                                | sigusr2.net                         |        19 |          2 |                 18 |
                                                                                | sourcegraph.com                     |        19 |          6 |                 10 |
                                                                                | testdroid.com                       |        19 |          2 |                 17 |
                                                                                | wyeworks.com                        |        19 |          4 |                 12 |
                                                                                | blog.bitsrc.io                      |        18 |          6 |                 13 |
                                                                                | michaelochurch.wordpress.com        |        18 |         10 |                  9 |
                                                                                | monades.roperzh.com                 |        18 |          1 |                 18 |
                                                                                | patshaughnessy.net                  |        18 |          7 |                 11 |
                                                                                | raphlinus.github.io                 |        18 |          5 |                 13 |
                                                                                | stratus3d.com                       |        18 |          2 |                 17 |
                                                                                | yegor256.com                        |        18 |          8 |                 10 |
                                                                                | amir.rachum.com                     |        17 |          2 |                 16 |
                                                                                | blog.hboeck.de                      |        17 |          5 |                 13 |
                                                                                | blog.packagecloud.io                |        17 |          5 |                 12 |
                                                                                | doxsey.net                          |        17 |          2 |                 16 |
                                                                                | fluentcpp.com                       |        17 |          4 |                  8 |
                                                                                | jackhiston.com                      |        17 |          2 |                 16 |
                                                                                | jezenthomas.com                     |        17 |          2 |                 16 |
                                                                                | jlongster.com                       |        17 |         10 |                  8 |
                                                                                | oshug.org                           |        17 |          1 |                 17 |
                                                                                | ponylang.org                        |        17 |          4 |                 14 |
                                                                                | prathamesh.tech                     |        17 |          1 |                 17 |
                                                                                | silvestarbistrovic.from.hr          |        17 |          1 |                 17 |
                                                                                | talospace.com                       |        17 |          2 |                 12 |
                                                                                | virtuallyfun.com                    |        17 |          6 |                 10 |
                                                                                | wordsandbuttons.online              |        17 |          5 |                 13 |
                                                                                | 256kilobytes.com                    |        16 |          3 |                 14 |
                                                                                | bfilipek.com                        |        16 |          4 |                 10 |
                                                                                | blog.carlosgaldino.com              |        16 |          2 |                 15 |
                                                                                | blog.jessitron.com                  |        16 |          6 |                 10 |
                                                                                | blog.librato.com                    |        16 |          3 |                 11 |
                                                                                | brianmckenna.org                    |        16 |          3 |                 14 |
                                                                                | coolcoder.in                        |        16 |          2 |                 13 |
                                                                                | ds9a.nl                             |        16 |          5 |                  9 |
                                                                                | fitzgeraldnick.com                  |        16 |          4 |                 13 |
                                                                                | fsharpforfunandprofit.com           |        16 |          8 |                  9 |
                                                                                | itsfoss.com                         |        16 |          5 |                  9 |
                                                                                | lauradhamilton.com                  |        16 |          1 |                 16 |
                                                                                | microservicesweekly.com             |        16 |          1 |                 16 |
                                                                                | notamonadtutorial.com               |        16 |          1 |                 16 |
                                                                                | objective-see.com                   |        16 |          6 |                 11 |
                                                                                | omgubuntu.co.uk                     |        16 |          7 |                 10 |
                                                                                | aiprobook.com                       |        15 |          1 |                 15 |
                                                                                | blog.asrpo.com                      |        15 |          1 |                 15 |
                                                                                | blog.cubehero.com                   |        15 |          1 |                 15 |
                                                                                | blog.drewolson.org                  |        15 |          6 |                  9 |
                                                                                | blog.garage-coding.com              |        15 |          1 |                 15 |
                                                                                | blog.jakubarnold.cz                 |        15 |          2 |                 14 |
                                                                                | blog.jonlu.ca                       |        15 |          2 |                 13 |
                                                                                | blog.scottnonnenberg.com            |        15 |          2 |                 14 |
                                                                                | boxbase.org                         |        15 |          3 |                 12 |
                                                                                | cmcenroe.me                         |        15 |          1 |                 15 |
                                                                                | degoes.net                          |        15 |          7 |                  7 |
                                                                                | dev.theladders.com                  |        15 |          1 |                 15 |
                                                                                | geshan.com.np                       |        15 |          3 |                 13 |
                                                                                | jozefg.bitbucket.org                |        15 |          8 |                  7 |
                                                                                | oshogbo.vexillium.org               |        15 |          3 |                 12 |
                                                                                | thefullstack.xyz                    |        15 |          1 |                 15 |
                                                                                | vaibhavsagar.com                    |        15 |          6 |                  9 |
                                                                                | well-typed.com                      |        15 |          6 |                  9 |
                                                                                | zendev.com                          |        15 |          1 |                 15 |
                                                                                | alexkyte.me                         |        14 |          2 |                 11 |
                                                                                | bitquabit.com                       |        14 |          4 |                 10 |
                                                                                | blog.jcoglan.com                    |        14 |          8 |                  7 |
                                                                                | blogs.technet.microsoft.com         |        14 |          6 |                  8 |
                                                                                | chrisshort.net                      |        14 |          2 |                 13 |
                                                                                | clever-cloud.com                    |        14 |          4 |                  8 |
                                                                                | csswizardry.com                     |        14 |          4 |                  9 |
                                                                                | dustycloud.org                      |        14 |          4 |                 11 |
                                                                                | haiku-os.org                        |        14 |          5 |                 10 |
                                                                                | hardenedbsd.org                     |        14 |          2 |                 13 |
                                                                                | hypothesis.works                    |        14 |          5 |                  9 |
                                                                                | ithare.com                          |        14 |          5 |                 10 |
                                                                                | jepsen.io                           |        14 |          3 |                 12 |
                                                                                | jugad2.blogspot.com                 |        14 |          1 |                 14 |
                                                                                | juxt.pro                            |        14 |          4 |                  7 |
                                                                                | meyerweb.com                        |        14 |          4 |                 11 |
                                                                                | orbifold.xyz                        |        14 |          2 |                 13 |
                                                                                | paperswelove.org                    |        14 |          6 |                  7 |
                                                                                | paragonie.com                       |        14 |          4 |                 10 |
                                                                                | penguindreams.org                   |        14 |          1 |                 14 |
                                                                                | sethvargo.com                       |        14 |          2 |                 13 |
                                                                                | tiny-giant-books.com                |        14 |          1 |                 14 |
                                                                                | videlalvaro.github.io               |        14 |          3 |                 11 |
                                                                                | yodaiken.com                        |        14 |          3 |                 12 |
                                                                                | alexgaynor.net                      |        13 |          4 |                 10 |
                                                                                | blog.learngoprogramming.com         |        13 |          1 |                 13 |
                                                                                | blog.ploeh.dk                       |        13 |          7 |                  7 |
                                                                                | boston.conman.org                   |        13 |          2 |                 12 |
                                                                                | defn.io                             |        13 |          1 |                 13 |
                                                                                | dirk.to                             |        13 |          1 |                 13 |
                                                                                | dmitryfrank.com                     |        13 |          3 |                 11 |
                                                                                | dspace.mit.edu                      |        13 |          7 |                  6 |
                                                                                | engineering.appfolio.com            |        13 |          5 |                  6 |
                                                                                | getstream.io                        |        13 |          2 |                 12 |
                                                                                | hookrace.net                        |        13 |          8 |                  6 |
                                                                                | jvt.me                              |        13 |          1 |                 13 |
                                                                                | loige.co                            |        13 |          1 |                 13 |
                                                                                | longren.io                          |        13 |          1 |                 13 |
                                                                                | maxhallinan.com                     |        13 |          2 |                 12 |
                                                                                | mempko.wordpress.com                |        13 |          2 |                 12 |
                                                                                | onebigfluke.com                     |        13 |          5 |                  9 |
                                                                                | tedinski.com                        |        13 |          5 |                  8 |
                                                                                | tel.github.io                       |        13 |          3 |                 11 |
                                                                                | benlakey.com                        |        12 |          2 |                  8 |
                                                                                | blog.demofox.org                    |        12 |          4 |                  8 |
                                                                                | chrismm.com                         |        12 |          4 |                  9 |
                                                                                | codon.com                           |        12 |          5 |                  7 |
                                                                                | daverupert.com                      |        12 |          4 |                  8 |
                                                                                | dylanfoundry.org                    |        12 |          2 |                 11 |
                                                                                | inaka.net                           |        12 |          4 |                  6 |
                                                                                | readtext.org                        |        12 |          1 |                 12 |
                                                                                | robustperception.io                 |        12 |          2 |                 11 |
                                                                                | snowplowanalytics.com               |        12 |          1 |                 12 |
                                                                                | transposit.com                      |        12 |          1 |                 12 |
                                                                                | ubuntu.com                          |        12 |          5 |                  8 |
                                                                                | ably.io                             |        11 |          5 |                  6 |
                                                                                | autodidacts.io                      |        11 |          1 |                 11 |
                                                                                | blog.arkency.com                    |        11 |          4 |                  6 |
                                                                                | blog.ponyfoo.com                    |        11 |          1 |                 11 |
                                                                                | bloomca-me.github.io                |        11 |          2 |                 10 |
                                                                                | csrc.nist.gov                       |        11 |          7 |                  5 |
                                                                                | cstheory.stackexchange.com          |        11 |          6 |                  6 |
                                                                                | designpepper.com                    |        11 |          1 |                 11 |
                                                                                | flaviocopes.com                     |        11 |          1 |                 11 |
                                                                                | gavinmiller.io                      |        11 |          1 |                 11 |
                                                                                | howistart.org                       |        11 |          4 |                  7 |
                                                                                | icyphox.sh                          |        11 |          4 |                  8 |
                                                                                | iridakos.com                        |        11 |          2 |                 10 |
                                                                                | itnext.io                           |        11 |          5 |                  5 |
                                                                                | javiercasas.com                     |        11 |          1 |                 11 |
                                                                                | kaushikghose.wordpress.com          |        11 |          2 |                 10 |
                                                                                | kristerw.blogspot.com               |        11 |          5 |                  5 |
                                                                                | lauris.github.io                    |        11 |          1 |                 11 |
                                                                                | letterstoanewdeveloper.com          |        11 |          3 |                  9 |
                                                                                | longren.org                         |        11 |          1 |                 11 |
                                                                                | michaelburge.us                     |        11 |          3 |                  9 |
                                                                                | notes.eatonphil.com                 |        11 |          5 |                  7 |
                                                                                | nrempel.com                         |        11 |          1 |                 11 |
                                                                                | pagetable.com                       |        11 |          7 |                  5 |
                                                                                | productchart.com                    |        11 |          1 |                 11 |
                                                                                | romanzolotarev.com                  |        11 |          2 |                 10 |
                                                                                | runnable.com                        |        11 |          1 |                 11 |
                                                                                | shipilev.net                        |        11 |          7 |                  5 |
                                                                                | spootnik.org                        |        11 |          2 |                 10 |
                                                                                | tenderlovemaking.com                |        11 |          6 |                  5 |
                                                                                | theprogrammersparadox.blogspot.com  |        11 |          1 |                 11 |
                                                                                | thorstenball.com                    |        11 |          5 |                  5 |
                                                                                | traininjs.com                       |        11 |          1 |                 11 |
                                                                                | urbit.org                           |        11 |          6 |                  5 |
                                                                                | v8.dev                              |        11 |          3 |                  9 |
                                                                                | vmssoftware.com                     |        11 |          4 |                  8 |
                                                                                | additiveanalytics.com               |        10 |          1 |                 10 |
                                                                                | arcan-fe.com                        |        10 |          2 |                  9 |
                                                                                | arne-mertz.de                       |        10 |          4 |                  6 |
                                                                                | arrdem.com                          |        10 |          1 |                 10 |
                                                                                | blog.codacy.com                     |        10 |          2 |                  9 |
                                                                                | blog.okturtles.com                  |        10 |          3 |                  8 |
                                                                                | bradfrost.com                       |        10 |          2 |                  9 |
                                                                                | centurylinklabs.com                 |        10 |          1 |                 10 |
                                                                                | chargen.one                         |        10 |          3 |                  8 |
                                                                                | devup.co                            |        10 |          1 |                 10 |
                                                                                | eigenstate.org                      |        10 |          1 |                 10 |
                                                                                | grsecurity.net                      |        10 |          5 |                  6 |
                                                                                | kevinmahoney.co.uk                  |        10 |          2 |                  9 |
                                                                                | kmjn.org                            |        10 |          2 |                  9 |
                                                                                | learnbchs.org                       |        10 |          4 |                  7 |
                                                                                | manifest.fm                         |        10 |          1 |                 10 |
                                                                                | mapzen.com                          |        10 |          1 |                 10 |
                                                                                | marianoguerra.org                   |        10 |          3 |                  8 |
                                                                                | naildrivin5.com                     |        10 |          4 |                  5 |
                                                                                | pages.cs.wisc.edu                   |        10 |          6 |                  5 |
                                                                                | pathsensitive.com                   |        10 |          3 |                  8 |
                                                                                | pheelicks.com                       |        10 |          1 |                 10 |
                                                                                | pothibo.com                         |        10 |          1 |                 10 |
                                                                                | precompile.com                      |        10 |          1 |                 10 |
                                                                                | quickleft.com                       |        10 |          1 |                 10 |
                                                                                | redblobgames.com                    |        10 |          5 |                  6 |
                                                                                | singularityhacker.com               |        10 |          1 |                 10 |
                                                                                | skerritt.blog                       |        10 |          2 |                  8 |
                                                                                | snowsuit.io                         |        10 |          2 |                  9 |
                                                                                | sobolevn.me                         |        10 |          1 |                 10 |
                                                                                | superjavascript.com                 |        10 |          1 |                 10 |
                                                                                | svnweb.freebsd.org                  |        10 |          4 |                  6 |
                                                                                | tenfourfox.blogspot.com             |        10 |          2 |                  7 |
                                                                                | theory.stanford.edu                 |        10 |          5 |                  6 |
                                                                                | wozniak.ca                          |        10 |          3 |                  8 |
                                                                                | yellerapp.com                       |        10 |          4 |                  5 |
                                                                                | 24ways.org                          |         9 |          2 |                  8 |
                                                                                | ai.googleblog.com                   |         9 |          4 |                  6 |
                                                                                | akkartik.name                       |         9 |          6 |                  4 |
                                                                                | alchemistowl.org                    |         9 |          4 |                  5 |
                                                                                | backtrace.io                        |         9 |          5 |                  5 |
                                                                                | badcode.rocks                       |         9 |          1 |                  9 |
                                                                                | blog.appliedcompscilab.com          |         9 |          1 |                  9 |
                                                                                | blog.bigbinary.com                  |         9 |          4 |                  4 |
                                                                                | blog.getambassador.io               |         9 |          2 |                  8 |
                                                                                | blog.grandstack.io                  |         9 |          1 |                  9 |
                                                                                | blog.jenkster.com                   |         9 |          5 |                  4 |
                                                                                | blog.joinmastodon.org               |         9 |          5 |                  5 |
                                                                                | blog.ret2.io                        |         9 |          6 |                  4 |
                                                                                | blog.tintagel.pl                    |         9 |          2 |                  8 |
                                                                                | blogs.telerik.com                   |         9 |          1 |                  9 |
                                                                                | cambium.consulting                  |         9 |          2 |                  7 |
                                                                                | cnn.com                             |         9 |          6 |                  4 |
                                                                                | conal.net                           |         9 |          5 |                  5 |
                                                                                | crawshaw.io                         |         9 |          6 |                  4 |
                                                                                | cs.berkeley.edu                     |         9 |          5 |                  5 |
                                                                                | danielcompton.net                   |         9 |          2 |                  8 |
                                                                                | fedoramagazine.org                  |         9 |          5 |                  4 |
                                                                                | fusion.net                          |         9 |          6 |                  4 |
                                                                                | goto.ucsd.edu                       |         9 |          5 |                  5 |
                                                                                | hackazach.net                       |         9 |          1 |                  9 |
                                                                                | hakibenita.com                      |         9 |          2 |                  8 |
                                                                                | infoscience.epfl.ch                 |         9 |          3 |                  7 |
                                                                                | joachim-breitner.de                 |         9 |          4 |                  5 |
                                                                                | jonlennartaasenden.wordpress.com    |         9 |          1 |                  9 |
                                                                                | kamalmarhubi.com                    |         9 |          5 |                  5 |
                                                                                | kennethreitz.org                    |         9 |          6 |                  4 |
                                                                                | learnk8s.io                         |         9 |          2 |                  5 |
                                                                                | lists.zx2c4.com                     |         9 |          3 |                  7 |
                                                                                | lyonwj.com                          |         9 |          2 |                  8 |
                                                                                | monkeysnatchbanana.com              |         9 |          2 |                  8 |
                                                                                | naughtycomputer.uk                  |         9 |          2 |                  8 |
                                                                                | pharr.org                           |         9 |          5 |                  4 |
                                                                                | philcalcado.com                     |         9 |          2 |                  8 |
                                                                                | pluralsight.com                     |         9 |          3 |                  4 |
                                                                                | ponylang.io                         |         9 |          1 |                  9 |
                                                                                | prl.ccs.neu.edu                     |         9 |          3 |                  5 |
                                                                                | qfpl.io                             |         9 |          3 |                  7 |
                                                                                | rachelandrew.co.uk                  |         9 |          2 |                  8 |
                                                                                | rain-1.github.io                    |         9 |          3 |                  7 |
                                                                                | ro-che.info                         |         9 |          5 |                  4 |
                                                                                | robertwpearce.com                   |         9 |          1 |                  9 |
                                                                                | rubypigeon.com                      |         9 |          4 |                  5 |
                                                                                | ryanbrink.com                       |         9 |          1 |                  9 |
                                                                                | stormpath.com                       |         9 |          3 |                  4 |
                                                                                | taylor.fausak.me                    |         9 |          4 |                  4 |
                                                                                | tech.adroll.com                     |         9 |          5 |                  5 |
                                                                                | vfoley.xyz                          |         9 |          1 |                  9 |
                                                                                | abe-winter.github.io                |         8 |          4 |                  5 |
                                                                                | anupshinde.com                      |         8 |          1 |                  8 |
                                                                                | azeria-labs.com                     |         8 |          5 |                  4 |
                                                                                | beepb00p.xyz                        |         8 |          3 |                  6 |
                                                                                | blog.bloomca.me                     |         8 |          1 |                  8 |
                                                                                | blog.jfo.click                      |         8 |          4 |                  5 |
                                                                                | blog.obligd.com                     |         8 |          2 |                  7 |
                                                                                | blog.scottlogic.com                 |         8 |          5 |                  4 |
                                                                                | blogs.technet.com                   |         8 |          4 |                  4 |
                                                                                | cbloomrants.blogspot.com            |         8 |          4 |                  5 |
                                                                                | cis.upenn.edu                       |         8 |          5 |                  4 |
                                                                                | cloudbootup.com                     |         8 |          1 |                  8 |
                                                                                | codeblog.jonskeet.uk                |         8 |          4 |                  5 |
                                                                                | community.rapid7.com                |         8 |          3 |                  6 |
                                                                                | composition.al                      |         8 |          5 |                  4 |
                                                                                | crondev.blog                        |         8 |          1 |                  8 |
                                                                                | dave.autonoma.ca                    |         8 |          1 |                  8 |
                                                                                | daveceddia.com                      |         8 |          2 |                  7 |
                                                                                | doc.ic.ac.uk                        |         8 |          5 |                  4 |
                                                                                | dockyard.com                        |         8 |          4 |                  4 |
                                                                                | fivethirtyeight.com                 |         8 |          5 |                  4 |
                                                                                | fixingtao.com                       |         8 |          1 |                  8 |
                                                                                | franciskim.co                       |         8 |          1 |                  8 |
                                                                                | gazerlog.com                        |         8 |          1 |                  8 |
                                                                                | gilesbowkett.blogspot.com           |         8 |          4 |                  4 |
                                                                                | ieee-security.org                   |         8 |          4 |                  4 |
                                                                                | inko-lang.org                       |         8 |          3 |                  6 |
                                                                                | jaspervdj.be                        |         8 |          3 |                  6 |
                                                                                | jocellyn.cz                         |         8 |          1 |                  8 |
                                                                                | kyleisom.net                        |         8 |          2 |                  7 |
                                                                                | learntemail.sam.today               |         8 |          3 |                  4 |
                                                                                | m50d.github.io                      |         8 |          2 |                  7 |
                                                                                | mako.cc                             |         8 |          4 |                  5 |
                                                                                | michaelboeke.com                    |         8 |          2 |                  7 |
                                                                                | osmocom.org                         |         8 |          2 |                  7 |
                                                                                | pointieststick.com                  |         8 |          2 |                  7 |
                                                                                | probablydance.com                   |         8 |          5 |                  4 |
                                                                                | push.cx                             |         8 |          2 |                  7 |
                                                                                | pythonsweetness.tumblr.com          |         8 |          3 |                  6 |
                                                                                | randomhacks.net                     |         8 |          4 |                  5 |
                                                                                | redditblog.com                      |         8 |          3 |                  4 |
                                                                                | remotesynthesis.com                 |         8 |          4 |                  5 |
                                                                                | rystsov.info                        |         8 |          2 |                  7 |
                                                                                | sgoel.org                           |         8 |          1 |                  8 |
                                                                                | sourcesort.com                      |         8 |          1 |                  8 |
                                                                                | storj.io                            |         8 |          4 |                  5 |
                                                                                | tbf-rnd.life                        |         8 |          1 |                  8 |
                                                                                | thoughtcrime.org                    |         8 |          5 |                  4 |
                                                                                | trackchanges.postlight.com          |         8 |          5 |                  4 |
                                                                                | travisdowns.github.io               |         8 |          4 |                  4 |
                                                                                | vincent.bernat.im                   |         8 |          4 |                  5 |
                                                                                | weblog.jamisbuck.org                |         8 |          1 |                  8 |
                                                                                | wezm.net                            |         8 |          2 |                  7 |
                                                                                | wikimatze.de                        |         8 |          1 |                  8 |
                                                                                | 200ok.ch                            |         7 |          3 |                  5 |
                                                                                | alpinelinux.org                     |         7 |          4 |                  3 |
                                                                                | andregarzia.com                     |         7 |          1 |                  7 |
                                                                                | angersock.com                       |         7 |          1 |                  7 |
                                                                                | atilanevesoncode.wordpress.com      |         7 |          3 |                  5 |
                                                                                | ben-evans.com                       |         7 |          3 |                  4 |
                                                                                | bitsofco.de                         |         7 |          3 |                  5 |
                                                                                | blather.michaelwlucas.com           |         7 |          4 |                  4 |
                                                                                | blog.0day.rocks                     |         7 |          3 |                  5 |
                                                                                | blog.2ndquadrant.com                |         7 |          4 |                  4 |
                                                                                | blog.bejarano.io                    |         7 |          2 |                  6 |
                                                                                | blog.bitrise.io                     |         7 |          1 |                  7 |
                                                                                | blog.dereferenced.org               |         7 |          1 |                  7 |
                                                                                | blog.hackership.org                 |         7 |          2 |                  6 |
                                                                                | blog.honeybadger.io                 |         7 |          4 |                  4 |
                                                                                | blog.keen.io                        |         7 |          1 |                  7 |
                                                                                | blog.meetupfeed.com                 |         7 |          1 |                  7 |
                                                                                | blog.mirabellette.eu                |         7 |          1 |                  7 |
                                                                                | blog.mirabellette.netlib.re         |         7 |          1 |                  7 |
                                                                                | blog.particle.io                    |         7 |          3 |                  3 |
                                                                                | blog.plan99.net                     |         7 |          5 |                  3 |
                                                                                | blog.powerdns.com                   |         7 |          2 |                  6 |
                                                                                | blog.saeloun.com                    |         7 |          5 |                  3 |
                                                                                | blog.soykaf.com                     |         7 |          3 |                  5 |
                                                                                | blog.steveklabnik.com               |         7 |          4 |                  4 |
                                                                                | blog.superfeedr.com                 |         7 |          1 |                  7 |
                                                                                | blog.thecodewhisperer.com           |         7 |          1 |                  7 |
                                                                                | blog.threatstack.com                |         7 |          2 |                  6 |
                                                                                | boinkor.net                         |         7 |          1 |                  7 |
                                                                                | bristolcrypto.blogspot.com          |         7 |          3 |                  3 |
                                                                                | brycv.com                           |         7 |          1 |                  7 |
                                                                                | calnewport.com                      |         7 |          4 |                  4 |
                                                                                | cfenollosa.com                      |         7 |          2 |                  6 |
                                                                                | chrispenner.ca                      |         7 |          5 |                  3 |
                                                                                | chrisseaton.com                     |         7 |          5 |                  3 |
                                                                                | codearcana.com                      |         7 |          4 |                  3 |
                                                                                | corecursive.com                     |         7 |          5 |                  3 |
                                                                                | cryptome.org                        |         7 |          5 |                  3 |
                                                                                | cs.mcgill.ca                        |         7 |          4 |                  3 |
                                                                                | cseweb.ucsd.edu                     |         7 |          5 |                  3 |
                                                                                | dbader.org                          |         7 |          3 |                  5 |
                                                                                | duartes.org                         |         7 |          4 |                  3 |
                                                                                | engineering.freeagent.com           |         7 |          1 |                  7 |
                                                                                | f-droid.org                         |         7 |          2 |                  6 |
                                                                                | freebsdfoundation.org               |         7 |          5 |                  3 |
                                                                                | functional.works-hub.com            |         7 |          3 |                  5 |
                                                                                | gamedev.net                         |         7 |          5 |                  3 |
                                                                                | gpfault.net                         |         7 |          2 |                  6 |
                                                                                | gregnavis.com                       |         7 |          1 |                  7 |
                                                                                | grimoire.ca                         |         7 |          5 |                  3 |
                                                                                | gwern.net                           |         7 |          2 |                  6 |
                                                                                | hackflow.com                        |         7 |          2 |                  6 |
                                                                                | henrikwarne.com                     |         7 |          5 |                  3 |
                                                                                | hosted.ap.org                       |         7 |          2 |                  6 |
                                                                                | junglecoder.com                     |         7 |          1 |                  7 |
                                                                                | keen.io                             |         7 |          3 |                  5 |
                                                                                | keith-mifsud.me                     |         7 |          1 |                  7 |
                                                                                | kristaps.bsd.lv                     |         7 |          5 |                  3 |
                                                                                | libreboot.org                       |         7 |          4 |                  3 |
                                                                                | lukew.com                           |         7 |          2 |                  6 |
                                                                                | meiert.com                          |         7 |          2 |                  6 |
                                                                                | mgba.io                             |         7 |          4 |                  3 |
                                                                                | modern-sql.com                      |         7 |          3 |                  5 |
                                                                                | mollyrocket.com                     |         7 |          5 |                  3 |
                                                                                | mondaynote.com                      |         7 |          3 |                  5 |
                                                                                | mtlynch.io                          |         7 |          5 |                  3 |
                                                                                | natpryce.com                        |         7 |          2 |                  6 |
                                                                                | nibblestew.blogspot.com             |         7 |          4 |                  3 |
                                                                                | nikita-volkov.github.io             |         7 |          4 |                  4 |
                                                                                | opendylan.org                       |         7 |          3 |                  5 |
                                                                                | paulox.net                          |         7 |          2 |                  6 |
                                                                                | perspectives.mvdirona.com           |         7 |          4 |                  4 |
                                                                                | pkgsrc.org                          |         7 |          3 |                  5 |
                                                                                | quuxplusone.github.io               |         7 |          3 |                  5 |
                                                                                | racket-news.com                     |         7 |          2 |                  4 |
                                                                                | rcoh.me                             |         7 |          3 |                  5 |
                                                                                | rdegges.com                         |         7 |          3 |                  4 |
                                                                                | redox-os.org                        |         7 |          5 |                  3 |
                                                                                | reverse.put.as                      |         7 |          3 |                  4 |
                                                                                | rickcarlino.com                     |         7 |          1 |                  7 |
                                                                                | robey.lag.net                       |         7 |          4 |                  4 |
                                                                                | sandimetz.com                       |         7 |          3 |                  5 |
                                                                                | scarybeastsecurity.blogspot.com     |         7 |          5 |                  3 |
                                                                                | setosa.io                           |         7 |          5 |                  3 |
                                                                                | sgt.hootr.club                      |         7 |          1 |                  7 |
                                                                                | soc.github.io                       |         7 |          1 |                  7 |
                                                                                | stressgrid.com                      |         7 |          1 |                  7 |
                                                                                | strugee.net                         |         7 |          2 |                  5 |
                                                                                | sulami.github.io                    |         7 |          1 |                  7 |
                                                                                | sysadvent.blogspot.com              |         7 |          5 |                  3 |
                                                                                | taniarascia.com                     |         7 |          1 |                  7 |
                                                                                | tante.cc                            |         7 |          2 |                  6 |
                                                                                | teh.id.au                           |         7 |          2 |                  6 |
                                                                                | theartofmachinery.com               |         7 |          4 |                  4 |
                                                                                | thebuild.com                        |         7 |          3 |                  5 |
                                                                                | twolfson.com                        |         7 |          1 |                  7 |
                                                                                | ultimaratioregum.co.uk              |         7 |          2 |                  6 |
                                                                                | unterwaditzer.net                   |         7 |          1 |                  7 |
                                                                                | usrsb.in                            |         7 |          3 |                  5 |
                                                                                | vladocar.github.io                  |         7 |          1 |                  7 |
                                                                                | vmcall.blog                         |         7 |          2 |                  6 |
                                                                                | wccftech.com                        |         7 |          2 |                  6 |
                                                                                | whitane.com                         |         7 |          1 |                  7 |
                                                                                | yogthos.net                         |         7 |          4 |                  4 |
                                                                                | 0xcc.re                             |         6 |          1 |                  6 |
                                                                                | 9front.org                          |         6 |          4 |                  3 |
                                                                                | acha.ninja                          |         6 |          1 |                  6 |
                                                                                | ai.google                           |         6 |          4 |                  3 |
                                                                                | alediaferia.com                     |         6 |          1 |                  6 |
                                                                                | alex.dzyoba.com                     |         6 |          3 |                  4 |
                                                                                | alexrs.me                           |         6 |          1 |                  6 |
                                                                                | anishathalye.com                    |         6 |          1 |                  6 |
                                                                                | balaskas.gr                         |         6 |          3 |                  4 |
                                                                                | benedikt-bitterli.me                |         6 |          3 |                  3 |
                                                                                | benwilber.github.io                 |         6 |          1 |                  6 |
                                                                                | bernsteinbear.com                   |         6 |          2 |                  5 |
                                                                                | bitcannon.net                       |         6 |          2 |                  5 |
                                                                                | blog.cesanta.com                    |         6 |          2 |                  5 |
                                                                                | blog.ericgoldman.org                |         6 |          2 |                  5 |
                                                                                | blog.esciencecenter.nl              |         6 |          2 |                  4 |
                                                                                | blog.felixangell.com                |         6 |          3 |                  4 |
                                                                                | blog.frankel.ch                     |         6 |          2 |                  5 |
                                                                                | blog.fuzzing-project.org            |         6 |          2 |                  5 |
                                                                                | blog.minio.io                       |         6 |          1 |                  6 |
                                                                                | blog.park.io                        |         6 |          1 |                  6 |
                                                                                | blog.parsely.com                    |         6 |          2 |                  5 |
                                                                                | blog.prakashvenkat.com              |         6 |          1 |                  6 |
                                                                                | blog.talosintel.com                 |         6 |          4 |                  3 |
                                                                                | blog.zdsmith.com                    |         6 |          1 |                  6 |
                                                                                | blogs.apache.org                    |         6 |          2 |                  5 |
                                                                                | bowero.nl                           |         6 |          2 |                  5 |
                                                                                | branchandbound.net                  |         6 |          1 |                  6 |
                                                                                | bsdcan.org                          |         6 |          4 |                  3 |
                                                                                | bubbl.in                            |         6 |          2 |                  5 |
                                                                                | chr4.org                            |         6 |          1 |                  6 |
                                                                                | cipht.net                           |         6 |          4 |                  3 |
                                                                                | commonsware.com                     |         6 |          1 |                  6 |
                                                                                | cookieplmonster.github.io           |         6 |          2 |                  5 |
                                                                                | creativedeletion.com                |         6 |          3 |                  3 |
                                                                                | cs.nyu.edu                          |         6 |          4 |                  3 |
                                                                                | cybertec.at                         |         6 |          2 |                  5 |
                                                                                | dacav.roundhousecode.com            |         6 |          1 |                  6 |
                                                                                | dbp.io                              |         6 |          4 |                  3 |
                                                                                | developer.squareup.com              |         6 |          3 |                  3 |
                                                                                | discuss.ocaml.org                   |         6 |          3 |                  3 |
                                                                                | dmathieu.com                        |         6 |          2 |                  5 |
                                                                                | domm.plix.at                        |         6 |          2 |                  5 |
                                                                                | dotlayer.com                        |         6 |          1 |                  6 |
                                                                                | dragonflydigest.com                 |         6 |          4 |                  3 |
                                                                                | ecalamia.com                        |         6 |          1 |                  6 |
                                                                                | eclecticlight.co                    |         6 |          4 |                  3 |
                                                                                | embeddeduse.com                     |         6 |          1 |                  6 |
                                                                                | enotagain.com                       |         6 |          1 |                  6 |
                                                                                | eurogamer.net                       |         6 |          3 |                  4 |
                                                                                | ftp.openbsd.org                     |         6 |          4 |                  3 |
                                                                                | gafferongames.com                   |         6 |          4 |                  3 |
                                                                                | gamozolabs.github.io                |         6 |          3 |                  4 |
                                                                                | garbagecollected.org                |         6 |          1 |                  6 |
                                                                                | golem.de                            |         6 |          1 |                  6 |
                                                                                | gynvael.coldwind.pl                 |         6 |          2 |                  5 |
                                                                                | herbertograca.com                   |         6 |          4 |                  3 |
                                                                                | holger-peters.de                    |         6 |          2 |                  5 |
                                                                                | homakov.blogspot.com                |         6 |          4 |                  3 |
                                                                                | hydraz.semi.works                   |         6 |          2 |                  5 |
                                                                                | inessential.com                     |         6 |          4 |                  3 |
                                                                                | io.pellucid.com                     |         6 |          1 |                  6 |
                                                                                | isc.sans.edu                        |         6 |          3 |                  4 |
                                                                                | joeellis.la                         |         6 |          1 |                  6 |
                                                                                | jpadilla.com                        |         6 |          1 |                  6 |
                                                                                | julien.danjou.info                  |         6 |          3 |                  4 |
                                                                                | julienblanchard.com                 |         6 |          1 |                  6 |
                                                                                | kateheddleston.com                  |         6 |          3 |                  4 |
                                                                                | kitchensoap.com                     |         6 |          4 |                  3 |
                                                                                | korban.net                          |         6 |          1 |                  6 |
                                                                                | kyleconroy.com                      |         6 |          2 |                  5 |
                                                                                | limelight.link                      |         6 |          1 |                  6 |
                                                                                | loper-os.org                        |         6 |          4 |                  3 |
                                                                                | lord.io                             |         6 |          3 |                  3 |
                                                                                | lowrisc.org                         |         6 |          3 |                  4 |
                                                                                | markkarpov.com                      |         6 |          3 |                  4 |
                                                                                | matthias-endler.de                  |         6 |          4 |                  3 |
                                                                                | michaelnygard.com                   |         6 |          4 |                  3 |
                                                                                | mikekohn.net                        |         6 |          3 |                  4 |
                                                                                | mooreds.com                         |         6 |          2 |                  5 |
                                                                                | nelenkov.blogspot.com               |         6 |          1 |                  6 |
                                                                                | nextjournal.com                     |         6 |          3 |                  4 |
                                                                                | ngoldbaum.github.io                 |         6 |          1 |                  6 |
                                                                                | noidea.dog                          |         6 |          2 |                  4 |
                                                                                | norswap.com                         |         6 |          1 |                  6 |
                                                                                | number-none.com                     |         6 |          4 |                  3 |
                                                                                | openmirage.org                      |         6 |          4 |                  3 |
                                                                                | opensourceconnections.com           |         6 |          3 |                  3 |
                                                                                | openstreetmap.org                   |         6 |          4 |                  3 |
                                                                                | paleotronic.com                     |         6 |          4 |                  3 |
                                                                                | pattern-match.com                   |         6 |          3 |                  3 |
                                                                                | pcmag.com                           |         6 |          3 |                  4 |
                                                                                | piechowski.io                       |         6 |          1 |                  6 |
                                                                                | probablyfine.co.uk                  |         6 |          1 |                  6 |
                                                                                | purelyfunctional.tv                 |         6 |          2 |                  5 |
                                                                                | pythonforengineers.com              |         6 |          1 |                  6 |
                                                                                | realtimeapi.io                      |         6 |          2 |                  4 |
                                                                                | rkn.io                              |         6 |          1 |                  6 |
                                                                                | roy.marples.name                    |         6 |          1 |                  6 |
                                                                                | rubygems.org                        |         6 |          2 |                  5 |
                                                                                | ryanbigg.com                        |         6 |          3 |                  4 |
                                                                                | silvestar.codes                     |         6 |          1 |                  6 |
                                                                                | sizovs.net                          |         6 |          2 |                  5 |
                                                                                | streaming.media.ccc.de              |         6 |          3 |                  4 |
                                                                                | supertcp.com                        |         6 |          1 |                  6 |
                                                                                | sweetness.hmmz.org                  |         6 |          1 |                  6 |
                                                                                | talkoverflow.com                    |         6 |          1 |                  6 |
                                                                                | techblog.shutl.com                  |         6 |          1 |                  6 |
                                                                                | terathon.com                        |         6 |          2 |                  4 |
                                                                                | tomassetti.me                       |         6 |          3 |                  3 |
                                                                                | triplebyte.com                      |         6 |          3 |                  4 |
                                                                                | triplefault.io                      |         6 |          2 |                  5 |
                                                                                | typeclasses.com                     |         6 |          1 |                  6 |
                                                                                | ucare.cs.uchicago.edu               |         6 |          3 |                  4 |
                                                                                | ungleich.ch                         |         6 |          2 |                  5 |
                                                                                | venam.nixers.net                    |         6 |          3 |                  4 |
                                                                                | vidarholen.net                      |         6 |          3 |                  4 |
                                                                                | vvvvalvalval.github.io              |         6 |          3 |                  3 |
                                                                                | yggdrasil-network.github.io         |         6 |          3 |                  4 |
                                                                                | zdziarski.com                       |         6 |          3 |                  3 |
                                                                                | zerotosingularity.com               |         6 |          1 |                  6 |
                                                                                | zge.us.to                           |         6 |          1 |                  6 |
                                                                                | ziglang.org                         |         6 |          4 |                  3 |
                                                                                | zoetrope.io                         |         6 |          2 |                  5 |
                                                                                | zork.net                            |         6 |          3 |                  4 |
                                                                                +-------------------------------------+-----------+------------+--------------------+
                                                                                641 rows in set (3.42 sec)
                                                                                
                                                                                
                                                                                
                                                                                1. 37

                                                                                  I am 100% on board with mitigating content marketing (especially the egregious examples you provide) but yeah… I’m uneasy about this as an active member of the community whose own blog appears on this list because it’s one of the only places I submit links to. I visit lobste.rs almost every day and appreciate that so many of the links are relevant to my interests and especially that the front page is slow moving enough that I can actually keep up with it, but I don’t submit many stories other than my own posts, and this list makes me feel like that’s not a welcome pattern. I appreciate that it is pretty close to the behavior of a self promoter (though I guess it is in a way, but I am not selling anything, I just happen not to have much else to show). This leaves me with four options, if and when I start actively blogging more (which is something I would like to do soon, and also the reason I’m commenting):

                                                                                  1. start submitting more posts I didn’t write to offset those that I did.
                                                                                  2. only submit my own posts when they’re extra special by some metric or another
                                                                                  3. get other people to submit my posts
                                                                                  4. don’t submit my posts

                                                                                  1 seems spammy af, 2 is a little weird but maybe the right answer (I would prefer just to submit everything and let the algorithm sort through them, where the algorithm is people’s eyes… tbh this is sometimes an HN strength, as you’re not guaranteed a front page land there and even if you get it, it fades quickly.)

                                                                                  3 is just gross, and 4 bums me out.

                                                                                  also it just makes me feel bad that I fall in this bucket I guess. Is “lurker who submits their own work from time to time” just doomed to be bucketed with “content marketing garbage spam”?

                                                                                  1. 14

                                                                                    I’m sorry I made you feel bad, and I agree these are all bad choices. Your posts are certainly welcome, and folks up and down this thread are already brainstorming ways to fix it.

                                                                                    1. 2

                                                                                      Maybe there should be a separate page on Lobsters for bloggers to submit an RSS/Atom feed! That way regularly blog content can be labeled separately, and vetted for quality of the blog itself, rather than the person/people submitting it to Lobsters.

                                                                                      1. 4

                                                                                        I certainly don’t want to have a whole RSS feed autoposted here, but I’m not saying your idea is bad - something along the line of a moderation queue for whole RSS feeds for stuff that >50% gets posted anyway is something to think about.

                                                                                        1. 3

                                                                                          I think jcs experimented with adding Planet-style aggregation years ago.

                                                                                          FWIW, this assumes 100% of the blog’s posts are in scope, and someone needs to clean up titles/tags, sometimes add context.

                                                                                      2. 17

                                                                                        So three questions:

                                                                                        1. What’s the average upvote score for articles from these sites? What about average upvote score for the articles submitted by the majority submitter?
                                                                                        2. How much content marketing stuff from dev.to, hackernoon, and medium is not on here?
                                                                                        3. How many of the majority submissions are from authors? Like I’d guess a lot of stuff from blogs.msdn.microsoft.com is from people who specifically are looking for interesting articles from there while everybody else isn’t.

                                                                                        (Disclaimer I’d really like to keep posting stuff from my site, but if the rest of the majority-things are by content marketers then it’s still worth it overall. Also, I think I’m well-known enough that other people would probably post stuff from my site anyway.)

                                                                                        1. 9

                                                                                          What’s the average upvote score for articles from these sites? What about average upvote score for the articles submitted by the majority submitter?

                                                                                          I think this is a key detail. I don’t self-submit often, but the 12 posts I have submitted over 2 years have generally been well received. I’d say the same goes for you. Well received self-submissions are something we don’t want to discourage. If someone is self-posting and the posts are not getting many votes then it seems more likely they should be subject to the post limit.

                                                                                          1. 9

                                                                                            I agree with corporate-operated blogs in this list, but I don’t understand the presence of private blogs such as jvns.ca or Daring Fireball. Those blogs usually have high-quality content (in my humble opinion) and I’ve never seen any form of content marketing on those websites (I could be wrong though).

                                                                                            1. 7

                                                                                              I think Daring Fireball is such an outlier, isn’t it like one the top 3 most-read sites with a 100% Apple focus anyway? I’m not using any Apple stuff, but I can’t help but getting the news anyway - and I personally don’t like reading it.. but I think it’s very often news-heavy and we don’t so many “New product by X” posts here, for a good reason.

                                                                                              Yes, Apple is a bad topic for me to comment, but Daring Fireball is not a personal blog anymore. He’s one of the major Apple-ecosystem influencers and pundits. This is 100% a business website by now.

                                                                                            2. 2

                                                                                              I also think this would be a useful component to include. My domain falls on the list, and I’m a bit sad to see my domain on the list. It’s technically content marketing, but I put a massive amount of effort into each post and the content is generally very well received both here and on Hacker News. I would understand the decision to block it, but I think that taking the average submission rating into account would still address the problem without eliminating content that is a good fit for the site. This also incentivizes people to only submit their best content.

                                                                                              1. 1
                                                                                                1. Averages are misleading because of site growth over time. (Related)
                                                                                                2. A significant amount. (Related)
                                                                                                3. Feels like most, but this a trickier query than I have spare brainpower to write. I worry that it would incentivize not checking that box because it’d be subtle and deniable.
                                                                                              2. 14

                                                                                                Is there anything we could do in terms of vetting a user? For example, as far as I am concerned, @andyc, @akkartik and @hwayne all submit rather high quality content from their own blogs, I’d rather not miss them.

                                                                                                1. 11

                                                                                                  This just struck me when I was trying to submit my Nix rebuttal post.

                                                                                                  1. 2

                                                                                                    That’s a shame… I’ve always enjoyed your posts on christine.website and I think it would be a real loss if your website were to be blocked.

                                                                                                    1. 2

                                                                                                      Apparently it’s going to be fixed and this was just an extreme over-reaction. I’m still gonna post though :)

                                                                                                  2. 10

                                                                                                    15 of the top 30 in this list are sites that I probably actively visit when they’re linked from Lobste.rs and otherwise don’t visit. Excluding them may surface less popular content but it would also seem to reduce the visibility of content that I’ve come to trust and want to get from Lobste.rs. 7 of the next 20 are in that same bucket, so penalizing by this metric would inhibit submissions 44% of the top 50 domains considered content marketing.

                                                                                                    1. 8

                                                                                                      @pushcx, thanks for all the hard work on the site. I really appreciate this site a lot. Now, I’m a bit offended to be included in this list. I’m a web developer and volunteer for some FOSS communities, I have a low traffic blog and every now and then I share some of my blog posts here. Not all of them, just the ones I think have value for users here. I’m not selling anything on this site, and my blog posts are not related to anything I sell.

                                                                                                      If this website is going to be hostile to blogs with such low traffic as mine with very few posts per month, about 500 users per month, then I think this site loses a ton of value. Not because they will be missing me but because the criteria that includes me and my site here, will also include lots of other minor bloggers. No one is posting my posts here because I don’t have a large number of readers, I’m probably faster to share content than some hypothetical reader.

                                                                                                      Seriously, scanning this list I can see many blogs I actually subscribe and that provide me with good content, not upselling anything. I don’t think this metric is a good way to filter who you want to filter. What this metrics leads to is that only content from domains that are so popular that a ton of people repost content from them will end up in this site. This is not only an echo chamber that makes whatever is popular, more popular. But also gatekeeping small people who just want share their own story every now and then, and will prove that the blogosphere is dead since we can’t share blog posts.

                                                                                                      1. 6

                                                                                                        As Lobster’s is my primary article discovery site, I’m a bit worried that this change will cause me to miss great articles because the author couldn’t post it, and they don’t have other avenues / connections to get it noticed (read: they suck at marketing, don’t have an RSS / atom feed, etc).

                                                                                                        I typically self submit (I’m on the list here) and sometimes it gets upvoted, sometimes it doesn’t. I kind of thought that was the purpose of votes, and flags, and such, but ¯\_(ツ)_/¯.

                                                                                                        At least this change creates a new “market.” We can create a voting ring of sorts that keeps track of their submissions to certain domains and nominates someone to submit queued up links. The list of domains above is a good seed list of potential members, too….

                                                                                                        I should probably just go back to over subscribing to RSS / Atom

                                                                                                        1. 6

                                                                                                          Could you run this query? I’m not entirely sure it’s correct, but it should sort by the percentage of single user submissions.

                                                                                                          select domain, count(*) as submitted, count(distinct stories.user_id) as submitters, (select count(*) from stories s where s.domain_id = domains.id group by s.user_id order by 1 desc limit 1) as from_one_submitter, (select count(*) from stories s where s.domain_id = domains.id group by s.user_id order by 1 desc limit 1)/count(*)*100 as submited_by_one_percentage from domains join stories on domains.id = stories.domain_id group by domain having count(*) > 5 and (from_one_submitter + 1) * 2 > count(*) order by 5 desc;
                                                                                                          
                                                                                                          1. 6

                                                                                                            Looks correct to me. Results.

                                                                                                            (I put the original list in a comment because I saw it as central to the discussion, so I didn’t want it on free hosting even though I don’t have a convenient place to indefinitely host a small static file attached to Lobsters.)

                                                                                                          2. 5

                                                                                                            I was a little worried to see my name On A List, and also a little flattered to know that my blog was getting so many posts from here. I had to look into who was doing all the posting, and, well, maybe you ought to watch out yourself ;)

                                                                                                            1. 4

                                                                                                              TIL I’m a content marketer, alongside such evil spammers as the Free Software Foundation and Hillel Wayne! And the tell was that I used federated blogging technology—my own article feed at my own domain, integrated into the fediverse via RSS—rather than high-quality centralised platforms like Facebook notes or Medium.

                                                                                                              Unfortunately, I’m really bad at content marketing. I tend to publish articles that explore ideas about software that I (and others, mercifully) find interesting, rather than SEO-first eyeball scrapers. I forgot to monetise with affiliate content, adverts, store links, or anything. Nobody even clicks the tip jar button on the site.

                                                                                                              I guess I need to find a community where us “Badly-marketed Low-value Output Generators”, or “BLOGgers”, can share, discover, and comment on each other’s posts without disrupting those people who are focused on consuming Medium-rate content. Preferably with a focus on programming, just because that is the niche vertical I have chosen to exploit with my rational-minded acquisitive process. Does anyone know where that community hangs out?

                                                                                                              1. 4

                                                                                                                Maybe copy query output to a gist or nopaste and link it?
                                                                                                                I found it hard to read due to line wrapping. :/

                                                                                                                1. 3

                                                                                                                  Wow… Okay. Did this site just become hostile to its users? My site is on the list.

                                                                                                                  1. 1

                                                                                                                    First of all, thanks for the good work. Now, since you invite:

                                                                                                                    kibitzing about particulars

                                                                                                                    and pointing out false positives. I expected @ahu’s site to be on there and it is[1], since one of his stories got moderated in a way I disagree with. (And I see other sites that I think are high-quality, but I’m happy to also see a lot of low-quality sites on the list.)

                                                                                                                    Having said that, if you look at his submissions you’ll see that it is mostly geeky stuff so I would rather classify him as an author than a content marketeer. He is a geek and happens to be a pretty good writer. His last article on Huawei, 5G and Europe has been doing some good rounds on Twitter (I won’t link to it directly but search for “5G: The outsourced elephant in the room”).

                                                                                                                    The only thing he perhaps went overboard with is the DoH centralization by Firefox on Cloudflare, which is an item we (PowerDNS) are pretty concerned about, but not for business reasons as implied by its proponents. Hell, we live in The Netherlands and couldn’t care less if we get fired or not since we got actual social security.

                                                                                                                    [1] ds9a.nl, but I didn’t expect blog.powerdns.com to be there as well

                                                                                                                    disclaimer: I’m a PowerDNS employee and ahu was my ‘boss’

                                                                                                                  2. 8

                                                                                                                    Ah, here is a topic I am somewhat well-versed in! Uplink is a classic – I spent plenty of time with it in my adolescent years. There are definitely more than 2 of these games!

                                                                                                                    • Slavehack - an MMO of sorts. You have your own box & IP address and spend time hacking into both NPC machines and other players’ machines. It has a non-linear “quest line” of sorts which allows you to upgrade your software (viruses, firewalls, password crackers, etc.). A big part of the game is clearing access logs when you access a remote machine because other players might find your IP address and try to make you part of their botnet ;)
                                                                                                                    • Blue Sky - Made by exosyphen studios, who have made a lot of hacking games. At the time I played it, I remember it being described as an uplink clone, but “Blue Sky” was definitely almost as well-known as Uplink.
                                                                                                                    • Hacker Evolution - Also made by exosyphen. This was the first hacking game I ever played as a kid, so it holds a soft spot in my heart. At the time I seem to remember people describing it as “worse uplink”, so I don’t know if it still holds up. They seem to have spun a whole series out of this, with some quite recent entries (released in 2015 and 2016).
                                                                                                                    • Hacker Experience - This was announced on HN and reddit a few years ago. I remember playing it briefly and enjoying the interface. It reminded me of a more modern take on Slavehack. Here’s an article about what happened to it and here’s a video of someone playing it if you want to see what it was like. It looks like someone took the source code for Hacker Experience (it was open source if I remember correctly?) and put up Hacker Wars.
                                                                                                                    • hackmud - I’ve not personally played this, but it looks quite interesting. I’ll probably give it a try sometime.

                                                                                                                    Lastly, Digital: A Love Story is really more of a visual novel, but it has some hacking themes, and I quite enjoy the narrative. I highly recommend trying this one, even if it isn’t a “hacking game” like the ones above.

                                                                                                                    1. 2

                                                                                                                      I have tried both uplink and hacker evolution, and I can see the characterization of “worse uplink”, however its important to remember that uplink is a really good game. I think hacker evolution is still fun, but if you’ve never played uplink it’s probably worth playing through first.

                                                                                                                      1. 1

                                                                                                                        This is all very interesting, thank you for sharing! Do you think these games use total immersion, or is it something specific to Uplink and Hacknet?

                                                                                                                        1. 2

                                                                                                                          Hmm, I don’t recall any of these games being “totally immersive” as you describe. I seem to remember Slavehack had a radio station and corresponding live chat, but I might be mis-remembering. The forums were also a bit like game cheating forums, with people posting their “wins” and “tutorials” on how to hack–it wasn’t role play, but it had a similar atmosphere to me. Anyway, this has all gone away since it was many years ago and I’m probably mistaken on some details :)

                                                                                                                      2. 21

                                                                                                                        My friends and I are the type who love Zachtronics games and things like Factorio and Kerbal Space Program.

                                                                                                                        These games are great and can teach a lot - and yet, once played for a few hundred hours, they start to feel empty. After a long conversation probing this problem, one of my group’s most elite players said something I find very profound.

                                                                                                                        “Nothing simulates engineering as well as doing engineering.”

                                                                                                                        “Hacking”, as you use the term, is basically a very specific kind of software engineering. Unlike aerospace engineering, it’s very accessible and rewarding in a short time - unlike game development. So maybe the real reason there are so few games like this is that the people who would be making them are off hacking things instead.

                                                                                                                        1. 6

                                                                                                                          Yeah, I think you’re right. After a while, these sort of games start feeling like work, at which point you might as well do the actual work instead, and gain something from it!

                                                                                                                        2. 1

                                                                                                                          Nice one! A few months ago I set up my own streaming server, but the latency was way too big for my usecase. What’s the latency like on your setup?

                                                                                                                          1. 2

                                                                                                                            If you want low latency streaming of your desktop to a small, private audience (eg watching a movie together or playing a game with a friend) checkout Parsec. The latency is so low it’s scary.

                                                                                                                            1. 2

                                                                                                                              5-10 seconds, it’s about what I get with Twitch/Youtube so I think it’s good enough :)

                                                                                                                              1. 1

                                                                                                                                I see, that’s pretty much what I was seeing too. Thank you for your response!

                                                                                                                            2. 1

                                                                                                                              Reading this makes me very sad I had ro drop Godot. The main reason for it being that everyone I’ve heard of uses Spine by Esoteric Software Ltd for animations. There’s a dead fork of a fork of a repository adding support, but although some things have been easy to maintain, it’s broken on Godot 3.1.

                                                                                                                              Esoteric has been promising support for something like two years and recently went on record as not having started the work yet(!)

                                                                                                                              I’m sure Godot’s cut-outs would suffice if animators knew how to work them.

                                                                                                                              It would also be nice to be able to add proper 3D elements into a game made in 2D mode, but with the focus on figuring out OpenGL and Vulkan for another half-year, I don’t really see this is a fit for a long time.

                                                                                                                              If you don’t need those things, I recommend Godot. The community is sweet and the editor is joyful.

                                                                                                                              1. 1

                                                                                                                                Godot recently added the ability to transform 2D sprites using meshes & bones - with a bit of work that should be able to do most of what Spine can do.

                                                                                                                                As for proper 3D elements, there is the option of using a render target texture to show a 3D scene in the 2D viewport. However, I expect you’d be on your own when it comes to interacting with the 3D objects - you’d have to do the coorditante transformation maths yourself.

                                                                                                                                1. 2

                                                                                                                                  Outsourcing animations to someone used to dealing with separate Spine files does unfortunately not match very well with anything in the proper engine. This is probably the reason a third-party product is popular :/

                                                                                                                                  There were other small glitches as well, which may have been fixed now, like parallax layers and camera zooms not working together too well.

                                                                                                                                  Regardless, I wish Godot the best!

                                                                                                                                  1. 1

                                                                                                                                    Oh yeah, from that perspective the Godot animation story is far from ideal - any animator would have to work in the likely unfamiliar Godot editor, instead of being able to specialise in the one tech that works across engines. And, while it is constantly getting better, Godot does come with a certain amount of ‘open source’ clunk that would be especially painful to people used to dealing with polished proprietary tools.

                                                                                                                                    If you don’t mind me asking, what engine are you switching to?

                                                                                                                                    1. 2

                                                                                                                                      UE4 would be overkill, and its Spine support seems to lack normal maps, though I find it very interesting.

                                                                                                                                      We conducted a feasibility study of porting our scripts to a Unity asset, by making an interp or compiler of sorts. It looks very promising and should save us money in the long run.

                                                                                                                                      The sad part is that I got very familiar with Godot, nearly fell in love with it, and know very little of Unity. Now I’m making enough in billables from Python work that I can outsource a bunch of the compiler work and hope this doesn’t backfire, and after this gig see where we’re at.

                                                                                                                                      OTOH we’re needing a meta-ish script system anyway, so if the asset fails us, all we need is another “backend” for Unity.

                                                                                                                                      If Godot worked, and if I hadn’t spent time and money making stuff on it only to learn a design concept for a Unity-based architecture, it would be more affordable. Unity on Linux was also pretty much a broken hack when we started and I prefer working through Linux; now it’s way better.

                                                                                                                              2. 7

                                                                                                                                Working on a Rust REPL for exploring music theory, with an associated library that lets you describe music using code. Right now, it’s essentially Google for chords! The target audience is musicians who find it difficult to work with harmony on their main instrument (drummers, bassists, guitarists to an extent, bowed instruments, woodwind & brass…)

                                                                                                                                I’m hoping to open-source the code this weekend. Let me know if this sounds interesting :)