Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×

Comment Go back to the origins of the OS (Score 3, Interesting) 467

Don't spend a lot of time in the start teaching them about Gnome or KDE. That will just give them the impression that Linux is fundamentally the same as Windows or OSX (Yes, I know OSX is BSD based but one of it's prime selling points is that the user doesn't have to think about what's under the hood). The danger in starting with the GUI is that they'll get the impression that the GUI is the OS and all the /etc, /bin and /var stuff exists to support the GUI when the opposite is more true.

Give them all a user account with shell only (no X) on some headless machine somewhere and make them do their work there. Have it be a different distro than what their desktop machines are; in your case I'd recommend CentOS as being different enough to understand that there can and will be some variation between two different "Linux" machines in the real world. Teach them to actually do work on a machine that they have no physical access to and make sure they "understand" (rather than simply "know") that physical access to a machine is not required to do real work on that machine. Make them do their work in vim or emacs and turn it in by dropping tarballs into a shared directory.

Somewhere about 3/4 into the semester, bring them over to the GUI and show them a IDE like netbeans (free, easy to use and supports a decent variety of languages). Spend your GUI time teaching them that on *nix the GUI exists primarily to support tools that exist in the CLI.

On the last week that isn't review, give them access to a Solaris and a HP-UX machine and give them an assignment to do on both machines that is similar (but not quite identical) to something you gave them just before the GUI switch.

Possible first assignment: (notes in parenthesis are for you and not to be included in the actual assignment)
1. Create a directory named "assignment-01" in your home folder. (introduce mkdir)
2. Within "assignment-01" create the following sub-directories "pets", "color", "os" (introduce cd)
3. In the os directory create a text file named "home" with one line naming the OS you use at home. ex. "Windows 7", "OSX Snow Leopard", "Amiga OS", etc. (introduce vim)
4. In the color directory create a small HTML web page named "color.html" complete with well formed <html>,<head> and <body> tags. In the body of this page name your favorite color and make it display in that color. If your favorite color is white or too light to read on a white background, change the background color to black or lie about you favorite color and pick a new one. (multi line editing, interpreting requirements, that warm fuzzy feeling of making something "real"; check for opening and closing tags on html elements, mention in class bonus points if they include a DOCTYPE and/or a page title but do not list in the written assignment)
5. In the pets directory create a Comma Separated Value, CSV, file with one line per pet in your home. The column should be as follows {Pets name, type of pet [cat, dog, goldfish, etc.], latin name for species}. All columns should be wrapped in double quotes. If you have less than 3 pets, create imaginary pets until you have at least 3. (create machine readable text files)
6. In the assignment-01 directory, create a text file named "hello" with one line reading "Hello, World" (necessary for a later step)
7. create a tar zip file with the name cs101-{username}-01.tar.gz of the assignment-01 directory and copy the resulting file to /home/cs101/assignments/ . Replace {username} with you username on this machine. (introduce `tar czf`, introduce cp)
8. Move hello from your assignment directory to your home directory. (introduce mv)
9. Since you're on Linux now you need to let go of your old OS. Delete the os subdirectory and it's contents. ( introduce `rm -r` )
10. Make sure your instructor can review your work by making the assignment-01 directory readable but not writable to the cs101 group. (chmod, ls -l and maybe chgrp)

( For full points the os directory should be in the tarzip they send to you but not in the assignment directory in their home folder. hello should be in their home folder and not in the assignment directory but should be in the tarzip. )

For a later assignment, just before the GUI intro, have them write a program in PHP or Python that spans more than one file. i.e. have a class in a separate file from the entry point of the program. When you intro the GUI expand on how the GUI and IDE is a just a tool to make things like editing multiple files at once easier.

I know you want this to be a OS intro class but mixing in a bit of programming (non-interactive run and watch the output type programs) should help drive home to them that they are actually creating something on these machines. And if these are all CS students, it will help them discover early on whether or not they picked the right field.

Comment Re:Standard GUI? (Score 1) 173

What would they be enforcing specifically?

First off, let me remind everyone that cookies left in your browser's cookie cache can only be read by the domain that gave them to you. So maps.google.com can read cookies issued by mail.google.com but www.amazon.com cannot read or in any way know about cookies issued from www.newegg.com. Cookies were designed that way for the exact reason of protecting privacy. Additionally, cookies that you receive on sites that you have not logged in to are not linked to your name, your street address, your email address or some secret serial number stamped on the back of your CPU; they are random numbers like you get at the DMV to know your place in line. Until you deliberately give a website some piece of identifying information by actually typing it in yourself, they know absolutely nothing about who you are.

Would "opting out" mean that anonymous users (ones that have not signed in to or otherwise given personal details to a website) can't receive session id cookies? That would mean that shopping at Newegg, Amazon, eBay and etc. would require a user to give actual personal details to the website before using any sort of shopping cart feature. Trying to work around that with any sort of ajax, HTTP/POST or HTTP/GET tricks would still be "tracking" per se and would be similarly banned.

Would "opting out" mean that the web server cannot log IP addresses? That would be a free pass for every damned script kiddie in every corner of the world to openly attack US web servers. If they have the "opt out" flag up then logging the IP to create firewall rules or report them to the authorities would be implicit admission of breaking the "opt out" rules. As a sysadmin it would also mean that I can't use Apache logs like this:
173.201.18.xxx - - [01/Dec/2010:11:33:00 -0500] "GET /ne
173.201.18.xxx - - [01/Dec/2010:11:33:02 -0500] "POST /w
209.220.104.xxx - - [01/Dec/2010:12:04:09 -0500] "GET /n
209.220.104.xxx - - [01/Dec/2010:12:04:10 -0500] "POST /
10.209.187.xxx - - [01/Dec/2010:14:23:54 -0500] "POST /wp
184.154.62.xxx - - [01/Dec/2010:14:23:54 -0500] "GET http
216.113.191.xxx - - [01/Dec/2010:15:44:59 -0500] "POST /s
220.181.7.xxx - - [01/Dec/2010:15:46:50 -0500] "GET /robo
184.154.62.xxx - - [01/Dec/2010:16:01:49 -0500] "GET http
187.87.203.xxx - - [01/Dec/2010:16:12:25 -0500] "GET /ne
187.87.203.xxx - - [01/Dec/2010:16:12:42 -0500] "POST /w
119.63.198.xxx - - [01/Dec/2010:17:16:24 -0500] "HEAD /w
to figure out if things like 404 errors are coming from links on my site or some stale link on someone else's.

I could go on, but I'm not.

Getting our panties in a twist over "tracking" is idiotic. Most people like it when businesses remember them. I like it when a bartender knows that I like dark beers and recommends I try something based on that knowledge. I like it when I walk into a convenience store and the cashier has my brand of cigarettes on the counter before I'm even finished saying "hello". I like it when my bus driver knows to wait at the downtown station an extra 5 min because he knows that I'll be arriving there on another bus about the same time he's scheduled to depart.

How is tracking like this in real life, with your real face attached to your real body good while tracking your web browser is bad?

If anyone want's to legislate or ban anything, how about banning the sale of privileged information collected during signup? You could even leave off any language that would make it specific to the internet and have it protect your grocery store club card records from being sold off to the highest bidder the way that the Florida DMV just recently sold off the personal information of everyone with a FL driver's license.

Comment Re:Booooo!! (Score 1) 173

Technically the Earth, Sun and all other massive bodies in this solar system all orbit each other simultaneously. But the sun is the most massive so it gets to be close to the center of the system.

Ditto for our solar system and every other solar system in the Milky Way.

It might also hold true for the whole of the universe but I'm not sure how many times we'll circle the drain before we meet the big bang's evil twin, the big squeeze.

Comment Re:The industry can take all the time it needs (Score 1) 313

Recorded media (both analog and digital forms of photographs, audio and video) are as much a part of our cultural heritage as paintings and sculptures from previous eras.

Losing the last copy of a TV show or movie is not much different from losing the last copy of a book. It isn't just the great works that deserve archival, since future generations can learn about the state of society from both low budget movies and merchant ledgers.

And to more directly answer the question in your first sentence, I think it's unfortunate that several of the early episodes of Doctor Who were lost for the purpose of saving warehouse space.

Slashdot Top Deals

Thus spake the master programmer: "After three days without programming, life becomes meaningless." -- Geoffrey James, "The Tao of Programming"

Working...