1. 2

    This sounds ideal if you want to roll your own light-weight Qubes-like environment.

    1. -7

      Static typing… So cute.

      1. 6

        At least try to explain why something is a poor design instead of dismissing it.

        1. 4

          Seems quite close to Python’s type hints. Not mandatory to use at all, but if used correctly, it massively helps you find bugs.

          1. 1

            Yes, they can’t fix the wrong design, only put some patches on it here ant there.

            1. 3

              What wrong design do you have in mind?

              1. 0

                Dynamic typing.

                It’s proponents claimed it superiority for years… And now all the mainstream dynamic languages try to add at least some static types. But you can’t just put it there easily, it needs to be baked into the heart of the language.

                1. 1

                  Languages like C++, Java and C# have been getting welcome additions like var, auto and polymorphic lambdas. There is virtually no modern language that requires you to specify the type of your iterator and good riddance, too. Let’s say that there is a convergence.

                  1. 1

                    Var, diamond etc. means that your code is still statically typed. You just don’t need to write the type by hand because it’s obvious for the compiler.

                    It can look similar to dynamic languages… But type inference is static typing to it’s core (it isn’t by chance this comes from ML family).

                    1. 1

                      Moving static typing to tooling and giving hints to help that tooling is part of the convergence just like statically typed languages losing boilerplate is. There is no pedestal you can climb to say “they were wrong we were right all along”.

                      1. 2

                        No. They were wrong. And that’s why they now need to add boilerplate.

                        You need to be statically typed to be safe and you need a good type system to be safe and remove boilerplate.

        1. 7

          Most people familiar with mechanical keyboards are familiar with QMK. It’s really a great project, and it’s not very hard to make your own super advanced keyboard layout with macros and multiple keyboard layers.

          Their web based keyboard configurator is really slick too!

          1. 2

            It is cool indeed.

            Oddly enough, nobody is making standard, full sized mechanical keyboards with qmk as stock. That’s a gold mine waiting to happen, for the first to market.

            I fear some company will accidentally make a keyboard using a compatible arm or avr microcontroller, the community will pick up on it and it’ll thus get undeservedly popular, instead.

            1. 4

              An inline controller can be used to turn a non-programmable (full-size) keyboard into a programmable one. E.g. https://www.1upkeyboards.com/shop/controllers/usb-to-usb-converter/ this one runs tmk, which is what QMK was originally forked from.

              1. 1

                I like how, with qmk, it is possible to reduce latency. An inline controller will only add latency.

                1. 2

                  Sure it’s definitely a work around. Figured it was one way to get access to more programmable full size keyboards. Another option is to replace the controller in an existing board. I did this with my Filco TKL — it now runs TMK: http://bathroomepiphanies.com/controllers/

                  1. 2

                    But does it in reality? According to Dan Luu he measured the Planck which is presumably running QMK to have 40ms latency compared to 30ms latency that e.g. my Pok3r has with its proprietary firmware or 15ms that Apple’s keyboard seems to have. Overall a pretty weak showing for QMK which is presumably due to its myriad of awesome features but that were not written with latency in mind.

                    1. 1

                      I’m not sure about Dan Luu’s tested keyboard actually running qmk, or how to tweak qmk for low latency. It might have some silly slow debounce enabled by default. Or it might be qmk is hopelessly sluggish. But, at least, with source code and a friendly keyboard, it is possible to work on improving latency. If a keyboard won’t even run qmk, that’s not anywhere as good as a starting point.

                      None of my keyboards run it, but I plan to eventually (once it’s easier?) get a supported full size keyboard. Then I might personally take a look at it. Worst case scenario, qmk turns out to be shit but I do learn how it works, then write my own.

                2. 2

                  Or even just a standard full sized keyboard with QMK.

                  1. 1

                    If it isn’t mechanical, it won’t appeal to the sort of people who care about what keyboard they use.

                    1. 5

                      Reprogrammable, high-quality, low-volume. mechanical keyboards cost more to produce than conventional keyboards do. When cost is a consideration in this way, you’re more likely to think critically about each piece of the design and question whether the value you get from it will justify the additional cost, rather than saying “let’s just do an exact copy of the 101-key design that IBM standardized in the 1980s”.

                      Given this dynamic, it’s very unsurprising to me that no one builds “full size” designs this way.

                      1. 1

                        There’s plenty of full size mechanical keyboards in the market. They also sell well, to gamers.

                        Picking a qmk friendly microcontroller and preparing a friendly firmware update method can’t be that hard, much less increase the cost in any significant way.

                        It just hasn’t been done.

                      2. 1

                        I disagree. I use the Microsoft Ergonomic keyboard as my preferred daily driver but would enjoy having QMK onboard. I’ve used a mechanical keyboard before but buying/building a shaped, tilted, split design mechanical is really expensive. The Ergodox EZ looks great, but it’s a month’s rent, ~5-6x the Microsoft keyboard.

                        1. 2

                          There’s full sized keyboards with mx brown switches in the $100 to $200 range.

                      1. 1

                        That one definitely isn’t full sized!

                  1. 2

                    I’ve sort of split things up a bit.

                    On one hand I have my personal landing-page like site: https://eising.dk and then I have a few other sites, but most importantly my new tech-blog: https://eising.it

                    1. 1

                      Hi! I added your blog to my RSS reader, and noticed the posts in the feed are using relative links, e.g.

                          <item>
                            <title>5 reasons your network automation project may fail</title>
                            <link>/posts/5-reasons-your-network-automation-may-fail/</link>
                            <pubDate>Wed, 08 Jan 2020 07:47:44 +0100</pubDate>
                      

                      When I click the source link from my reader (an instance of Miniflux), it doesn’t place the link in relation to your source site, but my instance. This might be a bug with the reader (not sure about the formal RSS spec), but I don’t observe this too often in other feeds. Just an FYI.

                      Thanks for sharing, looking forward to reading more of what you write! 😄

                      1. 2

                        Hi there. Sorry for the late reply.

                        I’ve just updated the theme. Maybe it fixed the issue?

                    1. 5

                      https://olegk.dev - simple Hugo generated web-site. Hosted no Github + Cloudflare DNS

                      https://github.com/cristaloleg/cristaloleg.github.io

                      1. 1

                        Nice. I use the same hugo theme as you on mine :)

                      1. 6

                        I think this is a good opportunity for me to learn Go!

                        However, I don’t have any sort of formal CS-like training, and some of the problems the last couple of years have been rather hard because I’ve lacked the theoretical foundation to sort of figure out what kind of problem I’m looking at. Often it’s more math than CS, but there’s an overlap there.

                        1. 2

                          If you want to participate but struggle with some of the later stages, there is a fantastic community on Reddit that can help.

                          https://www.reddit.com/r/adventofcode/

                        1. 4

                          Entertaining read.

                          I’m thinking of ruby when reading this. If you remember _why’s guides, he was very enthusiastic about the natural language part of Ruby, and for me that was one of the things I liked about it. However, where it was easy to create API’s that felt like natural language, it also gave power to some syntactic nightmares. If you don’t believe me, just take a look at all Ruby submissions to the Advent of Code challenges, and you’ll find neat little one-liners that are impossible to parse by head.

                          1. 7

                            Pentesters always want to sound like it’s some sort of action movie, and I am tired of it.

                            Good on the company for having their security in order. Breaking in and prying out disks of laptops in storage is a bit over the top.

                            1. 14

                              The hardest part of any security job is communicating your findings effectively to your audience.

                              A pen-test of a corporate network is not the most exciting topic in the world of security so I’m sure attempts at adding some drama and a story helps.

                              1. 4

                                Depends on the scope of the assessment; I have had clients that have wanted me to break into things, and device theft was definitely in scope. Working adversary simulation, OPFOR, whatever, has different scope. On the flip side, I’ve definitely seen pentesters/red teamers who just want to “win” regardless of the scope or cost. This provides almost nothing of value to a client: if they knew their physical security was weak, breaking into the data center provides nothing to a client who wanted to know how well their validation schemes worked.

                                I remember once being on site with another company that usually did “full scope” assessments as their bread-and-butter. The first day of their web app test, they:

                                • tried to unplug a phone
                                • spoof the phone’s MAC address
                                • bypass network restrictions and NAC via the phone to get to a database

                                on a web app… The client wanted to know about their web app, not their network security (which was actually fairly decent). Anyway, I finished my application early and was asked to step in and take over that assessment…

                              1. 3

                                I think IBM yearns for the mainframe times again, and there are honestly very many parallels between old-school mainframe stuff and modern cloud. If IBM can be the single provider of every piece of the value chain (except for hardware for now).

                                With RedHat, they control the OS, the virtualization suite, and they have the large enterprise customers. This is for sure IBM wanting things to be the way they were years past.

                                1. 3

                                  Custom domains only on the business plan, $59.95 per mailbox per year? Terrible.

                                  Migadu is $48/year with unlimited domains/mailboxes/storage.

                                  1. 1

                                    Yeah, that was the first thing I checked as well. It’s sad though. I want one-click PGP to be a thing for everyone.

                                  1. 2

                                    I’m reviving/salvaging an old project I built for an employer about five years ago, and was allowed to open source.

                                    The specific usage of the project was a bit specific to that employer, but it had some really cool concept that can still be very useful in the area of network automation, so I started this weekend trying to salvage the parts. Working with five years old code is a bit challenging - not all components are backwards-compatible I found out.

                                    For the interested, it was written in ruby, with Sinatra as the microframework behind.

                                    1. 4

                                      That website is a goldmine.

                                      I-Net surveys overwhelming support the notion that net-sters cherish their privacy. For the curious, it is easy to see what kind of ‘information footprints’ you leave behind at a website after a visit. Try this. Visit the Anonymizer website. Click on: “You don’t have to tell us, we already know all about YOU.” Within just a few seconds, you will be able to see what a webmaster can learn about you. Typically, it will display your operating system, (Windows 3.X, Windows 95, and others), your browser type (Netscape, MS Internet Explorer, or Mosaic), your ISP (Internet Service Provider) and may indicate the site of your previous visit. Maybe more. It’s a bit scary.

                                      Can we go back to the time when this was what people considered too much info?

                                      1. 3

                                        Sure, here’s your modem. Enjoy your blazingly fast 4KB/s download speed (if you’re lucky).

                                        1. 2

                                          Eventually, that progressive JPEG will load.

                                      1. 6

                                        I applaud the initiative to delete your facebook profile, but looking at myself, I’ve come to realise that I’m hopelessly depending on it.

                                        I’m depending on it for a number of reasons, primarily because I’m a foreign national living abroad and my entire network back home can be interacted with primarily by facebook. If I suddenly left facebook, I would be even more separate from the people I know and care about and a great deal of my network.

                                        I am part of a lot of groups that coordinate activities I take part in. I get invited to events that I make the appropriate travel arrangements for in good time, so I keep contact with friends and families.

                                        If I were to leave facebook, I would hope they would send me an email once in a while with an invitation or an update on their life, but that just won’t happen I’m pretty certain.

                                        The only social network that ever came close of being able to replace facebook was Google+, and we all know how that went - it seems mostly kept up so Linus Torvalds can rant there - and speaking of alternatives, I remember how long it took for all my friends to come on facebook, any potential alternative out there is going to be a half-barren wasteland for any foreseeable future.

                                        1. 4

                                          There are a few reasons for me clinging to MacOS for work (I’m a network engineer, and I code a bit too). The overshadowing first reason is called Microsoft Office. I wish I didn’t have to use it, but I have so far not been able to properly dodge it and my current employer is entangled beyond belief in the whole Microsoft ecosystem with OneDrive, Teams, Yammer, OneNote et. al. that I’m aware of nice cross-platform replacements for, but stuck with.

                                          Similarly, I’m depending on OmniGraffle to display and create visio (compatible) drawings.

                                          So why not just run Windows? Well, I had a go at that although not by personal choice when I started my current employment half a year ago, where I was handed a mediocre HP laptop while waiting for my Macbook Pro to be available, and it was quite terrible to work with. It became bearable when I had my emacs setup tuned, and I could sort of live inside emacs, but it was a poor substitute for the terminals and unix tools I’ve come to depend on.

                                          Another reason, and that may just me being scared from previous experience running Linux for work, and that’s the whole multiple display thing. I have multiple displays at my home office at different rotations, and a widescreen monitor at work. Switching between multiple displays was never painless when I ran Linux, but that may have improved since then Still the point about different DPIs have been raised elsewhere here, so I believe it at least partly still applies.

                                          And then there’s stability. It is entirely possible to have a stable Linux environment, but not perpetually. Something will break between releases and you’re forced to tinker and be unproductive. I enjoyed that part when I was younger, and I still do for my hobby systems. But for work, I just want things to work.

                                          1. 5

                                            Multi monitor is definitely why I stay on OS X. Perfect it is not, but as someone that has hand edited x.org files in the past, i’ve never had a great experience with multiple monitors.

                                            And osx with nix basically solves all my needs for a unix os. I get emacs and anything else out of there.

                                            If I were to switch to linux on the desktop it would probably be nixos, least then I can easily move between stable islands of software at once with sane backing out of things.

                                            1. 1

                                              I’ve often ran multi-monitor setups on Linux, and the selection of monitors has usually been rather odd. I usually use arandr to arrange and set them up, and… it just works.

                                              Just curious what sorts of issues you had?

                                              1. 3

                                                Mostly plugging things in and having the window layouts work sanely. Also at issue tended to be putting the laptop to sleep and unplugging the monitor and not having anything come back up until I rebooted the laptop etc…

                                                In a nutshell, edge cases all over, not that osx doesn’t have its own similar problems it tends not to lose the ability to display a screen.

                                            2. 2

                                              Multimonitor support is 90% of why I’m planning to test drive moving away from OSX back to windows :)

                                              1. 1

                                                Have you run into the bug where sleeping with a monitor attached causes everything to black screen forever? Haven’t been able to escape that :/

                                                I’d want to move to Windows too, but the privacy policy creeps me out.

                                                1. 1

                                                  Yes. It happens not very often, but just often enough to make me irritated at the best of times. (And I still get the occasional panic on plugging in or removing a monitor.)

                                                  1. 1

                                                    I get all my windows moved to one monitor 95% of the time the displays come back on, and there’s a bug in the video card driver (Mac Pro Toob) that crashes everything on-screen (except the mouse pointer) and also crashes displayport audio, but leaves every application running as if everything were peachy. That one gets me every few weeks or so.

                                                    Also, I used to run 2 * UHD displays at 60hz, a third at 30hz. But now I can only run one at 60hz, both others run at 30. It’s fucked and it shits me to tears. When I bought it this was the top-shelf you could get, and while I cheaped out on core count, I went for the higher-end video option.

                                              1. 3

                                                Slack seems the favorite of the current times, and it seems to be usable by non-technical people as well.

                                                1. 2

                                                  Slack isn’t good for managing topics, though. Slack is good for chat, maybe something like Discourse is good for “threads”.

                                                  1. 2

                                                    Yeah - in my experience slack is quite good for social groups and passing the time, but not so useful for serious talk or information sharing.

                                                    1. 1

                                                      Try Zulip. The conversation is filterable by stream (like slack’s channels) and futher filterable by topic (like threads). https://zulipchat.com/

                                                  1. 7

                                                    Org-mode is amazing, but not only for the markup structure.

                                                    The built-in functions in emacs relating to org-mode makes it all so powerful, and they are too many to even start mentioning.

                                                    However, one thing that I recently discovered that made org-mode even better for me was that Pandoc now has org-mode support, so it is now possible to turn org-mode in to basically any format, including Microsoft Word format, which is a killer feature if you’re forced to live in a Microsoft Office corporate environment.

                                                    1. 1

                                                      Note that Word can also open OpenDocument files nowadays and org-mode has ODT export.

                                                      I haven’t really tried which route gives the best result. Most people are happy with PDFs ;).

                                                      1. 1

                                                        One cool thing is that you can include a reference document with pandoc. That makes me able to generate docx files in the company template.

                                                        I think it is a bit more convenient than converting word templates to openoffice.

                                                    1. 2

                                                      This is great news for me. The command line tool has been the only thing that has kept me with lastpass.

                                                      1. 4

                                                        So, there’s a lot about scale to be said when talking about network diagrams. It might be relatively trivial to generate something that can be mapped out with dot/graphviz if your scale is small - like a local network, or if your detail granularity is low - like only the actual lines between elements, the logical links between routers.

                                                        However, if your purpose is proper documentation, it will be non-trivial, and I have yet to see proper auto-generated diagrams that can also be viewed as proper documentation that reads intuitively.

                                                        I prefer omnigraffle on Mac to draw my diagrams, but it has become a lot less about the tools for me, and a lot more about how you draw. Good network diagramming is an skill that has to be learned, I believe. It has a lot to do with learning how to draw complex topologies in a readable fashion, how to order elements on the canvas and all that.

                                                        I would advise you to find a tool that you believe have the features you require, and then train yourself by only focusing on the things that you draw on the diagram, and how they are presented.

                                                        1. 1

                                                          I would advise you to find a tool that you believe have the features you require, and then train yourself by only focusing on the things that you draw on the diagram, and how they are presented.

                                                          Which is a very good advice. Only problem I have with this is that there are multiple hands touching the graphs where I work and they have different opinions about what’s the right way to draw a diagram, so over time diagrams are being polluted by different styles and different mindsets making them virtually unmaintainable. I know that this is a social problem for which I am searching a technical solution which is … not optimal. The other part is that my hope is that an automated process could help against documentation rotting away.

                                                          But I totally agree that it is a skill to be learned and if you mastered it, the tooling becomes irrelevant.

                                                          1. 1

                                                            Yeah, that is a problem, and with no simple solution.

                                                            I worked a place once that solved at least some of the problems by having formalised guidelines for how to draw diagrams, including stencils for everything, all lines and shapes.

                                                            That at least helps to keep diagrams stylistically similar, but I totally get why you want the automated approach.

                                                        1. 1

                                                          I ran Linux on my desktop for years, but had to use a remote windows desktop for all the office stuff that I unfortunately have to use in my corporate career. Mac OS X was a savior in that regard, as it allowed me to run microsoft office, alongside a good terminal, emacs and all the other unix tools I have come to rely on.

                                                          Until I can run the office suite on a Linux or BSD, I am stuck on MacOS.