Google Wave Invites
I have lots of Google Wave invites. Lots.
I understand there is a small privacy flaw in this distribution method, but I don't want them any more.
First come, first served.
Google Alphabet
Apparently Google almost owns the world. I am a pretty big fan of Google and like/use almost everything that they create. In honor of our new technical overlords, I have made non-exhaustive list of what I'll call the Google Alphabet. I realize some letters are missing, but that doesn't mean they don't have a service that starts with the letter.. I just could not find one. Also recognize that many of the letters have multiple products that fall under that letter. I chose whatever one I wanted to. I hope you can find something new that Google offers, find it useful, then use it. My top six: Voice, Reader, Chrome, Docs, Gmail and Picasa
Alerts, Books, Chrome, Docs, Earth, Finance, Groups, Health, Images, jQuery, Knol, Latitude, Maps, News, OS, Picasa, in Quotes, Reader, SketchUp, Talk, URL shortener, Voice, Wave, X, YouTube
MacBook 5- Software Part 3, Dashboard, Spaces and Time Machine
Dashboard
Dashboard is a non-essential but cool aspect of OS X. I would equate it to the Sidebar in Vista or Gadgets in Windows 7. I wouldn't necessarily say that Windows ripped it off from OS X, but it could be likely. Maybe Google Desktop and maybe Konfabulator? Who knows.
Dashboard is a graphical overlay that is the home to what are called widgets. Widgets are little HTML/CSS/JavaScript/Objective C programs that perform a function. Widgets generally only perform a single function, and are just fine hiding in the background not being seen. These widgets can also interact with currently running programs, such as the notification program Growl. Some of the default Widgets that are actually useful are:
- A pansy calculator (pictured)
- Weather
- Google Search
- iTunes controller
- Mini Calendar (pictured)
- A time-zone-changeable clock (pictured with Vancouver, no I don't know anyone that lives there)
- Unit converter
- ... and others
There are many third-party widgets available, since is all the widgets are made of is mostly HTML and CSS, they can be rapidly deployed by web programmers. The best repository for third-party widgets is probably apples own dashboard widgets site. About half of my currently-running widgets are third party, because Apple just didn't see the need, my favorite one is iStat Pro.
Installing widgets is fairly easy, once you download the file (which is a .wdgt btw) you'll double click on it and it will simply ask you if you would like to install the widget (pictured below). Managing widgets is also pretty easy, and reminds me slightly of the iPhone's Mail/Messages interface (pictured below). You can't delete built-in widgets, but third-parties are destroyed in a breeze.

Install Widget?

Widget Manager
The Dashboard is activated several ways: by a keyboard hotkey, by a mouse button or by visiting a hot corner. The way that I am currently doing it is by a hotkey, because I don't see much sense in assigning a perfectly good mouse button to waste or using hot corners, they kind of bug me. Oh, and Widgets is a stupid name.
Hot Corners (Active Screen Corners)
For those of you not familiar, if you simply move your mouse to a pre-defined corner (all four are free to use) you can make OS X do all sorts of cool things.
Note that this is one of two places to edit the hot corners, the other place is in Desktop and Screen Saver > Hot Corners... button
It is not pictured here because I couldn't get a good screenshot, but the options are:
- Exposé All Windows
- Exposé Current Application Windows
- Show the Desktop
- Bring up the Dashboard
- Show Spaces
- Start the Screen Saver
- Disable the Screen Saver
- Put the Display to Sleep
The real problem I have with hot corners is I accidentally activate them constantly and when it does something annoying like sleep the display; it is very easy to disable that setting and not look back.
Spaces
Spaces are okay. I enabled them a while back, only to find out that I only ever used on space anyway.
Spaces is OS X's solution to a virtual desktop manager. I was first introduced to virtual desktops in the Windows XP era with the PowerToy called Virtual Desktop Manager. This PowerToy allowed you up to four separate spaces that had their own start menu, task bar and desktop.
From Paul Thurrot's SuperSite review of XP's PowerToysSpaces is similar in that it has its own desktop for different purposes, there are a few things that I am not okay with. First: Each new space should have its own new dock, or at least the option to make it so. Second: If you have different documents opened by the same program in different spaces, when you cmd-tab to the application it will switch spaces to the one that has the most recently active document for that program. The cmd-tab should have different selections for the different spaces even if it is the same program, although I understand that might confuse some people who are accustom to the OS X atmosphere of limited possibilities.
Everything else operates how I expect it should. Exposé only works on the current space. You are allowed to drag windows to the edges of the screen to switch that window spaces. In the overview mode you can drag whole spaces around to switch positions of windows, also, you can grab individual windows and move them from space to space (as pictured, where I am dragging a picture of me and the Girl to the lower left space). I would say that it is a fairly versatile piece of software, but I only use it with two spaces and have a VM is in full screen on one space and everything else is on the other.
Now, on to my favorite topic of today...
Time Machine
This program is literally the coolest part about OS X. Now, I might have said that before about some other feature in OS X, but this time I mean it.
Time Machine is an automatic backup feature that backs up your computer every hour. The best part is automatic. I have it set to back up to my Windows Server box (that was a nightmare to get Time Machine to accept an smb share) and it does a beautiful job. I can only say that I have actually used Time Machine to restore one file once, but it was still a magical experience. The best part about Time Machine (to me) is that it backs up your entire computer, programs, settings and all. This allows you to wipe your machine and restore from a Time Machine backup without any extra work.
Since Apple will say this much better than I can, here is what type of backups (incremental) Time Machine does:
Following the initial backup of your entire Mac, Time Machine automatically makes incremental backups every hour, every day, copying just the files that have changed since your last backup. And it does this all in the background, so you can continue working while Time Machine is busy copying your files. Time Machine saves the hourly backups for the past 24 hours, daily backups for the past month, and weekly backups for everything older than a month. -Time Machine explanation
The Time Machine program allows you to restore previous versions of not just files in Finder, but also in other first-party programs like iWork and iLife applications (although they are currently untested by me since I don't use them). The interface is slick, once launched it hides all other windows and shows you the current Finder window with a cascade of previous versioned Finder windows slowly disappearing into the animation behind it (see picture).
The screenshot is showing what my desktop looked like on Monday, Feb 1st. I could easily restore the folder and its contents, which have been deleted, by selecting the files/folders and hitting the Restore button in the bottom right hand portion of the screen. Off on the right hand side there are white tick marks that run up the side of the screen from the bottom to the top, this will let you select a specific day in history if you want to restore files from a certain point. In the picture I have my mouse hovered over the Monday, Jan 25th restore date
I know it didn't get much screen time, but Time Machine is probably the greatest thing for regular users that are worried about losing all their kids pictures and baseball game memories, etc. Windows has something similar as implemented by Shadow Copy but the interface of Time Machine is very slick. What they need now is an online backup method (maybe as part of MobileMe?) like Mozy or Carbonite, except Apple.
DEP, NX bit and others
This is preliminary, but I have almost-decided to do some research about what is probably most commonly known as DEP (Data Execution Prevention).
I'll point you to the Wikipedia entry for more information (and probably more technically accurate), but I'll give you a dumbed-down personalized version here.
Data Execution Prevention was introduced in Windows XP Service Pack 2, my favorite service pack btw, although the idea of DEP has been around for much longer than that. The idea of DEP is to stop programs, malicious or not, from executing code from a non-executable region of memory such as the default heap, stack or some memory pool pages; it can also prevent the program from writing executable code to these areas. A malicious program can take advantage of the way that an Operating System (Windows) handles exceptions improperly and then call up some code running in those special areas such as the default heap or stack and some special memory pools. DEP detects these anomalies and kills the process via standard operating system murdering tools.
The famous Blaster and Sasser worms used this method to inject code into (probably the stack) memory and executed it. From the small amount of research that I have done already, it appears as if the Blaster work took advantage of the RPC (Remote procedure call) in Windows. The same story goes for the Sasser worm, which was the result of a buffer overflow in the LSASS (Local Security Authority Subsystem Service).
A simple explanation of what a buffer overflow is this: A legitimate program will have a fixed size of temporary storage in memory (a buffer). This buffer is filled and emptied when the program needs to use it, a buffer overflow happens when more data that was expected enters the buffer and flows in to an adjacent memory space. This extra information could be a malicious program that is pushed into an executable area, then executed shortly after.
For an analogy, you have a company owned storage unit and you are constantly filling it with things you want to store and taking things out you are finished storing. You are also allowing a few employees to put things inside the storage unit when you need them to. One day a malicious employee puts more things in the storage unit than you have room for, and instead of it not fitting (like would happen in real life) it spills over into the next guys unit. Since computers are kind of dumb and obedient, they only do the things we tell them to, no matter how crazy it sounds, I'll say that the guy who owns the unit next to yours is very gullible and will do anything you tell him to. The things that spill over into his unit are some plans that tell him to immediately give your malicious employee every penny he has. Then he does it.
A lot of the time a buffer overflow will cause the original program to crash, or another program whose memory contents you've just overwritten, or both. DEP and its variants are supposed to stop this from happening, and while it isn't a perfect option it is better than nothing.
If my opinion changes over time or I find that I am wrong in anything I posted here, I'll try to come back and fix it, but I don't make any promises. Although, I've tried to make this as accurate as possible by doing some exploratory research.
As for some references to find out more:
http://support.microsoft.com/kb/875352 (A detailed description of the Data Execution Prevention (DEP) feature in Windows XP Service Pack 2, Windows XP Tablet PC Edition 2005, and Windows Server 2003)
http://www.watchguard.com/infocenter/editorial/135136.asp (Foundations: What Are Buffer Overflows?)
http://en.wikipedia.org/wiki/Buffer_overflow
http://en.wikipedia.org/wiki/Sasser_(computer_worm)
http://en.wikipedia.org/wiki/Blaster_worm
http://en.wikipedia.org/wiki/NX_bit
http://en.wikipedia.org/wiki/Exception_handling
http://en.wikipedia.org/wiki/Memory_pool
http://en.wikipedia.org/wiki/Stack_(data_structure)


![wxp_pt_final_10[1]](http://blog.mqp3.com/wp-content/uploads/2010/02/wxp_pt_final_101-150x112.gif)

