4 ms·
I just got a new laptop, and as it doesn't have an optical drive and I couldn't find a USB flash drive in order to install Linux, I've kinda been stuck on Windo
by SwellJoe 10y ago
I just got a new laptop, and as it doesn't have an optical drive and I couldn't find a USB flash drive in order to install Linux, I've kinda been stuck on Windows for a few days.
I installed WSL a few days ago. Installation is a ridiculous process, and takes about 24 hours for the service to finally appear after you follow the steps to make it happen, which is not well-documented and just feels idiotic to a Linux user, who's used to being able to change kernels in about three minutes, and switch back and forth at will.
But, I mostly love it. I still plan to install Linux and I'm unlikely to ever boot back into Windows except maybe for testing (I used to boot into Windows for games, but these days Steam has more than enough Linux games to keep me happy, as I don't game much), but Windows is suddenly not the worst of all possible worlds for developing software for Linux, anymore.
It has some weird/scary quirks: Using an editor installed on the "Windows" side of the system to edit files on the "Linux" side of the system led to files disappearing completely. I also saw the usual Windows CR/LF issues in sharing files between Linux and Windows partitions, but also an additional weird thing that might be Unicode related: I piped output from a command into a file on the Windows side in a Powershell session, opened it on the Linux side, and found it had spaces after every character and some other bizarre stuff inserted into it; kinda like maybe it was created in a UTF encoding but then loaded in a non-Unicode encoding or something. These are probably things that have some reasonable explanation and some way to work around them, but they made me scared enough of inter-operation between the two sides that I now isolate the two completely. I don't try to work "back and forth". If it's a Linux thing, I work only with Linux tools, and vice versa. This doesn't seem to be as big of an issue when using the MSYS bash shell that comes with git, which is my other bash shell in this system. At least, using the git bash shell hasn't led to any files disappearing.
Another interesting issue: Permissions are super lax, by default, in the Linux side. Owned by root:root and mode 777 across the board in your home directory, which causes a lot of software to complain. ssh, Ruby bundler (downgrade to 1.12.3 if you're having problems running bundle on Windows, either under WSL or in Powershell; same solution works for different bugs), and a bunch of other stuff has weird quirks when given a directory that is 777. It's also just plain nuts. I guess Windows has a different security model and this may not be a crazy as it seems at first glance, but it does cause software to freak out. But, as I understand it, WSL didn't even have a user account until recently, so they seem to be making it better on that front. In the meantime, I wouldn't want to rely on it for anything important.
That said, it gets a lot right. It feels like magic to run nearly any Linux application and have it Just Work. I, admittedly, am only running text mode apps at the moment: vim, bash, git, Perl, Ruby, Node. I haven't tried any graphical apps, so far. But, that's enough to replicate most of my workflow for developing server apps, and I don't need a VM to do it.
I don't plan to stick with Windows, even now, but it's been fun playing with it, and seeing what Windows is like these days. It's pretty nice, honestly. If I were just starting out with computers, I'd probably have no strong need to move to Linux in order to be productive. I'd learn how to use Powershell effectively (though it's gotten a lot easier/nicer in recent years, and accepts many of the common commands a UNIX user would expect, like ls, cd, cp, mv, etc...last time I used it many years ago, every command was some "Stupid-Long-Ass-Thing WithBIzarreLY cApitalized-OptioNS"), and probably be happy with Windows as a development platform.
As an aside, the Windows side of other kinds of development has also gotten remarkably better since I last tried it. Perl runs wonderfully right out of the box including some XS (compiled) modules, with Strawberry Perl, RubyInstaller does the same for Ruby, Python has always been great on Windows and still is, PostgreSQL works fine, git works mostly fine (though I guess some kinds of filename that are OK on Linux are problems on Windows), SQLite is great (as expected, since it is used by tons of Windows software, including stuff from Microsoft themselves, I think), ack works fine, etc. We've kind of entered a golden age where your desktop environment does not prevent you from working together with people using other desktop environments; they interoperate very easily for the most part, particularly with common points of ingress/egress (github or gitlab, for example).
- mannimow 10y agoYou are talking about enabling insider preview which takes around a day to kick in and offer you the update. Since bash on windows is not included on the stable "branch" you have to go through the hoops to get it. This has nothing to do with the feature itself, which takes even less to install than pulling the Ubuntu image off docker hub.
- SwellJoe 10y agoI found it really clunky. I wanted a thing, and it made me wait nearly two days to get that thing; and it was confusing, to boot; I kept following the instructions and not seeing the service I expected to see. I now understand the process and what it was doing during all that time (er, actually, I still don't know what it was doing during all that time, but I understand it was working as designed in making me wait), I just think it is a clunky process that exhibits one of the bigger weaknesses of Windows. Windows simply handles updates and packages extremely poorly compared to Linux. It's interesting that the answers I've gotten about it being a poor user experience are all basically of the form, "No, that's how it is supposed to work. It isn't a poor user experience." Have y'all not used Linux before? I mean, apt-get and yum are really something special, if you're coming from systems (like Windows or Mac OS) that don't have good package management. Having one universal method to install and update everything on your system, including OS updates, is just wonderful. Nonetheless, Windows 10 is the best Windows I've used (ignoring the privacy concerns among other things), and I like WSL. It's cool technology and fun to play with. I'm probably installing Linux tonight or tomorrow, but it was a fun week of tinkering with something new to me.
- ctolkien 10y ago>I found it really clunky. I wanted a thing, and it made me wait nearly two days to get that thing That "thing" isn't officially released yet, hence the hoops.
- serge2k 10y ago> I installed WSL a few days ago. Installation is a ridiculous process, and takes about 24 hours for the service to finally appear after you follow the steps to make it happen, which is not well-documented and just feels idiotic to a Linux user, who's used to being able to change kernels in about three minutes, and switch back and forth at will. That is not my experience. edit: I already had insider builds. I don't know if it is fair to include the OS update time, but I can see why it is frustrating.