Saturday, April 21, 2007

C# - Using out Access to Parameters

The return type enables you to send back a single variable from a method; however,sometimes you will want more than one value to be returned. Although reference variables could be used to do this, C# has also added a special attribute type specifically for returning data from a method. You can add parameters to your method header specifically for returning values by adding the out keyword. This keyword signifies that a value is being returned out of the method but is not coming in. When you call a method that has an out parameter, you must be sure to include a variable to hold the value being returned. ex: int a,b; public void out_test(x, out y, out z) { y=x+1; z=x+2; } out_test(4, out a, out b);

C# properties - enable "get" and "set" in class

C# provides a concept called properties to enable you to create object-oriented fields within your classes. Properties use the reserved words get and set to get the values from your variables and set the values in your variables. class Point { int my_X; // my_X is private public int x { get { return my_X; } set { my_X = value; } } }

Tuesday, April 17, 2007

Google AutoPager (Greasemonkey)

Firefox with Greasemonkey: AutoPager enables "infinite scrolling" on Google search-results pages.

Typically, when you get to the bottom of a search page, you have to click Next to view the next batch of results. Not so with AutoPager: It fetches and appends the next batch as you scroll down, creating the illusion of infinite scrolling. Obviously you could just increase the number of results that appear when you search, but that makes for longer load times. AutoPager retrieves extra results a page at a time, as needed. Great little script; works like a charm.

Google AutoPager source

Monday, April 9, 2007

10 flagrant grammar mistakes that make you look stupid

Most of them are obvious for me, but it's good to keep them as a note for the future reference.

#1: Loose for lose No: I always loose the product key. Yes: I always lose the product key.

#2: It's for its (or god forbid, its') No: Download the HTA, along with it's readme file. Yes: Download the HTA, along with its readme file.

No: The laptop is overheating and its making that funny noise again. Yes: The laptop is overheating and it's making that funny noise again.

#3: They're for their for there No: The managers are in they're weekly planning meeting. Yes: The managers are in their weekly planning meeting.

No: The techs have to check there cell phones at the door, and their not happy about it. Yes: The techs have to check their cell phones at the door, and they're not happy about it.

#4: i.e. for e.g. No: Use an anti-spyware program (i.e., Ad-Aware). Yes: Use an anti-spyware program (e.g., Ad-Aware).

Note: The term i.e. means "that is"; e.g. means "for example". And a comma follows both of them.

#5: Effect for affect No: The outage shouldn't effect any users during work hours. Yes: The outage shouldn't affect any users during work hours. Yes: The outage shouldn't have any effect on users. Yes: We will effect several changes during the downtime.

Note: Impact is not a verb. Purists, at least, beg you to use affect instead:

No: The outage shouldn't impact any users during work hours. Yes: The outage shouldn't affect any users during work hours. Yes: The outage should have no impact on users during work hours.

#6: You're for your No: Remember to defrag you're machine on a regular basis. Yes: Remember to defrag your machine on a regular basis.

No: Your right about the changes. Yes: You're right about the changes.

#7: Different than for different from No: This setup is different than the one at the main office. Yes: This setup is different from the one at the main office. Yes: This setup is better than the one at the main office.

#8 Lay for lie No: I got dizzy and had to lay down. Yes: I got dizzy and had to lie down. Yes: Just lay those books over there.

#9: Then for than No: The accounting department had more problems then we did. Yes: The accounting department had more problems than we did.

Note: Here's a sub-peeve. When a sentence construction begins with If, you don't need a then. Then is implicit, so it's superfluous and wordy:

No: If you can't get Windows to boot, then you'll need to call Ted. Yes: If you can't get Windows to boot, you'll need to call Ted.

#10: Could of, would of for could have, would have No: I could of installed that app by mistake. Yes: I could have installed that app by mistake.

No: I would of sent you a meeting notice, but you were out of town. Yes: I would have sent you a meeting notice, but you were out of town.


Recover GMail, AOL, Yahoo! or Windows Live Passwords

MessenPass is a free password cracking tool that will easily reveal passwords of your AOL, Yahoo! Messenger, Google Talk, MSN or any other instant messenger clients. Since most messengers (like Google Talk or Yahoo! Messenger) require the same username / password combination to login as the mail account, MessenPass can effectively be used to recover your (or someone else's) Google Account, AOL or Yahoo! Mail password. And it works like a charm. [I was absolutely shocked to see my GMail password on the screen the moment I ran this 47 kb utility] MessenPass works only if you have selected the "Remember Password" setting while logging into your messenger program. It detects the Instant Messenger applications installed on your computer, decrypts the passwords they store, and displays all user name/password pairs in a text or Excel file. This may be a useful but quite dangerous tool as well - it's so small that it can run off your USB drive and requires no installation - imagine while you are on a trip to the pantry for a cup of coffee and anyone can access your login credentials by plugging in the USB drive. The only workaround is to deselect the "Remember password" while starting your IM client. MessenPass doesn't crack Skype or Hotmail passwords yet. Download MessenPass [IM Password Recovery Software] Source

Poor Man's WiFi
mirror (Italy)
Make 2.4GHz parabolic mesh dishes from cheap but sturdy Chinese cookware scoops & a USB WiFi adaptor ! The largest (300mm diam) shows 12-15dB gain (enough for a LOS range extension to 3-5km), costs ~US$5 & comes with a user friendly bamboo handle that suits WLAN fieldwork- if you can handle the curious stares!

List of Google Search Strings for Finding MP3

Note: This info works just great for ebooks as well just change mp3 to pdf, djvu, ps, etc... ---------------------------------------------------------------------- = Index ---------------------------------------------------------------------- 0) Key 1) Directories 2) Xitami Servers 3) Directory Listing 4) Andromeda Servers (depricated) 5) Zina Artists (depricated) 6) Apache mp3 Servers 7) Individual Songs 8 ) Saving Shoutcasts 9) Social Bookmarking

---------------------------------------------------------------------- = Section 0 - KEY ---------------------------------------------------------------------- This are just some definitions I will use below.

[Directory String] can be any of the following : 1) "index of" 2) "last modified" 3) "parent of"

[file type] can be any of the following : 1) "mp3" 2) "shn" 3) "wma"

[mp3 name] can be any of the following : 1) the name of the album in quotes 2) the name of the artist in quotes 3) be daring and leave it blank and have lots of links 4) be creative!

[limitors] 1) -html -htm -php -asp -txt -pls

(inurl:) is optional and may be omitted and in fact most be omitted if not using a search tool other than google.

(intitle:) can be used in place of (inurl:) and has a similar effect again you must be useing google.

(-filetype:txt) adding this to the end of your search string can filter some false positives.

(-playlist) adding this to the end of your search string can filter some false positives.

---------------------------------------------------------------------- = Section 1 - Directories ---------------------------------------------------------------------- These are the most common way that mp3s are stored on the www, you should try these strings first.

String Format : Type 1 : [Directory String] + (inurl:)[file type] + [mp3 name] Type 2 : [Directory String] + (intitle:)[file type] + [mp3 name] Type 3 : [Directory String] + [file type] + [mp3 name] + [limitors]

Example Strings : - intitle:index.of + mp3 + "grandaddy" -html -htm -php -asp -txt -pls - "index of" + "mp3" + "radiohead" -html -htm -php - "index of" + mp3 + "grandaddy" - "index of" + inurl:mp3 + "beatles" -txt -pls - "index of" + intitle:mp3 + beatles - "last modified" + "shn" + "dylan" - "last modified" + inurl:shn + "bob dylan" - "parent of" + inurl:wma + "grandaddy"

Suggestions : - Try (intitle:index.of + "mp3" + "band name" -htm -html -php -asp) first it is usually the most effective.

Another Little Trick: - If you have been getting alot of results on google but the pages don't seem to be there try adding dates and the "apache" string to your search i.e.

- intitle:index.of + mp3 + "grandaddy" -html -htm -php -asp apache feb-2005 - intitle:index.of + mp3 + "grandaddy" -html -htm -php -asp apache 2005

or if you just want a big list of mp3' doing a search like this every month - intitle:index.of + mp3 + -html -htm -php -asp apache mar

or if you want to condense the search try - intitle:index.of + (mp3|ogg) + "grandaddy" -(html|php|asp) +apache mar-2007

---------------------------------------------------------------------- = Section 2 - Xitami Servers ---------------------------------------------------------------------- String Format : Type 1 : "xitami web server" + (inurl:)[file type] + [mp3 name] Type 2 : "xitami web server" + (intitle:)[file type] + [mp3 name]

Example Strings : - "xitami web server" + "mp3" + "radiohead" - "xitami web server" + intitle:shn + "beatles" - "xitami web server" + inurl:mp3 + "magnetic fields"

---------------------------------------------------------------------- = Section 3 - Directory Listing ---------------------------------------------------------------------- String Format : Type 1 : "directory listings" + (inurl:)[file type] + [mp3 name] Type 2 : "directory listings" + (intitle:)[file type] + [mp3 name] Type 3 : "directory listings of" + (inurl:)[file type] + [mp3 name] Type 4 : "directory listings of" + (intitle:)[file type] + [mp3 name]

Example Strings - "directory listings" + "mp3" + "radiohead" - "directory listings" + intitle:shn + "beatles" - "directory listings" + inurl:mp3 + "magnetic fields" - "directory listings of" + "mp3" + "radiohead" - "directory listings of" + intitle:shn + "beatles" - "directory listings of" + inurl:mp3 + "magnetic fields"

---------------------------------------------------------------------- = Section 4 - Andromeda Servers ---------------------------------------------------------------------- String Format : Type 1 : "scott matthews" + andromeda + [mp3 name] Type 2 : "scott matthews" + andromeda + [file type] + [mp3 name] Type 3 : "powered by andromeda" + [mp3 name] Type 4 : "powered by andromeda" + [file type] + [mp3 name] Type 5 : inurl:andromeda.php + [mp3 name] Type 6 : inurl:anromeda.php + [file type] + [mp3 name] Type 7 : "scott matthews" Type 8 : "powered by andromeda" Type 9 : inurl:andromeda.php

Examples : - "scott matthews" + andromeda + "radiohead" - "scott matthews" + andromeda + "mp3" + "fitter" - "powered by andromeda" + "gradaddy" - "powered by andromeda" + "mp3" + "just like women" - inurl:andromeda.php + "shn" - inurl:anromeda.php + "wma" + "dylan" - "scott matthews" - "powered by andromeda" - inurl:andromeda.php

---------------------------------------------------------------------- = Section 5 - Zina Artists ---------------------------------------------------------------------- String Format : Type 1 : "zina artists"

Examples : - "zina artists"

---------------------------------------------------------------------- = Section 6 - Apache mp3 Servers ---------------------------------------------------------------------- String Format : Type 1 : "stream all" + apache + [mp3 name] Type 2 : "stream all" + apache Type 3 : "shuffle all" + apache + [mp3 name] Type 4 : "shuffle all" + apache

Examples : - "stream all" + apache - "stream all" "shuffle all" mp3 - "stream all" + apache + radiohead - "shuffle all" + beatles

---------------------------------------------------------------------- = Section 7 - Individual Songs ---------------------------------------------------------------------- Format : [mp3 name].mp3 -playlist -filetype:txt

Examples : - "ok_computer_live.mp3" -playlist -filetype:txt - "*ok_computer*.mp3" -playlist -filetype:txt - kid*a.mp3 -playlist -filetype:txt

---------------------------------------------------------------------- = Section 8 - Shoutcasts ---------------------------------------------------------------------- 0) Streamripper is a free shoutcast recorder

1) Find a shoutcast that you would like to save.

2) Download and open the .pls file, to discover the stream url File1=

3) Open up a terminal (DOS or xterm)

4) break up the url into its parts (site,port,locations) so here we have site: port: 80 location: /stream/1074

5) Uset telnet to Send HTTP GET message and redirect output. The request is

prompt$ telnet site port > output.mp3 GET location HTTP/1.0 PRESS_ENTER_KEY PRESS_ENTER_KEY

so in the example abovePublish

prompt$ telnet 80 > output.mp3 GET /stream/1074 HTTP/1.0

---------------------------------------------------------------------- = Section 9 - Social Bookmarking ---------------------------------------------------------------------- Social Bookmarks sites, are site where people can leave links to other interesting sites given a certain "tag." Tags are sort of like search terms and categories combined. Searching anyone of these bookmark sites for the type or music or band you like is almost sure to bring up lots of links to free mp3s. There are two links at the top of this page digg and, I use and there are others. If you do join a site make sure to give me a thanks by adding a link to this site!


Saturday, April 7, 2007

Gmail keyboard shortcuts

Touch-Typing software: TypeFaster

From the official site: Standard Version Features
  • Supports multiple keyboard layouts and more can be added easily (see the developers section). Includes support for non-rectangular keys. The following keyboard layouts are currently supported:
    • Danish
    • Finnish
    • French
    • French-Belgian
    • German
    • Hebrew (no lesson files)
    • Italian
    • Norwegian
    • Numeric Keypad
    • Portuguese
    • Spanish
    • UK-English
    • US-Dvorak
    • US-English
  • A clear indication of which fingers to use. This is the essence of touchtyping.
  • A 3D typing game.
  • Typing statistics and the option of practising the least accurate/slowest/custom keys.
  • Keyboard is not a fixed size (resolution independent).
  • Multi-user support.
  • Teacher support (view student statistics).
  • Interface for editing lesson files and game settings.
  • Backspace support
  • Right to left text support.
  • Variable text size.
  • Lesson files can be prose or poems.
  • Lesson progress indicator.
  • Completely free with full source code availability.
There is also "Accessible Version" for visually impaired or blind users. Download

pico: Quite possibly the world's smallest robot (DIY)

TODO: build one ASAP!!! LINK

Draw on the screen apps(Windows)

Screen Marker is an application used for drawing on the current screen using a variety of tools. The primarily use for such a system is typically when there is a remote administration session in-progress and the participants require the functionality to draw on the screen to highlight existing or provide further information to all those involved. ZoomIt is screen zoom and annotation tool for technical presentations that include application demonstrations. ZoomIt runs unobtrusively in the tray and activates with customizable hotkeys to zoom in on an area of the screen, move around while zoomed, and draw on the zoomed image. I wrote ZoomIt to fit my specific needs and use it in all my presentations.

How to punctuate a sentence

This month I’ll offer a quick-and-dirty guide to punctuating a sentence. Nothing that follows is meant to substitute for the nuanced explanations of what’s usually called a writing handbook, the sort of book that college students purchase in a first-semester writing course. These five rules though have the virtue of being manageable, which is difficult to say of a 1,000-page book. In each paragraph that follows, the sentences illustrate the punctuation rule involved. Note that I’m avoiding almost all grammatical terminology. Instead, I’m emphasizing a small number of sentence patterns.

Rule one If your sentence begins with an introductory element, put a comma after it. Even if it’s a short element, put a comma after it. In time, you’ll be putting this comma in without having to think about it.

Rule two Any element which interrupts the movement of the sentence, whether it’s big or small, should be set off with commas. This sentence, like the first, also has an element set off with commas. An element that appears at the end of the sentence should also be set off with a comma, as I’m showing here.

Rule three Items in a series should be separated with commas. What do I mean by “items in a series”? Wine, women, and song. Life, love, and laughter. Crosby, Stills, Nash, and Young.

Rule four Complete sentences that are joined by a coordinating conjunction (and, but, for, nor, or, so, yet) need a comma before the coordinating conjunction. That might seem obvious, but this comma frequently gets left out. Putting it in makes a sentence more readable, and any reader appreciates that.

Rule five Complete sentences that are joined without a coordinating conjunction need a semi-colon instead of a comma; the semi-colon shows the end of one sentence and the beginning of the next. Semi-colons are often followed by a connecting word or phrase; however, a connecting word or phrase is not necessary. Sentences joined with only a comma are called comma splices; they’re among the most common errors that come up in college writing.

(Note: In the next-to-last sentence in the previous paragraph, there’s a comma after however because it’s an introductory element in the second sentence.)

Fixing comma splices requires familiarity with two recurring sentence patterns. The first involves a complete sentence, a semi-colon, and another complete sentence:

[complete sentence]; [complete sentence].

Some examples:

Your argument is persuasive; it addresses every objection I had. His research paper is plagiarized; he is going to fail the class. The novel is a relatively recent literary form; it’s not nearly as old as epic poetry and lyric poetry.

The second pattern to look for involves a complete sentence, a semi-colon, a connecting word or phrase, a comma, and another complete sentence:

[complete sentence]; [word or phrase], [complete sentence].

(Again, the comma after the connecting word or phrase is appropriate as that word or phrase is an introductory element in the second sentence.)

Some examples:

I decided not to take the job; instead, I’m going to graduate school. The proposal is flawed; as a result, we’re sending it back for revision. She did well in the class; in fact, she did much better than she had expected.

How can you tell whether you have two complete sentences or one sentence with an interrupting element at its end? With an interrupting element (something less than a sentence in itself), the parts of the sentence can be switched and still make sense:

I’ll go to work, even though I’m sick. Even though I’m sick, I’ll go to work.

But with a second complete sentence and a word or phrase such as instead, as a result, or in fact, the parts cannot be switched and still make sense.

Those are the basics of punctuating sentences with commas and semi-colons. I know from working with many students that any writer can get better when it comes to punctuation. The key is the ability to recognize a handful of familiar patterns. Look for the patterns in your sentences, and you too can get better. With some practice, you’ll be able to see the parts of your sentences falling into place, and punctuating correctly will become, believe it or not, a habit, one that you’ll be happy to have acquired.


Friday, April 6, 2007

Ramaloke blog: Expandable Post Summary for the New Blogger (formerly beta)

Ramaloke blog: Expandable Post Summary for the New Blogger (formerly beta)

Cbreak: Open Source Commercial Remover for AVI Files

Cbreak, a cool tool that automatically removes commercials from AVI files. It works by scanning the AVI for black screens, which typically come before and after a commercial, and divides the AVI into black-seperated segments. Segments that are shorter than some specified length are discarded and the rest of the frames are stitched back together, losslessly. There's also a manual mode for the chance video where this algorithm doesn't work perfectly.

If you want to do the same for MPEG files, you can still use this tool by converting the MPEGs to AVIs losslessly using ffmpeg. After using Cbreak, just convert them back to MPEG.
It's Windows only, but the source is included (GPL) so maybe this could be ported to Mac/Linux as well. Personally, I'd also like to see this modified to automatically remove the sporting event from the super bowl commercials.

Cbreak: Free commercial remover for AVI files -Link.



Tuesday, April 3, 2007

How to sew on a button

Removing Extra Lines in MS Word

you’ll sometimes find that there are extraneous blank lines between paragraphs getting in the way. This happens frequently when text is pasted in from another source, such as an ASCII file or an e-mail, where it is common practice to hit enter twice between paragraphs (as opposed to indenting the first line of each paragraph). In a Word, however, those extra lines are not only unnecessary, but they are intrusive. The paragraph formatting options in Word allow for refined control of inter-paragraph spacing, paragraph indentation, and so on.

When working on an MS Word documentMS_Word_Paragraph_Format.jpgIn the example shown above, we have Word automatically inserting a 6pt spacer above each paragraph plus a 3pt spacer below (for a total of 9pts between paragraphs, which is slightly shorter than a typical text line containing a 10pt font with room for dissenters). The problem is that Word will treat a blank line as an entire paragraph, so we actually end up with about 30pt worth of spacing between paragraphs. Not good.

If there’s only a handful of such blank lines, then it’s no problem to simply place the cursor on each blank line, one at a time, and hit the delete key. But what if these extraneous blank lines go on for 50 pages? MS_Word_Visible_Marks.jpg

In Word, every paragraph ends with a special paragraph mark, and it turns out that you can perform a search-and-replace on these paragraph marks just as if they were regular text. Normally these paragraph marks are invisible, but you can make them appear by clicking on the button with the paragraph symbol (¶) in the toolbar. Click on the button a second time to render them invisible again. (Note: the paragraph symbols do not need to be visible in order to perform a search and replace against them. I just wanted to show you how to make them visible in case you were curious.)

MS_Word_Special_Paragraphs.jpg In the search/replace dialog, the notation that refers to a paragraph symbol is ^p (the caret symbol, followed by a lower case P). Don’t worry if you can’t remember this code. Simply click on the More/Less button to expand the dialog box, then click on the special button, and select Paragraph Mark. It will automatically type the ^p for you (into either the Find What, or Replace With, whichever had focus last).

Now, here’s the tricky part. You might think that, in order to delete the blank lines, you’d want to set Find What to ^p, leave Replace With blank, and click the Replace All Button. That will certainly delete the paragraph marks on those blank lines, effectively removing the blank lines, but it will also delete the paragraph marks at the end of the legitimate paragraphs. So, you’d end up with your entire document being one huge paragraph.

Instead, set Find What to ^p^p, and set Replace With to ^p. This tells Word that anywhere it sees two paragraph marks together, with nothing in between them, to replace them with a single paragraph mark — which has the net effect of leaving the first paragraph mark alone while deleting the second one. Note that if your file has multiple blank lines between paragraphs, then you’ll have to click the Replace All button repeatedly to eventually collapse all of the blank lines to nothing.

Now, say instead that the source material did not have blank lines between paragraphs but did indent the first line of each paragraph by five spaces. Here again, those spaces would interfere with the paragraph formatting. To delete those leading spaces, open the search and replace dialog, set Find What to ^p followed by five spaces, and set Replace With to ^p. After clicking on the Replace All button, any paragraph that is followed by another paragraph where the first five characters are spaces, those spaces will be removed. (Note: This counts on you knowing that the paragraphs with leading spaces begin with exactly 5 spaces. If you are unsure of the number of spaces, or if the number varies, then just have this search and replace dialog find ^p followed by a single space (still replacing it with ^p alone). Then, keep clicking on the Replace All button repeatedly until Word reports that it made zero replacements.

Outlook Command-Line Switches

To use switches, at the Start menu, Run command type:

Outlook /switch

Occasionally you'll need to use the full path to Outlook, so the command line looks like:

"C:\Program Files\Microsoft Office\Office11\Outlook.exe " /switch

Note: Paths that include spaces between words must be enclosed in quotation marks (") and are case sensitive.

For your reference here are just some of the most commonly used switches:

/c messageclass

Creates a new item of the specified message class, works for any valid MAPI form. For example:

/c ipm.activity creates a Journal entry /c ipm.appointment creates an appointment /c creates a contact /c ipm.note creates an e-mail message /c ipm.stickynote creates a note /c ipm.task creates a task

/CleanClientRules Starts Outlook and deletes client-based rules. For non-Exchange users. /CleanFinders Sets Outlook 2003 Search Folders back to the default state (deletes custom Search Folders) /CleanFreeBusy Cleans and regenerates free/busy information. /CleanProfile Removes invalid profile keys and recreates default registry keys where applicable. /Cleanpst Launches Outlook with a clean Personal Folders file (.pst) /CleanReminders Cleans and regenerates reminders. /CleanRules Starts Outlook and deletes client- and server-based rules. /CleanSchedPlus Deletes all Schedule+ data (free/busy, permissions, and .cal file) from the server. /CleanServerRules Starts Outlook and deletes server-based rules. Used only with Exchange server accounts. /CleanViews Restores default views. /FirstRun Starts Outlook as if it were run for the first time. /ImportPrf prffilename Launches Outlook and opens/imports the defined MAPI profile (*.prf). If Outlook is already open, queues the profile to be imported on the next clean launch. /Profile profilename Loads the specified profile. If your profile name contains a space, enclose the profile name in quotation marks. /ResetFolderNames Resets the language of the default folders to the language of the Outlook client. /ResetFolders Restores missing folders for the default delivery location. /ResetOutlookBar Rebuilds the Outlook Bar. /ResetWunderBar Rebuilds the new Outlook Control Bar in Outlook 2003. /Rpcdiag Opens Outlook and displays the remote procedure call (RPC) connection status dialog. /Sniff Starts Outlook and forces a detection of new meeting requests in the Inbox, and then adds them to the calendar. /Cleansniff Deletes duplicate reminder messages.

Larger List in Hebrew

Larger List in English

Mona Lisa in MS Paint

KeePass, the free, open-source, light-weight and easy-to-use password manager

Are You Using Less Than One Percent of Your Brain?

An often cited statistic is that most people are using about 10% of their brains. This is far from accurate as virtually all of the brain material is engaged in various processes from breathing to hunger. But, according to T.D. Wilson of the Harvard University Press, conscious processing is estimated to account for less than a thousandth of a percent of all sensory information processed. If you expect to learn through conscious thinking, utilizing 10% of your brainpower is actually aiming pretty high.


Watch out for the frogs!

Something I keep stumbling across is the idea of eating a frog for breakfast. It really isn’t as bad as it sounds. At home we even have a poster above the breakfast table that is a big picture of a frog with the caption “What’s your frog today?”.

Brian Tracy’s book Eat That Frog! 21 Great Ways to Stop Procrastinating and Get More Done in Less Time being a whole book on it, well reviewed on Amazon. All of this is based on an old saying:

“If the first thing you do each morning is to eat a live frog, you can go through the day with the satisfaction of knowing that that is probably the worst thing that is going to happen to you all day long!”

Thankfully there are more than frogs to eat in a day. Understanding the types of things that need to be done creates powerful understanding, that results in effective action. Tasks are a multidimensional problem space, but you can start by examining just two key dimensions of a task :

The desirability of the task - do you want to do it? The necessity of the task - do you need to do it?

Placing tasks across each axis gives four quadrants - boy, do I love quadrants - or types task:

  • 1. Things you don’t want to do, and actually don’t need to do.
  • 2. Things you don’t want to do, but actually need to do.
  • 3. Things you want to do and actually need to do.
  • 4. Things you want to do, but actually don’t need to do.

Each one has it’s own particular challenges.

1. Things you don’t want to do, and actually don’t need to do.
These are easy, don’t do them! These are ‘Gnats’, don’t get pushed into doing them by others. Squash them, bat them off, just say no! This is usually easy to do, because we are motivated to stay away from them and can see that they don’t need doing. It is generally other people that pressure us to do these things, or we accidentally commit ourselves to them. Remember that a fast ‘no’ is much better than a ‘yes’ that really means ‘no’. It avoids guilt for you and disappointment for the other person.

2. Things you don’t want to do, but actually need to do. These are the ‘Frogs’. The ugly, distasteful things that need to be done, but tend not to. You aren’t motivated to do them, leaving them victim to procrastination. Frogs need structure around them to ensure that they actually get done. Create the motivation to make them happen, either by transforming them into something desirable or by making them subordinate to a strong habit. Eating your frog at the start of the day is just such a habit, but it is even better. Making sure frogs are the first thing that gets done leaves you free to do the things that you enjoy doing. The habit creates an inherent reward. Either way, give yourself a reward for eating the frogs, otherwise they will just sit there watching you and croaking! “If you have to eat a live frog, it does not pay to sit and look at it for a very long time!”

3. Things you want to do and actually need to do. These are the ‘Gems’. They always appear more rare than they should be, but they are there. If you’ve eaten your ‘Frogs’, then dig out your gems. Make sure that you are being honest - are they things that really need doing? Or are they…

4. Things you want to do, but actually don’t need to do. The ‘Butterflies’. You want to do them, because they look like fun. You chase them, because they are pretty. The challenge is that time spent butterfly chasing is time that isn’t being spent doing the things that really need doing. They are a self-justified form of procrastination. Butterflies are pretty, it is easy to see them as gems. Understand that they most certainly are not. They don’t help you with what really needs doing.

I am finding that in quickly identifying the nature of the beast before starting helps in using time effectively and it leads to a shorter to-do list, because things get crossed off.

- Brush-off the gnats quickly, just say no and let them go.

- Eat the biggest and ugliest of the frogs at the start of the day, then it is done.

- Mine the gems and revel in the fun and effectiveness.

- And if you find yourself chasing butterflies, catch yourself and get back to mining those gems or eating that frog.

Have a great day, right after you’ve eaten that frog for breakfast!


Firefox OS: Why My Hard Drive & Software are Obsolete

While the debate of Windows v. Mac v. Linux rages on, at times rising to a roar in certain circles, I meekly raise my hand and offer a newly emerging fourth choice: none of these operating systems really matter anymore.

Why not? Because for writers like me, and for many others, all the software and storage space you really need is now online. All that matters is that you have your browser — and at the risk of sparking another flame war, I recommend Firefox.

Need a word processor, spreadsheet, photo program, or really most anything useful? Old-fashioned desktop applications aren’t necessary anymore, for the most part. You can fire up your browser on any computer, and given a decent internet connection, you’ve got your entire OS and hard drive right there, from anywhere you log in.

Now, before people start chiming in with “But I need X Application in order to do my work!” I have a disclaimer: my needs are relatively simple, so you may not be able to do what I’ve done. But I’ve intentionally simplified my needs, and for many people, this simplification can not only work, but be better than what’s offered on the desktop.

Here’s my Firefox OS, with an intentionally heavy reliance on the Google suite of software:

  • Word processor. I use Google Docs & Spreadsheets. I used its predecessor, Writely, in the past, and it works well. I’ve never been a fan of the bloated MS Word … until recently, I used the much smaller and faster open-source word processor, AbiWord. But when I would forget to email myself a text file from work to home, I cursed myself and made the switch to Google Docs. I haven’t regretted it yet.
  • Spreadsheet. Again, Google Docs & Spreadsheets. It isn’t as feature-rich as Excel or OpenOffice yet, but it does the job for most of my needs. In fact, it’s rare that I ever need anything more, and I suspect that’s the case for most people. And I expect the software to improve over time.
  • Email. This is a no-brainer. Gmail, all the time. It’s so much better than desktop email apps, and better than its competing webmail apps too. Fast, easy to use, powerful searches and features … enough can’t be said about Gmail. It’s my No. 1 app for work and personal use.
  • Feed reader. I’ve tried a lot of blog readers, including some good desktop and online readers. But Google Reader is by far the most efficient. I read it 2-3 times a day, and crank through my feeds. I can get through 100+ posts a day very quickly.
  • Blogging software. For my main blog at Zen Habits, I’ve tried various software, but so far the best for my needs is WordPress. It has everything I need, and is very extensible with lots of great plugins.
  • Photo software. One of the biggest reasons I need a hard drive is for all my photos, at work and home. I’ve solved that with Picasa Web Albums — another Google solution. I tried Flickr, but their free account is too flimsy, and Picasa just works better. Plus, if you like their great desktop software, it’s so perfectly integrated. I just uploaded all my thousands of photos from home, and it’s nicely organized online.
  • Hard drive. What do you need a hard drive for? Besides the space needed to run your system, and software such as your browser, we use hard drives for file storage — for our word processing and spreadsheet documents, photos, music files, PDFs, etc. Well, for the most part, all my files are now saved online. Between Google Docs & Spreadsheets, Gmail, and Picasa, everything I save is stored on the internet. The one thing I haven’t found a perfect solution for is mp3s, but I haven’t been using those much, and I’m sure a solution will turn up soon (let me know in the comments!). Another great solution is online storage such as, MediaMax (25 GB for free!), Gmail Drive and the like.
  • File management. The main reason for an OS is to manage your files. Well, since all my files are online, that’s now a moot point. How do I manage my files now? Well, as I use mostly Google software, I use Google’s philosophy: tag and archive everything, and use the tags or Google’s fast and powerful searches to find anything you need. This takes a bit of an adjustment on the user’s part, trusting this new paradigm to work, but trust me, it’s much better than filing stuff in folders. You save a heck of a lot of time filing and finding stuff. It’s not hierarchical, so that’s difficult for many people — but it works.
  • Backup system. One of the big problems with a hard drive is the very real possibility that it will crash sometime during its lifetime. And unless you’ve been good at backing up your files, you will lose that data. With all my files saved online, there’s no need to back up these files, which can be time-consuming and troublesome. Good news: most of these services do a good job of backing up your data for you.
  • Calendar. For its ease-of-use and simplicity, Google Calendar (of course). It doesn’t have all the functionality of certain desktop calendar programs, but it works great for me.
  • Bringing it all together. I use a lot of Google apps, but Google’s main problem (for me) so far is that it doesn’t integrate these services well. Well, enter another Google solution: the Google Personalize Homepage. It’s now my home page. But I don’t use it like many others do, with all kinds of fun and distracting widgets, or to read all my blogs. No, I just have all my Google services on this page for easy access, along with quick bookmarks for all the other stuff I use for work and for my blogging, and some stickies for taking quick notes. One page to rule them all.
  • Miscellaneous. I’m a fan of GTD, so I use Tracks for my to-do lists. I use other online software, such as Backpack for keeping other lists, but the ones above are the main apps. I also use AutoHotkey to quickly bring up the pages I use a lot, like Gmail, my to-do lists, my story ideas file, and the like, as well as to type my different signatures and other shortcuts.
  • Firefox, of course. All of this is possible with Internet Explorer or the very good Safari or Opera browsers, but Firefox just makes it that much better. It’s so easy and fast to use, plus there are certain extensions I can’t live without — Foxmarks, Gmail Manager, FireFTP, Download Statusbar and Web Developer among them. Give me Firefox, and I don’t care what brand of OS I’m using.

Is online software as feature-rich as desktop software? Not yet. But it’s good enough for my simple needs, and it’s getting better all the time.

Have I really gotten rid of my hard drive and software? Not yet. I still have all my old files on the hard drive, but they’re collecting dust. I no longer store my new files on my hard drive, and I rarely use my old desktop software. I keep them on my computer just in case I need to open up a specially formatted file, but for my nitty-gritty daily work, I don’t need that old software anymore.

Someday, none of us will, and the decades-old OS debate will be a thing of the past.

Leo Babauta is a writer, a marathoner, an early riser, a vegan, and a father of six. He blogs regularly about achieving goals through daily habits on Zen Habits, and covers such topics as productivity, GTD, simplifying, frugality, parenting, happiness, motivation, exercise, eating healthy and more.

User Comment:


For MP3 online-storage and playback, try Media Master ( You can upload all of your MP3’s (I’ve uploaded 6 GB of my library and I have more to go.


אתרים שכדאי להכיר לפני שיוצאים לחו"ל

מפות: MapQuest, Map24,, Google Maps

חיפוש בתי-עסק: שירות Ask Business מאפשר לכם לחפש בתי-עסק בחו"ל. בשרות משולבות גם מפות שיעזרו לכם לאתר את מיקום בית העסק.

מזג אוויר עולמי: Yahoo Weather,

מחשבונים והמרות: המרות תאריך ושעה, שעון עולמי, המרת מטבעות בינלאומית, המרת מסה ומשקל, מחשבונים שונים (עברית), מחשבונים שונים (אנגלית)

תקשורת: מקלדת וירטואלית בינלאומית (למקלדת העברית), מרכז התקשורת של אתר המזרח הרחוק, שיחות דרך האינטרנט ללא התקנת תוכנה, תוכנות מסרים מיידים דרך הדפדפן (ללא התקנת תוכנה)

מילונים ושיחונים: שיחונים ב-YNET תיירות, מילונים באתר המזרח-הרחוק, שיחונים באתר למטייל (דורש הרשמה), מילונים נוספים

פורומים: וואלה! תיירות ותרמילאות, קהילת למטייל, פורום טיולים וחופשות בחו"ל - תפוז פורומים

נקודות חמות בעולם: Wi-Fi Free Spot, Hotspot Finder

אוכל כשר: חיפוש בשמש, מסעדות כשרות,

קישורים נוספים

השימושון - נסיעות לחו"ל

חופשה זולה - נענע כסף פלוס


Monday, April 2, 2007

Firefox Extensions Memory Tweak

If you suspect Firefox extensions might be slowing your system down try, this tweak.

  1. Open Firefox and go to the Address Bar. Type in about:config and then press Enter
  2. Right Click in the page and select New -> Boolean
  3. In the box that pops up enter config.trim_on_minimize and press Enter
  4. Now select True and then press Enter
  5. Restart Firefox
Courtesy of

Top Firefox 2 config tweaks

You're a power surfer and you want your web browser your way. How to modify Firefox's configuration (about:config)

All this "advanced config" talk got you worried? Fear not, my friend. Here's the deal: Firefox's configuration is a long list of keysand values. To view this list, type about:config into the Firefox address bar. Then, enter the name of the key you want to update in the "Filter" field. The list will narrow to only the entries that match your keyword as you type, as shown.


(The key, of course, is knowing the key. More on that below.) To modify the value of a key, double-click on the value field and update the entry. To see your changes, restart your browser. Easy as pie. Got it? Good. Let's get to tweaking.

Session restore

Fx 2.0 only: As a blogger and web mail user, it breaks my heart to recount how many times I've composed a long post or email message, then accidentally closed the tab or browser and lost all my work. No more! With Firefox 2, set the key to 3 to restore your browsing session - with form entries intact! - every time you start your browser or undo close tab after a wayward click.

Note: By default, Firefox 2 automatically restores your session if your browser crashes - but this does it every time you restart your browser normally. Thanks for the tip, Arun!

Update: Ryan points out that doing it this way is like swatting a fly with a sledgehammer. To do it the normal person way, from the Tools menu choose Options, and in the Main area, select "Show my windows and tabs from last time" from the "When Firefox starts" dropdown. D'oh! Thanks Ryan!

Tab width before scrolling kicks in

Fx 2.0 only: The biggest interface changes in Firefox 2 involve tabbed browsing. Power surfers who open more than a dozen tabs will notice that Firefox 2 minimizes tabs to a certain width, then sets the excess to scroll off the tab bar with left and right arrows. As someone who often has more than a dozen tabs open, not being able to see them all made me crazy. One solution is to reduce the minimum tab width so that more tabs fit in the bar before the scroll kicks in. The default is 100 pixels; I found that 75 worked better for me - page titles were still readable, but more tabs could fit. Compare 100 width, which fits 7 tabs across at this size (click to enlarge):

To 75, which fits 10 across at this size (click to enlarge):

To disable tab scrolling entirely, set the value to 0.

  • Key: browser.tabs.tabMinWidth
  • Modified Value: 75 (fit in more tabs before overflow enables scroll)
  • Alternate Modified Value: 0 (disable scroll entirely)
  • Default: 100

Tab close buttons

Fx 2.0 only: Another tab interface change in Firefox 2 is the addition of a close button on each individual tab. I happen to love this, but some hate it, saying it causes them to accidentally close a tab when just trying to switch to it. If you're a hater, revert to the Firefox 1.5 behavior by changing the browser.tabs.closeButtons value to 3. This will not display close tabs on individual tabs, and turn on a single close tab button at the right end of the tab bar.

  • Key: browser.tabs.closeButtons
  • Modified Value: 3 (revert to Firefox 1.5 behavior)
  • Alternate Modified Value: 2 (don't display any close tab buttons)
  • Default: 1 (display close buttons on all tabs)

Fetch only what you click

Fx .6 and up: Firefox has this wacky little feature that downloads pages from links it thinks you may click on pages you view, like the top result on a page of Google results. This means you use up bandwidth and CPU cycles and store history for web pages you may not have ever viewed. Creepy, eh? To stop that madness, set the network.prefetch-next key to false.

Limit RAM usage

All versions: Goodness knows I've done a good amount of belly-aching about Firefox's voracious appetite for RAM. (It's consistently the most memory-intensive process on both my PC and Mac.) Happily a simple config tweak got Mem Use right back down to a more comfortable number. Along with the previous prefetch mod, set your browser.cache.disk.capacity browser.cache.memory.capacity to a value that fits your total RAM.

  • Key: browser.cache.memory.capacity
  • Modified Value: Depends on your system's total memory. According to Computerworld: For RAM sizes between 512BM and 1GB, start with 15000. For RAM sizes between 128MB and 512M, try 5000.

Turn off chrome tooltips


All versions: I have an irritating Firefox problem on my Mac. When I try to drag a bookmark into one of my bookmark toolbar folders, the tool tip gets in the way and prevents the drop from working. Argh! Like you, I already know what all the buttons on my browser chrome do, so the tool tips aren't necessary. To turn them off, set the key value to false. Bonus is, it solved my Mac's bookmark drag and drop problem.

  • Key:
  • Modified Value: false

Lastly, though 2.0's default value is a lot more reasonable than 1.5's, you can use about:config to put off that annoying Unresponsive Script dialog on Javascript-heavy web pages.

Update: From the comments, a few more good about:config tweaks:

  • layout.spellcheckDefault = 2 turns on Firefox 2's spell-checking in input fields as well as textareas. (That means no more typos in Lifehacker post headlines!)
  • browser.urlbar.hideGoButton=true turns off the rarely-used Go button at the end of the address bar, for more room to see long URLs. Thanks, sister-ray!

See the MozillaZine about:config wiki page for the exhaustive list of Firefox preferences keys, their possible values and effects.

What are your favorite Firefox about:config tweaks? Post 'em up in the comments.

Gina Trapani, the editor of Lifehacker, is a sucker for advanced settings. Her semi-weekly feature, Geek to Live, appears every Wednesday and Friday on Lifehacker. Subscribe to the Geek to Live feed to get new installments in your newsreader.

User Comments: 1. has a useful guide on speeding up firefox for broadband users. basically after getting to the hidden config settings you set the browser to request more data that it usually does.

1.Type "about:config" into the address bar and hit return. Scroll down and look for the following entries:

network.http.pipelining network.http.proxy.pipelining network.http.pipelining.maxrequests

Normally the browser will make one request to a web page at a time. When you enable pipelining it will make several at once, which really speeds up page loading.

2. Alter the entries as follows:

Set "network.http.pipelining" to "true"

Set "network.http.proxy.pipelining" to "true"

Set "network.http.pipelining.maxrequests" to some number like 30. This means it will make 30 requests at once.

3. Lastly right-click anywhere and select New-> Integer. Name it "nglayout.initialpaint.delay" and set its value to "0". This value is the amount of time the browser waits before it acts on information it receives.

If you're using a broadband connection you'll load pages MUCH faster now!


Starting in Firefox 2.0, The option to block third-party cookies has been removed from the user interface [1]. Firefox 2.0 users who wish to limit allowed cookies to those set by the originating website can use about:config to modify the preference network.cookie.cookieBehavior to "1" 2. The session restore tweak isn't necessary because it can already be found in the Options->Main->Homepage drop-down menu. 3.

"Set "network.http.pipelining.maxrequests" to some number like 30. This means it will make 30 requests at once."

I really wish people would stop perpetuating this myth. Firefox caps out at 8 pipelined requests, which is the max allowed by the HTTP spec. By default, it does 4 pipelined requests.

Furthermore, if you could do 30 pipelined requests we'd have sites with a high population of FF users being brought to their knees pretty quickly. Some sites will even block your IP if you try to pull a stunt like that.


layout.spellcheckDefault=2 will enable spellcheck for text inputs, not just textareas. 5. My personal favorite about:config tweak is setting to true. No more accidentally overwriting the page I'm on when I'm performing a search to follow up on later.


200+ extremely useful firefox extensions that save time and effort

How to train a cat to operate a light switch

For more videos like this search : clicker cat in youtube