Hey @mwargh could you email me at [email protected]? I got awesome goodies for you.
I ended up completely redoing the LxTHW base structure and converted all my books to it, but I haven't got around to updating the repo with the new gear. If you email me I'll hook you up with the latest.
The new gear uses dexy (http://dexy.it) still, but uses all the features of the newer dexy and switches to rST intead of latex. I also have a converter that converts from the old latex structure pretty well. The results are much easier to host and convert to pdf, mobi, epub, html, etc. and easier to write.
So, contact me (or anyone looking to do one of these).
Love the idea, the context, and the execution. It's a great project. Not a fan of the name.
Zed Shaw has a well-established series of "Learn $topic the Hard Way" online books, with Addison Wesley publishing a 3rd edition of his "Learn Python the Hard Way" this spring. He is building a brand and a business around this name.
I'd be surprised to learn that "Learn ... the Hard Way" isn't trademarked, but even if it isn't, it strikes me as disingenuous, misleading, and potentially confusing to name your work after his.
As far as I can tell, Mr Shaw has nothing to do with this project, but then the "Learn Linux the Hard Way" name might, to some, imply that he does.
Edited to add: I do not have a dog in this fight, just pointing out a potential conflict.
Actually, my understanding is you can't really trademark titles of things. That's why you'll see books and movies with the same titles and nobody getting sued.
There's also a Perl book that predates my book which I didn't know about, so there's precedent for people to do this already.
Finally, I really don't care so much about the title, I care more about people getting the method right. It looks like this was taken down so I can't comment on how it's written, but my typical beef with these books is they use the title, then they proceed to write a completely different book that doesn't follow the method at all. To me that's just obnoxious arrogance on their part and typical programmer "I can do it better" crap. There's a reason my books are structured the way they are, and just taking the title to pimp a book that isn't even close to the same structure just pisses me off.
But, I haven't seen this book yet so I don't know what it's done.
EDIT: Ok found the google cache, and it looks like this one's doing it right. I officially bless this title in the name of ... like whatever and shit.
IANAL, but I'm pretty sure you can trademark titles. An example is the "X for Dummies[1]" series that has at least threatened to sue people[2].
People currently associate "Learn X the Hard Way" where X is computer related to your lcthw project. If you let other people use it, that distinctiveness will go away and it will likely not be something you could trademark
Also: I'm not an expert, or a lawyer, but it's my understanding that you can't copyright titles, but you can trademark them, or portions of them.
The guys (IDW?) that publish the "For Dummies" book series regularly enforce the trademarks around their name and cover design.
Hollywood often gets around the copyright problem by trademarking some film titles (this is why it's always "Disney's The Lion King" and not just "The Lion King.")
Agreed, it's a great project and I applaud you for undertaking it and pushing it so far. Takes a tremendous amount of work and self-motivation to do something like this.
I read the linked post top to bottom twice and I don't see Zed anywhere giving blanket permission to use his title. He is responding to people who ask him if they can port LPtHW to another language, by saying "here's how to write your own so you don't have to port mine".
You should change the name unless you have contacted Zed directly for permission, IMO.
It's a potential point of conflict, but it's a pretty generic naming convention in my view and I'd be dissapointed to see that Zed has slapped a trademark on it. Even if he is building a brand around the name I don't see why he wouldn't be open to letting some other technical authors in under the same umbrella.
You don't understand how trademarks work. Zed automatically has a trademark on it. The question is whether or not he goes through the trouble of enforcing it. If he doesn't, he gives up the mark. Federally registering a trademark is really only to show the due process of protecting your mark.
Copyright is in the same boat.
Also, this is not nearly a generic enough name for it to be ineligible for trademark. It appears that Zed isn't interested in protecting this mark, but that doesn't mean he wouldn't have a case.
I have a puppy in the fight - I started a ruby tutorial titled "Teach Yourself Ruby the Hard Way", but didn't make it past chapter 1, so when Zed released his book I figured it was only right to let him have the name, and rename mine if I ever get around to completing it (2013 resolution!).
So from that perspective, I can't help but agreee that even if Zed is fine with this project, it's a bad idea. It's an unnecessary muddying of a "brand" that has had a lot of work put into it.
I'm not sure it's a good idea to try to stuff vim in there. It's hard enough to try to learn unix command line skills, throwing vim in to the mix is just a detour. Nano is good enough for tutorial purposes.
And I'm a hard core Vim user. I have no strong opinions for or against specific text editors but any hacker worth their salt should know Vim and/or Emacs to be able to use a powerful text editor when stranded in the console for one reason or another.
But this kind of superficial introduction to Vim is a big disservice. The last thing we need is people who hate Vim because they understand it poorly based on a short tutorial.
As an enthusiastic-but-incompetent vim user, I concur. Reading through that laughably brief introduction is going to scare off a lot of people, and makes the whole exercise much harder than it needs to be.
I can recall a situation in one of my first experiences with linux where I wound up rebooting a machine because I couldn't figure out how to get out of vim.
My first vi experience was on a Unix terminal in a CS laboratory with a lot of people doing serious work and I just hitting keys to see if ANYTHING could take me away from that and the thing just BEEEPed...
But isn't that a good reason to learn the smallest basics of vim?
Maybe it's just me, but after I had my first bad experience with vim, I tried learning the basics so that would never happend again.
Since this is a guide for linux, this is a natural step in the linux learning :)
The first time I go to a machine for the first time, and I need an editor, I fire up emacs. If it isn't there, I do [apt-get|yum] install emacs, and then I fire up emacs.
If you want to learn linux, you will need to learn vim.
It's pretty much the only decent editor constant in all linux distos. I think it's better to get it out of the way or the linux user won't be able to edit a file properly.
I know _way_ too many sysadmins, even distro maintainers, seasoned devops engineers, who have stuck with nano, joe, etc. for years and years and still stick by it. Although I am glad that I learned vim when I was starting out some 6 years ago, I wish I had spent all that time learning Python or Perl well. Too often the importance of vim is over-inflated as a necessary skill -- but it's just one _tool_ (besides emacs) that gets you some efficiency. That is all it is. I would _never_ advise someone starting out with Linux to spend huge amounts of time learning vim/emacs, it's too much of a distraction in the beginning.
The big difference between vi and all the other editors out there is that some version of vi is installed by default in just about every variation of *nix you're ever likely to encounter. Vi doesn't have to be your favorite editor, and you don't have to be a power user, but you have to know at minimum how to edit a file with reasonable proficiency, so you're not completely lost the first time you ssh into a box that doesn't have your favorite editor installed.
Assuming you have one handy that is statically built against the the right libraries for the right architecture and the right OS, and assuming the machine (and network) is in a state where you can get at the place where the binary is stored. But that is a lot of assumptions and I would rather just take the time learn the basics of vi rather than hope that all those assumptions always happen to be true.
But I never said you have to spend huge amounts of time learning vim. You just need to learn the basics and it will help you a lot more than not covering it at all.
I think the biggest confusion in vi is the insert/normal mode. Unexperienced people tend to think on a text editor when you type ":" you add that to the text, while in vim it's the start of a command :D
"Also you can blame me for including vim, but I'm conviced that basic vi knowledge is essential."
It is, don't let them get you down. Who would call themselves a Unix professional without knowing vi? 'Uh yeah I'm a professional driver, except I don't know how to drive a stick shift'. Sure buddy - NEXT!
This looks like a great guide. One piece of advice I was given early on was to start with a minimal distribution like Gentoo. While not as essential for day-to-day use, knowing about how the various lower-level components interact has gotten me out of a lot of otherwise catastrophic situations across several operating systems - FreeBSD especially and occasionally on OSX. Thanks for writing this guide, it is sure to give a sturdy foundation in *nix usage to the ambitious beginner who follows it.
I'm biased in favor or Arch Linux. It's fairly similar in spirit with Gentoo, but offers binaries rather than forcing users to build everything from scratch.
AUR packages usually require compiling from source code though.
That is exactly why I switched to Arch linux a few years ago :)
I love Arch's KISS approach and the ease of administration. Gentoo is an incredibly customizable distro that leaves quite a lot up to the end user, and because of that it can be a great learning distro for some people. But yes - at the time I made my switch I was becoming impatient with time time I was putting into administering it.
For many, it might be too much. For me, and possibly others, it was exactly what was needed. I wanted to learn about things like partitioning (I had just destroyed my family's HDD while using another distro's GUI installer, and wanted to know how do it the right way). I tend to be a bottom-up learner. Years later, when I started studying computer science at a university, I would be more interested in assembly than java. The approach has served me well, but others certainly benefit from learning in other ways.
It's the deep end, but there's VERY detailed and explicit instructions on how to swim. And almost zero risk of actual death.
I wouldn't recommend it for someone who's never touched *nix before, but if you've installed Linux, and run apt-get a couple times, it's enormously edifying.
I never felt like I "got" Linux until I installed Gentoo.
Most of the things you'll "learn" with Gentoo are how to get such-and-such a package to agree to build & install. Gentoo is all about groveling through configs because you're stuck in a 1993 mentality of trying to save 100 kB in your binary by excluding GIF support in Firefox and stripping symbols out of /bin/ls.
Thanks for doing this. I have gone through a similar course on bash commands though it was not interactive but just list of basic commands and explanations. This is very helpful in building Linux knowledge for enthusiasts like me.
The guide could be great, but the JavaScript based shell takes a life to open up and kills the experience. Why not use Linux on a Linux machine than a VM, JS shell etc? This makes it real hard to learn.
I ended up completely redoing the LxTHW base structure and converted all my books to it, but I haven't got around to updating the repo with the new gear. If you email me I'll hook you up with the latest.
The new gear uses dexy (http://dexy.it) still, but uses all the features of the newer dexy and switches to rST intead of latex. I also have a converter that converts from the old latex structure pretty well. The results are much easier to host and convert to pdf, mobi, epub, html, etc. and easier to write.
So, contact me (or anyone looking to do one of these).