
Just had my first experience with a Linux distro, Ubuntu, and a little PHP! I created this Private Notes WordPress plugin entirely from within Ubuntu. It involved learning this new stuff (well new to me):
- Using Virtual Box to install Ubuntu
- Installing and configuring the LAMP stack (each part was new to me, linux, apache, mysql and PHP + phpMyAdmin)
- Running my favorite Windows editor, Notepad2 using wine
- Writing bash scripts and aliases to save running separate cmds
- Learning plenty of handy little Ubuntu cmd stuff, like mounting drives, adjusting file permissions, adding fonts, copy/move/delete folders/files, etc … the bare basics
- Using git for the first time, including gh-pages and markdown (thanks to Pro Git, a straight-forward clear guide to Git)
- Just the smallest ‘hello world’ bit of PHP for the plugin
- Installing and configuring a WordPress blog
- How to build and publish a WordPress plugin
It was great how much of the Windows hotkey navigation worked. Felt easier to come to from Windows than trying to use Mac OS X. The apt-get package manager made app installations a breeze.
To get similar productivity as in Windows, I’ve got to find ways to customizing the environment. What could make the experience better: creating universal hotkeys to launch apps (like an AutoHotKey for Ubuntu), replicating some of my favorite scripts from Windows (like Win+O), being able to copy/paste via the keyboard in the terminal, a clipboard ring app, guess I could go on. Any recommendations?
Overall, I really like the experience! Now to move on building something new w Ruby on Rails.












Some recommendations on Ubuntu and MacOS:
You can drag directories/files from the file browser (nautilus) into the terminal so you don’t have to type their full path. Additionally, if you are in a directory in the terminal, you can open it in the file browser with “nautilus .”
I personally don’t like unity that much, so I switched to gnome 3. You should google search “gnome 3 ppa” for the instructions. Learning how to use a ppa is a useful exercise anyway. Then, on the login screen, you can change the login shell with the icon next to your name.
MS Office 2007 runs well in wine (I haven’t tried 2010, but I think it runs well now too). I’d suggest looking at winetricks since it has an easy installer.
You can execute php on the command line by installing the php-cli package. It’s great for testing things.
There is a “sudo -s” command that will give you a root shell. This is useful if you have a whole host of commands you want to execute.
Use ctrl-shift-T liberally to bring up a new tab in your terminals.
alt-tab switches applications, alt-` switches windows within an application.
Some other useful commands to learn: find, grep (particularly grep -R and grep -i), and shell output redirection such as | > > and >&
The super-key (windows key) has shortcuts, such as super-d to reveal the desktop. If you go into the compiz preferences, you can turn on some fun (and useless) things such as turn on rain on your desktop along with a windshield wipper.
You can (or at least could) use C&P in cmd on windows. It was shift/ctrl-ins or something like that.
On MacOS, install QuickSilver. That gives you hotkey launching like you are used to. I believe it’s default hotkey is ctrl-space.
You can do the same drag/drop of files/folders into the terminal. You can open the current directory, or any file with the open command, such as “open .” to open the current directory, or “open manual.pdf” to open a file as if you double-clicked it in the Finder.
The same cmd-tab and cmd-` works here too (worked here before Ubuntu actually).
The keyboard shortcuts on MacOS are far more sensible since it essentially reserves it all under the cmd key. The shortcuts are consistent, such as copy is always cmd-c, instead of sometimes being ctrl-c or ctrl-shift-c or whatnot. Copy, paste, cut, undo, quit, close window, save, open, and print are all consistently the same keyboard shortcut across every single app. I cannot say the same for windows or linux apps.