Browser Windows on all Desktops
In Being Productive With Virtual Desktops, I talked about how I pin certain applications to certain Mission Control virtual desktops to create context specific environments.
Reader “zharmany” asked what I did with the web browser, since it is needed on many of these desktops for different reasons.
My needs are to have separate browser windows on Desktop 1 / Work for previews, on Desktop 3 / Mail for mail links and on Desktop 4 / Social for looking at tweeted links, so I do not pin Safari. Instead, I open new, blank Safari windows on each of these desktops.
Being Productive with Virtual Desktops
There are a bunch of applications I always want running on my computer, such as Mail.app, OmniFocus, Billings Pro and Tweetbot, but I also do not want to be distracted by them. One option is to hide them using ⌘H on the Mac, the other way is to use virtual desktops.
My goal is to create context-aware desktops where I can stay focussed on the task at hand without distractions, and to be able to switch and restore contexts instantly and predictably, that is most productive.
RVM in TextMate 2
I use Ruby Version Manager (rvm) to manage the interpreters and gemsets for all of my projects. But the default install of TextMate 2 uses the system ruby interpreter for internal command execution as well as for external runs. Here is how to use your rvm environment for both.
tl;dr: Set the TM_RUBY variable in preferences or your ~/.tm_properties file to the path returned by which rvm-auto-ruby and restart. That will set the internal runner. For external runs from within TextMate 2, also comment out the shebang in the script before pressing ⌘R (or run from the terminal directly). Sublime Text 2 users, check the end of this post for ⌘B use.
Back to TextMate 2
I spent the latter half of 2012 trying out new programmer’s editors, getting them set up the way I like and getting productive in them. This was no fly-by-night few-hour test, it was full-monty Rails development work for months. Lots of shell scripts, file manipulations, formats, different programming languages, different platforms, all my programming activities.
I tried BBEdit for programming, and it is good. BBEdit remains my text editing and file manipulation tool of choice and I suspect it always will be. It’s running all the time for me to take notes, scratch around, manipulate data or experiment. But the language grammars, language-in-language syntax highlighting and snippets were not as good as TextMate 1’s for programming. I installed a bunch of tools, wrote a few of my own scripts, but gave up.
Hit by a Bus
What would happen to my clients and my products if I got hit by a bus?
I answer this question in my Noverse (my company) blog in Hit by a Bus.
Did I miss anything?
Follow the author as @hiltmon on Twitter.
Priming the Pump
When it comes to stocks, priming the pump works like this:
- Release a very negative article on a stock, citing rumors and anonymous sources (none of which is verifiable).
- Wait for the stock price to drop because your readers trust your credibility.
- Buy loads of the stock cheaply at the new lower price.
- Wait for the next earnings report to prove you wrong (which you knew already).
- Profit.
Despicable. Yet legal.
Workable Social Network Connection Heuristics
I’m not sure how other people decide these things, but I have created my own heuristics as to whom I connect with on different social networks. In case you wish to blame me for your decisions — you’re welcome — here they are:
- Family and Friends: These are blood relatives, friends I see socially on a regular basis, and old friends from way back — basically the people who accept me for who I am and I can share my more embarrassing and private moments with. Since our relationship is personal, I use these social networks for personal interaction, for staying in touch with a global group and I maximize the privacy settings. For personal, find me on:
- Foursquare
- Professional Relationships: If we have ever met face to face, or had a phone conversation related to work (or you are family or friend), then I am happy to interact with you on a more professional social network where I limit my personal exuberance, and just conduct some business. Lets connect on:
- Skype
- Instant Messaging
- Internet Friends: If either of us follow each-other on a popular social network, or we connect via email, comments or this web site, I’d love to connect with you on public social networks. I maintain my public persona there (and leak some of my personal tastes and quirks), am not afraid to express myself, but try to remain polite, humorous, responsive and not too chatty. So lets connect on:
But, like all of us, there are some people I prefer not to connect with on any social network. For that, there is always email. I do not hide my email addresses (see the About page), and prefer work email to Noverse, personal emails at gmail and public emails at hiltmon.com (but not to all three, see Email Etiquette). I do enjoy receiving emails from anyone, even PR folks, recruiters I know and mailing lists I signed up for. I believe you cannot go wrong contacting me via email, it works great. And when it comes for me to reach out, I prefer to email or tweet first.
Ruby Tempfile Aggressive Unlink
I often use Ruby’s Tempfile class when generating files in Rails for download. But something went wrong in the Rails 3.2.11 update.
Here is the code I normally use (as per the Tempfile documentation):
...
begin
temp = Tempfile.new(“temp-file-name.xlsx”)
report = ReportClass.new(temp.path, params)
report.generate
send_file temp.path, :filename => “#{user_file_name}.xlsx", :type => "application/xlsx"
ensure
temp.close
temp.unlink
end
...
In short, create a temp file, stream the data to it in the report class, then send the file to the user. Ensure the file is closed and deleted after. Prior to Rails 3.2.11, this worked fine.
Reprogramming my Brace Style Mind
Each and every programmer has their own style of coding, their own preferences for how code should look, and are generally happy to argue the case for their preference. Somehow these discussions became heated, and the most fights happen over spaces vs tabs (See Tabs versus Spaces: An Eternal Holy War. and Death to the Space Infidels!), the 80 column rule (See In defense of the 80-column rule) and brace indent style.
Recently, I have had to change my choices, they were wrong. But a bit of history first.
The Entirety Of Information
I possess a device in my pocket that is capable of accessing the entirety of information known to man.
I use it to look at pictures of cats and get in arguments with strangers.
In answer to:
If someone from the 1950s suddenly appeared today, what would be the most difficult thing to explain to them about life today?
Source: @Bill_Gross
