Fun With pushd
Here’s about as esoteric a post as I ever write, my love of pushd
and it’s little abused directory stack. If you don’t live on the
command line, move along, there is nothing to see here.
SSH - Too Many Authentication Failures
If you have a lot of SSH keys loaded you may run into the dreaded:
1
|
|
This happens because the SSH client tries each key in order, until it finds one that works. The SSH server allows only so many authentication attempts before kicking the client to the curb (default 6, controlled by the MaxAuthTries setting). Fortunately, there’s a fix.
Get the MIME Type of a Random Upload in Rails
It’s surprisingly hard to find info on getting the MIME type of a file in Rails.
Auto-Sync Your Servers to AWS EC2
A quickie today on leveraging “the cloud” for warm-ish spare servers.
I run a mix of physical and cloud based servers. The Cloud is convenence, however, in general, I prefer physical servers for lower cost (over time anyway) and greater control. Of course that means having dependency on hardware, upstream connectivity, data center power, etc.
I sometime hedge my bets by keeping a backup copy of the server in AWS.
How I Learned to Code Part III
So, first I talked my first programming experience, learning via type-in programs. Then I looked at the shotgun approach my university took. In this final post of the series, I’m going to talk about what was the most important learning experience on my path to becoming a developer.
How I Learned to Code Part II
Last time I talked about my first experience with coding, entering and debugging a type-in program on a mainframe. This time, how I learned “Computer Science”.
How I Learned to Code Part I
It’s Boulder Startup Week. With so many tech startups in town, there a lot of focus on code and coders. How do you become a developer? What developer career paths are there? Where do I find work? Etc. Etc.
Coincidentally, my mom, who is pruning, sent me a copy of a letter I wrote, more than 30 years ago now, when I was applying to colleges. It I describe how I first learned to program. I had forgotten this story, but I think it’s relevant and worth sharing.
BASH Autocompletion
A couple of posts back, I showed off some functions to pop up notifications when a host became pingable again or when a port became reachable. Today’s (semi) quick tip is how to use BASH’s autocomplete functionality add hostname autocompletion to those notifications functions.
BASH autocompletion is a system that provides tab completion of command arguments. You’re familiar with it’s default behavior which is to complete filenames and paths.
1 2 3 4 |
|
You can override this behavior by providing BASH with a list of possible completions. The list can be a literal list of words, or it can be a function that looks at the current environment ($PWD, user, time on day, etc) and generates context aware list.
Waiting on AWS CloudFront Invalidations
Lately, we’ve been playing with AWS and waiting around - let’s combine the two.
CloudFront is AWS’ CDN. As with any CDN (or any cache for that matter), sometimes you need to clear it in a hurry. In CloudFront, this is don’t with an invalidation and “a hurry” means about 15 minutes. More waiting. The AWS console give you a spinner, but who wants to stare at that?
Is the Server Up Yet?
I hate waiting, but I have to do a lot of it. Waiting for servers to restart. Waiting for services to come up. Waiting around for a Yes or a No. To that end I have a couple of BASH functions that can monitor a server and pop up a notification when it’s up.