1. 5

    It’s a bozo spotting clowns. The best defense against this guy is to become reflective.

    I’ve become numb to being called a clown by people trying to defend their way to work. Because I’m trying Haskell in production or otherwise experimenting with things off mainstream. They fail to notice they’re promoting that you’d have a circus instead. For example his blog running Wordpress on PHP. When something fails, there’s some fool to fix it because you got a lot of buffoons that are interchangeable. But essentially it’s the same stuff, except in bigger scale.

    It’s just you attacking things that are new or non-usual. And what’s with you against fun and clowns? Of course it’s hilarious thing that you forgot you painted your face, put a suit on and that you got your own unicycle that you’re riding. And you wonder where the impostor syndrome comes from. Maybe it’s because the whole thing is a circus and you have noticed it but not ready to accept it?

    1. 7

      And what’s with you against fun and clowns?

      A pie in the face at 0200 when you’re on-call is seldom welcome, and topping it off with a spray of seltzer from unfamiliar stacktraces is equally annoying.

    1. 7

      Building myself an e-ink reader. https://imgur.com/a/ouU2rXC

      1. 1

        Sick, you got any resources that you’re using? I’d be interested in trying this out.

        1. 2

          I picked up the 7.8inch e-paper from waveshare. Note they recently got HDMI module for it as well.

          I’m modeling the covers myself.

      1. 1

        I’m reading lobste.rs and waiting for an ebook reader to arrive. Also scrolling through some old writings and examining whether to publish them or chuk them to trash.

        1. 29

          Next up, clubs considered harmful

          1. 10

            How do I join that club?

            1. 2

              clubs considered GOOD, but when you open it up, it’s clubs you hit somebody with.

            1. 5

              Executives not understanding software sounds condescending.

              The rationale presented here for learning about software is vague. If it was forced in middle of everything else, you would have had very little motivation to actually learn anything. If that’s the setting then I see how it could be a disaster.

              Digitalization and Industry 4.0 sounds like growing long teeth and drinking your clients dry. Hopefully it’s not that.

              1. 2

                Digitalization and Industry 4.0 sounds like growing long teeth and drinking your clients dry. Hopefully it’s not that.

                I would argue that “learning about software” is exactly the antidote required for not getting bled dry by parasitic software companies. If you know enough not to be dazzled by fancy terms you will (hopefully) recognise when someone is trying to sell you snake oil or trying to get you in a vendor lock in.

              1. 1

                I got this kind of a parsing interface: state → symbol → ('step state + 'error (list (symbol * state)) + 'accept cst), likewise you can get the state → list (symbol * state). (maybe actual impl is some variation that turns out to be simpler, but you get the idea)

                I guess the CPCT+ is easy to implement in this setting? You get an error, roll an input window of 250 tokens and then calculate language edit distance 3 tokens ahead, until you got few candinates and then get the best one that rolls through to the end of the token window.

                1. 4

                  It’s amazing how ugly just that post is. Makes the product sound like a security theater without added security.

                  1. 7

                    As I have previously discussed here, there is a modest proposal which we, the software developers, ought to consider. Perhaps it is time to stop using corporation-friendly licenses for Free Software. In this particular case, perhaps Google would not be so rude to the community if the community were to stop providing them with high-quality video codec implementations. They can afford to reinvent everything, so let’s force them to reinvent everything.

                    1. 2

                      I’d propose taking more holistic view. Social changes should take effect.

                      This idea that somebody owns the right to copy some code or content they created is absurd. It roots on trying to create “incentive”, that you can cover your living expenses with what you do. This is insane. Covering living expenses should not be a problem to anybody in the first place due to all wealth that is present.

                      If basic living expenses are a problem, I think the problem is education. People are educated to be industry cogs, but lack skills to fare without industries. I suppose the main issue is the lack of knowledge about how trade works.

                      In a successful trade both participants are satisfied and feel that they won something out of doing the trade. Likewise it’s a good idea to understand what demand and supply actually means and how price on a market is determined.

                      1. 5

                        I understand the thrust of your points, but you have to keep in mind that we do not have the option of holistically reforming society. Too many people, with too much power, are too entrenched in a defense of copyright as their lifeblood; we cannot simply insist that society is wrongly structured, but must demonstrate that we can take concrete steps towards tearing down harmful corporations and other institutions.

                        What would you recommend that everyday software developers do?

                        1. 2

                          Too many people, with too much power, are too entrenched in a defense of copyright as their lifeblood; we cannot simply insist that society is wrongly structured

                          Gonna have to disagree on that; we can and should.

                          What we can’t do is assume it will work in a reasonable timeframe. So a variety of strategies is called for.

                          1. 4

                            What do you propose that we do, exactly? I have given a concrete proposal, and I am arguing against the idea that we can achieve corporate reform by lobbying to corporations to change their behavior. Instead, we achieve corporate reform by changing laws; by what current political path can we reform copyright law?

                            1. 1

                              I didn’t say I disagree with your proposal; I support it. I just disagree that it’s mutually exclusive with other longer-term efforts for wider reform.

                          2. 1

                            I’m not sure about every detail, but I really like this take: https://josephg.com/blog/war-over-being-nice/

                            If you were to follow that line, I’d guess we’d satisfy copyright laws and let they have their DMCA. It’s just that you don’t use it yourself and do not consume content that uses DRM. You never “destroy income” if you never consume in the first place.

                            That might be already happening besides. Why do they suddenly are over DMCA so much again?

                            However I’m not sure if that means we should stop using github or google services. But then.. we could actually do that. Git repositories and email is not that hard to deploy on your own server.

                            1. 4

                              By which mechanism, exactly, do you propose that we destroy monopolists like Google or Disney? Keep in mind that not destroying them is no longer an option; they actively distort our ability to have free exchange of software and other information. I feel that you are not engaging with my proposal, but instead imagining some sort of ability of people to simply walk away from the corporate hellscape.

                              1. 1

                                I do not have a good well-thought out answer to that. However maybe.. The current industry is heavily tied to its software stack. What do you think would happen if it was starting to crack?

                                People at Microsoft are already frustrated about the fork/exec model alone. Also they rely on selling monolithic software packages with lot of easy-to-use features with expense of complexity. However you also got Unix model that composes larger programs from smaller programs. Open source programmers have needlessly imitated closed source software everywhere when they would have had their own ways available.

                                1. 2

                                  How is a technical critique of fork/exec a threat to open source?

                                  Unix used to be proprietary up the wazoo. Linux has turned that on its head, but conflating open source with support for fork/exec is absurd.

                          3. 2

                            This idea that somebody owns the right to copy some code or content they created is absurd.

                            I think you missed a clause there. I believe you mean a creator should not have the right to restrict copying of their work.

                            As a content creator in another field (photography), I’m entirely in agreement with copyright, and license my own work with all rights reserved. This is not for monetary reasons, but to (de jure) prevent people I don’t like or agree with from using my work.

                            1. 1

                              You treat your photographs more important than anything else. I’m disgusted.

                              1. 3

                                That’s an absurd misrepresentation of my position.

                                I do agree that the current copyright regime probably errs too far into a net disadvantage for society (and I’ve commented to that effect earlier on this site). But the ability to be identified as the author of a creative work is valuable. And that includes the ability to prevent others from appropriating one’s work in support for causes one doesn’t believe in.

                                1. 1

                                  Make sure you do not conflate those two different, separate, orthogonal aspects of copyright:

                                  • Obligations of attribution.
                                  • Restrictions on copy.

                                  Few people disagree with the first. If you use some work, say so in the credits. If you’ve transformed the work, also say so, so the original author is not associated with your transformation. Restrictions on copy however is something else, and can be removed without affecting the first.

                                  the ability to be identified as the author of a creative work is valuable

                                  Sure it is, but that doesn’t require any restriction on copying.

                                  And that includes the ability to prevent others from appropriating one’s work in support for causes one doesn’t believe in.

                                  No it does not. What you asked for is being identified as the author. In addition, I sense the desire to not be associated with stuff you don’t support.

                                  Let’s say some Shady Character wants to use your photos for some disgusting Alien Porn. Under obligation of attribution, they’d have to credit you for the photo, and they’d have to make it clear you have nothing to do with the porn. (It’s implicit if they just took a background photo and said so; it must be explicit if they digitally disrobed models you shot.) There, you’re both identified as the creator of the original work, and your reputation is safe. Which is why I like attribution very much, and tend to give credit even when not obligated to.

                                  You don’t want your photo to be used in Alien Porn to begin with? Now that’s a significant restriction. Asking someone with Internet access not to copy something is a huge restriction on Freedom of Speech, and it is not clear at all that it is worth it. Which is why I view restrictions on copy very suspiciously.

                                  Another example is software. I’m currently working on encryption software, which I give up for free. It is inevitable that some people will use it for nefarious purposes, some of which are even illegal. I don’t need copyright to prevent people from doing illegal things, the law has that covered already (tautologically). I only need it for stuff I find abhorrent (distributing Alien Porn discreetly). But then we’re beyond restriction on copy, we’re restricting use. I don’t think I’d want to live in a society that to enforces that.

                                  Now you might think your photo is different. It must be copied to be shown in that Alien Porn. But then it’s just input material, that have nothing to do with whatever the Shady Character is trying to achieve. Being in a position to restrict the copy of your photo effectively restricts all its uses, and I argue this is just as problematic as restrictions on the use of software. The benefits to society better be massive to let you have that kind of control.

                                  1. 1

                                    Thanks for taking the time to expand on your vision of how copying creative works should function.

                                    Under the current regime, if a creator of alien porn was to wish to use my work, they had only to ask me. I’d either allow it, or allow it for financial compensation, or not allow it. That’s an expression of my speech, which must be balanced against the right of speech of the porn creator.

                                    I would much prefer to be able to tell the local Nazi party they are not allowed to use my photos as part of their propaganda, than to have to accept that they’re allowed to, as long as they credit me as the creator. Especially if the disclaimer that I don’t agree with their odious views is merely implicit as you suggest:

                                    It’s implicit if they just took a background photo and said so

                                    Other photographers prefer to release their work under CC0. There’s even a huge site (Unsplash) that only hosts CC0 content. That’s their choice. My choice is to use all rights reserved. Any restriction to my choice must be balanced against my right of speech.

                                    Finally, you open a huge can of worms here:

                                    [clarification that you have nothing to do with the porn] must be explicit if they digitally disrobed models you shot

                                    How on earth could photographers find models, or models be prepared to seek work modeling, if their likeness could be digitally altered to appear in entirely unrelated work?

                                    1. 1

                                      I’d either allow it, or allow it for financial compensation, or not allow it. That’s an expression of my speech,[…]

                                      You’re conflating a couple things here.

                                      Freedom of speech is the freedom to say stuff (or in your case to shoot photos and publish them). If someone else repeats what you said (or re-publishes your work), that doesn’t prevent you from saying stuff or publishing photos, and thus does not conflict with your freedom of speech.

                                      It might conflict with something else, such as your desire not to be associated with some things, or your ability to profit from your own work. Both arguably important things, just different from freedom of speech. The balance you speak of is not between their freedom of speech and yours. It’s between their freedom of speech and some other legitimate interests of yours.

                                      Now I’m not saying “therefore, you should just suck it up because freedom of speech is more important”. That part is my own political opinion. Here I just want to point out the technicality. That said, there is another important aspect that does inform my political opinion: the user/creator ratio.

                                      My point is fairly simple: the moral weight of each human being is more or less the same, and there are many more users than creators. Therefore, the well being of users is more important than the well being of creators. One tricky part here is the interplay between the two: unhappy creators my stop creating, making the users less happy in the process. Making creators miserable for the sake of users just plain doesn’t work. Anyway, restrictions on copy affects pretty much everyone, to be compared with the relatively low number of authors & content creators. So it’s not just the freedom of speech of one person against the interests of one author. It’s the freedom of speech of the entire audience against the interests of one author.

                                      That fundamental asymmetry is what makes me most suspicious of restrictions on copy. When it was just a couple companies that owned a printing press, restrictions were more acceptable, because they restricted far fewer people. But now that we have the internet, the difference in scale is such that I think we can talk about a difference in kind.

                                      I would much prefer to be able to tell the local Nazi party they are not allowed to use my photos as part of their propaganda

                                      Certainly. Though in that particular case, it may be illegal for the local Nazi party to publish any propaganda. That would make the “don’t use my photo for this” part unnecessary.

                                      How on earth could photographers find models, or models be prepared to seek work modeling, if their likeness could be digitally altered to appear in entirely unrelated work?

                                      That’s actually a very good example of how catering to users exclusively may kill the Golden Goose. If your assumption is correct, a restriction on defacing (which would thus restrict the freedom of speech of pretty much everyone), would help the interest of the users, not just the photographer’s or the models. This would void the asymmetry I mentioned above, and makes freedom of speech comparatively less important than it looks.

                                      1. 1

                                        Thanks for expanding and explaining!

                                        As I’ve mentioned before on this site, the current copyright/IP regime is probably suboptimal. But, just like the solution to economic inequality proposed by Marx and Engels - “abolish all property!” - is a step too far, entirely abolishing intellectual property is a hard sell.

                                        I can both want to keep control of my creative output, and criticize Disney for extending copyright terms indefinitely. There’s got to be a balance between rabid copyright maximalists and people who believe everything on the internet is fair game.

                                        1. 1

                                          I don’t know what Marks and Engels said specifically, but I tend to favour something close: abolishing lucrative property. Or rather, making that property collective rather than individual. This requires a clear separation between usage property and lucrative property.

                                          Let’s take for instance the example of a bakery in some middle sized city. First we consider its reach, so we can say who the stakeholders are, namely the bakers, and their customers. Abolishing lucrative property means the profits of the bakery goes back to “the people”. In this case the whole neighbourhood. (Said neighbourhood may collectively pay taxes to the town so it can funds the roads and schools, and the town can pay taxes to the state so it funds power plants, etc.) On the other hand, the bakers retain the usage property of the bakery: they decide how they’ll work in it. This can turn into a discussion of how much bread the bakers can (and are willing to) output, when the bakery opens. As for the price of the bread, the whole neighbourhood decides, based on the operating costs of the bakery, and whether the bakery should be subsidised or make a profit (and how much).

                                          Generalise that to pretty much every industry, and you get something super-complicated where everyone has a real say in how things are ran. I’m not sure how practical this idea is, and people need to do their part for all of this to work. Still, similar systems have existed in the past, and have worked before some bigger state with an actual army reinstated capitalism.

                                          entirely abolishing intellectual property is a hard sell.

                                          Another technicality, but there’s no such thing as intellectual property. The proper term is intellectual monopoly. Property applies to rival goods only. If I take your chair, you can no longer sit on it. It’s a very poor analogy to ideas and expression thereof. I won’t forget a blog post I wrote just because someone else plagiarized it. I won’t lose an application just because someone copied it off my computer.

                                          Copyright, trademarks and patents are all about state granted monopolies: the right to copy some works, the right to use some name, the right to apply some idea. Each have their reasons to exist (and personally, I’m not opposed to trademarks in principle), but we must keep in mind that they don’t work by protecting some property, but by granting some monopoly.

                                          As for why we say “intellectual property” instead of “state granted monopoly”, I think the reason is obvious: the former sounds much more positive than the latter. We’ve pretty much all accepted that property is something good (Anarchy notwithstanding), and monopolies are something bad. Thus, depending how you say it:

                                          • Intellectual property is a no brainer. The hard sell is to abolish it.
                                          • State granted monopoly is itself a hard sell.
                                          1. 1

                                            A state granted monopoly is the generally accepted way to somehow equate ideas with the tangibility of property. Of course, in modern society access to tangible property is also mediated by the state, in that the state has a monopoly of prosecuting and punishing those accused of crime against property.

                                            Most people intuitively agree with the notion that if an author spends significant time and energy creating a work, they should have some chance of recouping that cost through being the only person allowed to grant or sell access to that work for a certain period of time. People should be entitled to the fruits of their labor - why should intellectual labor be exempt?

                                            1. 1

                                              why should intellectual labor be exempt?

                                              I don’t think it should, at least not any more than physical labour. Still, the rules should probably different, because of scarcity: once an intellectual work has been produced, it can be massively duplicated at virtually no cost. In my opinion, we should find ways to take advantage of that.

                                              Copyright tries to recreate scarcity so traditional business models work on intellectual labour. To me this feels like a huge waste of resources.

                                  2. 1

                                    I also value that use of content respects the authors wishes. It’d be just as ugly if gaming of one system was replaced by the gaming of an another.

                                    With copying it’s just that the enforcing is unavailable for most people except richer businesses that then are really strict about content. This is frustrating. At the same time industry abuses it all to control market and coerce their customers. It’s really time for this whole thing to explode at their face.

                                    You sure you don’t want to know about the dynamics with fork/exec? You say there it’s absurd. I suppose that means you wouldn’t listen if I told what there seem to be going here. (you can also find it by looking at old reddit/hacker news post about that paper I linked to.)

                                    1. 1

                                      I agree that the current form of copyright in the West is suboptimal along a number of axes. But that doesn’t mean that I believe that the solution is to get rid of copyright altogether.

                                      You sure you don’t want to know about the dynamics with fork/exec? You say there it’s absurd. I suppose that means you wouldn’t listen if I told what there seem to be going here. (you can also find it by looking at old reddit/hacker news post about that paper I linked to.)

                                      My statement regarding that was implicitly a request for more information. I realize it might not has come off as that, for which I apologize.

                          1. 2

                            I think they stole your patch. “THANK YOU HEARTY LOL!”

                            Don’t contribute again to them, maybe it was a small thing in the first place, but reading around here proposes this is done to avoid contracts being formed.

                            Edit: Oh, you probably know that. You want to distinguish between projects that do this and that do not.

                            1. 2

                              I think this post is about social problems and the subject’s not really turing (in)completeness.

                              Programs that take a million years to finish technically terminate, but probably can’t be run on an actual computer.

                              This is something many people say and it misses the point because the program might be valuable even if it was too complex to run.

                              The whole point of type theory is to disable turing completeness in order to ensure you cannot prove contradictions.

                              1. 1


                                If I ever want to build a vga card of my own of some kind, I think I’ll take a look at this.

                                1. 26

                                  All highly biased articles that fail to explain their inflammatory titles suck.

                                  1. 3

                                    I wouldn’t even call this an article, it’s just a bunch of random quotes and a list of things someone doesn’t like for some pretty non-obvious reasons we can only guess at (in some of the cases, anyway).

                                    1. 1

                                      Completely agree. I was hoping someone could shine some light on some of the choices. Obviously, this comes from someone involved with Plan 9. But if there were no Plan 9, how would this list look like?

                                      1. 1

                                        It’d likely be something like suckless. Here’s a rant about POSIX locales that might be relevant. These are easy to find if you search. I’d propose you do so.

                                        I think cat-v can be summarized as striving for mathematical-like simplicity and solving the problems in right place. I find this simplicity invaluable because it reduces noise a lot.

                                    1. 4

                                      There’s a thing you can do to evaluate this. Take a source listing of the candinate replacement. Count up the files and lines in them. Then look up dependencies.

                                      If there are dependencies, count their functionality into the system and add it to the line count. If the whole compiler + runtime is larger than 50k lines, then it will never replace C.

                                      (Zip didn’t pass this test).

                                      1. 12

                                        Why? GCC has millions of lines of code.

                                        1. 2

                                          C spread across platforms by being simple to port. It was that because it’s not much. We’re talking about pre-GCC C here. By now GCC is so massive that vendors accommodate their platforms to fit it.

                                          A language striving to replace C would need to have a pioneer’s structure as well. Otherwise it’s unable to skip the principal compiler on the platform and really replace it.

                                          1. 7

                                            The possibility of a small implementation of the language and the size of the main implementation aren’t necessarily related, though. Additionally, if you want to target a new platform nowadays, you’re better off adding an appropriate backend to GCC or LLVM instead of trying to implement C (or any other language) from scratch.

                                            1. 2

                                              Of course, It’s better to not attempt to replace C. It works fairly well for what it was made for.

                                            2. 2

                                              A lot of languages use LLVM as a back-end. This contradicts your thesis by adding a huge number of dependent LOC, but making porting really easy I.e. if there’s already an LLVM code generator for your platform, you’re mostly done.)

                                              And these days, hopefully any compiler segregates the code generation logic enough that it can be ported without worrying how large the front-end side of it is.

                                              1. 1

                                                LLVM itself has been written in C++, and that is an extension of C. That contradicts that none of this has replaced C yet?

                                                Honestly though I don’t believe it to be that important. I just don’t think that people move off C before the equivalent language can stand without C. There’s also a question of why to replace C? For example why would anybody want to write coreutils in a different language?

                                                1. 3

                                                  For example why would anybody want to write coreutils in a different language?


                                          2. 1

                                            Note that there is ongoing work on a self-hosted compiler instead of leveraging LLVM.

                                          1. 2

                                            I believe all the programmer stuff here just confuses. Mathematics are a lot better way to approach matrices even with programming. Just plain type theory brings you a good starting point to matrix multiplication. The type for matrix multiplication resembles function composition:

                                            (*) : forall x y z. Matrix x y -> Matrix y z -> Matrix x z

                                            This because it’s a linear transformations of items from one bunch of numbers to another bunch of numbers, it’s technically a certain kind of a subclass of a function.

                                            1. 2

                                              It doesn’t resemble function composition, it is function composition. Every matrix A is isomorphic to a linear function a, and AB ≅ a ∘ b.

                                            1. 1

                                              So they’re looking to replace BSD/POSIX socket API with something else. Outright this sounds bad because it would mean all software need to be patched afterwards.

                                              There’s more on Reo coordination language. Then there’s the api.

                                              It looks like interesting and I’ll perhaps read more into this later. It actually kind of looks like it’d make sense.

                                              1. 2

                                                A compatibility layer for applications using the socket API can use connectors underneath. But then the application cannot use the benefits of connectors, such as connecting with multiple peers and gathering session information.

                                              1. 2

                                                I recently tried haskell-language-server and overall I liked using it. From now on I regularly use it when programming Haskell.

                                                There’s a feature, I do not know if already present, but I’d really like to be able to expand cases. Example:

                                                matchByText :: Node -> Maybe String
                                                matchByText s = _

                                                I’d like to set cursor on s, then tell editor to expand this case and retrieve this:

                                                matchByText :: Node -> Maybe String
                                                matchByText (Element _ _ _) = _
                                                matchByText (Text _) = _

                                                That I could then fill up to my liking.

                                                1. 2

                                                  That feature is advertised in 0.5.0 released a few days ago.

                                                  Check out the cool animations! https://github.com/haskell/haskell-language-server/releases/tag/0.5.0

                                                  1. 2

                                                    Then it goes to install right away!

                                                    Now I’m just wondering how do I access the case splitting from LanguageClient-neovim plugin?

                                                  2. 1

                                                    I believe that’s one of the features mentioned in this article as something that’s coming.

                                                  1. 6

                                                    If you want a really good user interface then give it modes like how Vim has them.

                                                    This is the first thing they told me NOT to do when doing GUIs at university. In fact, it is said that Ctrl-C/Ctrl-V is so popular, because it’s modeless. I think there’s actual research that shows that modes in GUIs are bad, for various reasons but it’s been a while since I studied HCI.

                                                    1. 3

                                                      That’s what I’ve read, too, especially in Jef Raskin’s The Human Interface. I suspect the copy/paste work was from Larry Tesler, who reportedly had “NOMODES” on his license plate?

                                                      That all said, I definitely see that all the software I use actually has quite a few modes…and, when trying to make software for people, people tend to like having modes (at some level) to “guide” them around a process. Is that because they don’t want to spend the time learning a new interface as compared to something that is familiar? Or because of a different valuations between long-term efficiency as compared to the initial learning curve? I don’t know. :-)

                                                      Out of curiosity, from when you did study HCI, do you have any recommended texts or resources?

                                                      1. 3

                                                        Maybe the disrepancy here is due to how a broad concept a mode is. I believe the problems are there. Wikipedia has a section about mode errors in user interfaces.

                                                        There’s certain kind of behavior that is terrible, but it’s not entirely captured by vilifying modes (well, if we’re precise then it is though).

                                                        1. Notification pops up when you’re trying to do something and you click the notification away accidentally, while also messing up whatever you were doing.
                                                        2. Something steals the focus while you’re writing a command.
                                                        3. A prompt grays off everything else in front of you, the answer causes an irreversible change, but to answer it you’d have to look up something first.

                                                        I’d be quite furious if Vim abruptly shifted --INSERT-- to --VISUAL-- when I’m typing text. That has never happened though.

                                                        So maybe the rules of good modes can be captured in this way:

                                                        1. The mode changes immediately upon an user request of mode change.
                                                        2. The mode never changes due to an external action.
                                                        3. The mode always displays itself properly.
                                                        4. The mode change is an irreversible action in itself.
                                                        5. The volatile internal state that is destroyed on exit from the mode is identifiable for the user.

                                                        I’d think this may be good enough to be added there into the post. What do you think?

                                                      1. 9

                                                        It really bugs me that things like this continue to perpetuate the idea that web is the only kind of development. “Frontend” and “Backend” are not the only two categories of development, and continuing to perpetuate this idea is causing far too many people to focus on moving everything to the web, because they can’t see outside of the narrow sliver of the breadth of technology. I wish we could acknowledge that the web isn’t, and shouldn’t be, the end-all be-all of software development or technology delivery.

                                                        1. 2

                                                          I think that is because the majority of user-facing applications are web based. It seems to me like web-based software is just the most reliable, simple, and cross-platform way to deliver content. Because there are so many use cases, it has accumulated a lot of depth and knowledge, making guides like these necessary. It could also be a cultural thing - low level stuff, like kernels, operating systems, etc., have a culture formed around them of “just read the manual”.

                                                          I’m curious what other technology / kind of development you think could use a roadmap. My personal interest is in PLT+formal methods, but I guess I’m early enough in my learning that I can’t imagine a roadmap as large as the ones presented in the original submission. Maybe embedded development? Database systems?

                                                          1. 3

                                                            My interest is in PLT as well, and I think that there’s actually quite a huge opportunity for a roadmap there. I know that as an autodidact in PLT I’d have loved a structured roadmap for how to understand type systems, category theory, compiler design, etc. I’ve seen roadmaps like this for data science; I bet you could also create them for mobile development, security, devops, game development, or just about any pursuit. Almost all fields these days are built on a large amount of prior work and any time there’s a lot of prior work I think creating a pedagogical ordering for people to pick up concepts can be helpful.

                                                            1. 2

                                                              Hi Rebecca, I haven’t thought about a roadmap, but I’m planning to build up a structured sitemap for boxbase blogposts and eventually extend to articles that cover things you mentioned, type systems, category theory, compiler design. I think it’ll come with the next upgrade on the site. Sometime next month when I think I’m ready to do that.

                                                              If there’s some related subject I could cover that you immediately need, I’d appreciate to know.

                                                              1. 2

                                                                That sounds like a great roadmap! It would be really great if there was something that covered the path to modern type systems from like the typed lambda calculus and denotional semantics through systemF and then concluded with something like homotopy type theory. I know that I’ve struggled to get through all the literature on cubical type theory because there’s a bit of math and some more recent work that I’ve not been quite sure what the right order to pick it up is.

                                                        1. 1

                                                          I’m using Idris for some programming language research, I’m glad Idris2 is getting along because it’s a much faster implementation.

                                                          1. 1

                                                            It’d be time for a new keyboard standard. Split keyboards are incredibly useful, but there is bit of a disagreement how their layout should be oriented. Also I find location and modern use of modifier keys an atrocious design. Ctrl+something to run a command, why? Ctrl+Alt+Something, what? Who made this up and who still keeps this up?

                                                            Plus, who’s trying to remove the esc-key from the keyboard?