HN user

shortrounddev

232 karma
Posts4
Comments138
View on HN

But, the thing is, I'm not "guessing" you don't know it well enough. I'm inferring it clearly from how you described it in the text. Because it reminds me exactly of how I used to think about it too, before I invested the time and learned to love it. Perhaps you think you know it well enough, but the way you talk about it suggests you don't really. Unless of course you intentionally chose very contrived examples to push a point, but it didn't seem to me that that's what you were trying to do.

Wow, so you have this incredible ability to telepathically read other people's minds and you don't use it to solve murders? It's incredible that you, and you alone have the ability to know what's truly going on in someone's brain simply by reading a paragraph on the internet.

You're incorrect. I know bash and the syntax is not user friendly for me.

You only had a response to the powershell part?

No, im referring to your original comment calling me a "typical noob". It was an immature comment which contributes nothing, and again I think youre capable of more maturity than that.

Obviously, this conversation is based on your misunderstanding of the original post and so I dont think its a worthwhile use of either of our time to enumerate the chapters and system calls from a college class. Knowing how processes are created in a generic operating system is not the same thing as knowing how shebangs work on unix-like systems. Again, OS class is about how to MAKE an operating system, not how to use one

Again, try to remain polite. I understand how forking works. Knowing how shebangs work is not something they teach directly. Forking is.

Its not as popular to distribute projects as source on windows, but ive personally built a dozen or so libs and dependencies from cmake into msbuild/visual studio SLN files, so it actually does happen because I've found that Linux devs don't tend to distribute precompiled binaries at all. I think this trend it changing now though because I see a lot of github projects releasing binaries for a lot of different platforms in the releases section.

I wrote it after reading several articles on Microsoft's docs page which are all stories of developers moving from Mac to Windows. All of those stories boiled down to: "WSL makes it easier to have the same development workflow on the PC as on a mac". I felt this was short-changing a lot of the other features of windows that I like and wanted to point those out and make the point that windows is, I believe, a good development platform even without WSL.

Also, many people here are saying "yes, I know all about powershell and the terminal and path variables, this is all obvious", but my experience IRL with developers who use macbooks is that they haven't touched windows since maybe 7 and literally did not know anything about the various features here. So if the information here is unconvincing, thats fine. If its not news to you, then you're probably not the kind of person I'm talking about

Addi

Git exists on windows without git bash. Just run `choco install git` and i recommend `choco install poshgit` too for some helpful terminal hints like current branch

The PATH variable in windows has a low character limit but if your path is properly set up as a REG_EXPAND_SZ, then you can just add more and more variables to it and I dont think the expanded version counts toward the character limit. One reason you shouldn't save your path variable changes from your terminal is that it implicitly converts to REG_SZ on save

I often run into the issue of forgetting to set node affinity in my deployments and my x86 backend not running on an ARM server we have for some reason (nothing we do requires ARM, so idk why we have those nodes)

OS class is not about Linux, its about OS theory. You learn the algorithms for priority queues and preempting tasks and even build a simple OS (depending on the class). Very little of it is about how IRL operating systems/kernels like NT or Linux work, though they did use some examples to demonstrate. Forking was more in Systems programming class, but that class was more about C, system calls, linking, and gdb. Not much time was dedicated to the syntax of shell scripts.

This isn't really an argument against what I said. You can pick and choose your shell language based on preference for syntax. You generally learn a human language because you have to for one reason or another. I think bash has an unintuitive syntax, and I think powershell's is more readable

I'm disappointed that 90% of the discussion is on the first 3 paragraphs of the article. I wrote about C++ and DirectX, too.

I personally disagree on both accounts. Bash is gibberish to me and the year I had to dev python professionally was miserable

The point is not about being easy to remember (powershell commands and their args can be autocompleted with tab so memorizing them isn't really important). It's about powershell being the object manipulation environment instead of a 3rd party tool like jq. This makes it easier to do stuff with your data with a .Net powered runtime rather than having to manipulate strings using tools with their own built in languages

I think the long form is because people usually tab to complete the names. Personally once you learn them they dont get that hard to type

If you use WSL2 for your development, are you even developing (fully) on Windows?

Maybe it wasn't clear in the post: I dont use wsl except as a backend for docker. I use powershell, not bash

There is nothing protecting your system from locking you out of any setting, at any point, and requiring you to buy a different key, subscribing, giving them your data, or whatever else.

Thats not something I care about

Any website you use. I've always wanted to write a CLI tool for vultr to spin up servers with scripts instead of the UI. They may already have their own tool by now, idk

Personally I think macOS sucks as a dev environment. If you switch to mac you should immediately use brew to install coreutils that don't suck. The bash they ship was built in 2007 (run `bash --version` and see; though they use zsh by default now), and their coreutils don't support any of the useful gnu extensions (try `grep -E` for example). Personally, I never saw why so many of my peers thought macOS was all that great, it seems like Apple doesn't really give a shit about developers who use their machines.

Plus, as other users have said, docker sucks on mac. Even windows is better (WSL can use memory ballooning so you don't have to dedicate a chunk of RAM to docker, the vm takes care of it)

Also I hear good things about ARM from a performance and battery/heat standpoint, but so much software out there is still designed around x86 arch that I don't want to switch.

(disclaimer: I use Windows, not Linux)

---

Coreutils:

brew install bash

brew install coreutils