Productivity
Clarity of rationale
When formulating a mathematical theory, the great mathematician, philosopher, artist, polymath Edsger Dijkstra thought, much like Plato, we should endeavour to express ourselves clearly and precisely above all else. To enforce this he made sure he could explain his rationale to a layman in both Dutch (his mother tongue) and English.
What does this say about The White House’s policy if the executors of the rationale are not convinced?
Why?
The PowerBook is back en route
Thank the lord. This PC business is for the birds.
Something particularly irritating about PCs is that the window manager aspect of Windows fails to provide a utility to tab through multiple windows of the same application conveniently.
Example, you have 3 “windows” of your browser open (I suggest you grab Thundebird from Mozilla.org) and you want to cycle through them without using a mouse or navigating to the taskbar.
Can’t do it.
In the Mac universe the command + ~ key will cycle through them. Add a shift to that and it will cycle backwards.
This is very handy for those who want to keep their hands on the keyboard (fast) versus having to lift a hand and move to a mouse (or trackpad, or keyboard nipple).
If you need to fix your keyboard on windows
If you happen to be cursed into having to use windows but want a ’l33t h4x0r keyboard (Dvorak keyboard, with caps lock turned into control) like I use the following documents are excellent.
Add the Dvorak keyboard layout via the control panel, hit the ‘make default’ button. OK, so now you’re Dvorak-ized. Awesome.
Not awesome, windows uses QWERTY as default for the login. This sux0rz.
Do the following (taken from This Tech-Ed document. By the way, you should probably back up your registry. I didn’t but I don’t want to be responsible if you do something stupid doing this ( I didn’t backup, but I’m foolish like that).
If your Powerbook needs some more CONTROL
You know you want it - another control key where the caps lock button is.
Barry Lustig’s haxie take care of that problem.
Here is the OSX site with the info:
Here
If you need to XML, Learn Perl
You will be typing a lot of repetitive lines. A simple for(n..q) construct can save you a lot of time.
XML will require you to write many, many lines that look 99% the same
... <key> filenames </key> <array> <string> 00.gif</string> <string> 01.gif</string> ... <string> _n_.gif</string> </array> The ability to have something spit out that n-many lines is very handy.
BTW. I’m re-adding all the other pages previously known in the previous incarnation of the site.
Please tolerate some ugly pages.
On Programming...why I love it
Sometimes you are stuck on a problem….and you just can’t solve it. And it appears that that problem is related to another frustrating thing.
And sometimes you spend wasteful hour after hour on it…
And you go to bed. And in the morning you make one change, and not just that problem, but others magically clear up.
Passing on the GTD germ
I got my sister a copy of Getting Things Done. We had a lengthy discussion about it, I hope it helps her get started in her professional career in an organized fashion.
Had I had some guidance like this I might have been able to feel more unburdened through the beginning years of my career.
43 Folders Meetup in SF
I’ve posted here about GTD and similar sexy-computer-user fetish objects (Moleskine books, fountain pens, PowerBooks) but all of these and spiritual guru Merlin Mann will all convene at a meet-up in SF.
Gift from Merlin
Latest Cocoa Program: Simple Flash Card ( neu mit Cocoa-bindings! )
I always write this program, for pretty much any programming language I know: Java, Perl + CGI, and now Cocoa.
I have always learned new information particularly well through either stories or through flash cards. The former, while poetic and colorful lacks the portability and immediacy of the latter. During college you would find me reading the material, making notes, turning the notes to cards, or reviewing the cards.
It was through this method that I memorized the rules of logic (modus tollens, DeMorgan’s Theorem), Dutch Irregular verbs (zijn, was/waren, geweest), French Irregular verbs (_ai, as , a, avons, avez, ont).
Day 1 of Intro training has come and gone...
I know a bit more about internetworking than I did a day ago.
I’m pretty tired, I couldn’t sleep very well last night.
I decided to re-christen the Flash Card application “Memory Bank” and I got a cool icon for it done like HAL’s Eye from 2001. I got the idea because the instructor was talking about pluggable modules for large-scale network switches. These are essentially memory or task plug ins. This got me thinking about that scene where Bowman goes into HAL’s brain room and starts unplugging his memory banks. They were holographic cubes that looked like three-dimensional note-cards.
Big Nerd Ranch: RoR Camp: Day 3: Evening: "The Grinder"
Hi all,
After the lengthy tour of duty yesterday, I’m back in for another lengthy day. I think that Wednesday is really the grinder day.
First, you’ve been lectured to for the last 3 days. There are very few minds that can take 8hr. / day lectures without feeling a bit tapioca-ish on the 24th hour.
Secondly, you’re listening and then working very hard on something that you just were introduced to. You have these head bashing against a wall sessions and then, suddenly, you’re set free ( because you’re doing something that’s old hat, something you learned, say, that morning ) and then you hit the wall with all that built-up acceleration.
Preparing for the Big Nerd Ranch’s Ruby on Rails Class
I had a good experience in the class. I was able to learn the material without falling behind, feeling like i was drinking from a firehose, or feeling like each additional word was just a drop of water on a saturated sponge. There were definitely people who feel more comfortable with the material right now than I do, but I thought I would like to tell you things in my background that I believe helped me be successful in the class.
Unlike a college institution, the BNR does not enforce pre-requisites. As such it is your responsibility to assess whether you have the tools and knowledge necessary to get what you need out of the class.
Rails, and The Loneliness
Oh The Loneliness.
The loneliness is what my math teacher says comes when you don’t practice doing problems on your own. You’re in class, you follow the examples and everything is fine. But then comes the test, and you’re looking at the problem and The Loneliness hits you. You no longer have your guru and classmates there to help you along. Because of The Loneliness you fail.
Programming, and particularly training classes, are the same way. After my intensive study in Atlanta, with a forced 2 weeks off owing to travel and moving The Loneliness has haunted me as I’ve attempted to get back into Rails.
Stop the presses: Navigate Firefox with VIM-like key bindings
This is slicker than slick. Much props to you Martin Stubenschrott.
I’ve only been messing with this for a few minutes now, but here’s something that will flip your lid if you try it out.
t bmw m5 new
Opens google and does all the magic.
Or try:
t reddit.com | dmiessler.com
whoa.
Developers: The myth of starting from scratch
During my recent web site redesign I decided I would start from scratch. I diligently worked and worked and finally had a ‘beta’ version of code that I deployed. It came out terrible.
I couldn’t believe it, how could I have gone so far wrong?
I had the positioning looking great, the images looked great, the screen effects looked great - yet there was no mistaking it. When IE got a hold of the page it looked like all the components were dumped in a pile in the middle of your screen.
It was about that time that I took a hold of the default Kubrick layout that comes with WordPress and began to hack it into my own creation.
Thinking about news aggregation sites
My first news aggregation site was memepool.com. This site was basically a sporadically updated blog that had “good” links. Like most people of the era, I had been getting URL’s in the mail for a great number of years already, but in 2001 when I encountered this site, the standard for quality and range of links was sufficiently raised.
Let me also introduce a third axis called freshness that could be added which measures the frequency of update. These will be the elements in our three dimensional grid of considerations.
Freshness Range Quality Notably, the latter two axes are much more subjective ( last post can be measured ).
That whole metafilter post...
Started with this. I needed to know how to remove the hardbound spine from a book.
Guess which population of savvy users had done this and had multiple discussion threads on the best way to go about it?
Yup. Metafilter here and again.
Getting ahead in the world: Sī valēs, valēo
I was speaking with an entrepreneur, writer, and general wise-sage of programming last week and we were discussing some finer points of a software idea I had and, well, to be honest, a lot of what he said fell into that “areas for improvement” or “how to improve” the work category.
I say both of those phrases above in quotes not because it was really a hatchet job of my work, it was an opening of eyes to new ideas.
At the end of that he asked, “But what else can I do for you?”
And I’ve decided this is the key for success in business, and perhaps, life itself.
Dvorak Snobbery
I realized just now that I can type the word ’enthusiasm’ all in one row of keys on a Dvorak keyboard save for the last m. Compared to the QWERTY implementation, it’s a shocking efficiency improvement. Other words you can spell on the Dvorak home row: annotations, assassinate, Einsteinian, instantiations, tediousness, hideousness.
Inbox Zero
I’m very happy to report that I have put my inboxes ( Personal1, Personal2, GMail, etc. to 0 messages). I believe that an empty inbox is a key to sanity, especially for those who live and die by the e-mail sword.
For anything that comes in any inbox I either:
Reply / take an action Delete it Archive it for reference With just these simple three techniques and a few extra folders on my hard disk, I was able to empty all the existing mail in my inbox.
Now, I will certainly get more mail in the future, so how am I going to handle it?
New wallet
This is my new wallet.
I’ve long been a fan of the cigarette-case-as-wallet. It helps you cut down on your wallet footprint, and doesn’t encourage you to get bad posture when driving, seated, on a conventional wallet.
Each half holds 6 credit cards. Pictured is my Cisco ID and my Austin Swing Syndicate card. It has a really nice hematite metal exterior
If you’re interested, check out kyledesigns.com, this is case #10.
Exterior view
Interior view
Preview Markdown as rendered HTML from Vim
Or, “Dont’ make me use your ‘rich editor’”
At work we’re using a wiki engine whose power user syntax has been disabled. While it’s been disabled for good reasons, it still bothers me much.
What one is left with is the rich text box which works great for dumping in cut-from-Word documents or which people who don’t want to type quickly and don’t mind mousing to turn on bold etc. As a person who wants to type fast and format as he thinks it, not being able to write markup as I write in wiki data is sad, sad sad.
Is the company destructive to productivity?
I found a very interesting reflection on work and the relative merits of working within a corporation in an old issue of “Wired (February 2010)” that I had lying around. The topic uner discussion is what impact the rise of cheap 3D-printers will have on the maufacturing sector on page 105.
“In the mid-1930’s, Ronald Coase…[asserted that]…companies exist…to minimize ’transaction costs.'”
“Bill Joy…revealed the flaw in Coase’s model, ‘No matter who you are, most of the smartest people work for someone else…’”
“With the Internet…[Joy’s proposition] turned Coase’s law upside hown. Now, working within a company often imposes higher transaction costs than running a project online.
tmux: A Screen Multiplexer
I’ve used GNU screen since 1994 to keep multiple terminals open and active on remote servers.
Whew. That’s a lot of my life to be mucking about terminal windows. The longevity of that run should say good things about the people behind screen.
But about 6 months ago at RubyConf i was convinced to try out tmux (terminal multiplexer). It’s a more flexible, more scriptable cousin of screen. You have the ability to divide space into multiple tiled panes so that you can have a code and result window on the same screen, you can attach multiple clients without the fragility screen has in this area, etc.
CSS issues
Not that anyone reads my blog, least of all in its web site format (I assume you use RSS feeds), but it appears that the CSS styling is broken. I will remedy this soon.
I Won the Podio API Release Hackathon Competition
Introduction On May 14th, I competed at a Hackfest hosted by Podio. Podio is a customizable social networking application delivered as a service (aaS). After 8 hours of coding, I placed first in the competition and won a beautiful Apple Cinema Display. In this post I will cover my hack, how it was done, and lessons learned.
Victori pretium it
Background Let me first introduce the various companies involved and technologies provided or implemented in the solution. I think of these as the ingredients in the recipe that allowed me to code my offering.
Podio In case you haven’t noticed, people are spending phenomenally large amounts of time on social networks.
Meta-Post: Back to Blogging
I woke up this morning after having spent the weekend down in LA and Orange County with the desire to say something: something longer than a tweet, something shorter than an essay.
It was something about technology, or people, or power, or art. And then I realized: I wanted to blog again.
And then I realized something important. Writing isn’t something you do when you have copious free time, it’s something you do when you don’t. It’s something you do when your spirits are in the right place, when inspiration is around you and through you (which usually has the consequence of you having no copious free time).
Automating installs with Chef
Recently, for some reason, I’ve found myself creating a number of virtual machines: Linux machines, AWS machines, new machines, etc.
Invariably, the first things I want are to get “my” personal toolchain in place. I want:
my vim configuration my tmux configuration my favorites libraries Ember Ember Data Query my Ruby version manager (chruby) To this end I have adopted “Chef”. Thanks to the following superior documentation resources, I found this to be not too much of a pain.
Figure Out EC2 Instances on AWS I had never used EC2 or AWS for computing services. This is a means for getting a virtual machine that you can pay for per-use from Amazon.
Chrome Extension: amaJSON: Export Notes From Kindle Books as JSON
TL; DR I have written and extension for the Chrome browser that allows you to visit your Notes and Highlights (https://read.amazon.com/notebook) page and export a given book’s notes and annotations as JSON.
From This… Visit a book’s note page and right-click a menu
To a Clipboard With This… { "title": "A Mind at Play: How Claude Shannon Invented the Information Age", "author": "Jimmy Soni and Rob Goodman", "highlightCount": 65, "noteCount": 7, "annotations": [ { "highlight": "But before Shannon, there was precious little sense of information as an idea, a measurable quantity, an object fitted out for hard science. Before Shannon, information was a telegram, a photograph, a paragraph, a song.
Keeping Context With Tmux and Digital Ocean
In a recent disscussion the developer community “The Practical Dev” asked how we, as developers, keep track of what we’re working on so we remember where to start next time. Many of the respondents had advice about time tracking or to-do lists. I read the question as a question about technology and less about process.
My answer was that:
Tmux + doing my work on my @digitalocean droplet creates great continuity in process for me. I rarely break the context (~years).
I’ve been working in this development “style” for many years now and I thought refresh some of the core ideas.
Windows Returns as a Platform for Web Development Again
Many years ago, I gave up Windows as my primary operating system. After a multi-year run in Linux, I adopted the Mac platform in 2002 and haven’t looked back. Lately, however, as a developer I feel ignored and under-served by Apple. To this end I’ve played with Chromebooks and [non-local-machine-based development][vpsdev]. However, with the release of the Windows Subsystem for Linux (WSL), I believe the Microsoft ecosystem is currently offering a comparable experience at a competitive price point with more performant hardware.
History I was forced to live through a Windows + Linux dual boot period (Windows for games, Linux for development and learning) 2000-2002.
Migrated to Hugo
Big things have been happened in my life since I last wrote, I suppose it’s time that the tale were told.
But, first, I had to upgrade to Hugo. I had been using Jekyll + Octopress for several years but the speed of Ruby doing static generation made it really hard to do enjoy writing and seing the output of my labor. Hugo, built on Go, is screaming fast and removes a bit of the “Meh” out of blogging. Hopefully I can