Top 15 Best Unix Command Line Tools
Here are some of the Unix command line tools which we feel make our hands faster and lives easier. Let’s go through them in this post and make sure to leave a comment with your favourite!
1. Find the command that you are unaware of
In many situations we need to perform a command line operation but we might not know the right utility to run. The command (apropos) searches for the given keyword against its short description in the unix manual page and returns a list of commands that we may use to accomplish our need.
If you can not find the right utility, then Google is our friend :)
$ apropos "list dir"
$ man -k "find files"2. Fix typos in our commands
It’s normal to make typographical errors when we type so fast. Consider a situation where we need to run a command with a long list of arguments and when executing it returns “command not found” and you noticed that you have made a typo on the executed command.
Now, we really do not want to retype the long list of arguments, instead use the following to simply just correct the typo command and execute ^typo_cmd^correct_cmd:
$ dc /tmp
$ ^dc^cdThe above will navigate to /tmp directory.
3. Bang and its Magic
Bang …
shell
Top 7 Funniest Perl Modules
And now for something completely different …
Programmers in general, and Perl programmers in particular, seem to have excellent, if warped, senses of humor. As a result, the CPAN library is replete with modules that have oddball names, or strange and wonderful purposes, or in some delightful cases—both!
Let’s take a look.
1. Bone::Easy
I’m going to take the coward’s way out on this one right away. Go see for yourself, or don’t.
2. Acme::EyeDrops
Really, anything in the Acme::* (meaning “perfect”) namespace is just programmer-comedy gold, depending on what you find amusing and what is just plain forehead-smacking stupid to you. This one allows you to transform your Perl programs (small ones work better) from this:
print "hello world\n";to this:
jeff@Wyvern:~$ perl bin/eyedrops.pl
1 shapes completed.
use re 'eval';
''=~('('.'?'
.'{'.( '`'|'%').("\["^
'-').('`'| '!').('`'|',').'"'
.('['^'+') .('['^ …perl
Updating rbenv, ruby-build on Ubuntu: ruby version not found
Hi! Steph here, former long-time End Point employee now blogging from afar as a software developer for Pinhole Press. While I’m no longer an employee of End Point, I’m happy to blog and share here.
A while back, I was in the middle of upgrading Piggybak, an open source Ruby on Rails platform developed and supported by End Point, and I came across a quick error that I thought I’d share.
I develop locally and I use rbenv on Ubuntu. I need to jump from Ruby 1.9.3 to Ruby 2.1.1 in this upgrade. When I attempt to run rbenv install 2.1.1, I see errors reporting ruby-build: definition not found: 2.1.1, meaning that rbenv and ruby-build (a plugin used with rbenv to ease installation) do not include version 2.1.1 in the available versions. My version of rbenv is out of date, so this isn’t surprising. But how do I fix it?
I found many directions for updating rbenv and ruby-build with Homebrew via Google, but that doesn’t apply here. Most of the instructions point to running a git pull on rbenv (probably located in ~/.rbenv), but give no references to upgrading ruby-build.
cd ~/.rbenv
git pullI did a bit of experimenting and simply tried pulling to update the ruby-build plugin (also a git …
ruby rails
End Point’s 20th anniversary meeting, part 2
Friday, October 2nd, was the second and final day of our company meeting. (See the earlier report on day 1 of our meeting if you missed it.) Another busy day of talks, this day was kicked off by Ben Goldstein, who gave us a more detailed rundown of End Point’s roots.

The History of End Point
Ben and Rick met in the second or third grade (a point of friendly dispute), and from the early days of their friendship were both heavily influenced by each other’s parents. Their first business enterprise together was painting houses in the summer to earn money for college.
After attending college, Ben worked with Unix and dabbled with the World Wide Web when it was brand new. Rick worked on Wall Street for a while, then decided he had had enough of that and worked briefly in real estate, then left to pursue more creative interests.
Ben showed Rick some simple websites he had been working on and Rick said that is what they should do: they should start a business building websites together. Soon they made the big decision and End Point was officially incorporated on August 8, 1995. Their earliest clients were all found by word of mouth, with the first website being made for one of Ben’s …
company conference remote-work travel
AngularJS & Dancer for Modern Web Development
At the Perl Dancer Conference 2015, I gave a talk on AngularJS & Dancer for Modern Web Development. This is a write-up of the talk in blog post form.
Legacy Apps
It’s a fact of life as a software developer that a lot of us have to work with legacy software. There are many older platforms out there, still being actively used today, and still supporting valid businesses. Thus, legacy apps are unavoidable for many developers. Eventually, older apps are migrated to new platforms. Or they die a slow death. Or else the last developer maintaining the app dies.
Oh, to migrate
It would be wonderful if I could migrate every legacy app I work on to something like Perl Dancer. This isn’t always practical, but a developer can dream, right?
Of course, every circumstance is different. At the very least, it is helpful to consider ways that old apps can be migrated. Using new technologies can speed development, give you new features, and breathe new life into a project, often attracting new developers.
As I considered how to prepare my app for migration, here are a few things I came up with:
- Break out of the Legacy App Paradigm
- Consider that there are better ways to do things than the way …
angular dancer javascript perl
Perl Dancer Conference 2015 Report—Conference Days
In my last post, I shared about the Training Days from the Perl Dancer 2015 conference, in Vienna, Austria. This post will cover the two days of the conference itself.
While there were several wonderful talks, Gert van der Spoel did a great job of writing recaps of all of them (Day 1, Day 2), so here I’ll cover the ones that stood out most to me.
Day One
Sawyer X spoke on the State of Dancer. One thing mentioned, which came up again later in the conference, was: Make the effort, move to Dancer 2! Dancer 1 is frozen. There have been some recent changes to Dancer:
-
Middlewares for static files, so these are handled outside of Dancer
-
New Hash::MultiValue parameter keywords (route_parameters, query_parameters, body_parameters; covered in my earlier post)
-
Delayed responses (asynchronous) with delayed keyword:
- Runs on the server after the request has finished.
- Streaming is also asynchronous, feeding the user chunks of data at a time.
Items coming soon to Dancer may include: Web Sockets (supported in Plack), per-route serialization (currently enabling a serializer such as JSON affects the entire app—later on, Russell …
conference dancer interchange perl
Perl Dancer Conference 2015 Report — Training Days
I just returned from the Perl Dancer Conference, held in Vienna, Austria. It was a jam-packed schedule of two days of training and two conference days, with five of the nine Dancer core developers in attendance.
If you aren’t familiar with Perl Dancer, it is a modern framework for Perl for building web applications. Dancer1 originated as a port of Ruby’s Sinatra project, but has officially been replaced with a rewrite called Dancer2, based on Moo, with Dancer1 being frozen and only receiving security fixes. The Interchange 5 e-commerce package is gradually being replaced by Dancer plugins.
Day 1 began with a training on Dancer2 by Sawyer X and Mickey Nasriachi, two Dancer core devs. During the training, the attendees worked on adding functionality to a sample Dancer app. Some of my takeaways from the training:
- Think of your app as a Dancer Web App plus an App. These should ideally be two separate things, where the Dancer web app provides the URL routes for interaction with your App.
- The lib directory contains all of your application. The recommendation for large productions is to separate your app into separate namespaces and classes. Some …
conference dancer interchange perl
NOAA Marine Sanctuaries in Liquid Galaxy
End Point enjoys a strong presence in the aquarium and museum community with our ability to deploy the Liquid Galaxy display platform. Our content team recently embedded 14 graphic overlays in the Aquarium of the Pacific and Monterrey Bay National Marine Sanctuary Liquid Galaxy systems. These layers highlight National Marine Sanctuary PDF maps created by the National Oceanic and Atmospheric Administration (NOAA). The Office of National Marine Sanctuaries serves as the trustee for a network of 14 protected areas encompassing more than 170,000 square miles from American Samoa to the Florida Keys. As marine sanctuaries, however, these locations are not gong to see as many humans as Yosemite or Yellowstone. Embedding the maps on the Liquid Galaxy allows viewers to dynamically explore the marine sanctuary map and its relationship to the larger landscape in Google Earth, and brings these remote locations to many more interactions with the public.
We are happy to share some of the media that goes into these presentations: A short YouTube video featuring the Marine sanctuary overlays in Google Earth is here. If you would like to explore the marine sanctuaries overlays on your desktop in …
event visionport



![[image of Vienna]](/blog/2015/10/perl-dancer-conference-2015-report/image-0.jpeg)