'Nuff said!
I have found possibly the best site on the Internet:
I like to figure out the fastest way to do things. I hope these shortcuts will help you become the power user that lies within. These keystrokes should work on Mac OS 10.6 Snow Leopard and 10.5 Leopard (many also work on 10.4 Tiger). I add new shortcuts as I find them, so check back! I’m still exploring Snow Leopard and will be updating this page as I discover new goodies.
Please note that Cmd is short for the Command key (otherwise called the Apple key).
Guide to the Mac’s Menu Symbol:
|
Symbol
|
Key on Keyboard |
Symbol
|
Key on Keyboard |
|
|
Command/Apple key (like Control on a PC) |
|
Delete |
|
|
Option (like Alt on a PC) |
|
Escape |
|
|
Shift |
|
Page Up |
|
|
Control (Control-click = Right-click) |
|
Page Down |
|
|
Tab |
|
Home |
|
|
Return |
|
End |
|
|
Enter (on Number Pad) |
|
Arrow Keys |
Finder Shortcuts
| Action | Keystroke |
| Open Sidebar item in a new window | Cmd-Click it |
| Switch Finder views (Icon, List, Column, Cover Flow) | Cmd-1, Cmd-2, Cmd-3, Cmd-4 |
| In List view, expand a folder | Right Arrow |
| In List view, collapse a folder | Left Arrow |
| Rename the selected file/folder | Press Return (or Enter) |
| Go into selected folder or open the selected file | Cmd-Down Arrow |
| Go to parent folder | Cmd-Up Arrow |
| Go Back | Cmd-[ (that’s left square bracket) |
| Go Forward | Cmd-] (that’s right square bracket) |
| Select the next icon in Icon and List views | Tab (Shift-Tab reverses direction) |
| Alternate columns in Column View | Tab (Shift-Tab reverses direction) |
| Instantly show long file name (for names condensed with a “...”) | Hold Option while mousing over long filenames |
| Resize current column to fit the longest file name | Double-Click column resize widget |
| Resize all columns to fit their longest file names | Option Double-Click resize widget |
| Copy and Paste files | Cmd-C, then Cmd-V |
| Move a file instead of copying. (Copies the file to the destination and removes it from the original disk.) | Cmd-Drag file to disk |
| Move selected files to the Trash | Cmd-Delete |
| Empty the Trash (with warning) | Cmd-Shift-Delete |
| Empty the Trash (without warning) | Cmd-Opt-Shift-Delete |
| Cancel a drag-n-drop action while in the midst of dragging | Esc |
| Show Inspector (a single, live refreshing Info window) | Cmd-Opt-I |
| Undo the last action (such as rename file, copy file, etc.) | Cmd-Z |
| Hide/Show Sidebar (on the left) | Cmd-Opt-T |
| Move or Remove item in toolbar (at the top of the window). This works in most programs. |
Cmd-drag |
| Open Quick Look (Mac OS 10.5) | With file selected, tap Spacebar (or Cmd-Y) |
| Zoom In/Out on a Quick Look Preview | Cmd-Plus(+) or Cmd-Minus(-) |
| Find by File Name (Mac OS 10.5) | Cmd-Shift-F |
Stefana Broadbent’s TEDTalk about how social media is enhancing personal intimacy and personal sphere's penetrating the workplace.
“research [that] shows how communication tech is capable of cultivating deeper relationships, bringing love across barriers like distance and workplace rules”
My workstation at work is a great little computer. It's running Windows 7 and its very reliable and does what I need it to do. However, periodically, usually during periods of large quanities of network traffic, it will freeze. No BSOD, no warning, just frozen.
After some googling, it seems that the on-board Atheros L1 Gigabit Ethernet adpater on the ASUS motherboard has a known issue with Windows Vista, and apparently Windows 7 as well:
Install a new driver The problem may be especially prominent with the Atheros L1 Gigabit Ethernet 10/100/1000Base-T Controller used on ASUS p5k motherboards. This driver (FTP Link), intended for Windows Vista, has been reported to solve this issue under Windows 7 in a variety of cases.
I downloaded the driver from here, and installed it on top of the generic Windows driver for the NIC and not a single freeze or lock-up since.
If you have an ASUS P5K series motherboard, I highly recommend that you upgrade this driver (even if you're not having these problems as the performance seems better on these drivers).
Thankfully, many of the popular browsers of today support the ability to rotate HTML elements. Even better? Wed can make it work in Internet Explorer (back to version 5.5 even). For Webkit and Firefox (as of 3.5), you can take advantage of the proposed transform property to handle the rotation. Each browser requires its property prefix for now.
-webkit-transform: rotate(-90deg); -moz-transform: rotate(-90deg);
In order to perform a transformation, the element has to be set to display:block. In this case, just add the declaration to the span that you want to rotate.
When it comes to effects in Internet Explorer, there is a surprising amount of power (and untapped at that, I'd say) in using filters. Although misleading, there is a filter called BasicImage that offers up the ability to rotate any element that has layout.
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
The rotation property of the BasicImage filter can accept one of four values: 0, 1, 2, or 3 which will rotate the element 0, 90, 180 or 270 degress respectively.
Unless you actually like the plain, old, boring Notepad (which basically hasn't changed since 1985) - then you're probably already aware of a great replacement for it, called Notepad++. To put it short, it's an amazing little text editor with a feature as long as my arm, including syntax highlighting for virtually every scripting language you can think of. It also has integration into Windows Explorer, so it's easy to right-click and edit files which are not associated directly to Notepad++.
For years, it has never let me down, and while it still continues to serve faithfully, this week the following message started to appear every time I opened it on my 64bit Windows 7 workstation:
Configurator
Load langs.xml failed!
OK
That obviously also means that I lost my syntax highlighting. I could get it back, but I had to manually select the type of file I was editing. Normally this is automatic.
Somehow, the langs.xml had errors in it. Perhaps while exploring various Notepad++ options I accidentally made unintended changes to it. I don't know, but when I went to the Notepad++ installation directory, the langs.xml file had a file size of 0 bytes.
So while in the installation folder for Notepad++ I renamed langs.xml to langs.xml.bad. Then, in that same folder, I copied langs.model.xml, and renamed the copy to langs.xml.
This fixed this problem for me, hopefully it will work for you as well. You may want to then compare the langs.xml to langs.xml.bad and see if there is anything legitimate that you want back - but in my case It was fairly obvious that the langs.xml file was pretty useless in it's 0 bytes state.
It's this, a to-do list!

It has been a great tool to synchronize the day-to-day activities of the family. @MrsAngell and I have been using it to help manage the kids, and the household and the general stuffs needed, in preparation for Christmas, for example. Traditionally, we'd use IM clients such as Skype to communicate messages and synchronize our activities, using Outlook and Google Calendar only when absolutely necessary.
But for some reason, despite being massive email users, we very seldom email each other. But the problem with this is that its difficult to read history and if we don't have access to our computers - we cant read our histories and re-read what was discussed. We made it work, but it had its problems.
Even though Wave is so much more capable than this very small and isolated use-case, I have to admit, it does do this very very well.
Since the only people who need to collaborate on this topic is myself and my lovely wife, the collaboration "issues" people have been complaining about with Google Wave doesn't really apply. If you're not familiar with what I am talking about, check this out:

In either case, we've been using Wave to manage our daily lives and to make notes and comments to each other about various needs of the household and the family - and so far, it's working just great.
It might seem weird to other people that my wife and I even need a tool like this, but as an organizationally challenged individual like myself, I find it's making life just that little bit easier.
It's crazy how little documentation there is on using selects (drop down lists) inside form-helpers in Rails. So, it can get quite confusing when it comes to using the different select helpers; select, select_tag and collection_select.
In order to address this inadequate documentation and examples, I thought I would post here, some of the differnces between them with some examples so you can choose for yourself, the best one to use.
<select name="gender"> <option value="1">Male</option> <option value="2">Female</option> </select>
The selection box has some key parts, the name, which is required, and used by the browser when submitting the <select> choices to the server. The option tags, each of which are made up from a "value" and "text" pair, the "value" to identify the select item in the server, and the "text" which will be displayed to the screen.
There are three different select form helpers in ruby on rails, "Select", "select_tag" and "collection_select". Let's compare them.
select(object, method, choices, options = {}, html_options = {})
Defined in ActionView::Helpers::FormOptionsHelper
<%= select( "payment", "id", { "Male" => "1", "Female" => "2"}) %>
Select can be used in conjunction with a model object as seen in this example, an instance variable is passed into choices, but is being converted into an array of arrays.
<%= f.select :gender_id, @genders.map {|r| [r.name,r.id] } %>
Use select_tag when you require a drop-down selection box populated with data not sourced from a database, and are happy to hard code the default selected option tag. Select_tag should also be used when you want to process your form as a GET, rather than a POST.
<%= select_tag "payment", options_for_select([ "Male", "Female" ], "Male") %>
or
<%= select_tag "payment", options_for_select(%w{ Male Female }) %>
You can also do multi-select boxes:
<%= select_tag 'payment[]', options_for_select(@genders), :multiple => true, :size => 3 %>
(where the controller defines @genders as a hash of values).
In this example the gender methods are being added to the select box via a model object, notice how we use the option, :prompt to add an additional option tag to the select box, which will be selected by default. Note that if @object.method matches one of the option tags, this will be selected by default, and :prompt wont appear in the list.
<%= collection_select(:gender, :id, @genders, :id, :name, options ={:prompt => "-Select a gender"}, :class =>"gender") %>
In sum:
Use select when you require a basic drop-down selection box populated with data not sourced from a database.
- The object is the name of an instance variable. This is typically a model object (singular name of the table whose data your displaying, or in other words, the table record).
- The method is the attribute of that instance variable. This is typically a field/column of the table whose data your displaying (really an ActiveRecord method).
- Together the object and method specify the name of the select statement in the generated html choices can be any enumerable object e.g arrays and hashes and results of database queries, and contains the option tags for the select box.
- The optional options argument takes various "options" some of which are listed below in the examples.
- The optional html_options argument allows css to be used for styling the select box.
- If one of the option tags in choices matches @object.method, that option tag will be selected.
Use collection_select when you require a drop-down selection box, whose source is a model/object
- The object is the singular name of the table whose data your displaying (the table record).
- The method is the field/column of the the relevant data (really an ActiveRecord method).
- Together the object and method specify the name of the select statement in the generated html collection takes the option tags for the select box, this can be a hash or array.
- The value_method is the field/column to use for the value of the option tags in your html.
- The text_method is the field/column to use for the visible text of the option tags in your html.
- The optional options argument takes various "options" some of which are listed below in the examples.
- The optional html_options argument allows css to be used for styling the select box.
- If one of the option tags in collection matches @object.method, that option tag will be selected.
Some of the content for this post came from here - check it out for a more detailed explaination of the differences between the 3 select form helpers.

If, like me your a slave to the ignorance and intollerance of Michael Atkinson and are stuck with the borked, "censored", Aussie version of Left4Dead 2 - have hope. As expected, I don't think Valve has gone to extreme lengths to "lockdown" the censroship of L4D2.
It's as simple as changing a single character in 2 files.
- First, download and then run the Left4Dead 2 demo.
- Quit (you don't have to play it, the menu is enough.
- Goto your "steamapps\common\left 4 dead 2 demo" directory. On my machine this folder is in "C:\Program Files (x86)\Steam\steamapps\common\left 4 dead 2 demo".
- Edit the steam_appid.txt file and change "590" to "510".
- Goto your "\steamapps\common\left 4 dead 2 demo\left4dead2" folder.
- Edit the steam.inf file in notepad (or text editor of your choice) and change the "appID=590" line to "appID=510".
- Go back to the "\steamapps\common\left 4 dead 2 demo" folder and run the "left4dead2.exe" file.
You will need to run the game from the exe directly for this hack to work, and steam will report the game as "Left4Dead Dedicated Server" but, despite these, you should have a 100% bona-fide proper version.
Now while this works (and I am grateful that it does) I should never have had to do it. Australia needs a R rating for video games. We are one of the few countries that don't. And its not about getting raunchy or violent games - its about responsibility. 15 year old children shouldn't be playing even the censored version of the game - plain and simple. There are many other examples of games which are marketed and sold to 15+ year old children which simply shouldn't be (Doom 3 for example).
And the fact is we would have an R rating except for the illinformed and rediculous stance that the Office of Film and Literature Classification has taken with video games. Video game classification in Australia is the most strict in the Western World in terms of not having an adult's rating (R18+). Currently only Michael Atkinson, South Australian Attorney-General opposes the R18 classification introduction and is also blocking the release of a public paper that canvasses the opinion of the Australian public on whether or not an R18 classification should be introduced.
It staggers me that 1 person can get so much power to effect so many people through inaction.
It's unconscionable. Immoral. And Irresponsible.
