I typed this post on an iPhone. I am going to have to get me one of these.
Author: Bobby Rockers
It is easy to be brave from a safe distance
Sorry for the long delay in posts. It took a while but someone finally created a Google Maps powered routing tool for runner and bikers. It even lets you save your route. Below are a couple routes I have been looking at around my house:
- 15 Minute: A short timed route that takes just about 15 minutes for me to run.
- Here is the default 2 mile route I run around my neighborhood.
- 3 Mile Route: I have been looking for a good one for a couple years now. It took sixty seconds to find with this page.
- 3 Mile Number 2: Because who wants to go the same way every time.
- 4 Mile Route: Need a route that is longer than the 5k I will be running.
- 5 Mile Route: My first long, post 5k run.
- 6 Mile Route: This is a hill training route for my up-coming 10k.
- 6 Mile Route: Flat campus route for daily marathon training.
- 7 Mile Route: Final run before the Sept. 10k around Lake Hefner.
- 8 Mile Route: My first route that takes me through OU campus.
- 8.7 Mile Bike Route: When my shins get bad, and I have to take a break from running.
- 10 Mile Route: Double digits at last, and it only to me 9 years to get back to them.
- 11 Mile Route: At some point I am just going to have to circle the whole town.
- 12 Mile Pre-Half Route: Longest run before the half marathon in Tulsa.
- 14 Mile There and Back: Run out to lake Thunderbird rest stop and come back. Good hill work.
- 16 Mile Loop along Section Lines: Gotta love Oklahoma grid sections. Sure makes it easy to figure long routes. Sooner road and Depot Blvd mostly.
- 18 Miles East/West Lake Loop: Many marathoners don’t run more than 18 miles before their first. Hopefully this means I am within reaching distance.
- 20 Flat Route: First time over I-35 and back.
- 22 Mile Flat: Still trying to take care of my knee; so flat routes are the rule. Actual milage is a little over 22 but I honestly am not that picky any more… well at least until 26.2. Last long run before the OKC marathon!
Life is a foreign language; all men mispronounce it.
When I first starting working as a computer programmer, I constantly ran into the problem of bosses who wouldn’t appreciate the severity of the problem I was describing to them. After a number of years I improved on the situation by modifying the language I used when explaining a problem. This didn’t solve all of my employment issues (at the time I didn’t fully appreciate how dysfunctional the communication chain was in my employers hierarchy) but it helped substantially.
To understand what words mean when you are talking to programmer I recommend this article by Charles Miller. Here is an excellent example of a software engineering concept that non-programmers often fail to understand:
To a programmer, a problem is trivial if there is a clear solution, and the only thing that needs to be done is to implement it.
The only caveat is that triviality refers to how hard the problem is to solve, not how hard it is to implement the solution. So there is no necessary relation between a task being trivial, and how long it takes. To the programmer, once the plans for the bridge have been drawn up, the materials chosen properly and the model tested for how it would survive wind, traffic and earthquakes, actually building the bridge is trivial.
I am not sick. I am broken.
Firefox changed some of it’s defaults in version 2.0. The new defaults are mind-numbingly bad in some places; and simply annoying in others. Thankfully they can be fixed. Here are a couple of the worst offenders and how to fix them.
Changing Back to shrinking Tabs in Firefox
- Open a new firefox tab.
- Type “about:config” into the address bar
- Type “tab” into the filter field.
- Change the settings of both “browsers.tab.tabClipWidth” and “browsers.tab.tabMinWidth” to 5
- Restart Firefox.
Use a single close button on Firefox
- Open a new firefox tab.
- Type “about:config” into the address bar
- Type “browser.tabs.closeButtons” into the filter field.
- Change value to “3” (without the quotes)
- Restart Firefox.
With foxes we must play the fox
Here is a list of Firefox shortcuts I have found over the years. I have kept this list on the company blog for months now, and yet, every-time I read over it I find something useful.
| Shortcut | Description |
|---|---|
| Alt + B | Open the Bookmarks drop-down menu |
| Alt + D | Select the current Location bar text |
| Alt + E | Open the Edit drop-down menu |
| Alt + F | Open the File drop-down menu |
| Alt + G | Open the Go drop-down menu |
| Alt + H | Open the Help drop-down menu |
| Alt + T | Open the Tools drop-down menu |
| Alt + V | Open the View drop-down menu |
| Alt + Enter | Open address in a new tab |
| Alt + Left Arrow | Move back |
| Alt + Right Arrow | Move forward |
| Alt + Home | Open the Home page |
| Alt + F4 | Close active window |
| Backspace | Move back |
| Delete | Delete |
| Esc | Stop downloading a page |
| End | Move to the bottom of a page |
| Home | Move to the top of a page |
| Ctrl + + (plus sign) | Increase text size |
| Ctrl + – (minus sign) | Decrease text size |
| Ctrl + 0 | Restore normal text size |
| Ctrl + 1 | Open Tab 1 |
| Ctrl + 2 | Open Tab 2 |
| Ctrl + 3 | Open Tab 3 |
| Ctrl + 4 | Open Tab 4 |
| Ctrl + 5 | Open Tab 5 |
| Ctrl + 6 | Open Tab 6 |
| Ctrl + 7 | Open Tab 7 |
| Ctrl + 8 | Open Tab 8 |
| Ctrl + 9 | Open Tab 9 |
| Ctrl + F4 | Close active tab |
| Ctrl + F5 | Refresh (override cache) |
| Ctrl + A | Select All |
| Ctrl + B | Open/close the Bookmarks pane |
| Ctrl + C | Copy |
| Ctrl + D | Add a bookmark (defaults to the active page) |
| Ctrl + E | Activate Web Search |
| Ctrl + F | Find |
| Ctrl + G | Find again |
| Ctrl + H | Open/close the History pane |
| Ctrl + I | Open/close the Bookmarks pane |
| Ctrl + J | Open/close the Downloads dialog box |
| Ctrl + K | Activate Web Search |
| Ctrl + L | Select the current Location bar text |
| Ctrl + M | Open a new e-mail message using the default e-mail client |
| Ctrl + N | Open a new Firefox window |
| Ctrl + O | Open a file |
| Ctrl + P | |
| Ctrl + R | Refresh |
| Ctrl + S | Save As |
| Ctrl + T | Open a new tab in the current Firefox window |
| Ctrl + U | View the source code for the current page |
| Ctrl + V | Paste |
| Ctrl + W | Close the active tab within the current Firefox window |
| Ctrl + X | Cut |
| Ctrl + Y | Redo |
| Ctrl + Z | Undo |
| Ctrl + Down Arrow | Select next search engine in Web Search bar |
| Ctrl + Up Arrow | Select previous search engine in Web Search bat |
| Ctrl + Tab | Select the next tab within the current Firefox window |
| Ctrl + Page Down | Select the next tab within the current Firefox window |
| Ctrl + Page Up | Select the previous tab within the current Firefox window |
| Ctrl + Shift + Tab | Select the previous tab within the current Firefox window |
| Ctrl + Enter | Add “www.” to the beginning and “.com” to the end of the text in the Location bar |
| Ctrl + Shift + Enter | Add “www.” to the beginning and “.org” to the end of the text in the Location bar |
| Ctrl + Shift + R | Refresh (override cache) |
| Ctrl + Shift + W | Close Firefox |
| Shift + F3 | Find previous |
| Shift + F6 | Move to the previous frame |
| Shift + Enter | Add “www.” to the beginning and “.net” to the end of the text in the Location bar |
| Shift + D | Delete the selected Autocomplete entry |
| Shift + Backspace | Move forward |
| F1 | Open Mozilla Firefox Help |
| F3 | Find again |
| F5 | Refresh |
| F6 | Select the current Location bar text |
| F7 | Toggle on/off Caret Browsing |
| F11 | Switch between full-screen/normal view |
The love of…
When money ceases to become the means by which men deal with one another, then men become the tools of other men. Blood, whips and guns–or dollars. Take your choice–there is no other.
–Ayn Rand
I do nothing but go about persuading you all, old and young alike, not to take thought for your persons or your properties, but and chiefly to care about the greatest improvement of the soul. I tell you that virtue is not given by money, but that from virtue comes money and every other good of man, public as well as private. This is my teaching, and if this is the doctrine which corrupts the youth, I am a mischievous person.
–Socrates
A wise man should have money in his head, but not in his heart.
–Jonathan Swift
Only sick music makes money today.
–Friedrich Nietzsche
Every time you spend money, you’re casting a vote for the kind of world you want.
–Anna Lappe
I hope that when I die, people say about me, ‘Boy, that guy sure owed me a lot of money.’
–Jack Handy,
I have become the tools of my tools
Here is a Linux command I never knew existing. basename returns a file/folder name without any of the leading directory information. If specified it even removes any trailing extensions. I have written entire bash subroutines to do exactly this; without the consistency of basename.
To discover the limits of the possible…
I am going to repost this letter by Shae Allen via the BizNik forum. It would be even funnier if it wasn’t my life we are talking about. I present, for your reading enjoyment, “If Architects Had To Work Like Web Designers.”
Dear Mr. Architect:
Please design and build me a house. I am not quite sure of what I need, so you should use your discretion. My house should have somewhere between two and forty-five bedrooms. Just make sure the plans are such that the bedrooms can be easily added or deleted. When you bring the blueprints to me, I will make the final decision of what I want. Also, bring me the cost breakdown for each configuration so that I can arbitrarily pick one.
Keep in mind that the house I ultimately choose must cost less than the one I am currently living in. Make sure, however, that you correct all the deficiencies that exist in my current house (the floor of my kitchen vibrates when I walk across it, and the walls don’t have nearly enough insulation in them).
As you design, also keep in mind that I want to keep yearly maintenance costs as low as possible. This should mean the incorporation of extra-cost features like aluminum, vinyl, or composite siding. (If you choose not to specify aluminum, be prepared to explain your decision in detail.)
Please take care that modern design practices and the latest materials are used in construction of the house, as I want it to be a showplace for the most up-to-date ideas and methods. Be alerted, however, that kitchen should be designed to accommodate, among other things, my 1952 Gibson refrigerator.
To insure that you are building the correct house for our entire family, make certain that you contact each of our children, and also our in-laws. My mother-in-law will have very strong feelings about how the house should be designed, since she visits us at least once a year. Make sure that you weigh all of these options carefully and come to the right decision. I, however, retain the right to overrule any choices that you make.
Please don’t bother me with small details right now. Your job is to develop the overall plans for the house: get the big picture. At this time, for example, it is not appropriate to be choosing the color of the carpet.
However, keep in mind that my wife likes blue.
Also, do not worry at this time about acquiring the resources to build the house itself. Your first priority is to develop detailed plans and specifications. Once I approve these plans, however, I would expect the house to be under roof within 48 hours.
While you are designing this house specifically for me, keep in mind that sooner or later I will have to sell it to someone else. It therefore should have appeal to a wide variety of potential buyers. Please make sure before you finalize the plans that there is a consensus of the population in my area that they like the features this house has. I advise you to run up and look at my neighbor’s house he constructed last year. We like it a great deal. It has many features that we would also like in our new home, particularly the 75-foot swimming pool. With careful engineering, I believe that you can design this into our new house without impacting the final cost.
Please prepare a complete set of blueprints. It is not necessary at this time to do the real design, since they will be used only for construction bids. Be advised, however, that you will be held accountable for any increase of construction costs as a result of later design changes.
You must be thrilled to be working on as an interesting project as this! To be able to use the latest techniques and materials and to be given such freedom in your designs is something that can’t happen very often. Contact me as soon as possible with your complete ideas and plans.
PS: My wife has just told me that she disagrees with many of the instructions I’ve given you in this letter. As architect, it is your responsibility to resolve these differences. I have tried in the past and have been unable to accomplish this. If you can’t handle this responsibility, I will have to find another architect.
PPS: Perhaps what I need is not a house at all, but a travel trailer. Please advise me as soon as possible if this is the case..
In a real dark night of the soul
I was amazed to find that when my blog went offline; people actually e-mailed me to ask when it would be back. I discovered more readers in the last few weeks than I was aware of in the last few years. Thanks everybody! I appreciate the kind words and comments.
The reason that I went down was due to the need to switch hosts to someone a little more…. well… sane. If anyone is in need of a good hosting service; I cannot speak well enough of Hostmonster.com! Oh, and if you have the options; stay away from iPowerWeb.
While I was fixing the website I updated the wine list with three new wines. Two reds and a wonderful white Riesling.
Surrender Hope all… wait, is that Snow?
I actually shed a tear yesterday. Jason accomplished what I thought would never happen. Liz (his beautiful and yet amazingly stubborn wife) went shooting for the first time. Though she had never before shot a gun, non of us doubted Liz’s shooting abilities. Mostly because I was already throughly convinced that she could kill any one of us, at any time, with anything she chose to use.
Hope you had a good time Liz! This finally proves, once and for all, that… “Guns don’t kill people. Liz kills people!”