Text 20 Oct OSX: 5 second timeout for domains defined in /etc/hosts

This is mostly for my own reference, this document has been sitting in my drafts folder since … like two years ago.

First of all, OSX claims .local for Bonjour and will treat them differently, so use .dev or something instead.

To add a host called myapp.dev and point it to localhost, just do this:

sudo dscl localhost -create /Local/Default/Hosts/mydev.dev IPAddress

To see all the currently defined hosts and their IPs:

sudo dscl localhost -list /Local/Default/Hosts IPAddress

And to remove a host:

sudo dscl localhost -delete /Local/Default/Hosts/mydev.dev

if you declare both a IPv4 and IPv6 address in /etc/hosts for a .dev domain like so: myapp.dev
::1 myapp.dev

Then it should work correctly.


Text 19 Oct Douglas Engelbart’s “Mother of All Demos”

In 1968, after 4 years of research and development Douglas Engelbart first demonstrated several of the technologies that would go on to affect our everyday life.

He conceptualized the first computer mouse, which was then constructed by Bill English. He and his team demonstrated the first graphical user interfaces, chorded keyboards, bitmap (graphical) display monitors, hypertext, as well as showcasing many other recent innovations in technology.

They envisioned a world of computers where everyone had access to them, and it was his mission to make the world a better place through technology.

In 1950, when he was 25 years old he said “I realized that I didn’t have any more goals than a steady job, getting married and living happily ever after,” and this bothered him, he started pondering “How can my career maximize my contribution to mankind?” finally he came to a conclusion recalling “I thought, ‘Damn, I never realized the world is so complicated. If we don’t improve our ability to deal collectively with complex things, as the problems grow more urgent, we’re in trouble.”’

In the 1950s there were no personal computers, they were hulking machines that filled entire buildings and staffed by dozens of workers, interfacing with the outside world through ticker tape and punch cards, but Douglas had a different vision of the future, recalling his work as a radar technician in World War II, he imagined “people sitting in front of displays, ‘flying around’ in an information space”.

"Cyberspace" as a word wouldn’t be coined for another 30+ years, yet this passing thought in Douglas’s head is clearly the birth of the idea itself.

Below are high quality digital videos of the three black and white film reels recorded at Doug’s “Mother of All Demos” in 1968.

Also, there’s a low quality streaming version of the entire video provided by The Stanford University MouseSite, however, its much easier to read the text and see whats going on in the high quality versions.

References/Further Reading:

Text 20 Jan The New Powerline: Vim, Tmux, Bash, Zsh Statuslines

See my post on github: http://acook.github.com/powerline

Text 9 Dec Access Growl’s log on OSX

Open a terminal and drop this in:

touch ~/Library/Logs/Growl.log
defaults write com.Growl.GrowlHelperApp GrowlLoggingEnabled -bool YES
defaults write com.Growl.GrowlHelperApp GrowlLogType 1
defaults write com.Growl.GrowlHelperApp "Custom log history 1" $HOME/Library/Logs/Growl.log

Thank you’ll find the log file at $HOME/Library/Logs/Growl.log and you can parse it or do whatever, like display messages on your desktop with GeekTools or something.


(Source: web.archive.org)

Text 4 Dec How to kill an SSH session to a remote server

Often I’m using SSH and my connection drops, or I close my laptop and it disconnects from the wifi. When I get back to my SSH sessions, its locked and unresponsive. Eventually it will time out, but it takes a while.

Enter SSH Escape Characters.

They only work immediately after a newline, and all start with a tilde. The disconnect character is the period (or dot).

So all you have to do is:


And voila, it’ll end your session without kill or closing your terminal.

Here’s a complete list of escape characters from the SSH man page:

 .      Disconnect.
 ^Z     Background ssh.
 #      List forwarded connections.
 &      Background ssh at logout when waiting for forwarded connection / X11 sessions to terminate.
 ?      Display a list of escape characters.
 B      Send a BREAK to the remote system (only useful for SSH protocol version 2 and if the peer supports it).
 C      Open command line.  Currently this allows the addition of port forwardings using the -L, -R and -D options (see above).  It also allows the cancellation of existing remote port-forwardings using -KR[bind_address:]port.
         !command allows the user to execute a local command if the PermitLocalCommand option is enabled in ssh_config(5).  Basic help is available, using the -h option.
 R      Request rekeying of the connection (only useful for SSH protocol version 2 and if the peer supports it).


(gleaned from http://www.cyberciti.biz/faq/openssh-linux-unix-osx-kill-hung-ssh-session/)

Link 3 Dec Redis autostart preference pane for OSX»
Text 3 Dec Postgres on OSX issues

So I was running into this obnoxious error:

psql: FATAL:  role "postgres" does not exist

No matter what I did. It basically means that the user is missing. So I had to create the user by hand. First I initialized the database as my current user:

initdb -D /usr/local/pgsql/data

And then I made sure the daemon was running:

postgres -D /usr/local/pgsql/data >logfile 2>&1 &

Then I opened a postgres terminal:

psql template1

And created the postgres user:

create user postgres with password '';

Finally, I gave the postgres user superuser privileges so it can create databases and whatever in my development environment.

alter role postgres with superuser;


Link 15 Oct OSX-like Natural Scrolling on Windows»

I’m going to forget this next time it happens, so I’m putting here for posterity.

Navigate to “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID”, and look for an entry that resembles “VID_…” Open the “Device Parameters” key under each child entry and reverse the boolean value for the “FlipFlopWheel”.

Link 12 Oct cdixon tumblr: Things startups do and don't need»

Things startups do need

Sunny office

Windows that open

Democratically controlled music system

Two forms of internet access

Beer on fridays

EVDO cards

Video game system

Good coffee maker

Proximity to public transportation

Proximity to park

Heating that goes all night

Health care plans…

Text 9 Aug Make, Colons, and Paths: A Journey Through Hell

tl;dr: If you use timestamps on your deploys, make sure they don’t contain colons or anything using make will explode.

We were running into this error while running bundle install on Ubuntu:

/usr/local/rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb 
checking for ffi.h... no
checking for ffi.h in /usr/local/include... no
checking for rb_thread_blocking_region()... yes
checking for ruby_native_thread_p()... yes
checking for rb_thread_call_with_gvl()... yes
creating extconf.h
creating Makefile

Makefile:158: *** target pattern contains no `%'.  Stop.

The confusing part was when we ran gem install ffi it ran without a problem. Googling around told us nothing about why ffi would be failing to build.

We had run across a post about QT where a similar error was encountered.

Then I found a StackOverflow question which references a GNU mailing list thread that explains the complete impossibility of make being able to parse a Makefile containing colons.

It turns out we did have colons in the filename: We were using %T in the timestamps on our integration server, thus make was choking.

The fix was simple, we just replaced the %T with a non-colon-delimited time string and everything worked just fine.



Design crafted by Prashanth Kamalakanthan. Powered by Tumblr.