1. 6

    This is my one week at home between the end of my third year at UChicago and the start of my internship at Braintree. I’m spending a lot of time on my health: running to keep my body fit, snuggling with my puppo to keep my mind fit.

    I’ve written a blog post about the basics of PLT. I have at least two more posts coming out this week that have been kicking around for a while. Stay tuned!

    I’ve also spent time developing a hugo theme that suits my needs. I’m pretty happy with how it turned out! You can see it in action on my personal site.

    I have a fun project in the works; it’s an interpreter for a silly language that was part of an incredible final-lecture game-day hackathon in my recent programming languages class. It can’t quite be made public yet, but I’m definitely going to write something up and share it as soon as possible.

    I’m also culling through my dotfiles in anticipation of my coming internship. I recently spent a lot of time slimming them down to the extreme, just throwing out entire modules, in the name of minimalism. It’s been great. I want to continue slimming down and making my environment more visually consistent, as well as more focused. I’m endlessly frustrated by my shell: bash, zsh + oh-my-zsh, and fish all have their own quirks that bother me to no end. Per this commit in my dotfiles, I’m currently on “Revert “Revert “Revert “Revert “Revert “Revert “Move back to fish!”””””””. And that’s just the actual git reverts. If anyone has any suggestions for a clean, modern, minimal shell environment, I would really love to talk to you!

    1. 2

      I’m pretty happy with my current ZSH shell config. It uses antibody, so the config is pretty small with everything being pulled in from plugins (and I split the bits I did want from my old config out to plugins to make them reusable) and it’s not using any of the big frameworks like Oh My Zsh, or Prezto, so it’s fast compared to what I had before. If you’re interested, you can find it here.

      1. 1

        Hey, so I finally got around to taking a look and I really like your setup. Can you elaborate a bit on some of your custom plugins? I can’t find any descriptions for these:

        haegin/zsh-magic-history
        haegin/zsh-magic-completion
        haegin/zsh-fzf
        haegin/zsh-asdf
        haegin/zsh-rationalise-dot
        
        1. 1

          Sure thing. I’ll work on adding some readmes to those repos over the next day or so.

          The shortest version is that they’re the bits of my shell config that I couldn’t find in existing plugins, but that’s probably not useful, so here’s a summary of each:

          zsh-fzf - fzf is a fuzzy finder I use. This just sets up the plugin. zsh-asdf - asdf is a programming language version manager with plugins for different languages. This sets it up in the shell. zsh-rationalise-dot - this plugin sets zsh up so when you type more than 2 dots (..) in a row, each dot after the second adds /... zsh-magic-history - sets up history settings that work across multiple shells, so you don’t need to open a new shell to access history from other shells. zsh-magic-completion - this just copies completion settings from the repo I originally copied my config from (https://git.madduck.net/etc/zsh.git). I can’t remember what exactly I found myself missing when I didn’t have this, but I copied it over pretty quickly and haven’t taken the time to go through it to work out if I want to change anything else.

          1. 1

            Thanks, that helps a lot!!

        2. 1

          Ooooh, this is really tantalizing. I like this a lot. Thank you very much for the link!!

      1. 6

        I literally was so happy to see this post because (a) I’m glad to see this information being more widespread and (b) it’s exactly what I learned in my recent PL class.

        You might imagine my surprise that it turned out to be my recent PL class… Hi Mark! (It’s Charles)

        1. 4

          Haha, hey Charles! CS221 for life :)

          P.S. any interest in hacking on a monadic SNAPE? DM me if so!

        1. 4

          Minor adjustment: what was written here is mostly an interpreter. It’s probably worth noting the idea of a compiler targeting some other language (possibly a machine language). The idea of comparative linguistics and translation is important to introduce in any intro to PLT writeup.

          1. 2

            Good call. When actually writing interpreters (for example, the majority of my PL class), the two terms often get conflated.

          1. 22

            just hope you don’t have to do any string manipulation :)

            1. 13

              This. I have a good amount of experience writing C code and maintaining larger C applications, and C can be a real pain to deal with. Not to mention that it exposes a whole host of nasty security vulnerabilities. Finally, it seems a bit too low-level for these kinds of applications. I’m very confused by the choice of C here.

              1. 3

                I’m guessing it’s because C is the main API for SQLite? I do I agree that C is an interesting choice here, maybe something more like Lua?

              2. 4

                I agree. Writing secure C is hard. Sure, you can pledge your way out of it, but that doesn’t help if sensitive data is stolen. But what would be a reasonable alternative? Rust is probably too complex a language for the taste of OpenBSDers. Go?

                1. 2

                  you can pledge your way out of it,

                  You can’t. Their kernel and firmware still processes network-facing data. It might still do damage. How much is an unknown until the setup gets the kind of rigorous pentesting we see on Windows, Chrome, the SFI schemes, and recently x86 CPU’s. It does have a nice security by obscurity benefit on top of methods that provably increase work for attackers.

                2. 1

                  There’s no string manipulation in HTTP servers, right?

                  Right?

                1. 9

                  By this point, you might be thinking that the obvious solution is to just disable push notifications entirely.

                  After a few days, I realized that my brain had become so accustomed to my phone telling me what I needed to attend to, that I felt lost when I didn’t have those cues.

                  How long did you try this for? I’ve completely disabled push notifications on my computer for a few months, and I think over time I’ve ended up compulsively opening email/slack/etc. less. What was important was not just removing the notifications, but other visual cues (for example, having my dock always visible on macOS, which would display little red icons). On the other hand, I think I would have little success if I tried to do this on my phone, so I don’t. I view my phone as less of a working tool anyways, so I’m okay with this. Most importantly, when I’m trying to focus I can reasonably restrict my access to my phone, but less so with my computer.

                  I’ve personally struggled more with the idea that Something Very Important could have happened since I last checked in. The set of things that trigger this are much smaller, but they exist enough to be a problem at least every few days. For example, when I’m anticipating a results of an exam that I don’t think went particularly well, I tend to open email and check every time my mind drifts. I don’t think consuming content purely in digest form would fix this. Perhaps aggressive filtering would work, but I haven’t tried this and am generally suspicious of “productivity/mindfulness solutions” that require lots of active effort.

                  1. 2

                    I only tried it for about five days. Perhaps a longer experiment is in order. I’ve also done a lot of visual decluttering on my computer, e.g. removing my bar, notifications, etc.

                    1. 3

                      I can attest that both a minimal computing environment and disabling notifications have helped me transition out of a time when I was feeling similar to how you’ve described.

                      1. 3

                        This is really reassuring to hear, thank you :)

                  1. 2

                    I feel this pretty much miss the point of just silencing your phone and using it when you actually need it. Push notifications are made to save you from checking all your apps where new content is there but you don’t want to open them everyday 1 by 1.

                    If you want to save yourself from the trend, don’t deactivate push notification, just let your phone at home while going to work, or let it in another room, in you bag, whatever. The issue is not the push notification itself, but your addiction to new content.

                    1. 1

                      Of course, that’s easier said than done. What happens when my girlfriend sends me an urgent message but I don’t see it because my phone is in my backpack/at home/whatever else? That’s what I mean by the “culture” of push notifications - there’s an expectation that you’re available/able to be reached.

                      All that said, I do like the idea. All of these comments have really got me thinking about potential solutions. I think a follow-up post is in order.

                      1. 1

                        Trash that culture. In my “culture”, I can’t bring my phone into my work building. The phone is off from about 6a until I remember to turn it back on, maybe 6p. You could probably do something similar without being fully off.

                        In my culture, I don’t even want to figure out how to set up voicemail, and I don’t care. If don knuth is allowed to not have email, I’m allowed to not have voicemail. I hate voicemail. Texting is the way

                        1. 1

                          I have only voicemail (delivered to my chat client as both listenable audio and machine-transcribed text) so that I can have my phone never ring but still know if anyone tries to call me about something (and text them back)

                        2. 1

                          quoting my other comment https://lobste.rs/s/gmdgnf/push_notifications_considered_harmful#c_bljj0c

                          On iphone (I don’t know for other platforms) you have a DND mode with “favorites” that can still notify you. I’ve been on-call several time and just setting SMS/Phone Call on first method of contact on pager duty + using this DND mode was enough for me to let my phone upside down the whole day and still be notified when I needed to be.

                      1. 7

                        TL;DR: Get off my lawn, punk.

                        In terms of the history of technology, my childhood was marked by … complete and total tech-illiteracy on the part of the previous generation

                        Seriously? That’s a rather broad generalization, and as a techie staring down his fortieth birthday I can’t help but resent it just a little. I remember seeing push notifications touted as a “new feature” on the first iPhone and remembering how much push technology sucked back in the mid-1990s.

                        The whole reason we came up with pull technologies for Web news and blogs like RSS and Atom was because Microsoft tried shit like Channel Definition Format during the First Browser War (IE vs Netscape), it sucked big floppy donkey dicks, and we didn’t want a bunch of shit-faced corporate cockmasters turning the Web into the Second Coming of Cable TV.

                        Apple wasn’t doing anything that [PointCast](https://en.wikipedia.org/wiki/PointCast_(dotcom\)) hadn’t already tried, but everybody thought push was revolutionary in part because tech journalists make my cats look like Nobel laureates and partly because of Steve Jobs’ reality distortion field.

                        It’s the idea that app developers have the ability to grab my attention as they wish, which of course we enthusiastically welcomed into our lives as one of the chief innovations of the iPhone age.

                        Speak for yourself. I only bother with smartphones for my convenience. Everybody else can go hang, and my friends, family, and coworkers know damned well that if they want synchronous communication with me they’d better talk to me in person, because I won’t talk on the phone and I will only reply to emails and texts when it’s convenient for me to do so – unless it’s an email/text from my wife.

                        Whenever I got a new phone (I’m on my third), the first thing I do after installing apps is duct-taping their mouths shut so that they can’t try to grab my attention with push notifications. I don’t answer to app developers, and I won’t tolerate tech that does not serve me.

                        Using a bullet journal is a great idea if it works for you, but I think a deeper attitude adjustment is in order. You might benefit from being more egoistic and demanding that tech serve you, rather than you serving tech. Do not yield to the machine. Bend the machine to your will, and break any machine that will not yield.

                        1. 4

                          I think a bigger attitude adjustment is in order.

                          Yeah, I agree. I envy your “bend the machine to your will” attitude and I wish I could just snap my fingers and become that. You’re probably thinking “well why can’t you?” - I, and a lot of others in my generation, have a lot more unlearning to do.

                          Lastly, yes, of course there are many extremely tech-literate people in the prior generation - they created what everyone uses today, and I take classes from a lot of them. I suppose I should’ve worded that better. Rather what I was trying to express was that as I was growing up, it seemed like none of the adults in my life (or my friends’ lives) knew what the hell an iPod was, how the internet worked, or anything like that. We felt very much on our own to navigate the wave of new tech.

                          1. 2

                            I don’t expect you to assert mastery over the machine overnight. I grew up with bigger, less powerful computers than you did, and I’m used to thinking of computers as machines that do exactly what you tell them to do really goddamn fast. I still regard digital assistants like Siri, Cortana, Google’s “Little Nag”, etc as glorified Eliza implementations. Without a shitload of data to draw upon, they’re nothing.

                            Rather what I was trying to express was that as I was growing up, it seemed like none of the adults in my life (or my friends’ lives) knew what the hell an iPod was, how the internet worked, or anything like that.

                            None of the adults in my life knew much about computers, either. Hell, I didn’t get my first general-purpose computer until I was 18, in 1996. I had to buy the demon-ridden thing myself, and the only software it had was IBM PC-DOS 6. I was on my own, too, but I was used to being on my own. I didn’t have “helicopter parents”.

                        1. 16

                          Considering harmful considered harmful.

                            1. 2

                              Yes lol this was 100% tongue-in-cheek

                            1. 9
                              Google embraces, extends, and extinguishes

                              Published 2018-05-03 on Drew DeVault’s blog

                              One day later…

                              2018-05-04 18:12 UTC: I retract my criticism of Google’s open source portfolio as a whole, and acknowledge their positive impact on many projects. However, of the projects explicitly mentioned I maintain that my criticism is valid.

                              Now… this is scary.

                              1. 6

                                Author here, emphasis yours. Why is this scary? I was privately shown many counterexamples of Google being a good actor in open source after publishing this post. This does not excuse the rest of their behavior.

                                1. 4

                                  I’m not the author of the above comment, but I think they share my view that in light of the rapid retraction, the tone of the post comes across as rather overconfident. I’m not sure why they chose the word “scary”, but something does seem off about making such a wide blanket statement evidently without having done the requisite research.

                                  1. 7

                                    No I just felt smell of lawyers…

                                    1. 1

                                      I wrote of Google’s open source from my own experiences, not from research. I admit I should have researched it more, which is why I wrote the retraction. Anyway, I got some confusion from other sources as well so I published another update:

                                      Apparently the previous retraction caused some confusion. I am only retracting the insinuation that Google isn’t a good actor in open source, namely the first sentence of paragraph 6. The rest of the article has not been retracted.

                                    2. 2

                                      I still think it’s a valid criticism. Google’s open source seems to fall into three categories: Projects that exist to drive demand for their core business, and erect a barrier for competitors (Chrome, Android, …), Projects that exist to support the former category, and things that are harmless to the business, but keep engineers happy.

                                      Google is big enough that it’s easy for them to embrace one strategy for some projects, and another for others.

                                      Full disclosure: I’m an ex-googler, with a decent amount of discomfort about the direction that the web (and, more generally, tech) seems to be taking.

                                      1. 2

                                        I definitely agree as far as Google’s own projects are concerned. What was pointed out to me is their substantial and quiet contributions to other projects.

                                      2. 1

                                        Sorry… having saw what these companies can do, I felt smell of lawyers.
                                        As Facebook have shown everybody in early CA days, they care about free speech just when what is said conforms to their interests.

                                        I completely agree with your article, btw.

                                        Google (or Microsoft or Apple or Facebook or…) playing as a good actor sometimes does not means they do not embraces, extends and extinguishes.

                                        It’s just a matter of what is in their current interests and long term goals.
                                        It’s a marketing tool, after all: to keep it effective, they must play as the good guys most of times.

                                        However I’d like to read about the counter examples: I already had noticed the trend you describe in the article and got the same conclusions.
                                        Maybe I could stand corrected as you were.

                                        1. 1

                                          I wrote another update which may clarify:

                                          Apparently the previous retraction caused some confusion. I am only retracting the insinuation that Google isn’t a good actor in open source, namely the first sentence of paragraph 6. The rest of the article has not been retracted.

                                    1. 9

                                      Benjamin C. Pierce, Types and Programming Languages, MIT Press.

                                      That’s the one you want. I’m biased towards ML (vs Haskell), and I think the book is, too (it’s not a Haskell book). You can get all six, sure, but if you had to get one that’s the one.

                                      1. 3

                                        Software Foundations is also good, and online for free.

                                        1. 3

                                          +1 for this. I’m using TaPL in my PL class this quarter and it’s awesome. Super well written and ML is great for this class - the work involves writing successively more complex interpreters for successively more complex toy languages. We’re not sticking strictly to the book, but the sections our prof has pointed us to have been great.

                                          1. 1

                                            I also highly recommend TAPL.

                                            I’ve been recommended TAPL before, but seeing as this isnt a class thats strictly about type systems, I’d like to get a more general one and read TAPL later.

                                            TAPL isn’t just about types neither - it’s types AND programming languages.

                                            Practical Foundations for Programming Languages is also very good.

                                            1. 1

                                              +1 for PFPL. It covers more material in fewer pages than TaPL, and it’s more up to date.

                                            2. 1

                                              There are lots of examples in this book, which I have found very helpful.

                                            1. 6

                                              Just putting in a plug for Bitwarden. I’m not affiliated with them in any way, but I switched from lastpass and have been very happy. It’s lastpass-like functionality with (IMO) a better interface, and built-in 2FA for the premium version. Compatible with Android autofill. Plus it’s open source!

                                              1. 2
                                              1. 2

                                                Any NixOS user can tell me if the only way to have the latest version of everything is to use the unstable channel? Basically I want Arch but with an easy undo button so I don’t look like a fool at work when upgrades go bad.

                                                1. 7

                                                  I’m an Arch -> NixOS convert and run unstable, it’s basically what you’re looking for.

                                                  1. 1

                                                    Thanks you very much.

                                                  2. 3

                                                    Even better, you can run stable, but then manually pull unstable packages out and install them. I ran 17.09 but pulled in the unstable LLVM 6.0 for example. The same would work for firefox/chrome or other packages.

                                                    for example:

                                                    let
                                                    unstablePkgs = import ((import <nixpkgs> { }).fetchFromGitHub {
                                                      owner = "NixOS";
                                                      repo = "nixpkgs";
                                                      rev = "Some future unstable nixos version with a version of firefox you want";
                                                      sha256 = "XXX";
                                                    }) { config = { }; }
                                                    in
                                                      unstablePkgs.firefox
                                                    

                                                    If you paste that into a file default.nix and run “nix-build” (or now in this release “nix build”) it will give you exactly the right firefox like magic you can also install it into your user profile with nix-env -i.

                                                    edit: Or what you could do, is run unstable, but pull in old packages from the past if you don’t want the new one.

                                                    1. 2

                                                      like magic

                                                      that is also my experience in using nix.

                                                      1. 1

                                                        That’s a super easy way to do it. If you wanna add unstable and have a tool track the commits, you can use nix-channel, add it then install it via nix-env and a prefix.

                                                        1. 1

                                                          Any NixOS user can tell me if the only way to have the latest version of everything is to use the unstable channel? Basically I want Arch but with an easy undo button so I don’t look like a fool at work when upgrades go bad.

                                                          True, I have never tried having multiple channels, but it works too.

                                                    1. 2

                                                      Hey, just wanted to recommend You Need A Budget - I switched to it from MoneyWell when I made the same jump as you! Been happy so far!

                                                      1. 5

                                                        Thanks for the suggestion. Glad it works for you, a friend of mine recommended it to me this morning too. I do believe it meets my desire for envelope budgeting but I don’t like the idea of handling all my financial data to a web app. I’m not worried about them stealing my money, moreso I just don’t like them having the data and what they’ll do with it. Such as this from the terms of service:

                                                        We may disclose aggregated information about our users, and information that does not identify any individual, without restriction.

                                                        1. 2

                                                          That’s fair enough. I think credit card companies and banks do the same though, no? I feel like that data is already (anonymously) exposed.

                                                        2. 1

                                                          I’ve recently started using YNAB and rather like it - it makes budgeting quite pleasant. My only criticism - they recently increased their price from $50 to $84/annum, which is a pretty huge increase (existing users are granfathered in to the old price “for now”).

                                                          1. 1

                                                            That is pretty steep. I hadn’t thought about it because I’m on the student free plan for now…

                                                        1. [Comment removed by author]

                                                          1. 10

                                                            I think it’s usually because “that’s what work is buying me”.

                                                            1. 10

                                                              Can anyone show me a laptop that doesn’t lose to a macbook in any of these categories?

                                                              • performance
                                                              • price
                                                              • form factor
                                                              • fit and finish
                                                              1. 5

                                                                I really like Lenovo X1 Carbon.

                                                                1. 2

                                                                  Very happy with 5th gen x1c. If only I could get 16:10 though…

                                                                2. 5

                                                                  Personally I like the Dell XPS 13 and 15. The 4K screens are really amazing to see in person. You can configure with an i7 processor, optional fingerprint reader, fast SSDs up to 1TB, up to 32GB RAM, touch/non-touch display options, up to 97Wh battery in the ~4.5lb model or 56Wh in the 4lb if you want to go lighter (benchmarks). For ports, it has an SD card slot, 2 USB-A 3.0 with PowerShare, 1 HDMI, and a Thunderbolt 3 (including power in/out).

                                                                  I feel they compete in several of the categories and are worth checking out in person somewhere (Frys, etc) if you’re in the market. Just earlier today someone posted a link to this guy’s experience spending a year away from MacOS and he winds up with an XPS 15, which he mostly likes.

                                                                  1. 8

                                                                    Too many QA issues to compete with a MacBook. Just check /r/dell.

                                                                    1. 8

                                                                      Not a chancee, my favooritee part is the firmwware feature that douboles up my keypressese!

                                                                  2. 2

                                                                    I went from a 2011 macbook pro 15” to a thinkpad 460p running kubuntu, its not as flush as the macbook but it beats performance & price for me. Form factor, I should’ve got a 15” again but thats my choice. Fit & finish on the macbook is better but then I can easily remove my battery and get to all the internals of the laptop, so I prefer the thinkpad.

                                                                    1. 1

                                                                      I can try, though I am not sure what “fit and finish” means or how to measure it.

                                                                      Ignoring that, I would offer up both the Dell XPS 13 or Lenovo X1 Carbon.
                                                                      There are reasons to pick one over the other, but for me it was the X1 Carbon for having matte screen.

                                                                      1. 1

                                                                        Fit and finish covers build quality and aesthetics. According to this page it’s an automotive term.

                                                                      2. 1

                                                                        The new Huawei Matebook X?

                                                                        1. 1

                                                                          How about the ASUS ZenBook Pro? I don’t have experience with it, but superficially it’s got very similar form factor and design to a MacBook. Aluminum uni-body and all. And being not-Apple, you obviously get better performance for the price.

                                                                          1. 1

                                                                            Thinkpad P71. Well, except for the form factor (I’d rather get stronger arms than have to compromise on other factors), it beats the Macbook Pro on all fronts.

                                                                          2. 5

                                                                            I’ve run Linux on a Macbook because my employer wouldn’t give me anything else. Reason was: effort of IT team vs my effort of running Linux.

                                                                            But pretty sure my effort was extensive compared to what their effort would have been :)

                                                                            1. [Comment removed by author]

                                                                              1. 2

                                                                                Yeah, but then you’re stuck with the clunky old macOS rather than a nice modern UI like StumpWM, dwm or i3.

                                                                            2. 4

                                                                              16:10 screen, wide-gamut display, correct ppi (X1C is too low, and the high-res Dells too high).

                                                                              The last ThinkPad (of which I have many) to have a 16:10 screen was T410, which is now 8 years old.

                                                                              Personally, there’s no other modern laptop I’d rather use, regardless of operating system. To me nothing is more important than a good and proper screen.

                                                                              If anybody comes up with a laptop that has a 4:3 screen, I’ll reconsider.

                                                                              1. 1

                                                                                Doesn’t the pixelbook have a nice tall aspect ratio? Ignoring linux compatibility and the fact that it’s a chromebook, I feel like you’d like the hardware.

                                                                                1. 2

                                                                                  It does, but tragically it’s ruined by a glossy finish on the screen. I bought one for the aspect ratio and brightness but almost threw it out the window several times in frustration before giving it away.

                                                                              2. 2

                                                                                I don’t think many people buy new Apple hardware with the intention of immediately wiping it and installing Linux.

                                                                                My MBP, for example, is running OSX because I need it (or Windows) to use Capture One photo software. When I upgrade to a new machine I’m going to put Linux on the old one and use it for everything else. I did the same thing with my iMac years ago.

                                                                                I personally still think the build quality of Apple laptops are better than the alternatives. The trackpad in my old MBP, for example, still feels better than the trackpads I’ve used on newer machines from other brands. The performance and specs are less important to me as long as it’s “fast enough” and the build is solid.

                                                                                All that said, I’m not buying any more Apple products because their software quality has completely gone down the toilet the last few years.

                                                                                1. 2

                                                                                  In this case I didn’t really have a choice. I had tried asking for a PC before I started this job; but they tried to get me in really fast and provisioned a Mac without even asking me. My boss made up some bullshit about how you have to have them for developers laptops as the PCs the company bought didn’t have the specs (16GB of ram and such). I’m really glad I got Linux booting on it and not have to use it in VMWare (which does limit your max ram to 12GB and doesn’t give you access to the logical HT cores).

                                                                                  But yea if it was my personal laptop, I wouldn’t even bother buying a mac to being with. My recent HP had everything supported on it with the latest Ubuntu or on Gentoo with a stock kernel tree right out of the box.

                                                                                  1. 1

                                                                                    I got given a macbook so I had no choice what laptop to use so I installed linux on it and it works well enough.

                                                                                  1. 14

                                                                                    Suggestions that aren’t already in other comments:

                                                                                    • Have check-in / check-out habits, so you know by habit when you’ve started and are done for the day.
                                                                                    • While I use the same desk and one of my external monitors for my desktop and docked work laptop, I switch keyboards when I’m working. It’s a very continuous, tactile reminder, and unplugging and switching it is part of my check in / check out habits. (I’ve never seen anyone else suggest this.)
                                                                                    • Learn the preferred communication styles of your coworkers and try to meet them halfway – Some people are much easier to work with once you know whether they prefer a quick voice call to hash things out, via text chat and issues/PRs, etc.

                                                                                    In general, I’ve found setting boundaries, having a regular routine, and over-communicating helpful, but the specifics will vary between people, and between teams. It makes a big difference whether a team / company has a wide time-zone spread, for example.

                                                                                    1. 4

                                                                                      That keyboard suggestion is really interesting. Makes me think about what other good priming strategies there are…

                                                                                    1. 1

                                                                                      While these are welcome and substantial improvements, I find myself continually baffled by the trend of putting messenger functionality in everything. App fatigue is real and I feel like we’re just perpetuating it.

                                                                                      1. 1

                                                                                        You’re not wrong, but the value here isn’t an attempt to add “me-too” features to Nextcloud, from my understanding. The goal with Nextcloud Talk is to be able to have that messenger functionality in an entirely self-hosted place without relying on third parties. And Nextcloud is starting to develop a network effect significant enough that tying the messenger to Nextcloud is also valuable, instead of embedding XMPP/IRC/Matrix. (Though there is work being done to bridge Nextcloud and XMPP that I’m looking forward to.)

                                                                                      1. 3

                                                                                        These aren’t really programming-related, but they were one of my favorite toys as a kid: http://www.polydron.co.uk/

                                                                                        My friends and I played with them all the time in my math teacher’s classroom. Unintentionally learned lots about geometry along the way.

                                                                                        1. 1

                                                                                          Do people think Intel has learned anything? Are they going to stop including ME on newer chips?

                                                                                          1. 4

                                                                                            Intel thinks ME is useful. May as well ask if red hat has learned their lesson after a systemd vulnerability.

                                                                                          1. 22

                                                                                            I wish articles from such a toxic people were less publicized. Especially here on Lobsters (should we block some domains from submission?). Here is another one from the same guy as if you needed more hints: http://www.yegor256.com/2014/10/29/how-much-do-you-cost.html

                                                                                            1. 16

                                                                                              From that article

                                                                                              You’ve chosen the country that you live in.

                                                                                              How many people genuinely have chosen the country they live in?

                                                                                              1. 9

                                                                                                I honestly can never tell if Yegor is satire or not. We should definitely have some kind of system where if a high enough ratio of users flag articles repeatedly from a domain, the domain gets restricted.

                                                                                                1. 1

                                                                                                  Or a “flag this domain” knob; but I +1 the general notion.

                                                                                                2. 1

                                                                                                  Wow. tldr Bob Barton (Burroughs), Alan Kay’s team, Steve Wozniak, and many others would’ve been worthless hires because they didn’t do enough Github and StackOverflow or their times’ equivalents. They were merely doing great design in software and hardware they were paid to do. Unacceptable to top-tier organizations such as Teamed.io. The irony gets greater when Doug Engelbart might get filtered on anything involving tech, the word “team,” and the Internet.

                                                                                                  Someone in the comments pointed out many people just develop good software for whoever pays them without stuff on this list. The OP’s character is more obvious in the two links he used to respond to that:

                                                                                                  http://www.yegor256.com/2015/10/06/how-to-be-good-office-slave.html

                                                                                                  https://github.com/yegor256/blog/commit/e8e0e5da7d665061d4c9b5afd7bbcf346355aa18

                                                                                                  Might want to avoid Teamed.io…

                                                                                                1. 5

                                                                                                  I might be the only person in this thread who likes the new keyboard. I use a 2017 15” Macbook Pro with Touchbar for work and find the keyboard easier to type on than my 2015 13” Macbook Pro. I like the reduced travel distance and what I perceive as a louder click when typing.

                                                                                                  The thing that changed my life, however, is setting CAPS LOCK to be ESC. I’ve done it across all of my computers now and would not have done so without Apple giving me a nudge when removing the physical ESC key on the Touchbar Macs. I don’t miss CAPS LOCK at all and the travel distance to ESC is so much more pleasing.

                                                                                                  I do have problems with my hand sometimes brushing the touchpad if I’ve not positioned my wrists correctly. That’s a little aggravating but I’m largely over it now in the ~4 months I’ve been using this machine. Turns out I never really used the media keys much except for volume and pause/play so I don’t mind the touchbar and the extra info it can provide in many modern apps I use (e.g. Chrome, Outlook).

                                                                                                  To each their own?

                                                                                                  1. 4

                                                                                                    I can totally see switching caps lock to be esc on the touch bar model. However, people who use the CTRL key a lot, like people running Windows or Linux or spend their day inside the terminal in macOS, might find it useful to swap CTRL and Caps Lock. Vim users might then want to start using CTRL+C instead of Esc to enter normal mode.

                                                                                                    Especially people on MacBooks or Lenovos where the Fn and CTRL keys are all wrong should consider swapping the buttons if they ever use CTRL for anything.

                                                                                                    1. 6

                                                                                                      Set caps lock to BOTH Ctrl and Esc!

                                                                                                      X11: xcape (like this)
                                                                                                      Windows: AutoHotkey (like this)
                                                                                                      macOS: karabiner-elements

                                                                                                      1. 1

                                                                                                        Is there a High Sierra work around?

                                                                                                        1. 3

                                                                                                          I haven’t tried it (I’m still on Sierra) so can’t confirm, but the Karabiner Elements repo suggests it works on High Sierra. Karabiner Elements still has far fewer features than Karabiner though.

                                                                                                          1. 2

                                                                                                            There wasn’t, the last time I checked.

                                                                                                            1. 2

                                                                                                              A shame. I’m still on 10.11 and I won’t upgrade because my workflow depends on karabiner.

                                                                                                        2. 3

                                                                                                          Just a warning for potential users of this setup: ^C and Esc aren’t exactly the same in vim. A major difference is entering text [count] amount of times (like 3i or 4A): hitting ^C to enter normal mode will only insert the new text once.

                                                                                                          1. 2

                                                                                                            That’s true. My .vimrc has the following lines to make ^C act as Esc in normal and insert mode:

                                                                                                            nmap <C-c> <ESC>
                                                                                                            imap <C-c> <ESC>
                                                                                                            
                                                                                                            1. 3

                                                                                                              You could use C-[ instead. It’ll work everywhere without any mappings and is equivalent to ESC.

                                                                                                        3. 1

                                                                                                          Yeah, I concur. I like the new keyboard, even coming from a cherry MX green keeb on my desktop.