For some reason, etymologists and scientists have felt the need to address groups of organisms using different words. Some, are more commonly known, like a "gaggle of geese" or "herd of elephants" . Here are some lesser known examples: aarmory of aardvarks army of ants barrel of monkeys battery of barracuda bed of clams bloat of hippos cast of crab cete of badgers cloud of bats coalition of cheetah coffle of asses company of parrots congregation of alligators flight of butterfly intrusion of cockroach leash of deer lodge of beavers maul of bears murder of crows orchestra of crickets pack (wild) / litter (young) of dogs parliament of magpie peep of chickens pod of dolphins pounce of cats prickle of porcupines rout of coyote scourge of mosquito shoal of bass stripe of zebra swarm of bees thunder of bison train of camel troop of baboons
karma /
I'm hanging out with my younger brother Wyatt and show him a GPS/radio unit I'm thinking about buying. His response? Deadpan. "great, now you can chat with the only other geek in the world that has one." Regardless of whether he has a point, the sibling hierarchy might be eroding.
nymble /
For some reason, I like words about words. These are not so useful in casual conversation, but awareness of them lends insight into the evolution of language and its structure. Following here are some of my favorites:
retronym - A word that has been changed to allow greater specificity for that word. e.g. "television" had to become "broadcast television" with the advent of "satellite television" and "cable television". See here for more examples.
eponym - a word naming a place, discovery, era or other item after its discoverer. Most interesting to me are the corporate eponyms that become the general term to describe something, e.g. Kleenex for tissue, Band-Aid for adhesive bandage, Xerox for copy machine. A more complete list is available here
capitonym - a word with the same spelling but different meaning based on capitalization. e.g. August vs august (the month vs the adjective)
heteronym - two words spelled identically but with different meanings and pronunciation. e.g. tear (rip something) vs tear (water from the eye)
meronym - Using part of something to refer to its whole. e.g. Threads (slang) as a meronym of clothes.
hyponym - a word of more specific meaning than another. A subset. e.g. Blue is a hyponym of color.
hypernym - a word of more broad meaning than another. A superset. e.g. Color is a hypernym of yellow.
antonym - a word opposite in meaning to another. e.g. love is an antonym of hate.
homonym - words with the same pronunciation but different meanings. e.g. There, their and they're are all homonym's of each other.
toponym - a word/phrase naming a place based on some physical feature. See place name origins for a more complete description.
metonym - a word/phrase used as a substitute for something else it is closely associated with. e.g. "Madison Avenue" is a metonym for advertising.
Joomla XSL Mambot /
I recently came across a nice little mambot that allows using XSL to format XML in Joomla. I modified it a bit so that it can pull in remote XML. Usage is easy:
{mosxslt my.xml my.xsl}
OR
{mosxslt http://foo.com/my.xml my.xsl}
You can download it here
cool toys /
The last few weeks I've wanted more and more to have the free time of a teenager. There are lots of toys out there right now:
There's an open hardware/microcontroller platform:http://arduino.cc/
An open programming language with an art bent: http://processing.org/
An open mote platform: http://www.libelium.com/squidbee/
Swarm robots: ($800): http://cs.gmu.edu/~eclab/projects/robots/flockbots/pmwiki.php ($200): http://www-bsac.eecs.berkeley.edu/projects/cotsbots/ http://www.swarmrobot.org/
iRobot opened up their platform: http://www.irobot.com/create/
Open humanoid robot: http://www.symbio.jst.go.jp/PINO/OpenPINO/open_pino.html
An open mobile platform: http://www.openmoko.org/
ASCII Words /
Alternate names for a few of the ASCII characters:
# = the octothorpe
& = the ampersand
` = the grave accent
@ = abbreviation for "at the rate of"
/ = solidus
Final Exam Bloopers /
How to handle mundane tasks... /
SI Prefixes /
With things only getting much bigger and much smaller, boning up on the terms for various magnitudes seems appropriate. Following is set of the International System of Units prefixes. This way when Apple comes out with it's next smallest gadget, you'll be right there with them.
Factor | Name | Symbol |
1024 | yotta | Y |
1021 | zetta | Z |
1018 | exa | E |
1015 | peta | P |
1012 | tera | T |
109 | giga | G |
106 | mega | M |
103 | kilo | k |
102 | hecto | h |
101 | deka | da |
10-1 | deci | d |
10-2 | centi | c |
10-3 | milli | m |
10-6 | micro | µ |
10-9 | nano | n |
10-12 | pico | p |
10-15 | femto | f |
10-18 | atto | a |
10-21 | zepto | z |
10-24 | yocto | y |
Running Kcachegrind on Mac OSX 10.4 /
This is a great app for profiling and optimizing your PHP, Perl and Python code. When used in conjunction with the cachegrind files produced by APD or Xdebug one can profile PHP scripts with a high degree of granularity. Getting it running on Mac is not immediate however.
The short recipe to get it setup is:- Make sure you have X11 installed.
- edit /sw/etc/fink.conf, add unstable/main and unstable/crypto to the Trees. (I've not seen the app to be unstable though)
- From the command line: # fink selfupdate; fink index; fink scanpackages
- run the command: # sudo fink install kcachegrind
NOTE: If you've installed Lesstif via some other package (there will be a file here: /usr/X11R6/include/Xm/Xm.h) Then you need to move the Xm directory temporarily somewhere else so Kcachegrind builds.
My php.ini settings look like this: ;;;;;;;;;;;;;;;;;;;;;;; ; Xdebug stuff zend_extension="/usr/local/php5/lib/php/extensions/no-debug-non-zts-20050922/xdebug.so" xdebug.default_enable = 1 ;increases memory usage xdebug.extended_info = 0 xdebug.auto_trace = 0 xdebug.trace_output_dir = "/var/log/php/xdebug" xdebug.collect_includes = 1 xdebug.show_mem_delta = 1 xdebug.remote_enable = 0 xdebug.auto_trace = 0 ; Careful... these 2 produce a lot of output xdebug.collect_params = 1 xdebug.collect_return = 1 xdebug.profiler_enable = 1 xdebug.profiler_output_dir = "/var/log/php/xdebug-profile" ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
With that you should be good!
Quick list of tools for web development /
There are a number of tools that we like to use at Izolo.
A number of them help a great deal with understanding what is really going on with web services. Some speed development and others provide the necessary error correction to produce great, international sites.
For validating XHTML:validator.w3.org
For validating CSS: jigsaw.w3.org/css-validator
For checking file sizes and transfer optimality: www.websiteoptimization.com
For international speed testing: www.alertsite.com
Some excellent Firefox extensions:
A window into AJAX requests: Firebug
For filling a page with words before the real content is ready: Lorem Ipsum Generator
A fantastic talk on UI Design from Oscon '06.
Hopefully these help you understand and develop web sites.