Hacker News new | comments | ask | show | jobs | submit login
How I came to find Linux (ianmurdock.com)
317 points by pythonist on Aug 18, 2015 | hide | past | web | favorite | 115 comments

Well when Linux came out I was just annoyed that I hadn't been the one to do it. A friend of mine (the author of TinyMush) and I were certainly thinking about it at the time (I had embedded OS design experience, but none with virtual memory so maybe we would not have pulled it off). Also don't forget that the enabling technology was gcc and there was the example of Minix.

We did contribute to the floppy driver. The original driver read a block at a time before incurring a rotational latency. I had had enough of this slowness with SCO Xenix, so added a track buffer to speed it up on Linux. My friend wrote the original generic SCSI driver, to support a film scanner.

I think we may have made one of the earliest products using Linux. We worked for an entrepreneur who started a business selling medical image archiving and teleradiography equipment. In those days, ct-scan machines and MRI machines had no networking. To get images from them you had to capture the image sent to the console screen or use the 3M laser camera parallel interface. (My job was to make cards for this capturing). Image transfer was over phone lines using sz/rz and Telebit Trailblazer modems.

Anyway, at some point one machine did have network (I think it was some proprietary interface, not DICOM). The problem was that Linux did not yet have a networking stack. The solution? Use "KA9Q", the amateur radio TCP/IP stack in userspace for this.

At some point Pat Volkerding (Slackware) also worked with us. I remember he was a big deadhead at the time, wrote Slackware while living in parent's basement. We were half installing / half developing a teleradiography system after hours in Eastern Long Island Hospital.

You should strongly consider writing a blog article about your experiences, there's some really great bits of trivia you're describing. Particularly about crossing paths with Patrick Volkerding (he's still a diehard deadhead from what I know).

I'll second this. I love reading stories like this.

I remember being introduced to Linux by our programming TA, who used to come at classes with the 'You need Python' t-shirt (it was early '00s for me). "So you don't need to reboot after installing a program?" - I was shocked. And in awe.

Then I jumped in the library and got myself a manual based on the UNIX 'System V R4' and am still amazed how 15 years later all commands still make sense (BTW, a link to the PDF copy of the SVR1 manual has passed here on HN a few days ago - I _so_ recommend it to anyone starting out[0]).

Dissatisfied with RedHat, Mandrake and SUSE I fell in love with the minimalist Slackware - that was my first true love, the one you will never forget.

Good memories, made of long nights recompiling the kernel, failing and wonder why nothing boots anymore, giggling when modprobing the module for the wireless device, and dreading leaving the home server up at nights with port 22 open (did I harden it enough?).

[0] https://news.ycombinator.com/item?id=10052592

Amazing feeling right ? Seriously, the way you describe it .. that's how people who truly love software should feel. Kudos !

No, you don't need to reboot Linux. You need to consistently make fixes which include go to this config, change this line so that this software-package doesn't crash. Oh, it still doesn't work then please reformat it.

If you want an OSX which doesn't require reboots OSX is the answer.

Yeah OSX will just magically solve all your problems, unless you live in reality.

But seriously - I was at a customer site yesterday with some colleagues and Wifi wasn't working for any of the Mac users. They were all told to reboot and then it worked. OS X is an excellent system, but it's shit stinks like the rest of us.

OSX is defiantly a curates egg "good in parts" cough cough ntp :-)

I think this is what happens when you try installing Gentoo or Arch, configure everything your self, and then realize you didn't do it right and now it's a constant headache. New users should really stick with the easiest to use distros like Ubuntu or Fedora, which IMO are on par with OS X in terms of usability and simplicity.

Gentoo, /sigh. That was a great part of my linux learning experience. I bought into the hype a friend told me about "you have so much control!", and effectively shot myself in the foot because compilation time was so slow (and I didn't yet know enough to use it well).

The slow manual install process? I can't remember any of it, and would have to read a howto again if I had to do it -- but I think it went a LONG way towards demystifying things: everything was just user-editable config files and sources. There's no magic, and almost everything is something I can change with compiler flags.

Of course, I now heart ubuntu and debian, because I tend to agree with the choices of most package maintainers as far as compilation options, and my computer is fast enough that I don't think I'd notice if my office binary were maximally optimized or not. ;) However, I might not have gotten here had I not been exposed to Gentoo and Slackware long ago.

I think calling Ubuntu on par with OS X is a stretch. Not that it's that far, but I've had many more stability issues with the LTS versions of Ubuntu than with Mavericks or even Yosemite.

I agree, though, that sticking to Ubuntu or Fedora for new users is a great idea. They are both excellent operating systems with regard to simplicity.

>I've had many more stability issues with the LTS versions of Ubuntu than with Mavericks or even Yosemite.

By any chance are you running OS X on Apple hardware? If we took OS X and installed it on an Ubuntu Certified Dell PC we may find that it has the stability issues, so if you are comparing it to OS X running on Apple hardware it's not a very fair comparison, as it's being run under ideal circumstances and Linux is not.

that may be "theoretically" the fair comparison. but in practice, most people run osx on apple hardware and linux on any hardware. So to get an actual comparison of the user experience, it is fair to compare them on different hardware.

I think it would be much fairer to compare OSX on Apple hardware, to Ubuntu on hardware where it's certified by Canonical. Meaning that the hardware works and you're using the version of Ubuntu it was certified with [1]. An example of this would be the Dell XPS developer laptops, which are certified, and an image is created that by Canonical with the correct drivers in it.

In those circumstances you shouldn't have any "stability" issues because it's a like for like set of engineering - basically.

In general, in terms of your other comparison with "any" hardware on the Ubuntu side - the two most likely causes of problems are hardware drivers and user fiddling (ie mixing repos and kernels). Lack of engineering support from manufacturers for client hardware is a big issue that's outside the Linux distros control. Nonetheless, if you use common supported hardware and standard installs then you shouldn't be having stability issues.

[1] http://www.ubuntu.com/certification/desktop/

So OS X is unusably more expensive.

is there a reason you decided to repost this?

So OS X is unusably more expensive.

Funny, because my memories of using OSX feature kernel panics, memory leaks and all kinds of broken behaviors. Even running Fedora on a macbook pro was significantly more stable, and Fedora's not known for its stability. Maybe my experience is unusual.

Not at all unusual. I find OSX to be genuinely dreadful for stability and a 3rd class unix at best in its userspace.

Well I've had more stability issues in OSX (two personal laptops, a work laptop, and a work iMac), than my goto personal setup... Debian Unstable.

Personally Debian Sid is my top choice, Arch being close second, and SlackWare being third for sentimental value.

Ubuntu always breaks on me after a while. Mint destroyed two separate and different installations with its full disk encryption. Gentoo is too much work. Fedora... I just cant bring myself to use something called yum. The Mandrakes, Mandrivas, PureOS's, et. al. and the derivative distros just feel like crutches to me. In my opinion nothing come close to the simplicity and straightforwardness of Debian.

>Fedora... I just cant bring myself to use something called yum.

They use dnf now.

Damn. That is even worse. To me DNF means either Duke Nukem Forever or Did Not Finish. I'd rather not chuckle every time I mean to update a package... :)

I find Mint (Ubuntu minus Unity) to be much more usable than OS X. OS X has some really bad behaviors by default. One example is the Alt-Tab key which is split into two different keys which make no sense in my workflow. The concept of "App" is an implementation detail but OS X brings it to the forefront.

Maybe I was never the typical "new user" because I moved to linux from OS X after I realized that the way I was using my mac, doing everything in just the terminal and web browser, was going against the grain in apple-world, but was the "right way" in Linux.

I started by using Fedora, which worked well for me, but there were occaisional annoyances, like having to install a lot of software to /opt and /usr/local instead of making custom packages because rpms are a pain to make, and some major, and difficult to compile and configure software (specifically mono), being too out of date to satisfy dependencies for something I wanted to use (KnightOS development tools written in a recent version of C#). When I wanted to edit the configuration of some software, it was much more difficult than it needed to be because it was already running a custom configuration highly tailored to Fedora. Rather than just finding support online and doing what it said, I had to invest quite a bit of time into figuring out how the software worked, and how it integrated into the fedora system, before having a high enough level of understanding to figure out the changes that needed to be made myself.

After just 6 months of using fedora I migrated to Arch. The installation process was slightly cumbersome. I had never configured wifi using anything other than a graphical wizard, and even though netctl is really easy to use, it took some getting used to. Partitioning my drive without gparted or OS X disk utility was daunting. But none of these were too big of challenges, because the beginners guide, and the rest of the Arch Wiki, were so thorough and easy to follow.

I installed GNOME and never ran into any issues. Nothing ever broke, except when I installed incompatible video drivers, but that was my fault and easily fixable by booting from the installation disk. Unlike in fedora, almost any software I could ask for was in the official repositories, configured minimally. If it wasn't, then it was on AUR. And for the software that no one but I use, creating my own package was so incredibly trivial that it was almost easier than manually compiling from source.

A couple months later I added a second arch installation to my machine with full disk encryption (keeping around the old one because I had no where to back up to at the time). And then a couple months I replaced both installations with a cleaner (gummiboot instead of isolinux, luks on lvm rather than lvm on luks), bigger (occupying my whole drive rather than just half) arch linux installation.

Just a couple days ago I reconfigured my system to run debian and arch in dual boot with a shared home partition, both with in an lvm configuration over luks. While the debian installer was powerful relative to fedora's and ubuntu's, I found that I had to drop down into its very underpowered busybox shell several times to acheive the configuration I was going for. In comparison the Arch installer is just a full live arch installation with arch-chroot and pacstrap bundled in to be able to manage packages on a foreign system.

tl;dr I think that if you encourage new users to focus on the fundamentals of using linux, the "easy to use" distros will quickly become harder to use than the more "advanced" distros.

You can run a debootstrap and get a chroot environment from which you can customize Debian without the installer.

Oh I'm sure I didn't approach it in the most optimal way. I have years of experience with Arch and only a few days with debian — less when I was installing it. It's only natural that I'd end up using the wrong tool. Assuming I don't get too frustrated/bored with debian, I'll be infinitely more efficient with it in a month or two. Or so I assume, I trust that all the smart people using debian are onto something.

My point, which I now realize I thoroughly obfuscated, is that by only providing low-level tools and focusing on making them simple and transparent and well-documented, Arch makes its inner-working much more accessible to beginners, at the cost of maybe seeming impenetrable to the total noob.

If you haven't played with Debian derived systems before, debootstrap can be esoteric. I was pointing it out as an option for someone who wants to customize their system from the ground up / the most minimal install possible (just a bunch of files spit into a directory).

You can also install a debootstrap binary for most other distros and bootstrap a Debian chroot system in less than 3min ; )

>I trust that all the smart people using debian are onto something.

The big contrast with Debian and Arch are their package maintenance policies and release cycles.

The Debian community strives for a system that works well together and is stable above all else. Software must conform to standards of quality and stability, might be modified by their maintainers to that end and will be staged through the whole experimental -> unstable -> testing lifecycle before being deemed stable. This is a big deal for systems that you rely on or that you'd like to set and forget. Having the guarantee that software Works and updates won't break the system are also important.

From my experience, Arch is much more liberal about their packaging and is closer to the Debian sid/unstable experience in that you have access to bleeding edge packages that work 95% of the time, but sometimes you need to get you hands dirty to get your system working.

I think it depends on how you live it.

I remember that doing ./config failed, and I honestly had no clue in the beginning. So, while some friends of mine suggested that I abandon Linux and use Windows "because it works, and you don't have to waste your time" I decided to `waste` my time.

So I googled, asked around, watched the masters, and most importantly, learned. I tried again, failed again, and faster, but not on the same pitfall. Always on something new. And in the process I increased my knowledge of the system, of the programming languages used, I learned how to patch the software, clever and not-so-clever tricks.

The best part? I'm still failing, and I'm still learning.

I'm not into OS-wars - I just loved what I did, still do, and I'd do it again a million time :)

I've been running Fedora for 10 years now, and I have no idea what you're talking about. I did have trouble of that sort with nVidia drivers until nouveau became an acceptable replacement, but never had configuration problems with apps. I hear Ubuntu is pretty good too.

Don't get me wrong, I like Apple products too, but it's a bit harder to get some things on there like GCC.

Some context: The last time nnoitra tried running Linux was in 1998.

Yet I see this sentiment all the time on, of all places, Hacker News. People absolutely convinced GNU/Linux is some arcane, unusable dark art. It's quite baffling to watch, really. Then again, most people don't install Windows and OS X on hardware as heterogenous and diverse as what GNU/Linux frequents.

If you can't even handle GNU/Linux, though, what does that say about people's receptiveness to research OS that completely shakes established paradigms? Are we just going to keep reinventing what is most convenient to our preestablished biases? Given the things coming out of GnomeOS and Freedesktop.org, it sure seems like it.

Regarding your questions, have you seen this? Rob Pike's lament "Systems Software Research is Irrelevant": http://doc.cat-v.org/bell_labs/utah2000/

Of course, it's a classic that remains pertinent.

    ...then again, most people don't install Windows... on hardware
    as heterogenous and diverse as what GNU/Linux frequents.
Leaving out the very micro (Raspberry Pi, etc.) and the very macro (supercomputing clusters) I highly, highly doubt that's the case.

Before you buy a computer you plan to install Linux on, you check the compatibility lists. Before you buy a laptop to run Linux on, you check whether Linux has drivers for the Wifi chipset. Buying a graphics card? Does Linux have drivers that can fully exploit it?

Arguments about Linux's alleged superior hardware compatibility seem to always be based on anecdotes about that one time a relative's Windows computer wouldn't talk to some printer.

Walk into any Fry's or other similar store, pick a random piece of hardware off the shelf, and there's a significantly better chance of it both a. working at all and b. being fully supported on Windows over Linux.

We can't blame people for failing to understand how generic programs and OS can be.

About your last point, biases takes a huge amount of energy to overcome. I really wonder when such a shift will happen.

I have a 2014 MBP and it seems all I ever do is reboot the damn thing for updates. It would be nice if the "re-open my windows" actually respected workspaces...

    If you want an OSX which doesn't require reboots OSX is the answer.
OSX requires a reboot after the weekly OS updates that each contain dozens upon dozens of security fixes.

That OSX doesn't require reboots (and that it has a security track record that's better than Windows) is the Slashdot-esque 'inverse FUD' you realize you unconsciously bought into only after the fact.

You got downvoted, but you make a good point, if not slightly hostile.

However, I think it's great that people have those tools for Linux. Sure, they might need to be configured sometimes, but most of the time they're something someone online thought they needed so they made it. It's a great community.

However, while I have had to make lots of configuration changes with Linux (even if it's just adding API keys, changing some simple and documented display parameters, sand so on) I've never experienced stability problems with software. I mean, sure there exists bad software, but I've always had great stability on Linux.

Wow, that's a remarkably similar story to mine. Except I wound up with FreeBSD because of, well, Linus.

I had a very similar journey. For me, I got hooked on computers when my mom (a programmer at a defense contractor) would take me in to work when she didn't have a sitter. I got to hang out in the computer room and play adventure on the minicomputers they had in the late 70s. I had the typical Apple II experience many of us had in the early 80s. I learned to type by typing in those games from Byte (and how to debug by finding my typos), eventually writing my own games and learning 6502 assembly.

Flash forward to university and my first Unix account on an always-melting-down sparc server. There were dozens of DEC VT220 terminals in our public lab at UB in 1989, but only a few Xterminals which were highly coveted. My friends and I jumped at the chance to use them. Most of us eventually got on-campus jobs or internships with the goal of getting unfettered access to Sun or DECstation workstations. I STILL use some of the same keyboard shortcuts from my 1990 .twmrc, and my .cshrc, .Xdefaults and .emacs files have all just evolved from then (and yes, I still use tcsh).

The first time I installed Linux was from a stack of 3.5" floppies sometime in 1993 when I was a grad student at a different school. I was a huge Linux fan.

A year later, I met Linus at the '94 Linux BOF at the USENIX in Boston. At the time, I was trying to convince our dept to buy PCs rather than Suns or DECs to replace some wheezing grad student workstations. However, I ran into a problem where we used LaTeX, and it kept its fonts on a central NFS server (these were the days when disk space was precious, there were no package managers, and everything was installed by hand --- so installing stuff to NFS was very common). The 12MHz Mips R2000 DECstation 2100s we had (our slowest machines) would render a page of text in a second or two using xdvi. However, a test Linux machine (which was a blazingly fast 66MHz 486) would take 10x as long. I eventually figured out that this was because Linux NFS did not do any file caching at the time, and xdvi was seeking around byte by byte in the font files.

I was very excited to meet Linus, and was really looking forward to the USENIX BOF. So when I asked Linus about NFS file caching, he blew me off in what I now know is a typical Linus like fashion, and said he didn't care about NFS. So I went to the very friendly and welcoming FreeBSD BOF, found out that NFS works, and never looked back.

> So when I asked Linus about NFS file caching, he blew me off in what I now know is a typical Linus like fashion, and said he didn't care about NFS.

I have always wondered if Linus was a bit for friendly, would the Linux community have gotten a lot more mainstream faster?

>I have always wondered if Linus was a bit for friendly, would the Linux community have gotten a lot more mainstream faster?

I don't think it would have made a difference. *BSD has never really become mainstream unless you count Apple, which I don't. I think the main barrier to Linux success on the desktop is the fact that in my life I've rarely seen advertisements for Linux, while Apple and Microsoft seem to be everywhere.

I think if a Linux distro had a huge advertising campaign it could actually snag a sizable portion of the desktop market.

To be clear you're describing advertising to the mass-market "general users", rather than developers.

Actually, there is quite a bit of advertising, particularly in BRIC countries to that segment. It works as well. In many cases you're talking to people who are buying their first or second PC - but even here you'd be surprised by the market perceptions you have to overcome: people believe they can "get a job" if they know Windows, and that Mac's are stylish (aka a status symbol), and that Linux is too hard or for geeks only.

A lot of general users are surprised when you should them that Linux can do everything that a 'normal user' wants their computer to do - quickly and easily - at a price that is way better than the other options. No command lines involved.

In the spirit of root cause analysis you might ask, 'why there is no advertising?' at the level you're talking about. And the basic answer is that Linux is a difficult proposition for the hardware OEMS: it's a cost to them, and the users perceive it as 'free' so hard to pass that onto them. Whereas, Windows is margin to them, and obviously Apple makes most of it's margin on hardware sales. If you go a step further back then the underlying issue is that the client PC sector doesn't make a lot of money - all the large manufacturers struggle. So it's a pretty conservative segment. It's a low margin market that demands a lot of volume: the equivalent dynamic to supermarkets. That's why RedHat said it wasn't a segment for them, and why Ubuntu/Canonical puts a lot of energy into shipping volume in developing markets.

Ultimately, I think user networks are far more important than traditional distribution. Advocates and friendly support networks work. That's why it's much more important to convince others to use Linux, and to greet all Linux users as part of the same family - rather than fighting over whatever flavour of <init/desktop env/editor/etc> is the "true way"!

FreeBSD powered both Yahoo and Hotmail initially, though both have largely replaced it (I don't know that they've completely done so). BSD's networking stack offered genuine advantages at the time.

It still does, since Linux, OSX and Windows' stacks are all based on it!

Linus is ultimately a microcosm of the broader Linux community, which includes so many areas. One cannot tell for sure.

In any event, Linux not being mainstream might well be a good thing depending on your POV. I'm becoming more convinced that the GP dodged a bullet as I go on.

I have only interacted(If you can even call it that) with Linus online and I too have found him to be abrasive.

It was a completely non-technical discussion and Linus had a moment. I found it to be very off-putting.

He doesn't project the image of a Visionary, the way Jobs did. He doesn't project the image of an inspired Nerd, the way Gates did. He projects the image of a really smart and driven but annoying guy with whom you wouldn't choose to hang out recreationally.

It's a good thing projecting such an image is rarely relevant when it comes to running a successful free software project online.

No, but his personality, mixed in with Stallman's and the general aggressive militancy that surrounds GNU projects is beginning to hamper it in my experience.

People have been saying this for decades, yet Linux and GNU software are everywhere.

I discovered Slackware Linux in 1995's summer with 1.0.9 kernel, still using a.out format and first support for non SCSI CD-ROM drives. Had to use the installation from a MS-DOS partition.

Already knew Aix and Xenix back then, but having UNIX at home was great and I became a bit too much FOSS Zealot.

Nowadays I use all OSes and the Zealot guy has been replaced by a pragmatic guy that uses whatever makes sense for the business.

I remember the joy I felt when I downloaded Linux for the first time and booted it on my 386 .. it was like I was suddenly granted access to the hallowed halls of technology. I'd been a Unix guy for a decade before that, but never able to afford my own machine .. working with a Magnum pizzabox at work, but a lame DOS PC at home, it was always very frustrating to me. But when I got on the minix-list and saw Linus' post a few days later, I was instantly transported into an .. at the time .. elite new world.

Never looked back, and its amazing to me today to see just how far we've come. Truly a phenomenal technology ..

And now the situation for many of us is reversed - I have a powerful Linux workstation at home where I work on my own projects, and a crappy under-specced Dell running Windows at work. It is very frustrating to me :(

That is indeed a quandry! Virtualbox for the win! :)

Try connecting a Linux box (or vm) to the network and you'll get to watch Corporate IT throw a massive hissy-fit :|

Need they ever know if you do NAT instead of introducing a new IP on the network (making sure that the Linux image isn't advertising any naughty services like SSH of course)? Of course, on a corporate Windows box you may not be root, i suppose...

Courage to you nonetheless! Time to find a job where you're root on your machine? :)

I fid HyperV an godsend I run about 5 or 6 vm's for testing at work a mix of Ubuntu LTS and various phone emulators

I was setting up one of those new fangled web sites at the software company for which I worked back in 1995. It was just two of us doing it in our spare time, with me doing the software side of things and a colleague looking after the hardware. He installed Slackware Linux on some hardware he had scavenged, and I installed Apache, Perl and (slightly later) MySQL. These choices weren't because we were visionaries or anything like that, but because we had zero budget and didn't know any alternatives.

The funny thing is, I remember a few years later going for interviews and being slightly bashful about our use of free software. But it was only after I subsequently got a job at a much bigger company using very expensive commercial software, which was an order of magnitude slower and mind bogglingly unreliable not to mention completely opaque, that I came to realise just how good some of the free software is.

Wow, that's quite a story, he clearly took it more seriously than I did. Mine is pretty simple, because I loved to tinker with OS's, and since everyone is sharing...

My local ISP gave away shell account I could telnet to and access a home directory that became a free website, ie theirispname.whatever/~myusername

I logged in, used HTML and Perl to do what I thought at the time to be the most amazing stuff in the world. Found out they used a variety of Linux as I sniffed around the commands available to me (like I had done with MS-DOS over the past couple years).

Thought it was awesome, and I ended up putting Slackware on a couple of my old systems people had donated to me and run little servers in my bedroom. Eventually went to RedHat, then CentOS, now mostly Ubuntu.

At the time I saved up for, and bought, any books that said "Linux" on them that came with CD's stuck to the back with a distro I could install :)

Being used to Sun workstations, and then DEC Alpha boxen, it was rather cool to be able to download and install a pretty complete Unix system on my PC at home in '93/'94.

No Internet at home though so I had to get multiple boxes of floppies from stores and download everything at work and then cycle home with them - I seem to remember X and its applications being the single largest chunk of stuff to install.

I went through the floppy hell my self with something called minilinux first, then slackware. After failing both I went out and bought a slackware book with a CD and everything went much better.

Been a linux user ever since :)

I remember being very chuffed with the fact that the boot and root disks (on 3.5" floppies) were physically smaller than my copy of "Portable Unix" [0]

Then a year or two later getting Dec$Write running on a V8650 to display on the X11 server of a Linux box elsewhere on the campus instead of one of the creaking DecStations we normally used.

Now I'm sitting in front of a laptop running Ubuntu and have an Android phone in my pocket. Good times (then and now).

[0] http://www.amazon.com/Portable-UNIX-Douglas-W-Topham/dp/0471...

heh - in 1997-1999 I was replacing a novel network on token ring with a new IP net. I had some B2B EDI crap that needed to be scripted to deliver files from us to Sun...

I installed several linux servers and hired a couple contractors I knew to manage the deployment. They setup these linux boxes and consulted supporting them....

I went to one of them on day and said "you guys should just start a consulting company offering linux support!"

A few weeks later, one of my consultants came back and said "Hey guess what! We are starting a linux consulting company!"

I was excited... we talked briefly about me joining them, but that didnt work out...

A little later - they were valued at over $1B!

Those consultants that worked for me on this in 99? Dave Sifry, Art Tide and Chris DiBona.... They founded LinuxCare.

I later met Linus at one of the conferences and chatted with him for a bit, I don't recall him not being friendly though... but that was the only time I met with him.

I remember that in 1994-1995 Linux was a shock: you were able to run for free in your personal computer a system that did similar things to SCO Unix or Coherent (Unix clone) without the need of pirating it (students were used to pirate SCO Unix 20 1.44MB floppies using a special DOS copy program called "PC Trace" in order to copy non-DOS formatted disks, that "tradition" was lost because Linux was able to run using less space, and usually performing quite well on cheap hardware)

Even after all these years, sometimes something like this article makes me stop and think how awesome it is, and how fortunate I am to have had Linux and open source available. Having the freedom to learn about and tinker with everything is incredibly cool, and one reason I don't think I'll ever give up Linux as my OS for... pretty much everything.

Wow, I did exactly the same thing, sneaking around in labs, carrying floppies, saving pennies.

The only difference is that it was Duke Nukem on my floppies. I bet this guy has a better paying gig these days :/

I have no clue about his pay, but his karma must be very very high. Thank you for giving us Debian!

Murdock mentions that he was studying management at the time he got into Linux. I couldn't find any further information about it. In Wikipedia it says that he studied computer science in Germany. At some point in life he changed majors. I'd very much like to read a post about that decision.

I share the love of computers. I spend all my free time in front of computers, programming and reading. It's been like this for my whole life. Due to a twist of fate (couldn't get a scholarship) I ended up in law school. I have no interest in anything beside computers. I can't live without them, but it's killing me to know that I can't study computer science. Any suggestions??

If you spend as much of your free time programming as you say, you'll probably be spending more time programming than many CS students I've come across who have no interest in computing, and you'll probably be much better at programming than many CS graduates I've come across, who have hardly any interest in computing.

Your passion will take you further than your college programme.

This was my experience as a hobbyist with a business degree who went back to school several years later for CS.

My second semester, we worked in groups of four for an elective Robotics course. Our group was composed of 3 seniors and me. One was super competent, I noobed hard but contributed working code and the other two were very eager to do the write-ups.

That wouldn't work at my university, unless it changed a lot on the last 20 years.

A lot of people fail CS, but I have friends who go through without having a real passion for it, and just doing enough to get through it.

And in the workplace there are plenty of people who know enough to do their programming jobs, but don't have a real interest in it, don't code at home, etc.

People with passion for it will shine eventually, whatever road they take.

Must be a minority then you know they built the raspberry pi to try and get kids to have some programing experience at GCSE and A level (15-18)

This was so they didn't have to teach the basics on CS and EE courses

You are talking about UK.

On my Portuguese university, we got to code in standard Pascal, C, C++, Prolog, Smalltalk, Caml Light, PL/SQL, 80x86 and MIPS Assembly, Java.

Many of the lectures were composed by exam + mini-project.

Anyone that made it without much coding was getting a ride in workgroups, on single projects it was either code or fail.

I don't think you really need to go to a computer science school to study computer science at this point. It can be done, perhaps much better, on your own with the amount of courses and information available online.

If the issue is purely financial, could you crowd fund part of your CS education ? People are starting to crowdfund healthcare [1], some are crowdfunding their university education [2].

That being said, I feel like CS is one of the few things you can study in depth for free using the internet. I'm not saying its the only one, but I really do feel like you can. Actually, that's why I decided to go with engineering at university, because I felt learning CS without school would probably be easier than learning rocket science without school because of the material freely available online. This way I could learn both aero engr and CS! (the hard part with this reasoning isn't finding the material, it's having the work ethics to read, understand, and apply what you learn alone).

Maybe your law school has an online library also ? Back when I was doing my Bacherlor's, I wanted to learn more about math, aero engineering wasn't broad enough and wasn't in depth enough either. So I went on my online library and read pretty much every graduate textbooks in math I could find. It was so simple, I'd just type what I wanted to study, and I would read the books accessible online. I didn't even need to be on campus anymoe. I'm saying this because if you can find CS books that you can read for free and that are easily accessible/legal, you can learn CS this way. Of course, it'll be a lot harder to learn CS (anything actually) alone than by being 'forced' by your prof to read the books, turn in homework, and study your stuff for the exams. But with discipline, of course it's possible. I didn't learn engineering by going to class, I learned and earned my BS in engr by reading the books, doing my homework, and studying for my exam; not by going to class. I actually only very very rarely showed up to class. It may be very hard while also going to law school though :(

Anyway, if math isn't a barrier/scary to you, definitely look into alternate ways to fund your CS education/making your own

[1] https://watsi.org/ [2] https://hubbub.net/p/eotoimperial

Do you find the law degree interesting? If so, I'd recommend continuing with it, and focus on doing well. You already have the interest in computing, you don't need to go to school for it. My personal opinion, if I was in your situation, would be to continue mastering the law, and working on computation in my spare time, and then start getting involved in computational law. Having a niche like that is great, since it helps you focus.

After kicking and screaming for a while, I do find the law degree interesting. I think this issue is a turning point in many hackers' lives. I feel much better now. Thanks for all the help and support you guys showed. Especially thank you for making me realize that nothing is lost by not majoring in comp-sci. It was really an existential paradox for me.

A programmer with a law degree can be really useful to a company. Particularly if a company uses open source. You have a perspective on software licensing that many do not have. Programming remains a profession where certifications and degrees are much less valued.

If I were you I would leverage your unique perspective as both someone who understands law and code.

Being a fellow law student who decided against a formal CS education, I can second that. It also works the other way around, a lawyer who knows about computer science is (in my experience) pretty rare, and issues that also require a thorough understanding of technical processes (e.g. privacy legislation) are becoming more and more important.

Hi. This is Ian Murdock.

I struggled for nearly two years after I found Linux before I changed my major to computer science. I thought I was too far along toward my degree to make any change. After three semesters of hand-wringing, Advanced International Tax Accounting helped me realize it wasn't too late actually. :-)

The other commenters are correct: You don't need a degree in computer science to do what we do now. In fact, as other have already pointed out, these days, a more well-rounded background / education is a major advantage, whether that background / education is law, design, writing, etc.

Best of luck to you.


Almost all of the programmers, coders and internet guys I have worked with or know have not studied computer science at university.

Almost all of them have the same interest, passion and enthusiasm as you have. Studying computer science won't get you as far as that.

Plus because they have varied backgrounds, they can bring additional colour, learning and stories.

I wish you could experience how much this reassurance meant for me. Living an isolated hacker life can lead to harmful presumptions such as me thinking that I had to give up my dream of continuing to work with computers 'cause I couldn't study it at a Uni. Now I realize how unreasonable and childish that was. Nevertheless, this very idea caused a depressive episode for more than a year. I am leaving this comment here because I know that there are other hackers out there struggling with the same problem as me. The solution to it can be as brief as the few sentences in your comment. I am sure that I will bring additional colour, learning and stories to the hacker community. Thank you again.

Although my favorite free Unix-like is NetBSD, I have a great deal of admiration for what Debian does and how it does it. To me, it is one of the best Linux distibutions, along with Slackware and Arch.

Debian and Slackware: both roughly same age (Slackware releasing first). Contrasting package management, patching policies and governance models. I find the stable releases of both to be, well, stable.

For me it was visiting a friend who was using RH4 and seeing the stuff he was doing, I was already a computer geek and programming quite a lot so the idea of an open source operating system I could have the source code to was incredible.

I broke the family PC a whole bunch of times (software not hardware) before I managed to get linux onto and then onto the internet, after that nothing came close as a platform to work on and so it's nearly 20 years and I still run it to this day.

Awesome. I read the whole thing without reading the name of the author, so I got to read the whole story without knowing it was written by Ian Murdock

I was taking a Unix programming course in college and had a large enough programming project that it was a burden to try and program on the terminal through SSH or Telnet. Since I wasn't going to get Unix on my PC, I needed to find an alternative and remember hearing about Linux in the past. This was probably right around 2000.

I don't remember the reasons why, but I didn't download a distro and instead went to Staples and bought the cheapest flavor they had for sale. I can't remember what it was, but it had a GUI and text editor and all the backend programming stuff I needed to do the project much more efficiently.

I ended up keeping that Linux partition around and used it to teach myself Apache, MySQL, and PHP, which is what got me my first job our of college. That company was an Apple shop, so that's when I was first introduced to OSX and the need for a Linux desktop was eliminated for me.

My university was still using telnet around the same time. So I resorted to floppies before finally breaking down and getting a laptop. Red Hat came loaded on some of the college's surplus equipment. Before long I ended up trying it on my laptop too.

Updating and driver support was weak back then. Thankfully this has improved a lot. Ubuntu is also a more novice friendly alternative.

I think it was Redhat Zoot (6.2) that was my first experience with Linux. It had linuxconfig installed by default (I desperately needed the assistance). The command line was so powerful over what Windows 95 had that I found it very intriguing. It seemed like MS Dos 6 but so much better!

The later versions had xEarth installed which is so cool.

I think my first encounter was as a CD attached to a magazine. Sadly someone had goofed and gotten a German variant of Slackware, as best i recall.

After that it was Suse and Mandrake in half-serious fashion.

Right now though i am using Gobolinux, after having it sit as a CD for a time until i had Windows blow up on me for the nth time.

I should really do a clean reinstall, as some major changes has come down the Linux pipeline since then. But at the same time, it basically works as it stands.

And in a telling expression of where Linux is heading, the guy that prepared the last iso for Gobolinux claims he spent more time getting the desktop parts (Consolekit, polkit, dbus, etc) working than the kernel etc.

I've started about 9 years ago, we have only one computer in home used also by my brother and father (diehard EE engineer that started with punched card programming and still writes, albeit great, software for embedded in notepad++(syntax coloring) and copy-paste into IAR IDE) and I was craving for linux but no one would allow me to install some strange OS. In 2006 I finally got mine first PC and I've installed ubuntu. I was enlightened so to speak, ubuntu worked for me for quite a while until gnome3 and unity, then I've switched to Arch and am using it ever since.

This is the first time that I read a background story of someone who feels similar to mine (which isn't to say it's a special story). I too got interested in girls and stopped with my computer hobby. I too started business school at first and eventually switched to computer science (started in 2010).

I always felt a bit out of place for having this origin story compared to 'normal computer science' students. I know it kind of sounds ridiculous, but it never stopped me from feeling it. Murdock's story really gave me the feeling that its just a silly thought I'm having :)

I suspect a there's a bit of confirmation bias going on here. All we seem to hear about on sites like HN, Reddit, TechCrunch are those individuals whose interest in computers started at a very young age. I suspect if you aggregated to all developers, a significant number, if not the majority have a story similar to yours. For what it's worth, my story is like yours, I was interested in my youth, found other interests, and didn't "find myself" until college.

Could someone explain or link me to how revision control worked in the very early days of the Linux kernel? I'm aware of BitKeeper, Git et al. but interested in how things worked at its outset.

(N.B.: It's been 10+ years since I've done this, so I'm sure I'm slightly off WRT the file names.)

Let's say you had the 2.6.0 source in /usr/src/linux.

You would FTP to ftp.kernel.org, download patch-2.6.1.gz into /usr/src and

  # cd /usr/src
  # gzip -d patch-2.6.1.gz
  # patch -p0 < patch-2.6.1
Descend into /usr/src/linux and begin the process of (re)configuring and recompiling your kernel.

Side note: there would often be other patches by various kernel developers (e.g. Alan Cox) and they would be named something like "patch-2.6.1-pre6-ac.gz". I recall once coming across a patch by someone I had never heard of -- Don Tuse was his name, apparently. I proceeded to download, e.g., patch-2.4.8-dontuse.gz (or whatever version it was), apply it, and recompile my kernel. It was only later that I realized Don Tuse was actually "Don't Use".

Tarballs and patches for the first 10 years apparently!


And partially why Linus insist on patches being broken down into digestible parts before being sent his way. He would (will?) outright refuse patches that touched multiple kernel subsystems in one go.

This also forces you to keep a backwards-compatible interface between the two subsystems.

One lesson userspace fails to take in time and time again...

At a conference (IIRC it was LISA in 2000) somebody had posted a joke to the bulletin board. It read: "Lost: one version control system, never used. If found, please return to Linus Torvalds"

Version control worked by posting your patches to the mailing list. Linus would apply your patches to his tree, which he'd occasionally tar up and upload to the mirrors.

My encounter with Linux was somewhat similar but mostly from having enough with windoze. I had called a PC repair guru for the third time because of virus's on my windoze PC in 2007. He told me about a Linux but I was skeptical thinking it was more for the uber elite hackers. I tried out the Knoppix CD and then installed SuSE. I was hooked immediately. Much like the article writer's hook with being my own "superuser".

For those that haven't seen Revolution OS I would highly recommend it for much of the Linux backstory.


amazing that in 2015 people are still saying stuff like "windoze", "micro$haft", etc.

I'll give you that. I did it without thinking. Yet my experience with windows has been really awful. I've had various issues including viruses, firewalls, bloatware, support deprecation to name a few. I guess I'm really happy with the Linux distributions I use.

That said Microsoft is still an innovative company. They still create good applications and have robust data software.


It really isn't.

Yup. Slashdot is still one of the ~1,500 most popular sites on the web.

Ain't that what they're supposed to be called? :)

I have used and installed linux many times. I have ubuntu on a dual boot on this computer. But linux on the desktop is going nowhere now that android is on the scene. Yeah, I understand that android is based on linux. But android is the big alternative man on campus now.

For me, as Linux on the desktop got more and more mainstream, I started to feel more and more left out. I moved from Debian to Ubuntu because I thought "I just want my computer to work without having to mess with it". Over time, Ubuntu made many decisions that I disagreed with and I spent huge amounts of effort trying to figure out how to uninstall things (which is quite difficult for a Debian based distro since the configuration often assumes you want everything integrated).

I finally ended up with an Arch system running xmonad and huge numbers of terminal based apps. I'm finally happy with my system again. What I realized is that I specifically don't want a Mac-like/Windows-like/shinkwrapped experience. I want choice and freedom, because what I like is not necessarily what the masses (or Mark Shuttleworth or Redhat or Gnome developers) want.

I kind of picked on your post because even though it is kind of negative, I think there are quite a lot of people who think the same way. It's a valid opinion, but a bit unfortunate. The advantage of a (dare I say Gnu/) Linux system or a BSD system is the freedom from being told how you are going to use your computer. It's not having to put up with some stupid design decision just because it was pushed by a popular company and now the masses are used to it. It the ability to explore, experiment and create with absolutely no boundaries.

It is popular enough and gives me more of everything I want than OSes that are more visible to the masses.

You're right, freedom of choice is a big central benefit of Linux. Perhaps, ultimately because everything is modular due to the disconnected-distributed nature of development.

But, giving general users Xmonad and a terminal isn't going to encourage more people to use Linux. Consequently, you land-up building applications that general users want and trying to make the environment more accessible to them.

Ah, but you might say that "more users" isn't an important goal for you [1].

But, the challenge is that below a certain level of users the hardware and software ecosystem isn't incentivised to make things "work with" Linux. If you have 5% of the PC user-base then Intel cares that WIFI chips work, Barclays cares that you can login to their web bank, etc [2]. So even if you don't want Linux to be 50%, you probably do want it to be an important platform.

I don't really buy into the idea that Linux can't be both mainstream and for expert users. The "general users" easy environments and the expert-user xmonad user environments can both co-exist. First, because the Linux distributions are an easy way for users to self-segment - particular types of users are attracted to different distributions. The slight downside of this being that we get tribal wars over distros'. And, really the differentiation between distros is mostly their default choices - you can run Xmonad on Ubuntu (I run i3 for example) and I'm sure you can run KDE on Arch. It's pretty much the same software underneath.

[1] And actually one of the things I dislike is when people say "the Community wants X" which is totally bogus because a lot of people have different goals, there is no "one" community.

[2] You might recall the 90's/early 00's where there was lots of Web tech that made sites not work where Linux was the browser such as e.g. ActiveX.

A hundred times this. Same setup for me, except that i'm considering moving to Stump WM or Guile-WM as a result of heavily drinking the Lisp / Libre koolaid. Let people pry my Emacs and tiling window manager from my cold dead hands! :)

StumpWM is really, really nice to use. And it integrates great with emacs+SLIME.

It's really the wave of the future.

Yeah so i'm not sure, i'm probably saying really stupid stuff now, but i love the way my WM (Xmonad as stated before) is really simple as far as key bindings go: no chords. I like that, because i don't want RSI. I have the impression though that moving more towards an Emacs way of managing my desktops would be laborious, frankly. Maybe i'm just projecting after my disagreeable experience with Ratpoison (only a 2-pane split? Hm.).

> i love the way my WM (Xmonad as stated before) is really simple as far as key bindings go: no chords

Really? Looking at the docs (http://xmonad.org/manpage.html#default-keyboard-bindings) it looks like it has mod-KEY and mod-shift-KEY chords. Nothing wrong with that, of course.

It's easy enough to set up StumpWM to support those bindings, if one wishes. Not saying that everyone should be using it, of course! xmonad's a fine WM I'm sure.

As someone who spends most of my time in vim/ screen/ tmux I moved to xmonad recently as well (albeit on debian).

It felt very liberating to suddenly be free of all the Gnome3 / Unity politics, developer fragmentation, and complex desktop systems that still feel inferior to the commercial OS-X/Windows alternatives.

How does Android, a mobile OS mean the end of desktop Linux?

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact