1. 2

    Started learning how to play Dwarf Fortress. First tried it 5 years ago and gave up but this time it doesn’t seem so bad.

    1. 1

      When you get the hang of it, you’ll start seeing how similar it is to The Sims: Goblin Seige Edition.

      1. 1

        The GUI and menu systems dont phase me but the sheer complexity of the game and the number of things that can go wrong fun is just overwhelming.

    1. 2

      Open plan offices are great. That is, it’s terrible to work in them, but it helps you identify clueless and/or toxic management/companies. If any given company has an open plan office, you know not to work there.

      1. 3

        If any given company has an open plan office, you know not to work there.

        Sounds like nowhere is decent enough to work at considering the rate open office rants pop up makes it seem like they’re everywhere.

      1. 4

        I’ll probably take my wife to see Jurassic World: Fallen Kingdom this weekend. She loves those movies, and since she had breast cancer and is going through chemotherapy to mitigate the risk of recurring tumors, it’s important to keep her morale up.

        I’ve also been tinkering with building my own OpenBSD static website generator using make, sed, lowdown, sassc, and dateutils. It’ll use my ~/.plan file as a non-social blog, and also pull in ~/.project.

        Using sed will let me take advantage of lowdown’s ability to extract metadata and convert markdown files without wrapping them in stand-alone HTML files to populate templates.

        I’ve timed both sass and sassc using the time command, and sassc appears to be faster.

        I’m pulling in dateutils so I can store timestamps in variables and convert them to arbitrary formats.

        I like what Roman Zolotarev did with his ssg script, but his implementation seems blog-oriented, and I want to get away from blogs and party like it’s 1999. Rather than try to make his script work the way I want it to, I’ve been studying it as a reference implementation so I can do it my way. :)

        Also, I want to see if I can get better performance by using make -j. It seems most static site generators process pages sequentially, but that seems inefficient when I’ve got an 8-core machine and 8GB of RAM.

        1. 2

          Good luck on that generator. I tried the same thing but primarily with M4. Would not recommend that path. You could simplify your generator into markdown content.md |cat head.htm - foot.htm >content.htm in the end.

          1. 1

            Thanks. I know I could use cat to simplify generation, but I’ve already figured out how to populate HTML templates using sed. It’s more complex, but also more powerful since I can chain multiple operations into a single command.

            I had originally started out by writing a shell script, but once I was ready to loop through multiple files I realized that a shell script wasn’t really the best tool for the job, and that I might have a better time if I use make.

            This way I can tell my wife that the ten bucks I spent on a used copy of sed & awk from O’Reilly Press wasn’t wasted. :)

        1. 8

          I still don’t get why HTTPS not just TLS. Because of the server coalescing? Don’t like the sound of that much, in practice maybe lots of sites do get served from a few CDNs, but is that the centralising/monopoly-operation-normalising kind of thing we want to be enshrining in open source browsers? Oh Cloudflare are helping to push it? Hmmmm

          1. 7

            DNS over TLS also a thing that’s been spec’d. The problem is that so many pieces of networking hardware have ossified over the years that there are real challenges to introducing new protocols on the internet. Using an existing protocol is a solution to that.

            1. 4

              Ah right, that does make some sense. Even though the server coalescing etc is HTTP/2 which ossified hardware is hardly going to support. But even still, HTTPS seems like a complex & possibly heavyweight protocol to use as a carrier for comparatively simple payloads, no?

              1. 6

                Port 853 (DNS over TLS) is easy to block (in collateral freedom sense). Port 443 (HTTPS) can’t be blocked.

                1. 4

                  If “block any and all DNS” is a viable approach for censorship, it’s pretty easy to change the port. There’s no reason to use a nearly unimplementably complex protocol stack to serve DNS.

                  1. 1

                    That’s the best argument I’ve heard for it, by far. I wonder if there’d be some way to smart-multiplex protocols over 443 though. Mongrel2 used to do it I seem to recall.

                    1. 1

                      Years ago I used a reverse proxy to do exactly that. Unfortunately I can not remember the tools I used.

                      Probably stunnel and iptables on the server were used but I cannot really remember the tricks. I also had to do some tricks on the client, probably.

                      1. 2

                        I have experience with both sniproxy and sslh. I never looked whether or not they support DNS+TLS or could easily be taught DNS+TLS.

                2. 3

                  But it’s not a new protocol – it’s TLS. If a middlebox can tell what is going over TLS in order to treat it differently, we refer to the situation as an “attack”.

                  1. 4

                    There are plenty of situations in which TLS interception is consented to – corporate MITM boxes are the popular example – and they absolutely cause problems with deployment of new protocols (TLS 1.3 is filled with examples).

                    (I should note that TLS MITM boxes in my experience are all hot garbage and people shouldn’t use them, but there’s nothing wrong with them from a TLS threat modeling perspective.)

                    1. 1

                      There are plenty of situations in which TLS interception is consented to – corporate MITM boxes are the popular example

                      Yes, but at that point, changes to DNS don’t help – you have a social problem, not a technical one. The group that is putting in the MITM boxes has the ability to force you to reveal your traffic regardless of what technology you put in. You’ve lost by default.

                      1. 3

                        You don’t have to be trying to defeat that person, the goal would simply be to make sure it doesn’t break when deployed.

                    2. 2

                      The middle box knows the node ips.

                      It might be enough, for censorship.

                      1. 2

                        You might be onto something, scarily enough. They are actling like Cloudflare is a reputable middleman.

                        1. 2

                          You mean, like 1.1.1.1, which is used to serve TLS over HTTP?

                          This isn’t a problem that throwing HTTP into the mix solves.

                          1. 1

                            This isn’t a problem that throwing HTTP into the mix solves.

                            You really don’t need to convince me.

                            My first thought when I read about this was: where is the hypertext? I can’t think of me explaining to my grandchildren 20 years from now why we decided to use something designed to distribute HTML for DNS responses.

                      2. 3

                        The problem is that so many pieces of networking hardware have ossified over the years that there are real challenges to introducing new protocols on the internet.

                        While I understand your argument, I always think of what ancient Egyptians would think of our “real challenges”.

                        Compared to people from 5000 years ago, we are all sissies.

                        1. 4

                          The Egyptians never tried to coordinate hundreds of vendors, tens of thousands of deployments, and a billion users to update their network protocols.

                          I’m sure we could do better, but there are legitimate challenging technical problems, combined with messy incentive problems (no individual browser vendor wants to cause a perceived breakage, since the browser is generally blamed, and that would give an advantage to their competitors, or cause people to not upgrade, which for a modern browser would be catastrophic to security).

                          1. 1

                            The Egyptians never tried to coordinate hundreds of vendors, tens of thousands of deployments, and a billion users to update their network protocols.

                            You should really visit Giza.

                            None of your arguments is false. But they are peanuts compared to building a Pyramid with the tools available 5000 years ago.

                            We should really compare to such human endeavours before celebrating our technical successes and before defining an issue as a “real challenge”.

                    1. 23

                      While I agree that the article is probably true, the biggest problem with Electron, and a lot of modern software development, is that “Developer happiness” and “Developer Efficiency” are both arguments for electron, but “user happiness” and “user efficiency” aren’t.

                      Electron developers are incentivized to develop applications that make users happy in the small- they want something that looks nice, has lots of features, is engaging. The problem is that in their myopic pursuit of this one-and-only goal too many apps (and electron is a vanguard of this trend, but not the only culpable technology by far) forget that a user want’s to do things other than constantly interact with that one single application for their entire computing existence.

                      That’s where electron as a model breaks down. Electron apps are performant enough, and don’t use too much memory, when they are used by themselves on a desktop or powerful docked laptop- but I shouldn’t have to be killing slack and zoom every time I unplug my laptop from a power source because I know they’ll cut my battery life in half. I shouldn’t have to ration which slack teams I join lest I find other important processes swapping or getting oom-killed.

                      Even without those concerns, Electron apps selfishly break the consistency of visual design and metaphors used in a desktop experience, calling attention to themselves with unidiomatic designs.

                      We do need easier and better ways of developing cross-platform desktop applications. Qt seems to be the furthest along in this regard, but for reasons not entirely clear to me it’s never seemed to enter the wider developer consciousness - perhaps because of the licensing model, or perhaps because far fewer people talk about it than actually use it and so it’s never been the “new hotness”.

                      1. 7

                        the author specifically calls out what the problem with QT is.

                        Native cross-platform solution like Qt tend to consider themselves more a library, less a platform, and have little to offer when it comes to creating auto-updating software, installers, and App Store packages.

                        Don’t be so dismissive of peoples choices with the ‘new hotness’ criticism.

                        1. 5

                          I think you misunderstand what I’m saying. My claim isn’t that Qt would solve every problem that people are looking to electron to solve if only it were more popular. My claim is merely that of the cross-platform native toolkits, Qt seems to be both the furthest along in terms of capability, and also seems to be one of the less recognized tools in that space (compared to Wx, GTK, Mono, Unity, heck I’ve seen seen more about TK and FLTK than Qt lately). I suspect that Qt could grow and support more of what people want if it got more attention, but for whatever reason of the cross-platform native toolkits it seems to be less discussed.

                          1. 3

                            Especially with QML, Qt feels just like the javascript+bindings world of the web

                            1. 2

                              Just to be clear, this is the workflow I have currently if I’m targeting Electron. Can you show me something comparable with Qt?

                        2. 7

                          This is an overly simplistic argument that misses the point. Desktop app development has not changed significantly in the past five years, and without Electron we would simply not have many of the Electron-powered cross-platform apps that are popular and used by many today. You can’t talk about “not optimizing for user happiness” when the alternative is these apps just not existing.

                          I don’t like the Slack app, it’s bloated and slow. I wouldn’t call myself a JavaScript developer, and I think a lot of stuff in that world is too ruled by fashion. But this posturing and whining by people who are “too cool for Electron” is just downright silly.

                          Make a better alternative. It’s not like making an Electron app is morally worse than making a desktop app. When you say “we need to make desktop app development better” you can’t impose an obligation on anyone but yourself.

                          1. 6

                            without Electron we would simply not have many of the Electron-powered cross-platform apps that are popular and used by many today.

                            I don’t really remember having a problem finding desktop applications before Electron. There seems to be relatively little evidence for this statement.

                            1. 2

                              Please do not straw man. If you read what you quoted, you will see I did not say no desktop apps existed before Electron. That’s absurd. You also conveniently ignored the part of my sentence where I say “cross-platform”.

                              Obviously we can’t turn back the clock and rewrite history, so what evidence would suffice for you? Maybe it would be the developers of cross-platform apps like Slack, Atom, and VS Code writing about how Electron was a boon for them. Or it could be the fact that the primary cross-platform text editors we had before Electron were Vim and Emacs. Be reasonable (and more importantly, civil.)

                              1. 4

                                I think Vim and Emacs, traditional tools of UNIX folks, propped up as examples of what Slack or VS Code replaced is also a fallacy you’re using to justify a need for Electron. Maybe better comparisons would be Xchat/HexChat/Pidgin, UltraEdit or SlickEdit for editor, and NetBeans or IntelliJ IDEA for IDE. So, those products sucked compared to Electron apps for reasons due to cross-platform technology used vs other factors? Or do they suck at all?

                                Nah, if anything, they show these other projects couldve been built without Electron. Whether they should or not depends on developers’ skills, constraints, preferences, etc on top of markets. Maybe Electron brings justifiable advantages there. Electron isnt making more sophisticated apps than cross-platform native that Ive seen, though.

                                1. 2

                                  I think you and the other poster are not making it very clear what your criterion for evidence is. You’ve set up a non-falsifiable claim that simply depends on too many counterfactuals.

                                  In the timeline we live in, there exist many successful apps written in Electron. I don’t like many of them, as I’ve stated. I certainly would prefer native apps in many cases.

                                  All we need to do is consider the fact that these apps are written in Electron and that their authors have explicitly stated that they chose Electron over desktop app frameworks. If you also believe that these apps are at all useful then this implies that Electron has made it easier for developers to make useful cross-platform apps. I’m really not sure why we are debating about whether a implies b and b implies c means a implies c.

                                  You point out the examples of IntelliJ and XChat. I think these are great applications. But you are arguing against a point no one is making.

                                  “Electron is just fashion, Slack and VS Code aren’t really useful to me so there aren’t any useful Electron apps” is not a productive belief and not a reasonable one. I don’t like Slack and I don’t particularly like VS Code. But denying that they are evidence that Electron is letting developers create cross-platform apps that might not have existed otherwise and that are useful to many people requires a lot of mental gymnastics.

                                  1. 5

                                    “You point out the examples of IntelliJ and XChat. I think these are great applications. But you are arguing against a point no one is making.”

                                    You argued something about Electron vs cross-platform native by giving examples of modern, widely-used apps in Electron but ancient or simplistic ones for native. I thought that set up cross-platform native to fail. So, I brought up the kind of modern, widely-used native apps you should’ve compared to. The comparison then appeared to be meaningless given Electron conveyed no obvious benefits over those cross-platform, native apps. One of the native apps even supported more platforms far as I know.

                                    “All we need to do is consider the fact that these apps are written in Electron and that their authors have explicitly stated that they chose Electron over desktop app frameworks. If you also believe that these apps are at all useful then this implies that Electron has made it easier for developers to make useful cross-platform apps. “

                                    It actually doesn’t unless you similarly believe we should be writing business apps in COBOL on mainframes. Visual Basic 6, or keeping the logic in Excel spreadsheets because those developers or analysts were doing it saying it was easiest, most-effective option. I doubt you’ve been pushing those to replace business applications in (favorite language here). You see, I believe that people using Electron to build these apps means it can be done. I also think something grounded in web tech would be easier to pick up for people from web background with no training in other programming like cross-platform native. This much evidence behind that as a general principle and for Electron specifically. The logic chain ends right here though:

                                    “then this implies that Electron has made it easier for developers to make useful cross-platform apps.”

                                    It does not imply that in general case. What it implies is the group believed it was true. That’s it. All the fads that happen in IT which the industry regretted later on tells me what people believe was good and what objectively was are two different things with sadly little overlap. I’d have to assess things like what their background was, were they biased in favor of or against certain languages, whether they were following people’s writing who told them to use Electron or avoid cross-platform native, whether they personally or via the business were given constraints that excluded better solutions, and so on. For example, conversations I’ve had and watched with people using Electron have showed me most of them didn’t actually know much about the cross-platform native solutions. The information about what would be easy or difficult had not even gotten to them. So, it would’ve been impossible for them to objectively assess whether they were better or worse than Electron. It was simply based on what was familiar, which is an objective strength, to that set of developers. Another set of developers might have not found it familiar, though.

                                    So, Electron is objectively good for people how already know web development looking for a solution with good tooling for cross-platform apps to use right now without learning anything else in programming. That’s a much narrower claim than it being better or easier in general for cross-platform development, though. We need more data. Personally, I’d like to see experiments conducted with people using Electron vs specific cross-platform native tooling to see what’s more productive with what weaknesses. Then, address the weaknesses for each if possible. Since Electron is already popular, I’m also strongly in favor of people with the right skills digging into it to make it more efficient, secure, etc by default. That will definitely benefit lots of users of Electron apps that developers will keep cranking out.

                                    1. 2

                                      Hey, I appreciate you trying to have a civilized discussion here and in your other comments, but at this point I think we are just talking past each other. I still don’t see how you can disagree with the simple logical inference I made in my previous comment, and despite spending some effort I don’t see how it at all ties into your hypothetical about COBOL. It’s not even a hypothetical or a morality or efficacy argument, just transitivity, so I’m at a loss as to how to continue.

                                      At this point I am agreeing with everything you are saying except on those things I’ve already said, and I’m not even sure if you disagree with me on those areas, as you seem to think you do. I’m sorry I couldn’t convince you on those specifics, which I think are very important (and on which other commenters have strongly disagreed with me), but I’ve already spent more time than I’d have preferred to defending a technology I don’t even like.

                                      On the other hand, I honestly didn’t mind reading your comments, they definitely brought up some worthwhile and interesting points. Hope you have a good weekend.

                                      1. 2

                                        Yeah, we probably should tie this one up. I thank you for noticing the effort I put into being civil about it and asking others to do the same in other comments. Like in other threads, I am collecting all the points in Electron’s favor along with the negatives in case I spot anyone wanting to work on improvements to anything we’re discussing. I got to learn some new stuff.

                                        And I wish you a good weakend, too, Sir. :)

                                2. 3

                                  Please do not straw man. If you read what you quoted, you will see I did not say no desktop apps existed before Electron

                                  And if you read what I said, I did not claim that you believed there were no desktop apps before Electron. If you’re going to complain about straw men, please do not engage in them yourself.

                                  My claim was that there was no shortage of native applications, regardless of the existence of electron. This includes cross platform ones like xchat, abiword, most KDE programs, and many, many others. They didn’t always feel entirely native on all platforms, but the one thing that Electron seems to have done in order to make cross platform easy is giving up on fitting in with all the quirks of the native platform anyways – so, that’s a moot point.

                                  Your claim, I suppose, /is/ tautologically true – without electron, there would be no cross platform electron based apps. However, when the clock was rolled back to before electron existed and look at history, there were plenty of people writing enough native apps for many platforms. Electron, historically, was not necessary for that.

                                  It does let web developers develop web applications that launch like native apps, and access the file system outside of the browser, without learning new skills. For quickly getting a program out the door, that’s a benefit.

                                  1. 1

                                    No one is saying there was a “shortage” of desktop applications; I’m not sure how one could even ascribe that belief to someone else without thinking they were completely off their rocker. No one is even claiming that without Electron none of these apps would exist (read my comment carefully). My claim is also not the weird tautology you propose, and again I’m not sure why you would ascribe it to someone else if you didn’t think they were insane or dumb. This is a tactic even worse than straw manning, so I’m really not sure you why you are so eager to double down on this.

                                    Maybe abstracting this will help you understand. Suppose we live in a world where method A doesn’t exist. One day method A does exist, and although it has lots of problems, some people use method A to achieve things B that are useful to other people, and they publicly state that they deliberately chose method A over older methods.

                                    Now. Assuming other people are rational and that they are not lying [1], we can conclude that method A helped people achieve things B in the sense that it would have been more difficult had method A not existed. Otherwise these people are not being rational, for they chose a more difficult method for no reason, or they are lying, and they chose method A for some secret reason.

                                    This much is simple logic. I really am not interested in discussing this if you are going to argue about that, because seriously I already suspect you are being argumentative and posturing for no rational reason.

                                    So, if method A made it easier for these people to achieve things B, then, all else equal, given that people can perform a finite amount of work, again assuming they are rational, we can conclude that unless the difference in effort really was below the threshold where it would cause any group of people to have decided to do something else [2], if method A had not existed, then some of the things B would not exist.

                                    This is again seriously simple logic.

                                    I get it that it’s cool to say that modern web development is bloated. For the tenth time, I agree that Electron apps are bloated. As I’ve stated, I don’t even like Slack, although it’s ridiculous that I have to say that. But don’t try to pass off posturing as actual argument.

                                    [1]: If you don’t want to assume that at least some of the people who made popular Electron apps are acting intelligently in their own best interests, you really need to take a long hard look at yourself. I enjoy making fun of fashion-driven development too, but to take it to such an extreme would be frankly disturbing.

                                    [2]: If you think the delta is really so small, then why did the people who created these Electron apps not do so before Electron existed? Perhaps the world changed significantly in the meantime, and there was no need for these applications before, and some need coincidentally arrived precisely at the same time as Electron. If you had made this argument, I would be a lot more happy to discuss this. But you didn’t, and frankly, this is too coincidental to be a convincing explanation.

                                    1. 2

                                      then why did the people who created these Electron apps not do so before Electron existed?

                                      …wut.

                                      Apps with equivalent functionality did exist. The “Electron-equivalent” apps were a time a dozen, but built on different technologies. People creating these kinds of applications clearly did exist. Electron apps did not exist before electron, for what I hope are obvious reasons.

                                      And, if you’re trying to ask why web developers who were familiar with a web toolkit running inside a browser, and unfamiliar with desktop toolkits didn’t start writing things that looked like desktop applications until they could write them inside a web browser… It’s easier to do something when you don’t have to learn new things.

                                      There is one other thing that Electron did that makes it easier to develop cross platform apps, though. It dropped the idea of adhering fully to native look and feel. Subtle things like, for example, the way that inspector panels on OSX follow your selection, while properties dialogs on Windows do not – getting all that right takes effort.

                                      At this point, I don’t really see a point in continuing, since you seem to consistently be misunderstanding and aor misinterpreting everything that’s been said in this entire thread, in replies to both me and others. I’m not particularly interested in talking to someone who is more interested in accusing me of posturing than in discussing.

                                      Thank you for your time.

                                      1. -1

                                        I am perplexed how you claim to be the misunderstood one when I have literally been clarifying and re-clarifying my original comment only to see you shift the goalposts closer and closer to what I’ve been saying all along. Did you even read my last comment? Your entire comment is literally elaborating on one of my points, and your disagreement is literally what I spent my entire comment discussing.

                                        I’m glad you thanked me for my time, because then at least one of us gained something from this conversation. I honestly don’t know what your motives could be.

                                  2. 0

                                    I find it strange that you somehow read

                                    I don’t really remember having a problem finding desktop applications before Electron

                                    as implying that you’d said

                                    no desktop apps existed before Electron

                                    @orib was simply saying that there was no shortage of desktop apps before Electron. That’s much different.

                                    …That’s absurd… Obviously we can’t turn back the clock and rewrite history… …Be reasonable (and more importantly, civil.)

                                    You should take your own advice. @orib’s comment read as completely anodyne to me.

                                    1. 0

                                      I find it strange that you’re leaving out parts of my comment, again. Not sure why you had to derail this thread.

                                      1. 0

                                        You seem to be confusing me with somebody else.

                                        1. 0

                                          Please, please stop continuing to derail this conversation. I am now replying to your contentless post which itself was a continuation of your other contentless post which was a reply to my reply to orib’s post, which at least had some claims that could be true and could be argued against.

                                          I’m not sure what your intentions are here, but it’s very clear to me now that you’re not arguing from a position of good faith. I regret having engaged with you and having thus lowered the level of discourse.

                                          1. 1

                                            Please, please stop continuing to derail this conversation… I regret having engaged with you and having thus lowered the level of discourse.

                                            Yeah, I wouldn’t want to derail this very important conversation in which @jyc saves the Electron ecosystem with his next-level discourse.

                                            My intention was to call you out for being rude and uncivil and the words you’ve written since then only bolster my case.

                                            1. 0

                                              What is even your motive? Your latest comment really shows you think this whole thing is some sort of sophistic parlor game. I have spent too much time trying to point out that there may even exist some contribution from a technology I don’t even like. I honestly hope you find something better to do with your time than start bad faith arguments with internet strangers for fun.

                                3. 8

                                  I’m not sure sure that it’s necessarily true that the existence of these apps is necessarily better than the alternative. For a technical audience, sure. I can choose to, grudgingly, use some bloated application that I know is going to affect my performance, and I’m technical enough to know the tradeoffs and how to mitigate the costs (close all electron apps when I’m running on battery, or doing something that will benefit from more available memory). The problem is for a non-technical audience who doesn’t understand these costs, or how to manage their resources, the net result is a degraded computing experience- and it affects the entire computing ecosystem. Resource hog applications are essentially replaying the tragedy of the commons on every single device they are running on, and even as the year-over-year gains in performance are slowing the underlying problem seems to be getting worse.

                                  And when I say “we” should do better, I’m acknowledging that the onus to fix this mess is going to be in large part on those of us who have started to realize there’s a problem. I’m not sure we’ll succeed as javascript continues to eat the world, but I’ll take at least partial ownership over the lack of any viable contenders from the native application world.

                                  1. 2

                                    I’m not sure sure that it’s necessarily true that the existence of these apps is necessarily better than the alternative.

                                    I think this and your references to a “tragedy of the commons” and degrading computing experiences are overblowing the situation a bit. You may not like Slack or VS Code or any Electron app at all, but clearly many non-technical and technical people do like these apps and find them very useful.

                                    I agree 100% that developers should be more cautious about using user’s resources. But statements like the above seem to me to be much more like posturing than productive criticism.

                                    Electron apps are making people’s lives strictly worse by using up their RAM—seriously? I don’t like Electron hogging my RAM as much as you, but to argue that it has actually made people’s lives worse than if it didn’t exist is overdramatic. (If you have separate concerns about always-on chat apps, I probably share many of them, but that’s a separate discussion).

                                    1. 5

                                      but clearly many non-technical and technical people do like these apps and find them very useful.

                                      If you heard the number of CS folks I’ve heard complain about Slack clients destroying their productivity on their computers by lagging and breaking things, you’d probably view this differently.

                                      1. 2

                                        If you also heard the number of CS folks I’ve heard suggest you buy a better laptop and throwing you a metaphorical nickel after you complain about Slack, you’d probably view it as futile to complain about sluggish Web apps again.

                                        1. 1

                                          Dude, seriously, the posturing is not cool or funny at this point. I myself complain about Slack being bloated, and IIRC I even complained about this in my other post. Every group I’ve been that has used Slack I’ve also heard complaints about it from both technical and non-technical people.

                                          I’ll leave it as an exercise for you to consider how this is not at all a contradiction with what you quoted. My God, the only thing I am more annoyed by at this point than Electron hipsterism is the anti-Electron hipsterism.

                                          1. 3

                                            Not posturing–this is a legitimate problem.

                                            Dismissing the very real pain points of people using software that they’re forced into using because Slack is killing alternatives is really obnoxious.

                                            People aren’t complaining just to be hipsters.

                                            1. -1

                                              Dude, at this point I suspect you and others in this thread are trying to imagine me as some personification of Electron/Slack so that you can vent all your unrelated complaints about them to me. For the last time, I don’t even like Electron and Slack that much. What is obnoxious is the fact that you are just ignoring the content of my comments and using them as a springboard for your complaints about Slack which I literally share.

                                              You seriously call this account @friendlysock?

                                              Your latest comment doesn’t add anything at all. Many users, perhaps even a majority of users, find Slack and other Electron software useful. I don’t and you don’t. I don’t like Slack’s business practices and you don’t either. Seriously, read the damn text of my comment and think about how you are barking up the entirely wrong tree.

                                    2. 4

                                      “and without Electron we would simply not have many of the Electron-powered cross-platform apps that are popular and used by many today. “

                                      What that’s actually saying is that people who envision and build cross-platform apps for their own satisfaction, fame, or fortune would stop doing that if Electron didnt exist. I think the evidence we have is they’d build one or more of a non-portable app (maybe your claim), cross-platform app natively, or a web app. That’s what most were doing before Electron when they had the motivations above. Usually web, too, instead of non-portable.

                                      We didnt need Electron for these apps. Quite a few would even be portable either immediately or later with more use/funds. The developers just wanted to use it for whatever reasons which might vary considerably among them. Clearly, it’s something many from a web background find approachable, though. That’s plus development time savings is my theory.

                                      1. 1

                                        I agree that many people might have ended up building desktop apps instead that could have been made even better over time. I also agree with your theory about why writing Electron apps is popular. Finally, I agree that Electron is not “needed”.

                                        I’m going to preemptively request that we keep “hur dur, JavaScript developers, rational?” comments out of this—let’s be adults: assuming the developers of these apps are rational, clearly they thought Electron was the best choice for them. Anyone “sufficiently motivated” would be willing to write apps in assembler; that doesn’t mean we should be lamenting the existence of bloated compilers.

                                        Is saying developers should think about writing apps to use less resources productive? Yes. Is saying Electron tends to create bloated apps productive? Definitely. Is saying Electron makes the world a strictly worse place productive or even rational? Not at all.

                                        1. 3

                                          “I’m going to preemptively request that we keep “hur dur, JavaScript developers, rational?” comments out of this—let’s be adults”

                                          Maybe that was meant for a different commenter. I haven’t done any JS bashing in this thread that I’m aware of. I even said Electron is good for them due to familiarity.

                                          “ Is saying Electron makes the world a strictly worse place productive or even rational? Not at all.”

                                          Maybe that claim was also meant for a different commenter. I’d not argue it at all since those using Electron built some good software with it.

                                          I’ve strictly countered false positives in favor of Electron in this thread rather than saying it’s all bad. Others are countering false negatives about it. Filtering the wheat from the chaff gets us down to the real arguments for or against it. I identified one, familiarity, in another comment. Two others brought up some tooling benefits such as easier support for a web UI and performance profiling. These are things one can make an objective comparison with.

                                    3. 4

                                      forget that a user want’s to do things other than constantly interact with that one single application for their entire computing existence.

                                      Quoted for truth.

                                      Always assume that your software is sitting between your user and what they actually want to do. Write interactions accordingly.

                                      We don’t pay for software because we like doing the things it does, we pay so we don’t have to keep doing those things.

                                      1. 3

                                        perhaps because of the licensing model

                                        I also think so. It’s fine for open source applications, but the licensing situation for proprietary applications is tricky. Everyone who says you can use Qt under LGPL and just have to dynamically link to Qt, also says “but I’m not a lawyer so please consult one”. As a solo developer working on building something that may or may not sell at some point, it’s not an ideal situation to be in.

                                        1. 4

                                          I think the big caveat to this is that for a great many of the applications I see that have electron-based desktop apps, they are frontends for SAAS applications. They could make money off a GPL application just as easily as a proprietary one, especially since a lot of these services publish most of the APIs anyway.

                                          Granted, I’d love to see a world where software moved away from unnecessary rent-seeking and back to actually selling deliverable applications, but as long as we’re in a SAAS-first world the decision to release a decent GPL-ed frontend doesn’t seem like it should be that hard.

                                          1. 4

                                            I have been responsible for third party IP at a company that did exactly that with Qt; it’s fine.

                                          2. 3

                                            The situation is more nuanced than that. Because Electron provides developers with a better workflow and a lower barrier to entry that results in applications and features that simply wouldn’t exist otherwise. The apps built with Electron might not be as nice as native ones, but they often solve real problems as indicated by the vast amount of people using them. This is especially important if you’re running Linux where apps like Slack likely wouldn’t even exist in the first place, and then you’d be stuck having to try running them via Wine hoping for the best.

                                            While Qt is probably one of the better alternatives, it breaks down if you need to have a web UI. I’d also argue that the workflow you get with Electron is far superior.

                                            I really don’t see any viable alternatives to Electron at the moment, and it’s like here to stay for the foreseeable future. It would be far more productive to focus on how Electron could be improved in terms of performance and resource usage than to keep complaining about it.

                                            1. 1

                                              I never claimed that it doesn’t make life easier for some developers, or even that every electron app would have been written with some other cross-platform toolkit. Clearly for anyone who uses Javascript as their primary (or, in many cases, only) language, and works with web technology day in and day out, something like electron is going to be the nearest to hand and the fastest thing for them to get started with.

                                              The problem I see is that what’s near to hand for developers, and good for the individual applications, ends up polluting the ecosystem by proliferating grossly, irresponsibly inefficient applications. The problem of inefficiency and the subsequent negative affect it has on the entire computing ecosystem is compounded by the fact that most users aren’t savvy enough to understand the implications of the developers technology choices, or even capable of looking at the impact that a given application is having on their system. Additionally, software as an industry is woefully prone to adopting local maxima solutions- even if something better did come along, we’re starting to hit an inflection point of critical mass where electron will continue to gain popularity. Competitors might stand a chance if developers seemed to value efficiency, and respect the resources of their users devices, but if they did we wouldn’t be in this situation in the first place.

                                              1. 2

                                                Saying that developers use Electron simply because don’t value efficiency is absurd. Developers only have so much time in a day. Maintaining the kinds of applications built with Electron using alternatives is simply beyond the resources available to most development teams.

                                                Again, as I already pointed out, the way to address the problem is to look for ways to improve Electron as opposed to complaining that it exists in the first place. If Electron runtime improves, all the applications built on top of it automatically get better. It’s really easy to complain that something is bloated and inefficient, it’s a lot harder to do something productive about it.

                                            2. 2

                                              but I shouldn’t have to be killing slack and zoom every time I unplug my laptop

                                              Yes, you shouldn’t. But that is not Electron’s fault.

                                              I’ve worked on pgManage, and even though ii is based on Electron for the front-end, we managed to get it work just fine and use very little CPU/Memory*. Granted, that’s not a chat application, but I also run Riot.im all day everyday and it show 0% CPU and 114M of memory (about twice as much as pgManage).

                                              Slack is the worst offender that I know of, but it’s because the people who developed it were obviously used to “memory safe” programming. We had memory issues in the beginning with the GC not knowing what to do when we were doing perfectly reason able things. But we put the effort in and made it better.

                                              We have a strong background in fast C programs, and we applied that knowledge to the JS portion of pgManage and cut down the idle memory usage to 58M. For this reason, I’m convinced that C must never die.

                                              * https://github.com/pgManage/pgManage/blob/master/Facts_About_Electron_Performance.md (Note: the version numbers referred to in this article are for Postage, which was later re-branded pgManage)

                                              *Edit for spelling*

                                              1. 5

                                                “But that is not Electron’s fault.”

                                                It happens by default with a lot of Electron apps. It doesnt so much with native ones. That might mean it’s a side effect of Electron’s design. Of course, Id like to see more data on different use-cases in case it happens dor some things but not others. In your case, did you have to really work hard at keeping the memory down?

                                                Edit: The Github link has some good info. Thanks.

                                                1. 2

                                                  It happens by default with a lot of Electron apps.

                                                  I see where your coming from, and you’re right, but if more JS devs had C experience (or any other non-memory-managed language), we would all be better for it. The GC spoils, and it doesn’t always work.

                                                  It doesnt so much with native ones.

                                                  Yes, but I think that greatly depends on the language, and how good the GC is.

                                                  That might mean it’s a side effect of Electron’s design.

                                                  Maybe, but if pgManage can do it (a small project with 5 people working on it), than I see absolutely no reason why Slack would have any difficulty doing it.

                                                  In your case, did you have to really work hard at keeping the memory down?

                                                  Yes and no. Yes it took time (a few days at most), but no because Electron, and Chrome, have great profiling tools and we were able to find most issues fairly quickly (think Valgrind). IIRC the biggest problem we had at the time was that event listeners weren’t being removed before an element was destroyed (or something like that).

                                                  1. 1

                                                    One thing I’ll note, look at the ipc ratio of electron apps versus other native apps. You’ll notice a lot of tlb misses and other such problems meaning that the electron apps are mostly sitting there forcing the cpu to behave in ways it really isn’t good at optimizing.

                                                    In the end, the electron apps just end up using a lot of power spinning the cpu around compared to the rest. This is technically also true of web browsers.

                                                    You may use perf on linux or tiptop to read the cpu counters (for general ipc eyeballing i’d use tiptop): http://tiptop.gforge.inria.fr

                                            1. 3

                                              Finals week is coming up so now one of our semester-long projects is coming to a close. One of the professors wanted a new interface for the list of research classes by making it searchable. Actually, they just wanted a mockup of one but came Wales or high water we made it semifunctional. Unfortunately it’s all done on private resources (private hosting, school-provided private GitHub repo, &c) so there’s not much of anything to show.

                                              Either way this gave me an excuse to learn me some Ruby and to be glad summer’s coming up. “Hey Mikey, Rocky likes it!”

                                              1. 0
                                              1. 2

                                                What I’m most interested in knowing is what is Reddit written in now, and what specific business or technical problems made them switch away from Lisp? Reddit is a very popular website, and if Lisp was not in fact used to get it to where it is today, that says something about how we ought to evaluate Lisp as a language.

                                                1. 4

                                                  what is Reddit written in now,

                                                  They moved from lisp to python, though I don’t know if it’s still in python.

                                                  and what specific business or technical problems made them switch away from Lisp?

                                                  They posted a lengthy blog about why they ported away from lisp at the time. Unfortunately, it looks like the blog post is gone. There’s a bunch of discussions still around, though. Also some other evidence of the lisp community response.

                                                  Short version: it was technical. Libraries didn’t exist or weren’t sufficient, lisp implementations didn’t work cross-platform, so development was painful, and they continued to have difficult-to-debug slowdowns and site crashes. Stuff like that.

                                                  Of course, this was over a decade ago, so I strongly suspect the lisp situation has changed.

                                                  1. 3

                                                    Of course, this was over a decade ago, so I strongly suspect the lisp situation has changed.

                                                    It’s currently powering Grammarly (circa 2015) so it sounds like it.

                                                    One of the common complaints about Lisp that there are no libraries in the ecosystem. As you see, 5 libraries are used just in this example for such things as encoding, compression, getting Unix time, and socket connections.

                                                    1. 1

                                                      Looks like they’re not actually using it for a webapp, but instead for a back-end process. That’s a different use case than reddit had.

                                                      Also, I note that they’re still using two different lisp implementations, one for production, and one for local development. That was a big issue for reddit at the time. I wonder how much energy goes into implementation difference issues.

                                                  2. 2

                                                    Lisp still powers Hacker News, afaik.

                                                    1. 1

                                                      I thought HN was arc, Paul Graham’s take on scheme?

                                                      1. 1

                                                        Indeed, that’s my understanding. I should have been more clear, by “Lisp” I was talking about the Lisp family of languages, not Common Lisp specifically.

                                                    2. 1

                                                      Core is still Python, newer components are being written in Node.js. PostgreSQL was historically the main datastore, with Cassandra serving a secondary role, but data is being re-homed to Cassandra due to scale.

                                                    1. 6

                                                      Not in a “field” per se, but an observation:

                                                      The end of personal computing. Maybe in next twenty years or so. Artificial intelligence becomes more mainstream thanks to the hellbent nature of tech giants. “Personal assistant devices” would usher smartphones out the door and stick a fork in laptops for they’re done with. They’d resemble smartphones and tablets with stereo cameras and microphones with software meant to identify objects and people, play your music, pass messages to friends, and whatnot (all requiring an internet connection). No doubt these assistants will be locked down and unrootable for years. When augmented/virtual reality gets rebooted for the third time after the 3D movies and TV fad comes and passes, it’ll kick off for real this time. Eventually the screen will disappear from the face of the assistant and it’d even be possible to broadcast what one sees.

                                                      Actual hardware to use becomes rarer to find as “it’s 204X, man, get with the times!”. There will be fewer software devs who grew up experimenting with computers. Most of these devs will have come from a game development background using some popular Game Maker-esque app. These future developers, system administrators, and software architects will be quickly hired (also likely by said tech giants) until AI is tweaked perfectly enough to replace them. A fringe movement will show up assembling homemade computers as a form of rebellion. Some plans may even catch on. The rest of the populace will eye these tinkerers suspiciously.

                                                      tl;dr Smartphones/tablets replace laptops and desktops for 99% of people, laptops and desktops reserved for businesses (thus prices get jacked up), AI and {A,V}R take off once more after another metaphorical winter, and consumers almost end up like sheep herded blindly by their personal assistant.

                                                      1. 3

                                                        Rants and raves broadcast straight to you from @rocx@mastodon.social. Not for the faint of heart or easily irritated.

                                                        1. 2

                                                          But what if you actively turn off location services, haven’t used any apps, and haven’t even inserted a carrier SIM card?

                                                          Ok, but what if you haven’t logged into your Google Account? Then this was far less of an issue (not to say that it wasn’t one), at least for me.

                                                          1. 3

                                                            Not logging in doesn’t change much.

                                                            The account information gives them a few more data points, but they’re not very important ones. They don’t need your account info to send you advertisements about nearby businesses, for example, or to know you’ve been searching for some type of product.

                                                            Just because they don’t know your name doesn’t mean they haven’t been following you around the internet monitoring everything you’ve been doing.

                                                            1. 5

                                                              The article describes Google being really invasive about collecting data on you.

                                                              Why would they give a fuck about whether you’re logged in or not? It’s not like being signed in signifies your acceptance of everything they’re doing to you either!

                                                              No one should be surprised by this. Google is basically an arm of the US surveillance state, and has always been. If you look into it, you’ll find they were funded by the CIA (In-Q-Tel) to begin with.

                                                              Ever wonder why no other search engine has come close to the quality of Google’s search results? No one in 2017 can do what Sergey and Larry did in the early 2000’s?

                                                              Investors wouldn’t fund a massive money making machine? People wouldn’t flock to a non-invasive alternative with roughly equal quality search results?

                                                              1. 4

                                                                People wouldn’t flock to a non-invasive alternative with roughly equal quality search results?

                                                                Correct. Unless that alternative can also provide maps, multimedia, try to satisfy sci-fi fantasies, perform nearly every service under the sun, and become just as big of a household name, no one is going anywhere.

                                                                People already see critics and those who use the smaller alternatives as “power-hungry loonies who demand privacy in the postprivacy age” and “reject the inevitable” as I keep getting told.

                                                                1. 3

                                                                  Correct. Unless that alternative can also provide maps

                                                                  Come on. Google Maps would still work just fine, even if you used something else for searches.

                                                                  multimedia, try to satisfy sci-fi fantasies, perform nearly every service under the sun, and become just as big of a household name, no one is going anywhere.

                                                                  Now you’re just listing some hand-wavy services that Google supposedly provides, that we couldn’t live without.

                                                                  Again, as if you couldn’t use a search engine like you and everyone else started using Google back in the day. It gave you much better results than anything before, and you never looked back.

                                                                  Somehow we all managed without maps, “multimedia”, or the search engine “satisfying sci-fi fantasies”, whatever that’s supposed to mean.

                                                                  1. 2

                                                                    Somehow we all managed without maps, “multimedia”, or the search engine “satisfying sci-fi fantasies”, whatever > that’s supposed to mean.

                                                                    Maps has positively impacted my life in a big way. I don’t ever feel lost even in a completely new city. Even in a place with utterly insane streets, it is trivial to get around. It’s pretty freeing to know how to get some place completely new and how long it will take you to get there. Hands down, the best feature modern phones have.

                                                                    Gmail and Drive are nice too, but not nearly as important.

                                                                    1. 2

                                                                      Yes, maps is nice. Again, you could use both Google Maps AND someone else’s search.

                                                                      1. 1

                                                                        Agreed.

                                                                2. 4

                                                                  You’re oversimplifying. Big corporations by necessity cooperate with the states in which they operate. That’s the reality of doing business, anyone who thinks anything different is deluding themselves.

                                                                  Also, anyone who thinks they can own a modern smartphone and thinks they can’t be tracked, that their location isn’t being recorded somewhere, and that everything they send and receive isn’t being scanned is also deluding themselves.

                                                                  We live in David Brin’s Transparent Society - best either get used to it, or learn to forego the conveniences such modern technological advances bestow.

                                                                  1. 10

                                                                    We live in David Brin’s Transparent Society - best either get used to it, or learn to forego the conveniences such modern technological advances bestow.

                                                                    Brin’s Transparent Society was predicated on “transparency from below”, in which we had an equal view into the lives of those viewing us.

                                                                    Our current society is merely an authoritarian surveillance state. It looks nothing like what he described. “Get used to it” is a disastrously passive response to the current situation.

                                                                    1. 2

                                                                      My understanding is that the paper outlines two models - one in which total transparency reigns, and everyone can see everyone all the time. I agree we are nowhere near there.

                                                                      The other is the model where only certain parties -state agencies and big companies see everything - we are getting there very quickly IMO.

                                                                      1. 4

                                                                        The paper outlines those two models, labels the former “The Transparent Society” and presents the latter as, essentially, a dystopian hell on earth inimical to human rights and freedom.

                                                                        Since you feel we’re very quickly ending up in the latter, why advocate “best either get used to it, or learn to forego the conveniences”? That really seems to fly in the face of Brin’s paper, which was presenting an alternative to the current state of affairs that we could only ever hope to engage with by ignoring the very “resign yourself or go luddite” attitude that your post reifies.

                                                                        tl;dr it’s weird to cite his paper in an argument that someone should resign themselves to the current surveillance status quo, when the paper advocates a radical alternative the current surveillance status quo

                                                                        1. 4

                                                                          You’re right. Thanks for pointing that out.

                                                                    2. 1

                                                                      You’re oversimplifying. Big corporations by necessity cooperate with the states in which they operate. That’s the reality of doing business, anyone who thinks anything different is deluding themselves.

                                                                      Oversimplifying how? You don’t seem to be refuting anything I said.

                                                                      You know the “co-operation” you referred to is all about either: 1) the government controlling the masses, and/or 2) the government preventing competition to the BigCorp, right?

                                                                      But you made it sound like a vaguely good thing. It’s not. It never is.

                                                                      1. 2

                                                                        In the sense that compliance does not imply ownership. Google no doubt cooperates with various US intelligence agencies, but that does not make them owned by them or an “arm” of the government. I don’t disagree at all, I’m just pointing out that the phrasing you use implies things that I do not think are true.

                                                                        1. 2

                                                                          Investment by In-Q-Tel does imply at least part-ownership by the government / CIA / surveillance apparatus. It’s not unreasonable to call Google an arm of the government.

                                                                    3. 1

                                                                      The problem is that people, for the most part, assess risk by how often they know of bad outcomes. When was the last time you heard that somebody was bitten by Google’s invasion of their privacy? Europe is a bit different with regard to a cultural memory of spying, and accordingly European policies usually favor privacy.

                                                                      I don’t think things are looking up, either. As robots slowly eclipse humans in various kinds of labor, people’s opinions and attention will become increasingly valuable. If Facebook and Google’s revenue are any indication, there’s a lot of value in people’s privacy.

                                                                      1. 1

                                                                        I thoght that it might be harder for them to accurately track a device without an account, but after thinking about it in more detail, a kind of artifical device IP really shouldn’t be that hard for them to implement f they’ve gotten this far. The second reason was that until recently my phone was rooted with Cyanogen Mod w/o Gapps, so unless they pulled a MINIX on my phone, they shouldn’t have been able to access my device directly.

                                                                      2. 2

                                                                        Have you used that sim on another phone?
                                                                        Have you used that phone number on another phone?
                                                                        Does someone have a contact in their phone/google contact/facebook that says “zge, phone number xxx-xxx-xxx”?
                                                                        Have you visited/logged into some other website that uses some google API that could identify you?
                                                                        Have you connected to a wifi network? Have you used bluetooth? In both cases what you connect to could easily identify you.
                                                                        Have you had wifi or bluetooth turned on but not connected to a network?
                                                                        Has you phone been turned on? Android and iOS will both search for networks/devices anyway, to either make connecting quicker when you do turn it on, aid location information in maps etc., or, track you.

                                                                      1. 10

                                                                        Structure and Interpretation of Classical Mechanics should be right up your alley. Authored with a familiar name and also involves Scheme.

                                                                        1. 7

                                                                          Another truly excellent book in this loose “series” is “Functional Differential Geometry”, which uses Scheme as a notation to express mathematical concepts precisely. The book is free online, and I’m currently having a wonderful time working through it as a first text on differential geometry.

                                                                        1. 1

                                                                          If this isn’t inspiring enough to finally make the delve into learning electronics, I don’t know what is.

                                                                          1. 5

                                                                            Google is stopping one of the most controversial advertising formats: ads inside Gmail that scan users’ email contents. The decision didn’t come from Google’s ad team, but from its cloud unit, which is angling to sign up more corporate customers.

                                                                            You think they’d do it out of decency… nope.

                                                                            1. [Comment from banned user removed]

                                                                              1. 1

                                                                                It’s so incredibly evil that it’s amazing nobody seems to care.

                                                                                It’s not that nobody seems to care; it’s that people embrace it if it makes their lives more convenient.

                                                                              2. 6

                                                                                At this point in time we have already collected unough information about our customers through their most personal emails and have noticed new emails aren’t adding anything to our models any more

                                                                              1. 3

                                                                                Thank you for this!!!!

                                                                                After using Colemak (3+ years) and then attempting Workman (slightly better than Colemak at reducing discomfort with reduced horizontal index finger travel for me personally), I’m ready for a keyboard that’s optimized for reduced pinky usage (even on Windows/Linux machines, I’ve swapped Ctrl with Alt/Meta such that keyboard shortcuts primarily use my thumb like Mac OSX’s Cmd) while still reducing the horizontal finger motion that was so common with Colemak.

                                                                                Time to roll up my sleeves and learn QGMLWY!

                                                                                For anyone who suffers from typing discomfort, I can’t recommend alternative keyboard layouts enough. It’ll likely take a long while to get used to typing in a different keyboard layout, however (I believe Colemak took me well over 8+ months to get decently proficient at [80+ WPM; my QWERTY baseline is about 95WPM], and I never did get proficient to the level I would have liked with Workman…).

                                                                                However, if you’re not willing to take the plunge to retrain your muscle memory (not a small undertaking!), there’s two small changes that really helped me out which I would recommend to anyone:

                                                                                1. Swap Capslock with Backspace. No more reaching the top right side of the keyboard with your right pinky in an awkward motion! Some VIM users have told me they remapped this to Esc… but I’m much more of a Ctrl+C person (plus, after the second tip below, Ctrl+C no longer becomes a torture test on your left pinky!)
                                                                                2. Swap Left Ctrl and Left Alt so that hotkeys only requires your thumb to hold onto the modifier instead of your pinky! (This is unnecessary if you’re on Mac OSX)
                                                                                1. 2

                                                                                  I had pinky problems and have been using QFMLWY for 6 years. It’s one of the best investments I’ve made in my career. If you want a keyboard try the Kinesis Advantage.

                                                                                  I wrote a little more here last time this came up on lobste.rs

                                                                                  1. 2

                                                                                    Thanks for the testimonial! Btw, what made you choose QFMLWY over QGMLWY (the latter is the one with ZXCV unchanged)? Part of the reason I was attracted to Colemak/Workman was because I didn’t want to have to change my hot key muscle memory/bindings (one of the reason why I never gave Dvorak a try). I’m guessing you didn’t find that to be a problem?

                                                                                    I’ve demo’d the Kinesis Advantage in person, and wasn’t quite a fan of the bowl size (I have small hands. I’ve also used the Ergo Dox previously and had to sell it because my hands also too small to reach the keys and the thumb clusters comfortably)–I’m thinking of getting a TypeMatrix 2030 keyboard since I did enjoy the columnar non-staggered layout of the Ergo Dox.

                                                                                    1. 1

                                                                                      Oops, I actually use QGMLWB, I can never remember which and just copied what I (mistakenly) said last time. They’re similar enough that you can confuse them so I don’t think it matters what you pick :) I’d just go with your intuition.

                                                                                      However, your concern still applies. The answer is that I don’t use keyboard shortcuts outside of my custom Emacs setup in any significant capacity. But even if I did, it wouldn’t have been a consideration–I overhauled everything at once and just resigned to being useless for a few weeks.

                                                                                      The TypeMatrix looks good to me except for Ctrl under the pinky. I think if I had used this keyboard I would have kept with the foot pedals.

                                                                                      1. 1

                                                                                        Yeah, I’m definitely going to give the “most optimized” version a try… What do I have to lose ;)?

                                                                                        Re: TypeMatrix: Per my own “life pro tip #2” in my GP post, I would personally be swapping Left Ctrl and Left Alt, so that I’d be using my thumb instead of my pinky for Ctrl (I never ever use Right Ctrl anyways, so that’s not much of a big deal, and if I needed to use Alt, for say Alt + Tab, I just use a combination of my right thumb [on R-Alt] and my left ring finger [on Tab]).

                                                                                  2. 2

                                                                                    I took the hardware way to solve the ‘pinky’ problem, and bought a typematrix 2030. It brings the enter amd backspace in the middle so you use your index/thumb to press them. The shift/control keys are also taller to make them easier to access.

                                                                                    1. 1

                                                                                      I swapped CapsLock for Ctrl and its 1000% more comfortable for my hands to not have to reach for the Ctrl key. Having CapsLock on home row and then having it be such a rare keypress (does anyone use caps lock any more) is easy to change into a big win.

                                                                                      I’ve used Dvorak for a couple years and as a programmer, I would recommend Colemak to someone interested simply because they leave the symbol keys alone. Having dvorak’s home row vowels is a huge win but largely off setted by putting <>? up at QWE.

                                                                                      1. 1

                                                                                        However, if you’re not willing to take the plunge to retrain your muscle memory (not a small undertaking!)…

                                                                                        Still not a small undertaking, but you feel better even after an hour of fumbling as you learn it. Compared to Colemak and Workman where I still couldn’t get with O and I after weeks of practice…

                                                                                        ‘A’ being on the other hand entirely will take some getting used to.

                                                                                      1. 3

                                                                                        One thing lead to another and now I’m writing a BF interpreter. If I wanted to write my own programming language (or implement someone else’s), it’d be better to learn about compilers/interpreters/virtual machines sooner than later. Good C practice too since I’m incredibly rusty in it.

                                                                                        1. 1

                                                                                          That’s not a bad idea, you might even end up writing a JIT and a compiler with debug info generation like me. I had fun working on that. Shaving off second by second on mandelbrot.bf.

                                                                                        1. 5
                                                                                          • Practicing drawing and writing. Want to start getting comfortable with working on some sort of plot-based web-comic.
                                                                                          • Walking. One of my classes’s final “exam” is a three-mile test under forty minutes (give or take).
                                                                                          • Chatting on channels and reading my feeds.

                                                                                          Kind of wish my life was more interesting.

                                                                                          1. 5

                                                                                            This finally makes sense, but it only reinforces my belief that hjkl is outdated and not intuitive. At the very least, j and k should be up and down, not down and up as is the current state.

                                                                                            1. 3

                                                                                              At the very least, j and k should be up and down, not down and up as is the current state.

                                                                                              Why not have your strongest finger in hjkl move the cursor in the most likely direction when editing?

                                                                                              1. 2

                                                                                                At the very least, j and k should be up and down, not down and up as is the current state.

                                                                                                Could you elaborate on this? I don’t understand why this would be an improvement and not an arbitrary change.

                                                                                                1. 3

                                                                                                  While getting started with vim, I read “hjkl forcursor movement”. Then I tried, and I expected k to be cursor down and j cursor up.

                                                                                                  But that may all depend on who tries.

                                                                                                  1. 2

                                                                                                    Assuming hjkl starts from the leftmost key with Left then we can assume by going clockwise the next key will be Up, but that doesn’t happen.

                                                                                                    Another assumption is that the edges of hjkl are Left and Right, and therefore the middle keys must be Up and Down since that’s the most common ordering of [up, down] in Western culture, just like left commonly comes before right.

                                                                                                    Does this make sense?

                                                                                                    I try to use common patterns to figure out what each key should do, but the keys don’t adhere to common patterns so it makes no sense when thinking about them in that context.

                                                                                                    1. 1

                                                                                                      We can also imagine them to draw a sinus function (left, down, 0, up, right).

                                                                                                1. 3

                                                                                                  Been on working on this for a while beforehand, but the recent burst of posts on Gopher (1, 2) inspired me to get back to my own client for Emacs and crushed a problematic bug. Found gopher.el before starting but even now I still can’t make much heads or tails of what the heck it’s doing. I’ll make the source available once it functions.

                                                                                                  Managed to fix the filter function doing things wrong thanks to how process output is in chunks and am now making it interactive with buttons. Going to do a write-up on it when I get type-1 and type-0 items finished to help folks new to Emacs how to do things and explain what things mean.

                                                                                                  Here’s to hoping this first week of classes won’t be too troublesome to keep going.

                                                                                                  1. 4

                                                                                                    Update from last week’s shindig. Half of the lesson’s getting scrapped in favor of teaching the kids (middle-schoolers to boot) how to save a document. We kept getting interrupted and getting the students caught up often enough to warrant it. I thought something like this would be common computing sense judging that even my generation was taught this in elementary school (ca. 1998-2004) for writing our papers.

                                                                                                    Either kids nowadays can’t compute further than FaceSpace and MyBook or it’s a wildly different animal than it was when I was their age. That’s enough ranting for now but sheesh it’s frustrating.

                                                                                                    1. 1

                                                                                                      Would you mind going into some of the problems you ran into here?

                                                                                                      1. 2

                                                                                                        Each day of the week, we’re having to take time out of the lesson to remind them how to save because if we don’t, we’ll be bombarded with “Wait, how do I save this?”. This happened each day we had the Python lesson, the Flash lesson, the Photoshop lesson, and the web dev lesson. The same goes to navigating Windows’s Explorer and the fact they hold the mouse button down when instructed to quickly click the mouse twice. I’m probably just overreacting, acting condescending, and/or subconsciously yelling at them to get off my lawn.

                                                                                                        Maybe this week’s experience with the girls will be different than with the boys last week. Today, the girls followed directions a lot better and we didn’t have to jump on their case about going on the Web or chugging packets of salt and pepper.

                                                                                                    1. 7

                                                                                                      Working with the college’s tech camp program we host every summer. For this week, I’m re-writing a lesson for web dev and JavaScript because good grief the final result has two <body>s, a <head> somewhere in between, <script>s scattered all about, and nested functions! Even last week’s students were confused with how ambiguous the slideshow is.

                                                                                                      1. 6

                                                                                                        has two <body>s, a <head> somewhere in between, <script>s scattered all about, and nested functions

                                                                                                        Did someone even look at that and say “yeah, that looks right, ship it?”

                                                                                                        1. 1

                                                                                                          Yes.