• Log In
  • Sign Up
    • For a software developer (and especially for certain subtypes of those), there is no question that (a desktop) Linux computer is a perfect fit. Dell XPS Developer Edition is a nice OEM example. Major IDEs, such as ones from JetBrains (IDEA)and Microsoft (VS Code) run on Linux as well as on Windows

      I had no idea you were that involved with Linux. The use of Linux to turn a 2010 Mac into a family server is telling of the power of the OS. Thanks for the invaluable insights.

      I am learning the programming languages R, SQL and Scala for a potential career in data science. The R Studio IDE is amazing and made Python, with Jupiter notebooks , less appealing to learn first. I just checked and R Studio is available for Linux.

      For programming, what’s the advantage to doing it in Linux over Windows? I guess I’m not sure I understand why both you and @Factotum favor it for software development. (Sorry if this is a newb question.)

    • From a strictly "just a user" point of view, if you don't feel an advantage, then there's likely no advantage for you. The trick is that you can't know until you have tried.

      Abstractly, the arguments I can offer look like this:

      - Linux is, as a rule of thumb, more efficient in using your hardware. Everything will feel snappier, and stay that way for longer (everyone knows that even the "good" versions of Windows tend to get sluggish over time, because innumerable legacy subsystems and structures inside the OS start to get clogged with various digital sediment)

      - for many if not most contemporary programming languages, toolchains and frameworks the original work has been done on some version of Unix, and, very likely, Linux. So you are just closer to the source, so to speak. Where on Windows to use many of those tools you have to go through layers of emulation and backports, on Linux you would be using more native code and glue scripts etc, which would, again, translate into efficiency

      - for the world of today's heavily networked software, the original Unix way of combining many small functional utilities, and the general ubiquity of "scripting" as an approach, is incredibly flexible and powerful. You can get something similar on Windows these days, using e.g. Powershell, but it is very, er, should I say, special and reminds me more of JCL from OS/360 than something I could use to quickly script deployment pipelines or configure complex systems from the command line.

      But again, it comes down to one's context. For people who have spent their career using Visual Studio writing drivers for Windows in C++, that programming environment is probably much more convenient than Emacs, or vim, or any modern IDE on Linux.

      P.S. One can probably make an argument in terms of price/performance as well. You can buy an expensive Macbook Pro or Surface laptop for your developer needs, or you can buy a Dell XPS Developer Edition (or find a cheap laptop you like that was made 5 years ago, for peanuts), and use Linux on it and get every bit of developer convenience out of it for much less money.

    • Can I run Office 365 on Linux?

      I find that question interesting because almost every time I try to convince someone to switch to either mac OS or Linux (to let you know I am running Linux on my laptop at work and mac OS on my desktop at home), that other person almost always says, "But I need Office!" And, well, no you don't.

      I can understand wanting to use Office but there are alternatives. You might prefer Office over those alternatives, but those alternatives do exist and so stating you need Office is false. (I understand you never said that you needed Office, so I'm not including you in that statement, I'm just stating what other people I have spoken to seem to be thinking.) These alternatives -- such as LibreOffice and Only Office -- are able to open Office files just files and can also save in Office format as well as the Open Document format.

      I myself haven't used Office in almost twenty years and I haven't had any problems.

      Once again, I can understand preferring Office over any of the alternatives, that is a personal choice, much like preferring Android over iOS or vice versa. But the fact that you can't use Office on Linux should not be a deal breaker.

    • - Linux is, as a rule of thumb, more efficient in using your hardware. Everything will feel snappier, and stay that way for longer (everyone knows that even the "good" versions of Windows tend to get sluggish over time, because innumerable legacy subsystems and structures inside the OS start to get clogged with various digital sediment)

      @StephenL this is exactly my experience as well.

      As just one example, when I first experimented with programming for Android, the officially supported way to do this was via a plugin to the Eclipse IDE:

      I installed IDE and necessary plugins on a Windows laptop to give it a try - and while it worked, it became sluggish fast probably due to lack of enough memory when compiling bigger apps. This was definitely mostly an issue on my side (pro-tip: don't try to compile stuff on some random old laptop if you can avoid it ;)) - but still, switching to Linux on the same hardware already helped a bit because of less OS overhead.

      Fast forward to today: I'm now using different hardware, and the officially supported IDE has changed from Eclipse to a standalone product based on a different IDE:

      I assume that using Linux while developing still is a bit better than switching back to Windows - but I haven't actually tried, and don't feel the need to.

    • that is a personal choice

      Sometimes there are legitimate tech requirements that require MS Office use. E.g. heavy Excel users, say, in corporate Finance or in complicated Business Development and the like, might well have to use it, because it is optimised for their use cases. Yes, Libre Office or Google Sheets, for that matter, are mighty fine for an average user, but when you load up on pivots and tens of thousands of rows per tab in a complicated cross-referenced sheet maintained by a distributed finance department spread across the globe, things become much less obvious. Excel shines there.

      What I'm trying to maintain is that the original question is flawed. There's no need ditching something for something, unless you know why.

      Things we are discussing are tools. If you are a professional, then you have to know your tools, and let your skill grow first and then have it dictate tool changes or upgrades. Of course it is very important to keep an eye of what is possible out there, and when you have time and energy, apply robust engineering assessments on what can be (preferably measurably, even though it is not always possible outright, see discussion above about "freedom") improved by changing your tools. It might be slight, or it can be a complete paradigm shift, or anything in between.

      But don't let hype or fear of missing out dictate your choices.

    • Actually, I do need office. It is provided to me by one of my workplaces and all of our collaborative efforts are done through that platform. So, if the 365 suite doesnt work in Linux, it is a non-starter.

      And that is maybe where the holdup that prevents Linux from becoming main stream. Failure of the major software providers to adopt it.

    • If the functions you need are available on the Office web platform then Linux may still be a viable option if it's something you're interested in.

      I think for most people, there isn't much point in switching to Linux unless there's a compelling reason to do so - for instance, software development, as has been mentioned already. And for anyone that needs specific Windows or Mac only software, you're forced into virtualization or dual-booting most of the time. I don't think it's worth the effort for most people, especially now that Microsoft and Apple have both switched to a licensing form that doesn't require you to pay for upgrades.

      Microsoft apparently doesn't make that much money from Windows itself anymore, so I wouldn't be too surprised if eventually they start looking into making their other revenue generators (like Office) more widely supported. Microsoft supports Linux on Windows now with Windows Subsystem for Linux (WSL) although it's not the same as simply running a Linux box. I seem to remember hearing that on their virtualization platform, Azure, Linux is the most commonly installed OS. I don't know what their endgame is, but they do know that they can't ignore Linux anymore.

      Having said that, I don't know how much they make from enterprise Windows licensing. I imagine it's still a decent chunk of revenue.

    • I do agree with what you are saying, but in my conversations with people about stuff like this, we are talking about using computers for personal use. I understand there may be restrictions to what can be used at work and that it is possible that your employer dictate you use a certain operating system or software, but in this case I am referring to home and personal use.

    • Please remember I am not trying to discredit your argument or convince you to do something that you may not want to or cannot do and I realise there may be more to the situation than what you are stating, but I just want to say that just because -- as you say -- all of your collaborative efforts are done through Office still does not that you have to use it. (Once again, maybe there is some other reason and you do absolutely have to.) I find a lot of people think that just because somebody sends them a Word file, they think that they have to use Word to open it. I'm just trying to say that that is not the case. You could send me a Word, or Excel, or PowerPoint file and I can open it just fine in LibreOffice. I could then modify it and then save it in the same format and send it back to you.

      But yes, if your "collaborative efforts" are being done in real time or you are doing something other than just opening, modifying, and then sending them out again, then you may need Office.

    • This exactly the info and perspective from a software developer that I needed! I’m still learning R and working with baby data sets, but as I get closer to working with Big Data from public data sources, I want to hold off as long as possible (or at least minimize) the expense of renting a cluster from AWS. Appreciate everyone’s perspectives and input on this.


    • I have their flash cards for Python and go through a few of them every night before I go to bed. I’ve already got four books on R that I’m going through simultaneously (it’s an immersion learning technique) so I’m currently covered, but yeah I am familiar with their books and have heard good things. Are you a Python developer or a data scientist? (Gasp! I asked a personal question.)

    • I know a little bit about Kaggle but not much. That people bash it as far as using their data sets for your portfolio projects because it is “scrubbed data” and 80% of a data scientist’s time is typically spent on data wrangling.

      But I figure there’s more to the story than that. What do you know about it? (Appreciate any insights you care to share.)


    • I'm afraid I don't have anything useful to contribute about Kaggle except its existence and that it is considered to be one of the more or less useful playgrounds to tinker around (and get some free compute capacity) when you are exploring data science.

      On another note, there's an interesting tool just open-sourced by Netflix -

      Or you can check out Amazon's DeepRacer (or just released DeepComposer if you are interested in music+AI)

      If I rummage through my notes, I could probably keep this up for a long time, these days there is no shortage of absolutely mind-blowingly interesting stuff to tinker with, I wish I had the time for all of it!

    • I’m doing research for a piece on Sports Analytics and there are some interesting data sets on Kaggle for professional soccer to train on, if you want to try to get a job in a club’s home office. There’s also a huge dataset of Hong Kong horse racing, which is a multi-billion dollar sport, should one want to work for one of the syndicates that try to time their bets for when the odds are in their favor.

      Note: I use “you” above to reference someone reading the finished piece.

      Okay, someone bring the conversation back to Linux.


    • Okay, someone bring the conversation back to Linux.

      No sooner said than done. Google sells a developer board called Coral, custom-designed for running machine learning tasks. It runs a customised version of Debian Linux, called Mendel.

    • It runs a customised version of Debian Linux, called Mendel.

      Maybe this is a question for @Linux but I am confused as heck by the different “dialects” of Linux.

      I get programming languages optimized for a primary task: R for statistics and data visualizations, Scala for data engineering, Python for building pipelines.

      But why are there different operating systems under Linux? In the archives, someone mentioned using Ubuntu because there was a huge number of educational software for the school computers it was installed on.

      Is there always an endless rabbit hole in tech?

    • > But why are there different operating systems under Linux?

      Because Linux is, originally, the kernel. But a workable OS needs more than just the kernel, and there's a myriad ways to package all that extra stuff. Especially so if the packaging is done by a multitude of different organizations, both non-profits and for-profits.

      As a gross oversimplification, there are many car brands with an internal combustion engine.

    • Okay, not sure what a kernal is but I’m okay with that. Since you’re a developer, I’m curious what version of Linux you use: Debian Linux, Mendel, Ubuntu?

      Again, greatly appreciate all of the patience in explaining things to a newb. I just feel like a lot of times it’s “Oh, you just download it from the website and install it” when there are a gajillion configuration steps to screw up if you don’t have the secret instructions.

    • I am using Ubuntu myself. It has a desktop experience somewhere between Windows and MacOS, so it is easy to understand coming from either of those.

      On the official Ubuntu web site, there are two different versions. I suggest downloading the LTS (long-term support) version, that should be a bit more stable and will get maintenance updates for the next three years without you having to deal with any larger changes:

      If you want to give it a try first, there's also a tutorial on how to create a bootable DVD or USB flash drive that you can use to run Ubuntu without altering your existing OS installation:

      The kernel, by the way, is simply the innermost part of the operating system that deals with the hardware directly.