My love affair with computers and computer science started before entering high school. During seventh grade, I used to pack my lunch twice a week, and take the bus after school to Tel-Aviv university. There I got acquainted with a whole new world, involving programming languages, punch cards, and room-filling humming machines called computers. Those monstrosities could do amazing things if you patiently feed those punch cards to them, one by one, and wait, and wait…Unless of course there was a syntax error, I became sort of an expert on those.
My love affair with computers and computer science ended in college, after one semester as a computer science major. I still think that the ideas behind theoretical computer science are some of the deepest I was ever exposed to, and discrete mathematics continues to be my paradigm for a grab bag full of pleasingly clever tricks. But, the thing I took most from that semester is the following insight: the only thing more mind-numbingly dull than writing code is debugging code. Any profession that would involve large dose of those pleasures will seriously compromise my ability to hold on to my sanity, not to mention my pleasant demeanor and good manners.
The next step in my love/hate relationship with computers, like most other scientists, involves years of ugly (erm.. I mean “functional”) Unix machines of various kinds. Those come with their own sub-culture, including the hacker next door (who remembers where to put all the spaces and dashes in hundreds of Unix commands), the condescending tech “assistant” (who just cannot understand how the answer “755”, to my question regarding file permissions, is not a sufficient explanation), and finally the clueless user, repeatedly getting locked out of the security fortress that is his own private computer. Needless to say, that last character would be me.
The thing is, to me managing a Unix machine is a lot like coding and debugging, a continuous process of learning and improving your mastery of a set of increasingly arbitrary and breathtakingly boring tasks. After using the system for a while, your mind fills with useless information, like for example all the details in this short and clear explanation I googled on how to change file permissions in Unix. For me, reading past the first sentence requires very strong will and determination, which I freely admit I don’t always posses.
On the other hand, all this was going on while I was in the process of learning some of the most amazing ideas in late 20th century physics, while being able to discuss them with an equally impressive set of people. You only get this privilege for a limited time, so I made the conscious and (I still think) correct decision to be a passive and uninformed user of my computer. Let the tech assistants figure out all the fascinating mysteries of the complicated beast that is the Unix (or any other) operating system, I have better things to do with my time.
Things turned around with my first Windows machine, a shiny new laptop equipped with Windows 2000, which I got as a new faculty at UBC. I found that the computer assistants at UBC, pleasant and competent people all around, were not really in the business of managing my computer for me. On the other hand, I also found that I didn’t really need their help. For example, if you so choose, you change user permission on a file by right clicking and editing its properties, it was a genuine pleasure then to say goodbye to “chmod” and all its friends.
When customizing your environment is that easy, it is natural to do more of it, but I never really become a tweaker. Even in Windows environment, there are many ways to control the guts of you computer, but I always found that practice pointless. I’d set up my computer and its software, and let it do its job for me, while concentrating on the million other jobs I am paid to do, and actually enjoy doing. I was a happy customer.
That is, until Windows Vista came and changed everything. I could talk at length about the frustrating experience of having to become that tweaker and problem solver that I had no desire becoming. Suffice to say, after almost a couple of years of trying to fight it, including such low points as catching myself editing the registry, I finally declared defeat. So, I am switching to the only viable alternative, the other evil empire (or cult, if you wish). Legend has it that one can i-walk on i-water using one of those shiny objects, we shall see. I’d be happy if it just works on some minimal level.
So, consider this an open thread: give me advice, what software should I use, how can I get my windows-based software and peripherals to work, what are the hidden pleasures and the pitfalls of being an Apple cult member, and most of all – how can I quickly and efficiently become the (mostly) passive user I’d like to be once again.
Muahahahahaha.
Erm, I mean, TeXShop and BibDesk are your latex friends. NetNewsWire will make your blog reading/procrastination more efficient. Those are the basics. What else do you need in life?
hmmmph! (the angry grunt of a long time Windows user who just cant forgive the guilt ridden explanations for people that cross over to the i-world, usually never to return ). Remember, it is an imaginary-world, illusory-powers that ye shall enter, seek and acquire.
A little sneek peak at your future at the other side:
http://www.geekculture.com/joyoftech/joyarchives/796.html
hrrmmpphhh…hrummm (satisfied sadistic low grunt).
I hate to break it to you Moshe, but your Mac operating system is secretly—dum dum dum—a souped-up version of UNIX! What you are seeing on your Mac screen is really just a fancy graphical interface—a facade, if you will—built on top of a UNIX operating system:
http://www.apple.com/macosx/technology/unix.html
To learn more about how to make use of the hidden version of UNIX that underlies your Mac, see:
http://images.apple.com/macosx/pdf/MacOSX_UNIX_TB_v2.pdf
CCC: Excellent!
I think I am safe from this sort of thing, I make it a point to stay emotionally detached from multi-billionaires I’ve never met and their evil empires.
Thanks Matt, I know of that connection of course, and I trust that the Unix core will take care of things like stability. But, I think the Unix world tend to under-estimate the fancy graphical interface, to most people usability is the single most important factor in the OS. Certainly that’s the case for me – I’ve been trying out Ubuntu the last couple of months, and I find it really clunky, though things have moved quite a bit in the Unix world since those days I wrote about in the post.
Apple was better behaved around OS X 10.3 when they were still somewhat underdogs and before they changed their accounting procedures and decided they wouldn’t add new functionality to OS point upgrades.
The base OS is pretty good (much better than XP, sorry, I’ve never used Vista), but the bundled apps (iChat, iCal in particular) are pretty weak. Address Book is better.
I use Nisus Writer Pro for writing because it uses RTF file format, mostly readable by anything. Big problem is it doesn’t do image compression well (or at all) so images make files huge.
iLife suites are usually tolerable, but like all Apple products they’re under-tested. So always wait four to six months post-release to use.
Major OS updates can take six months to be stable. 10.5 was a train wreck — it took about a year to stabilize. Apple undertests in the cause of secrecy.
Subpoint updates (10.5.6, etc) aren’t usually too bad — but I always wait 2-3 weeks before applying.
Aperture seems to have been abandoned.
Punch cards? My god, you’re ancient. I will have to start calling you Professor =]
I was twelve, and in the middle east, probably using all the leftover punch cards from two decades earlier in the US. So, that explains everything, you can go on thinking about me as being young, I know I will.
Lessee.
On my Dock are:
Finder
Mail
AddressBook
iCal
iTerm
Seamonkey
Safari
Camino
Ecto
OpenOffice
TextEdit
SubEthaEdit
TeXShop
BibDesk
Acrobat Reader (because Preview is buggy, and generally sucks)
Adobe Illustrator
VLC
QuickTime Pro
iTunes
Mathematica
Mesa
Calculator
Chicken of the VNC
GPGDropThing
UnicodeChecker
Skype
iChat
iStumbler
NetNewsWire
svnX
SequelPro
X11
Hardware Monitor
Not visible (because I use it at the commandline) is Fink, for package management, iSync and Time Machine (because I find their menu-bar items sufficient).
You should also take in consideration Linux distros like Ubuntu or Linux Mint. I’ve been using them for over a year now, and I never had to get mean and dirty with a command line interface. And they’re absolutely free (as in free beer)
If you want to know more just access
http://www.linuxmint.com
htttp://www.ubuntu.com
Also I remeber something the solid-state professor once told us at school — that every physicist in the West uses Linux. Well, guess this post just proves him wrong 🙂
I hate Safari (even though many mac heads swear by it), so I’d advise Firefox, Camino or Flock as browsers.
For office software, most people go with Microsoft Office, but I went with iWork, which is reasonably good. I’d say that Keynote is far superior to Powerpoint, but Microsoft has the edge with Word and Excel. Of course, there is always Open Office.
I second the TeXShop/bibdesk setup for LaTeXing. It is by far the simplest setup, but I tend to use Aquamacs for larger projects because it has more features. It is just a Mac OSXified version of Emacs, so you might be familiar with it from your Unix days. I recently found another TeX editor called texmaker, which I am currently trying out. Also LaTeXit is good for making a quick equation to drag and drop into a presentation.
Papers is a great way to manage the thousands of pdf files on your hard drive (it is a bit like an iTunes for academic papers) but it is not as bibtex friendly as bibdesk.
What else? Well, I think the basic Apple and iLife apps that come with the computer are perfectly adequate for their job, so I use them for mail, contacts, calendar, music, photos, etc. Almost everything else has some reasonable Open Source option so I usually plump for that, e.g. Adium for instant messaging, Fugu or Cyberduck for ftp and sftp, VLC for playing media files that won’t play anywhere else, etc.
Interesting. For me debugging is the best part of programming. Almost like science, you put probes and experiments to try to figure out which part of the program doesn’t work according to theory…. I’m also very good at producing bugs, which works quite nicely together.
Anyway. I also switched to Evil Empire II (TM) recently.
Things that I would recommend:
Papers (http://mekentosj.com/papers/… up there with R and D in the category of choose-ungooglable-name-for-my-program ) for managing and finding papers. Works together with arXiv.
Another thing that is really nice about OSX is that programs work well together. You can drag an e-mail from Mail to Textedit to get a link that will open the message again in Mail. You can copy a link from Papers to whereever (ctl-apple-L) to have a link that brings up the paper.
I also like to have a program to collect small sniplets of information, like how to mount a remote drive with ssh, or what is “desert varnish”. I haven’t found the perfect one, yet. But the two best ones for me are Journler and NoteBook (another brilliant name… look for it in http://www.circusponies.com/)
I second Firefox/Camino, Papers, VLC, TeXShop and Adium. The built-in iCal, iPhoto, iTunes, and Mail are perfectly fine and generally simple to use. Safari is fine too.
To run Windows programs, I’ve found VMWare fusion to be an excellent emulator. It isn’t free but if you must regularly use Windows programs it’s worth the price.
Thanks everyone for the excellent suggestions, keep them coming, you are practically building my desktop for me. One more question: on a windows machine you typically need a utilities program, something that cleans up the registry, spots redundant files and broken shortcuts etc. (I use system mechanic). Is there something like that in the i-world?
Another thing I am wondering about is some ssh program (I use winscp).
Michael, I was probably too harsh on my programming experience, I do it sometimes and it is not too bad. I think debugging is different if it is a major part of your work, rather than being the thing that prevents you from going back to work…
One more…
The fact that people mention so many web browsers – Safari/Firefox/Camino (and Omniweb…) tells you something…
One cool tip I got, but which I have not totally mastered is the application called “Keychain Access” (simply type cmd-space, and then keychain. It should pop up)
Here you manage passwords and stuff. For example, where the password for the e-mail account is stored, or passwords for websites, etc. The password is stored in a keychain, and to access the info, you need to type in the password for the keychain.
One keychain (on the left top) is called “login”. All the passwords in this keychain are available as soon as you log in. Then there are other keychains, each of which requires a password to access. The cool thing is that you can move passwords from one keychain to another. So, if you don’t want to have to type in a password every time for a certain website/mailbox, just drag it from whatever keychain it is in to the login keychain.
The only thing comparable to cleaning up the registry that you need to do on the Mac is to repair the file permissions. This can be done using Disk Utility in your Utilities folder. For ssh, I just use the terminal. Same for scp, sftp, etc.
Oh, no, not file permissions again (flashbacks of my half-written papers becoming read-only overnight, for no apparent reason…).
Those are there (you can even chmod something if you feel the urge), but you never have to worry about them pretty much. Instead, sometimes under OS X, the permissions of certain system files get out of whack. To fix it, you just go to Disk Utility and click the repair button. Easy.
To copy files, I usually mount the remote drive over ssh. You can try Macfusion, for example. (You have to install MacFUSE first, the MacFusion website tells you what to do). So, I don’t use anything similar to winscp.
The website called
http://iusethis.com has lots of software, and seems to have some that with similar functionality to winscp.
Thanks again. One more: I really depend on OneNote, which is how my notes are organized, hyperlinked etc., anything like that? (ideally compatible with all the notebooks I already have).