1. 9

    At work a HHKB Professional 2, I’m in love with this keyboard. At home Im trying to learn to use the ergodox ez with a dvorak layout (I’ve built a custom firmware that ties very well with my environment of i3, vim, tmux, etc), I also have a filco majestouch 2 and a Model M

    1. 3

      I also use and love an HHKB Pro 2 at work. I’ve replaced the controller board with one of Haasu’s units in order to be able to program it myself with QMK - I used this primarily to get play/pause/skip buttons in addition to the volume buttons in the default keyboard map, but also have tap-and-release on the shift keys type parentheses.

      I’d like to add that I type using the Colemak keyboard layout - I switched in college when I was starting to experience RSI, and the option of fixing it for “free” by switching layout was really attractive. I’m glad I use it, and still do, but I’m not sure I would learn it again if I had to do it over. Proper ergonomics makes a bigger difference, and it takes me a second any time I sit down at someone else’s PC to recalibrate myself. Trying to use it on Windows is also a pain, though Dvorak is better in this regard.

    1. 6

      Windows 10 S’s intent is for education, it’s supposed to be a locked down system that a kid can’t fuck up by mistake. While blocking third-party browsers is very sketchy, the reasoning on the surface is sound to me. I’m not worried about it unless they started doing this in Windows 10 home or (lol) enterprise.

      But yeah, clearly Microsoft is making a play to get the next gen of kids used to using Microsoft hardware/software, just like Apple and Google have been doing. All of those things are pretty dumb. Don’t act like you’re working in the interest of education when really you’re acting in your own interest.

      1. 7

        I suspect we don’t disagree on this, but I would argue also that the changes they are making “in the name of education” actively work against it. There is value in teaching programs from outside of the Windows store - whether it be programs used in industry in STEM fields or the ability to run and use libre software, or just as a means of teaching basic computer literacy.

        1. 12

          Teaching about computers requires open platforms. Teaching some other subject with computers (practically speaking) requires a locked-down platform, particularly if you’re talking about K-8 or even K-12. As someone who used to work in academic technology, general-purpose computers are terrible teaching tools because they’re just too flexible and therefore too easy to “screw up”.

          I supported an online BS in nursing program for awhile. We provided Windows laptops to all students to make sure they had what they needed to participate in their courses, but inevitably a good half of the students would end up with unusable computers halfway through the semester due to malware of various sorts (some of it installed intentionally).

          If they’d been running Windows 10 S or some other locked-down platform we might have had a little more work up front to get them configured, and we might have had to choose different course delivery tools in some cases, but the experience for the students would have been vastly superior.

          1. 5

            I think you kind of hit the nail on the head. I’ve seen teachers in my state who are trying to jump on board the whole “STEM” bandwagon by getting funding to buy all the students Ipads.

            I think they missed the point. Most kids don’t really need to learn how to use a tablet in school, and if they do that’s not really STEM, but maybe still useful.

            You could have some useful apps that were on a tablet. I can imagine it being kind of fun to use a tablet as a big graphing calculator with a 3d plot I can spin around. Or for exploring chemical formulas. So basically it’s a multimedia tool.

            If you want to teach them about computers, give them something like the pi platform or arduino platform. Let them blink a light. There’s so many great software engineers who got their start entering stuff into a BASIC prompt. Let kids do that with python or even basic. This can totally be integrated with math class. The first program I ever wrote converted rectangular coordinates to polar and vice versa.

            1. 2

              There’s certainly an argument to be made that teaching computers and how they work should be done similar to automobiles - that the vast majority of users should be fine with just using the surface layers and not needing a deep understanding on how to repair or maintain it.

              However, some people are going to need to learn how computers work. If the school provides a single computer that is locked down, then in order to learn it that person requires a second fully general-purpose computer - and right now, the only difference between those two computers would be the software running on them.

              I agree that teaching about computers requires open platforms, but I disagree on your point that teaching other subjects requires locking it down - there is a tradeoff to be made here. The less locked down the system is, the more overhead involved in teaching a course using that system, but also the more reusability in the system for further purposes.

              If the machines being sold in this manner were significantly less expensive, such as Chromebooks in the $200 range, then I would be more willing to accept having multiple computers as a solution, but here this is clearly positioned as the student’s primary and only computer.

              1. 5

                I agree that for students who need to learn about computers this is inefficient, but I think you underestimate the pain associated with trying to teach other subjects when the students are using systems they fully control.

                The number of people who need to learn about computer versus with computers is relatively small, particularly, as I said, in K-12. It is tempting, I think, for people like us to reminisce about how simple and flexible computers were at some point in the past and all the fun we had fiddling with things. However, as computers are used more and more for teaching other subjects (see the next paragraph), I really think that it will become worthwhile to just expect some students to have two machines, or to provide labs for the students who need them.

                That being said, I agree with you that $1,000 for a locked-down machine is a little steep. But then, I am also deeply cynical about the movement toward using computers to teach other subjects in general. I just don’t think computers, as they are commonly used for teaching, bring anything of value to the table. Simply forcing kids to use computers also doesn’t help them learn to be any more “computer savvy” in reality, so all in all it’s just a bunch of money dumped down the toilet.

                1. 3

                  I’d believe that I’m wrong about the number of K-12 students who need to learn about computers. There’s a lot of debate over the question of “should everyone learn to program” - and I suspect the answer to “what kind of computers should be used in education” probably hinges on that. On the other hand, I’ve used a relatively basic level of knowledge about computers to solve personal pain points many times - I’m inclined to believe that teaching students enough computer knowledge to do basic things with an arduino is probably as useful as teaching them calculus. I can certainly see where you’re coming from, and given that premise I can’t disagree with you.

                  I agree with your last point - the only situation I’ve seen computers be of value in non-computer related classes is to enable remote students. I’m sure there are others, I see very little evidence of people taking advantage of them.

                  1. 1

                    I’m inclined to believe that teaching students enough computer knowledge to do basic things with an arduino is probably as useful as teaching them calculus.

                    I completely agree with you that it is valuable, unfortunately I don’t think it’s being done and probably won’t be done any time soon (at least not well). Ideally, I think kids would learn how to actually use computers and then they wouldn’t have as much trouble later on.

                    I occasionally teach a CS class at the local public university. This semester I wrote test suites for my labs and taught the students how to run them with Gradle so they could self-evaluate before they turned each one in. I was shocked at how many students didn’t seem to fully understand the concept of files and directories, which made it difficult to teach them how to use Gradle from the command line.

                    But then I pondered it a bit and I realized that almost every piece of software today, even desktop software, attempts to abstract the filesystem away so people just end up thinking that their Word documents are somehow inside of MS Word and, in my case, that their Java programs are somehow inside of the IDE.

                    This is just one example. It’s a crappy situation, but I’m just not sure how to make it better. Hiring people competent enough in these areas, at the K-8 level in particular, to teach them well seems like a tall order. Maybe time will solve the problem slowly.

              2. 1

                a good half of the students would end up with unusable computers halfway through the semester due to malware of various sorts (some of it installed intentionally)

                … and they all learned something from the experience, maybe just not what they were meant to :)

                1. 2

                  Hehe, yep… But seriously, that’s really the problem. There’s just no time in the curriculum to let the kids experiment and break things and learn something from it. I broke things hundreds of times when I was first learning about computers as a kid. But it was on my own time and I had a personal teacher (dad) to help me figure things out. That’s just such a hard process to replicate in a classroom. It would be tremendously valuable if someone were to figure it out, however.

              3. 2

                You’re absolutely right I agree with you. I do think that massive tech companies targeting education is good, but not ideal. The best approach to computer/internet literacy education would be to do so with Libre software - providing the opportunity for students to learn about all of the tech, not just living within a company ecosystem.

              4. 1

                The fact it shipped on the Surface Laptop (which is allegedly for higher education students but launched in a K-12 event…) is questionable - it should be shipping on 200$ machines, not competing against MacBooks. (Counterpoint: Chromebook Pixel. Counter-counterpoint: Chromebook Pixel being a sales failure.)

                Microsoft is the master of confused messaging.

                1. 1

                  You’re right - shipping the Surface Laptop with Windows 10s by default is very sketch. It does allow upgrading to windows 10 pro ‘seamlessly’ which is good. I guess if you’re going to college for humanities or something and just using word/onenote/excel that would be a reasonable (In that I should be able to get my studies done) but silly that it doesn’t allow 3rd party applications.

                  But yeah. That is very mixed messaging.

                  1. 1

                    10 S runs third party applications - even Win32 ones. They just need to come from the store. I’m not sure if AppX sideloading is enabled.

              1. 8

                A primer on the Command Line Interface. I’ll be posting once a week, and would love to get fellow lobsters feedback – what stuff do you wish you knew when you were learning the CLI? What things should I explain as simply as possible? My main audience is total newcomers to the CLI.

                Topics I’ll be covering soon:

                • simple commands (ls, cd, pwd)
                • how to find and read man pages
                • why is the CLI awesome
                • how to find files

                And then in the future:

                • environment variables
                • hidden files
                • pipes
                • users / groups / permissions
                • log files
                1. 8

                  In addition to the tools used on the command line, efficiencies in using the shell are also going to make a huge impact for new users - things like sudo !! and basic readline bindings like C-w and C-a for editing the line.

                  1. 3

                    I would add !g, which executes the last command that started with g.

                    1. 2

                      Thanks! Yeah, there are probably some people who’ve been using the CLI for a while that that kind of stuff could help too.

                    2. 3

                      a guide to preserving and searching your complete bash history (e.g. https://sanctum.geek.nz/arabesque/better-bash-history/) perhaps coupled with some sort of log rotation scheme to archive it and start a new one every so often (but keep the old ones searchable)

                      1. 3

                        Will the site be OS-agnostic? I think it would be neat to cover a general topic and say “this is how it’s done in OpenBSD, but this is how it’s done in many Linux distributions, and this is how it’s done on a Mac.”

                      1. 6

                        Great article, in the line of the other one where actual performance of alists vs trees vs hashtables was compared.

                        In school I learned that the only data structure that made sense for text editing was a rope – who could argue against the complexity analysis? Later I learned gap buffers also gave performance good enough for the real world. Imagine how surprised I was to learn that the text editor I use just stores an array of strings!

                        1. 7

                          There was a period of time when I was implementing a toy text editor. I spent a few days writing a gapbuffer implementation after doing a bunch of reading, but eventually I hit a bug and, pressed for time, decided to just use an array of strings. And bugger me, I couldn’t tell the difference using it.

                        1. 1

                          It likes to color grass green

                          This seems like a good thing to me :P

                          1. 9

                            Is there a link to a recording of the talk?

                            1. 7

                              I don’t know if they’ve gave up, but their software has definitely started sucking.

                              One example that’s affecting me right now: The app store icon on my MBP shows there are 4 updates available, but if I click through to the Update page and click “Update” or “Update All” nothing happens. They’ve been available for days, and for days I’ve been unable to update them. Sometimes a spinning icon shows up in the corner by the forward/backwards arrows, but the updates never install.

                              Another example: iCloud on my phone. It prompts for my password every 5 seconds, even though I click “Not Now” and don’t want to use it. So I tried to disable it. But I need to sign in to disable it?!? So then it starts prompting even more often trying to get the password to sign out. It was practically DOSing me trying to use my phone yesterday.

                              And don’t get me started on how “Radio” and “Apple Music” have infiltrated the Music app and iTunes. I already buy my music on Amazon, I’m not interested. Yet they’re still there, apparently impossible to disable, and at least on iOs it seems to be the default screen when the app loads.

                              They just keep screwing up every little thing in the most annoying possible ways. I’m not planning on upgrading my hardware any time soon, so I’m locked in for now, but I’m certainly not buying Apple when it’s time to upgrade.

                              1. 4

                                I don’t really see a regression - the Mac App Store and iTunes have always been crappy :). I have been pretty happy with the last two iterations of OS X. It seems that it has been getting some more attention after some years of stagnancy. E.g. El Capitan is much snappier on our Macs. I like the relatively new support for extensions, e.g. Finder and Photos.app extensions. System Integrity Protection seems good for family that every now and then manage to install dubious software.

                                Hardware-wise, I really like my new MacBook 12", it’s beautiful, light, has a great screen, and I like the keyboard. Yes, they should’ve put in at least two USB-C ports. I don’t really have an opinion on iDevices anymore, since I switched to Android two years ago.

                                tl;dr: to me it seems like business as usual, with occasional brilliance (MacBook 12", which will probably remove some of its limitations in the next iteration).

                                1. 2

                                  the Mac App Store and iTunes have always been crappy

                                  If you include iOS’s music app in “iTunes” then I disagree. iOS2’s music player was big leap forward from the clickwheel design (I never used iOS1 but I assume it was the same) and there wasn’t significant backwards movement until iOS 7 and 8. Progress was slow (sorting names in subtly different order on unicode values outside ascii relative to iTunes, the addition of playlist editing, etc) but it wasn’t until they replaced “back” with “see a screen full of apple advertisements” that it became clear we were headed in the wrong direction.

                                2. 1

                                  It’s illustrative, I think, that your complaints here are all with Apple’s services infrastructure and design.

                                  1. 5

                                    Do you want some UI complaints? Try enabling bigger fonts.

                                    Use the iOS9 todo list app. The text field is clipped and you can’t see what you are typing (bug reported). Now go to the contacts app. Too easy to get wrong, right? And a PHONE NUMBER! Once you have entered 5 numbers, the field goes offscreen and you can’t see what you are typing (bug also reported).

                                    I don’t think they’ve given up. I think they are focusing on the “industrial design blink” and completely forgot usability. Ive without Steve.

                                    1. 1

                                      Yeah. I can imagine if a person signs up and enables everything and updates immediately to everything then it’s a great experience. But nobody’s considering the corner cases where people don’t go all in on every thing Apple releases, and a lot of those corner cases are broken.

                                    2. 3

                                      No, I think my complaints fall into two categories.

                                      First, general software bugs, like the update problem.

                                      My second complaint isn’t necessarily with their services, but with how they integrate those services into iOs and OSX. iCloud and Apple music may be great services, but it feels like Apple is trying to bully me into using them by shoving them in my face every 5 seconds asking me to log in or whatever. If I say “No” the first time, they should respect it. They could at least wait a day or something instead of literally asking 5 seconds later. I can post a video; it’s literally 5-10 seconds apart between prompting for my iCloud login.

                                      1. 1

                                        The update problem is because the same cloud infrastructure that does such a poor job with the various App Stores is reused for software updates. And yes, there’s a definite strategy tax issue with the way that the services have been shoe-horned into other software.

                                        But I find the underlying software to be pretty good, and in some places, excellent. Full disclosure, of course, is that I used to work there.

                                    3. 1

                                      At least with Apple Music, you can turn it off in settings (via Settings > Music > Show Apple Music).

                                    1. 3

                                      One comment I saw last time I saw this posted, was that Knuth’s code was written to explain literate programming, and not to solve the problem. That is to say, in introductory CS classes programs are written using methodologies and techniques unnecessary for the scale of the problem for the purpose of teaching the technique, not how to solve the problem, and Knuth is doing the same.

                                      1. 2

                                        That claim isn’t that convincing to me, because explaining literate programming wasn’t Knuth’s primary goal— writing TeX wasn’t some kind of toy classroom example to show off literate programming, but a completely new publishing system that solved a need he had.