1. 1

    If someone is really interested in quiet keyboard, they should look at the Cherry MX Silent Red key switches. They have internal dampening that is very effective. Using them in a keyboard.io atreus.

    Also, instead of lubing, I suggest a “less-nonsense” approach: Take a can of WD-40 or Ballistol and spray a bit inside the switch while it’s pressed down. It is cheap, easy to do and very effective.

    I cannot quantify the silence of the keyboard, but I have video session a lot and never heard any complaints.

    I tried a lot of switches in the past and also tried more switches after using the silent reds, and these are still my favorite ones.

    1. 3

      I’m curious if one could achieve similar results by blowing air in through the hinge (where the vents are located). But then you’d miss out on the satisfaction of seeing those squeeky clean fans at the end.

      1. 2

        I would think that might cause the fans to spin. I seem to recall hearing somewhere that this can be a bad thing, since it might damage the fans (somehow? maybe my spinning them in the wrong direction, or at an RPM that is too high?), but maybe that was just some unfounded rumor?

        1. 3

          Ah, I didn’t mention this in my post. I’ve read similar concerns that making the fans spin at too high of a RPM can damage them. I don’t know how valid the concern is, but just in case, I did use a toothpick to stop the fans from spinning while I used the compressed air to clean them.

          1. 1

            Yeah i would not spin the fans up… overspeeding them has caused mine to not sound good a while back so now i just hold them stationary while using the air… seems to work much safer. also, considering a fan is basically a generator in reverse i would think it could create some overvoltage on the board? Maybe apple thought of that too?

            1. 2

              I remember a buddy of mine who fried his PC mainboard by using compressed air from a generator to remove dust.

              1. 2

                Though I have no doubt this could happen, I cleaned out an old ThinkPad T61 with a leaf blower and it continued to run well for 3 more years.

                1. 1

                  Might’ve been around 2005 or earlier. They probably have circuitry now that can prevent this kind of damage now that hasn’t been available in cheap motherboards from yesteryear.

                  1. 1

                    Compressed air from a generator normally has condensation that shows up at the destination side as water vapor condensed onto the pcb. Which probably means you can end up shorting things.

                    Compressed air is the best option, you can’t really protect against bridging circuits outside of the pcb.

                    The leaf blower probably just didn’t condense air, not something I would personally use. Seems too good a way to let the magic smoke out of circuits.

            2. 1

              It depends on the machine. I doubt it’d be a problem on Macs because the Apple Tax allows them to cut fewer corners than a budget box, but (AFAIK, IANAEE etc) the issue is that you generate voltage in the motors of things like fans or 3d printers by moving parts around via external force, and this can hurt (sensitive | cheap | poorly isolated) circuitry.

          1. 4

            I would judge the overall build quality as good. While it does not feel like an ultra-premium product, there is nothing specific I can actually complain about, no rough edges or manufacturing artefacts.

            @sulami For me the build quality really does feel very premium. It has no bells and whistles, like an aluminum case, but the it is really good quality plastic. The chassis does not creak when twisted, the keycaps are very thick (which is very unusual) and made from “the good plastic” (PBT). The only think seems to be the engraving on the keys, which tends to wear rather quickly on the early bird models. I’ve got one myself, but with the kailh box white. These switches are such a treat!

            The modifier keys at the bottom are unusual, but work for me. I use the three innermost keys with my thumbs, and the bottom edges by just pushing down with my palm. It does require some careful arrangement to avoid often having to press two modifiers on the same time at once.

            I also use my palm to push some of the buttons. Have you tried making the escape key a dual function key? I made the escape key (most bottom left) a momentary switch to layer 2, which makes it extremely comfortable to access all function keys and some of the other keys on layer three. This was a game changer for me, because I always had a hard time entering layer 2 in the default setup (same for the original Atreus). And you can still use your thumb to add more modifications, for example if you want to press CTRL-F2.

            The only problem I sometimes have is the lack of a status indicator. This means I have to keep track of the keyboard state in my head when switching layers. Not a big problem though.

            I think this can be tackled by using momentary layer switches. I too struggled with memorizing which layer I was in until I added the dual-function to the escape key.

            I also want to highlight the truly amazing effort Keyboardio puts into supporting their customers. You can browse the Kickstarter or their GitHub projects to see how much effort they put into this, and I have been in contact with Jesse myself while trying to debug a debouncing issue in the firmware. I am very happy to support them with my wallet.

            I fully agree!

            One thing I would add: The hot-swap keys are a very welcome addition to the Atreus feature-set. My original Atreus had a few Matias switches that started to bounce after months of usage to a rate that even debouncing wasn’t effective anymore. I have to disassemble the whole chassis and resolder the key, which is… much more work then just pulling out a faulty key and adding a factory fresh one.

            BTW @technomancy: Thank you so much for the original atreus, it still is just a wonderful design.

            1. 2

              Glad you like it so much!

              The only thing seems to be the engraving on the keys, which tends to wear rather quickly on the early bird models.

              You can avoid this by getting blank caps; that’s my recommendation.

              All the problems they’re having with the manufacturing of labels really validated my decision to sell nothing but blanks with the kits. You need to keep a cheat sheet around when you’re learning anyway since the labels don’t show you what’s on the fn layer. So the labels are of limited utility anyway.

              The only problem I sometimes have is the lack of a status indicator. This means I have to keep track of the keyboard state in my head when switching layers. Not a big problem though.

              The default layout has one momentary layer and one modal layer. It’s easy to tell if you’re in the momentary layer (are you holding the fn key?) and if you can’t remember if you’re in the modal layer or not, it’s easier to just activate the layer you want. Tap fn if you’re trying to hit something on the base layer; if you were on the modal layer it will switch, and if you weren’t it will do nothing. Tap fn+esc if you want to use the modal layer; if you’re already on the modal layer it will have no effect, and if you weren’t it will switch.

              I could see this being an issue if you’ve modded the firmware to create more layers, but you could set the layers up so they have the same property of being able to be switched to idempotently from any layer with some thinking ahead.

              My original Atreus had a few Matias switches that started to bounce after months of usage to a rate that even debouncing wasn’t effective anymore. I have to disassemble the whole chassis and resolder the key, which is… much more work then just pulling out a faulty key and adding a factory fresh one.

              Out of curiosity, was it the clicky Matias switches or the quiets? I stopped selling the clicky ones a few years ago due to reliability issues reported.

              1. 1

                You can avoid this by getting blank caps; that’s my recommendation.

                Oh yeah, I prefer blank key caps as well. I referred to the engraving because it is the only problem I’ve encountered from a quality standpoint.

                Out of curiosity, was it the clicky Matias switches or the quiets? I stopped selling the clicky ones a few years ago due to reliability issues reported.

                It’s the quiet matias. In some cases resoldering the joints helped, but most of the time I had to change the key.

            1. 1

              The review says: “Even with relatively quiet switches, the open construction means that the sound of the keys getting released is audible in most environments.” Which makes me wonder, are there mechanical keyboards that are particularly quiet (for a given switch) because of their chassis?

              1. 3

                The classic 42-key Atreus is a bit quieter, but this has more to do with using Matias Quiet Click switches (with a built-in rubber bumper) than the chassis construction, though I expect using wood for the chassis helps some.

                You can open up the Kailh switches in the Keyboardio Atreus and add rubber bumpers to each switch, but it’s a somewhat involved process. You might be able to buy MX-compatible switches with the bumpers preinstalled nowadays; I haven’t looked into it. The keys are hot-swappable though.

                1. 1

                  There are the Cherry MX silent red that have built in rubber on the bottom of their stems so they dampen the impact when bottoming out the key. They’re linear. I used them for while; they are very quiet and a joy to type on.

                2. 2

                  In some cases, adding a neoprene mat (like a full-desk mousepad or something similar) underneath a mechanical keyboard can make it quieter, assuming that the bulk of the noise comes from the chassis transmitting vibrations to the desk. A solidly-constructed metal backplate should help as well.

                  1. 1

                    From personal experience I know that different material and build-style cases, different material/thickness keycaps and different mounting styles all affect the sound, see for example this video.

                  1. 37

                    I wrote Miniflux 7 years ago for my own needs. Rewritten in Golang in 2017. The project still active and continue to receive contributions. There is always something to improve :)

                    1. 5

                      I like this but managing the database myself isn’t ideal. Any reason why an embedded database isn’t used?

                      1. 3

                        Miniflux is excellent! No BS, clean and snappy interface.

                        I’m using it for my project that automatically searches for certain queires on github/hackernews/twitter/reddit/pinboard and puts the results in atom feeds. Kinda like Google Alerts, but actually useful and consumed through a functional RSS interface. I needed to slightly modify the Miniflux frontend for that (making it even more compact) – and it was pleasantly quick and clear (I had no prior Go experience either).

                        Thanks for your work!

                        1. 1

                          I was looking for something exactly like this!

                          1. 1

                            I have started using it yesterday. Moved away from Innoreader, mainly because I wanted to own the data and not worry about it in future, specifically manage starred articles etc… Miniflux is extremely easy to setup, especially if you’re using docker. I always run Postgres instances anyways, so it integrated well. For people who question db, it’s an advantage having a database like PostgreSQL. And I like that it’s ‘opinionated’ - tech stack and implementation perfectly considered. @0xfg - many many thanks for your work on this.

                            1. 1

                              Hey man, I’ve been using Miniflux for years. Thanks for the awesome work! I really got excited when you rewrote it in Go :)

                              Eventually I switched to FreshRSS because I can choose a SQLite database there. Together with docker/kubernetes this makes the setup slim and easy. I miss Miniflux’s straightforward user-interface, though.

                            1. 2

                              Rome is not a collection of existing tools. All components are custom and use no third-party dependencies

                              Can someone explain why some would go this route? There must be millions (maybe billions) of hours of coding in the frameworks, that this software tries to replace.

                              Although this is yet another tool for JavaScript, this could become very good, especially for beginners and people like me, that gave up catching up on the newest tech in JavaScript. I’m curious.

                              1. 6

                                There must be millions (maybe billions) of hours of coding in the frameworks, that this software tries to replace.

                                20 years into programming, some of the best advice I can give is this:

                                When a problem has taken tens of thousands of hours to solve (or more), it is either Hard Research or it is being approached in totally the wrong way.

                                Munging files together is not Hard Research. There is - almost certainly - an alternative formulation of the problem-space to be found which is drastically simpler.

                                Typescript, on the other hand, is in the Hard Research bucket. Creating a typesystem that can gracefully interoperate with common idioms from dynamic languages is not straightforward at all.

                                1. 2

                                  When a problem has taken tens of thousands of hours to solve (or more), it is either Hard Research or it is being approached in totally the wrong way.

                                  I may agree with you when you say “approached in totally the wrong way”, but not in the way you might expect.

                                  Here are some core explanations of why JavaScript tooling is a wee bit complex:

                                  1. The Web ecosystem incredibly moves fast, due to combination of innovation, consumer expectations, and commercial pressure.

                                  2. Web browsers are quite complicated (they render, they manage a JS virtual machine, they do networking, handle sensitive information, all on various devices with various capabilities). Like the Web itself, browser are expected to “just work” in our world of shifting standards and expectations. I would expect over the past 10 years, they have racked up more cumulative usage hours than probably any other software, except operating systems. [1]

                                  3. JavaScript tooling has grown out of (more like busted out of) a quickly-assembled scripting language. This organic growth, in my opinion, means by definition the tooling is often overextending itself, reaching into new areas it was not designed for.

                                  To share my take: we have a Bizarro-World Wide Web. It is complex and a mess. The associated tooling is nothing short of a house of cards that somehow gets redesigned and reinvented very frequently. Somehow it has survived, without any one Superman to credit. (I personally think the engineering work on the JS VM is somewhat superhuman, though. We can all thank those people who struggle against browser quirks and share their work as open source. And, more cynically, we can thank the massive injection of advertiser money that has ensured that all of this will find a way to survive.)

                                  So, to bring it back to why I agree, in a sense, but for a different reason… If we knew then what we know now, all of this could be made much better: simpler, more secure, and more sane.

                                  Still, I wouldn’t say it “has been approached in totally the wrong way” because that would be judging people of the past based on the knowledge of today. The evolution of the WWW has changed the very way we define the problem and frame what is possible.

                                  [1] I’m calling attention to my lack of a citation. Apologies. If it is any help, as I wrote this I thought about: consumer and business software, utility systems, and telephony systems. I may be wrong.

                                  1. 2

                                    Still, I wouldn’t say it “has been approached in totally the wrong way” because that would be judging people of the past based on the knowledge of today.

                                    Whether a given approach is right or not is usually not apparent until substantial work has been done.

                                    I think we need to get away - far away - from the idea that “current approaches have serious limitations and work to find better ones is ongoing” is in any way a judgement of the people who invented the current approaches. It’s usually those same people working on better ones.

                                2. 2

                                  Well, it’s answered in the README:

                                  This allows us to develop faster and provide a more cohesive experience by integrating internal libraries more tightly and sharing concepts and abstractions. There always exist opportunities to have a better experience by having something purpose-built

                                1. 13

                                  While I agree that the Librem is probably a miss, I think this guy misses the point. The person who buys something like the Librem 5 doesn’t want the Android or iOS ecosystems. They don’t trust Google, Apple, or anyone that has code running on their devices that they can’t see themselves. Which is, in general, a good thing to want and support. But really, it’s a holy war, not a practical one. Outside of a few extreme cases, the target market for the device is open source zealots. If you don’t have extreme privacy and security needs, and aren’t someone who gets off on having everything you use be open source, then the phone isn’t for you and it isn’t intended to be for you.

                                  1. 12

                                    I’m exactly that person. I don’t trust Google or Apple, loathe Android as a platform, and value privacy and security greatly. I preordered the Librem 5 over 2 years ago and can’t wait to receive it.

                                    1. 14

                                      That’s great! I hope the device works out for you. As for me, I think I’m going to experiment with a Pine Phone first. The price tag on the Librem is too high for me to justify it, but if the ecosystem takes off, I’d be more willing to pay for one.

                                      1. 9

                                        Partly why I paid for a Librem5, not because I wanted privacy or whatever.

                                        I wanted an open source ecosystem of personal devices.

                                        If the price of the Librem 5 was I personally had to pay to kick start that future….

                                        …seems cheap to me.

                                    2. 8

                                      (Author here) I totally get it - this is a niche phone that is designed to fill a gap for very technical people to use a device they can trust throughout the hardware and software stack. However, the way Librem are marketing this device as a phone with so much longevity that you will never need to buy another phone again, is ridiculous and a blatant lie.

                                      It’s over priced for what it is. Now, the PinePhone, that’s where it’s at for me. I decided not to mention that in the article though as I don’t think it’s a viable daily driver at this point.

                                      1. 4

                                        I think the longevity marketing point is used to help justify the price tag. I don’t really agree from a hardware standpoint, but I think it’s perfectly valid from a software standpoint. The open nature means that the phone will have “support” (ie. software updates) for as long as the community is willing to provide them. I’m not optimistic that the community will be there long-term, but that remains to be seen.

                                        1. 2

                                          It’s over priced for what it is.

                                          Did you consider that they are relative small company that still needs to be sustainable? They’ve been developing this piece for a few years now and they won’t expect too many sales (although I hope they sell more than well). It’s not just about hardware, it’s also about hardware/software development and so much more. Potentially it’s a new platform that needs to be carefully prepared - including pricing.

                                          I personally think they extremly carefully calculated the price for the Librem 5 and hope they can build that new mobile platform (including their Librem One).

                                          that you will never need to buy another phone again, is ridiculous and a blatant lie

                                          Don’t you think blatant lie is a bit strong worded? Could you please link a source where they said (exactly) that?

                                        2. 3

                                          It is not for me, at all, but I understand the desire for some pressure on the existing duopoly towards the principles of software freedom, so to speak. I do think that it would be nice if there were a measurable market being served by an “open” phone, less because I want Linux on my phone (I DO NOT) but more because it would help keep Apple and Google honest.

                                          1. 3

                                            I doesn’t even have to be zealots. Just people voting with their wallet on a product with attributes they prefer. They know low volume equals higher cost. They might hope a new trend inspires more offerings and/or price cuts later.

                                          1. 4

                                            Why are you leaving dirscord? As far as I know they make money with premium servers for communities so they (seem to) have no reason to sell your data somewhere. Is is it the fact that it’s not open source? Genuinely asking.

                                            1. 2

                                              Discord is pretty famous for its privacy abuses. Their client is full of nasty spyware and really stupid bugs (moving your unrelated files around without your consent). They will ban your account if you use 3rd-party clients, or if you talk about 3rd-party clients.

                                              1. 2

                                                Oh… time for me to crawl from under the rock and cancel my discord account. Thanks for your reply

                                            1. 4

                                              … and all this because Lenovo started to make shitty keyboards (like rest of the World) in laptops since 2012 in W530/T530/T430/…

                                              This ‘Ultimate T420’ laptop is basically similar to 2017 ThinkPad T25 … it always saddens me how much ‘pointless’ effort is needed to make today a usable laptop with normal 7-row keyboard.

                                              1. 2

                                                How are those keyboards shitty? They are widely regarded as some of the best keyboards on laptops. Some even use the travel keyboard which I’m also very fond of. I like the the “new” keyboard more than the old ones, because they feel more crisp and distinguishable (because of the gap between the keys).

                                                1. 11

                                                  Amongst the best in production laptop keyboards. This is damning with faint praise indeed. I still get a shock when I pick up an old test/toy laptop and rediscover how much better they are to type on.

                                                  1. 6

                                                    So much this.

                                                    Because there are no better alternatives people praise what is available …

                                                  2. 4

                                                    because of the gap between the keys

                                                    The old style still has gaps between the pressable surface of the keys. The keys extend further and almost touch each other, but the bits that extend aren’t reachable; if you compare the shape that your finger can actually touch rather than they way they look, they’re very similar.

                                                    My personal machine has the old style and my work machine has the new style, and I prefer the old one by a significant margin, though they’re both really lousy compared to an external mechanical keyboard.

                                                    1. 1

                                                      really lousy compared to an external mechanical keyboard

                                                      Absolutely. Sadly there’s no laptop with an atreus or ergodox keyboard. I’d love to see a (slim) laptop with an ortholinear split layout keyboard with low profile mechanical keys.

                                                      1. 1

                                                        No, but because of the layout, the random retarded layout of Insert, Home, PageUp, Delete, End, Page Down, Esc, PrintScrn, Scroll Lock, Pause keys. On older ThinkPads they were neatly, and very similarly laid out to a full size keyboard. On other notebooks you had to learn the layout of these special keys for each and every machine, as vendors always shuffled them. for me this was the main selling points of ThinkPads. Btw I also hate the island type keys, but I could get to live with that.

                                                    2. 1

                                                      I don’t notice a quality difference between my X230 Tablet and my X201, keyboard-wise. It’s different, but it’s better than a lot of ThinkPad keyboards I’ve had - the T42 for me was particularly numb feeling.

                                                      And since were seven row keyboards normative outside of ThinkPads? My deep experience with owning multiple ThinkPads is that they’re overrated anyways - quality wise, and including the classic models. I myself have an interest in acquiring a Let’s Note, a particularly high-end JDM laptop series.

                                                      1. 2

                                                        I have owned these ThinkPads:

                                                        • X300
                                                        • T420
                                                        • T420s
                                                        • X220
                                                        • W520
                                                        • T520
                                                        • W530

                                                        From all of the above only W530 keyboard broke - the ‘E’ letter stopped working.

                                                        Besides obvious 6-row (W530) versus 7-row (W520) difference there are other reasons that *20 (or just old) layout is just better for typing without watching. For example SPACES between keys ESC and F1, then SPACE between F4 and F5 keys (another 4 keys block), and SPACE between F12 and INS/DEL keys. These spaces are REALLY missing when you move from the good key island/chicklet bullshit. On *20 keyboard I do not need to think where I need to put my fingers, I just do and HOME or INS are pushed without me even noticing it.

                                                        I have used W530 as a daily driver for 4 years without using ‘classic’ 7-row keyboard laptops and even after these 4 years to hit HOME/END or INS was never ‘transparent’ - for most of the times I needed to check if I hit the right key.

                                                        … and its not only ThinkPads you know? I have used Dell Latitude C600, D630 and E6400 laptops which all have had 7-row keyboards and they also worked great.

                                                        Its just this shitty world where everything that is good/works best - dies or its changed/suppressed by new fashion shit … but millions of flies can not be wrong, aren’t they?

                                                        1. 2

                                                          “good/works best” is subjective. It’s all subjective. Why are you more correct than the “millions of flies”?

                                                          Some people like more keys, some people like less keys. The mainstream is 6-row, it’s the middle of the road, deal with it. You’d like more, I’d like less. The Planck layout sounds fun to me :P

                                                    1. 1

                                                      docker-slim will optimize and secure your containers by understanding your application and what it needs using various analysis techniques

                                                      That sounds bold, Up to 30x times smaller and more secure even more so. But I’m going to try it out anyway.

                                                      1. 1

                                                        For a while now I’m using this solution, which I found when I was searching for a good solution to track my dotfiles with git:

                                                        alias config='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'
                                                        config clone --bare ${REPO_BASE}/.dotfiles.git $HOME/.dotfiles
                                                        config checkout --force
                                                        config config --local status.showUntrackedFiles no
                                                        

                                                        This is really easy to use. You add the alias line to your cli-configuration (bash, zsh, …) and then use it almost like git. Like config add ~/.vimrc ; config commit ; config push origin master.

                                                        It’s almost zero dependency, it only needs git.

                                                        Beware the --force at the checkout.

                                                        1. 1

                                                          FWIW Atlassian has a helpful article detailing this approach:
                                                          https://www.atlassian.com/git/tutorials/dotfiles

                                                          Personally I prefer not turning my entire $HOME dir into a repository, keeping my dotfiles repository separate, and running a small program I wrote to symlink things between them. Your approach (that I first learned about in that Atlassian article) is attractive, however, because it’s the first one I’ve seen that uses git to manage your home directory without making your entire HOME look like a gigantic git repo since it uses a non-standard .git dir, and it doesn’t require you to constantly add things to your .gitignore because it explicitly ignores all untracked files.

                                                          Beware the –force at the checkout.

                                                          Yeah one of the reasons I prefer my homegrown thing is because it’ll automatically back up any files it encounters that you have in your dotfiles repo, so it’s easy to bootstrap on a machine without worrying about trashing anything that’s there.

                                                          1. 1

                                                            Oh yeah, thanks for the reference. I think that’s the page where I discovered this approach.

                                                        1. 6

                                                          This is pretty cool. I recognize Bryan Cantrill as one of the key personell of joyent (who made SmartOS which was neat, they ported KVM to solaris/smartos) and Jessie Frazelle from when she was blogging about Docker, where she actually worked. Two very impressive engineers and nerds.

                                                          I hope both will be very successful with they new self-employment!

                                                          Thanks for the link, this could become awesome.

                                                          1. 1

                                                            they ported KVM to solaris/smartos

                                                            And more recently, ported bhyve to replace the KVM port :)

                                                            1. 1

                                                              Does anyone here have experience with SmartOS? It looks awesome, but I’m curious if anyone here has tried it before.

                                                            1. 8

                                                              Please drink a verification can.

                                                              https://i.imgur.com/dgGvgKF.png

                                                              1. 1

                                                                Thank you!

                                                              1. 3

                                                                PowerShell really is a great interactive shell. My favourites:

                                                                • Readable and coherent command line parameters
                                                                • Multiple outout formats (it’s usually really easy to output json or csv instead of plain text)

                                                                It’s a pleasure to work with, but coming from bash and the likes, there’s a learning curve. But it’s fun once you get used to it.

                                                                1. 4

                                                                  The objects thing is great but only when your programs know how to deal with those objects. “Text is the universal interface”. It’s an ease-of-life solution, not a short term ease-of-use solution.

                                                                  1. 3

                                                                    Indeed. .Net + COM makes that possible on Windows. It’s not possible on Unix at this time, and frankly, even if a universal object model were to be developed it would be hailed as the coming of the Antichrist by the text faithful.

                                                                    1. 2

                                                                      GObject or DBus are the closest analogies on the Linux side. I’m no Windows dev so I can’t be sure how similar they actually are, but it seems like something like PowerShell could be implemented on one or both of them.

                                                                      And you’re right, any attempt to do something like that would result in wailing and gnashing of teeth the likes of which we have never heard before.

                                                                    2. 2
                                                                      1. In cases where it works, objects are more safe. Too many one- or few-liners that broke when on of the tools in the endless pipe chain change their output format.

                                                                      2. The objects always are pasted as plain text to STDOUT, so every tool that cannot parse these objects natively should be able to parse the resulting string.

                                                                      PowerShell is really useful hybrid of bash and Python, figuratively speaking. It’s a bit verbose for a interactive shell, but with tab completion that’s not such a big deal. And completion in ps is rock solid.

                                                                      1. 2

                                                                        PS can convert streams to CSV.

                                                                        1. 1

                                                                          It’s actually not that hard to parse the output of programs that just speak text. Think of it this way: you probably already do this today using cut or awk or something like that (at least that’s what I used to do). Instead of figuring out how to parse that output every time I enter a command, just make one wrapper that turns the output into objects with fields with names. Then, like OP said, you can interrogate it, transform it, etc., without having to remember so much (it even has tab completion in most cases, where powershell can figure out what you are doing.)

                                                                          I usually end up writing a little wrapper that does this for any text-output programs I use more than 5 times a month for this reason, and so I have tab completion of arguments and can add reasonable defaults for arguments I get sick of typing all the time.

                                                                          On the other side (pipeline stuff into a program) it already does what you would expect (just sends text to the other program) and it’s very easy to put something in a foreach to operate on each of the objects in the pipeline if you want.

                                                                          So, powershell is still pretty great even at dealing with text-output programs.

                                                                        1. 23

                                                                          Have you considered not putting hard end-of-lines at all? This way your mail should be readable by all readers: mobile, tablet, horizontal/vertical, terminal, etc. It would be only a matter of setting your terminal size to 80 chars wide, if your mail reader doesn’t support soft wrapping.

                                                                          Sentences in the mail are not code. It’s natural to wrap them. We do it all the time in books, articles, lobste.rs comments, etc. It allows people to use different fonts, different sizes (some people see worse than others, have to use bigger fonts), different devices, etc.

                                                                          Is it natural to

                                                                          write a comment

                                                                          like this? What

                                                                          is the point of

                                                                          the newline cha-

                                                                          racter here?

                                                                          That is, of course, with respect for rules imposed by mailing lists. E.g. if OpenBSD mailing list require 72 chars, then everyone should respect this setting.

                                                                          1. 5

                                                                            Have you considered not putting hard end-of-lines at all?

                                                                            I think this is the way to go. Every client will be able to render the text the way it looks best. How about limiting lobste.rs to 72 characters? Where’s the difference? That was a rhetorical question :-)

                                                                            On the other hand: This is a classic debate that will most likely never have an end. It’s preference. And thus I have to live with badly readable mail, when reading on mobile.

                                                                            But I tend to prefer tabs instead of spaces, so… what sane person would take me serious?

                                                                            1. 1

                                                                              Sentences in the mail are not code. It’s natural to wrap them.

                                                                              Sentences in e-mail are, however, often quoted. It’s much easier to take one sentence and quote it if it’s on a separate line. Newlines after punctuation are a feature, not a bug when it comes to e-mail.

                                                                              That is, of course, with respect for rules imposed by mailing lists

                                                                              Since people composing their e-mail in e-mail clients would have to go and hunt down the setting to control the line length limit to match the rules imposed by mailing lists, there’s kind of a natural race to the bottom for settings that comply with the most mailing lists.

                                                                              1. 3

                                                                                I’m pretty sure you can select text with a mouse and copy it…

                                                                                1. 2

                                                                                  Sentences in the mail are not code. It’s natural to wrap them.

                                                                                  Sentences in e-mail are, however, often quoted. It’s much easier to take one sentence and quote it if it’s on a separate line. Newlines after punctuation are a feature, not a bug when it comes to e-mail.

                                                                                  Do you suggest that long lines without hard end-of-lines and quoting are incompatible, or hard to perform?

                                                                                  But even if, then still, personally I believe that it’s more important that lots of people will be able to conveniently read what I write, than my personal convenience of editing such an e-mail.

                                                                              1. 2

                                                                                $ dig -f digfile +noall mx +answer

                                                                                + for me is a strange choice for, as it seems, command line arguments. Why not -noall, -answer? I’m genuinely interested, maybe someone here knows?

                                                                                1. 29

                                                                                  Windows still clearly isn’t for me. And I wouldn’t recommend it to any of our developers at Basecamp. But I kinda do wish that more people actually do make the switch. Apple needs the competition.

                                                                                  Oh how times have changed.

                                                                                  I find that Windows, Mac, and Linux all frustrate me, but all for different reasons. My favourite OS is whichever one I used least recently.

                                                                                  1. 26

                                                                                    When Mac stops working you throw money at the problem.
                                                                                    When Linux stops working you throw time at the problem.
                                                                                    When Windows stops working you throw the laptop at the wall.

                                                                                    1. 4

                                                                                      I thought you reinstall Windows?

                                                                                      1. 4

                                                                                        You reinstall Windows. Curse yourself for thinking that would fix the problem. The you throw laptop at the wall.

                                                                                    2. 2

                                                                                      Care to elaborate on what bothers you about each operating system?

                                                                                      1. 4

                                                                                        Not OP, but have an opinion:

                                                                                        Windows

                                                                                        • Ads
                                                                                        • Updates (last week two of my USB ports just stopped working, although they worked fine in EFI and Linux.)
                                                                                        • Licenses (buy a cheap license from shady sources or hundreds for a legit license from m$). If you’re lucky your laptop has a burned in license, but that’s not available for DIY PCs (like mine).
                                                                                        • Lobbying against open source software (see the shit happening in Munich’s municipal IT)
                                                                                        • Generally drivers (my last installation had intel wifi issues where unregularly but often the ping rose to multiple seconds and I had to restart the interface. after reinstalling I haven’t had that issue again)

                                                                                        Linux (excerpt)

                                                                                        • Sometimes the desktop is unlocked when waking up from suspend
                                                                                        • Freezes on more modern desktops (gnome 3, kde plasma). this seems to be a bit better with MATE (my last experience with Ubuntu MATE was mostly rock solid)
                                                                                        • Inconsistent behaviour like sometimes the space bar dismisses the gnome3 lock screen, but sometimes you have to use the mouse to drag it away. The spaces went straight to the password field
                                                                                        • Gaming not ideal, although Valve is pretty cool for working on this
                                                                                        • You (by default in all distros I know of) have to enter your password so many times. When istalling apps through a software center, for example. No easy to use biometrics.

                                                                                        macOS

                                                                                        • Haven’t used this in a while, seems to be the holy grail for me right now (sarcasm). Well, their hardware is super expensive, so that’s a downside.

                                                                                        The list goes on and on and I tried to be brief.

                                                                                      2. 1

                                                                                        My favourite OS is whichever one I used least recently

                                                                                        Oh my, it is exactly the same for me, although I currently don’t want to buy a mac to go back to macOS again (which is the one I used the least recent and thus is the one that seems to be most tempting).

                                                                                        Doesn’t it bother you? I waste so much time reinstalling OSes… It drives me crazy, but I can’t help it. Maybe you have some advice for coping? I wish I could just stick with one and learn to live with the downsides.

                                                                                      1. 0

                                                                                        We could have used the C code. SQLite has a high quality reputation and did rock for many years and keep rocking.

                                                                                        But it did not fit the Go and Rust culture to RIIR/RIIG (rewrite everything from scratch) to be as pure as possible.

                                                                                        1. 11

                                                                                          This is actually the opposite of what’s happening here though. The Go stdlib has a builtin package for interacting with SQL databases in an abstract way; this is a C SQLite binding which sacrifices the ability to use this abstraction in order to essentially modify this API in a way which is much more semantically close to the C library semantics (largely by removing the failure surfaces in the abstraction layer that don’t exist for a non-networked database) while preserving the overall design. There’s not any reimplementation of SQLite going on here.

                                                                                          1. 3

                                                                                            Indeed, not a full rewrite. I was worried about replicating the efforts of SQLite. I read the articles without looking at the code, and there was no mention of using the existing SQLite code base.

                                                                                            The source makes this entirely obvious: https://github.com/crawshaw/sqlite

                                                                                            This is a very neat project.

                                                                                          2. 5

                                                                                            It’s unclear what point you’re trying to make here.

                                                                                            1. 3

                                                                                              I was mistaken on what the author did. It is not a rewrite of the entire SQLite libraries.

                                                                                            2. 2

                                                                                              The main reason to implement sqlite in native Go sure is indepence from C. With a language native implementation you’re able to build static binaries for example (assuming you’re not using any other c dependencies).

                                                                                              You’d be unable to do that with dependencies to sqlite c-libs.

                                                                                              But I agree that sqlite has a reputation for rock solid code for a reason. But a subset of sqlite in a new implementation might be doable and probably good enough for a lot of people.

                                                                                              1. 3

                                                                                                Oh, it looks like it’s still using the sqlite c source, so that’s that.

                                                                                                1. 2

                                                                                                  Sorry if I provoked confusion.

                                                                                                2. 2

                                                                                                  You’d be unable to do that with dependencies to sqlite c-libs.

                                                                                                  it is easy to statically link C libs. to the linker, there’s no difference between C and Go (or C++ or D or whatever).

                                                                                              1. 1

                                                                                                Interesting points (and I highly recommend reading the comments as well), but don’t most people still get headaches from CRTs? I find even the high hum from the flyback transformer in a tube TV or monitor to be uncomfortable, let alone the eye strain. I set my modern monitor (Dell U2415–very highly recommended, by the way), phone, and ThinkPad screen (which is terrible, but it doesn’t drive me crazy because it’s not uncomfortable) to a relatively low brightness and basically never get a headache anymore from staring at a screen.

                                                                                                1. 1

                                                                                                  Thanks for pointing out the comments - they’re really insightful (I just watched the video and the youtube comments are a completely different story).