Shallow Thoughts : : Apr
Akkana's Musings on Open Source Computing and Technology, Science, and Nature.
Thu, 30 Apr 2015
On a hike a few weeks ago, we encountered an unusual, and amusing, stile
across the trail.
It isn't uncommon to see stiles along trails. There are lots of
different designs, but their purpose is to allow humans, on foot,
an easy way to cross a fence, while making it difficult for vehicles
and livestock like cattle to pass through.
A common design looks like this, with a break in the fence and "wings"
so that anything small enough to make the sharp turn can pass through.
On a recent hike starting near Buckman, on the Rio Grande,
we passed a few stiles with the "wings" design; but one of the
stiles we came to had a rather less common design:
It was set up so that nothing could pass without climbing over the
fence -- and one of the posts which was supposed to hold fence rails
was just sitting by itself, with nothing attached to it.
I suspect someone gave a diagram to a welder, and the welder, not
being an outdoor person and having no idea of the purpose of a stile,
welded it up without giving it much thought. Not very functional ...
and not very stilish, either!
I'm curious whether the error was in the spec, or in the
welder's interpretation of it. But alas, I suspect I'll never learn
the story behind the stile.
Giggling, we climbed over the fence and proceeded on our hike up to
the very scenic Otowi Peak.
Tags: humor, stile
[
11:38 Apr 30, 2015
More humor |
permalink to this entry |
]
Tue, 21 Apr 2015
I recently took over a website that's been neglected for quite a
while. As well as some bad links, I noticed a lot of old files, files
that didn't seem to be referenced by any of the site's pages.
Orphaned files.
So I went searching for a link checker that
also finds orphans. I figured that would be easy. It's
something every web site maintainer needs, right? I've gotten by
without one for my own website, but I know there are some bad links
and orphans there and I've often wanted a way to find them.
An intensive search turned up only one possibility: linklint, which
has a -orphan flag. Great! But, well, not really: after a few hours of
fiddling with options, I couldn't find any way to make it actually
find orphans. Either you run it on a http:// URL,
and it says it's searching for orphans but didn't find any (because it
ignors any local directory you specify); or you can run it just on a
local directory, in which case it finds a gazillion orphans
that aren't actually orphans, because they're referenced by files
generated with PHP or other web technology. Plus it flags all the
bad links in all those supposed orphans, which get in the way of
finding the real bad links you need to worry about.
I tried asking on a couple of technical mailing lists and IRC channels.
I found a few people who had managed to use linklint, but only by spidering
an entire website to local files (thus getting rid of any server side
dependencies like PHP, CGI or SSI) and then running linklint on the
local directory. I'm sure I could do that one time, for one website.
But if it's that much hassle, there's not much chance I'll keep
using to to keep websites maintained.
What I needed was a program that could look at a website and local
directory at the same time, and compare them, flagging any file
that isn't referenced by anything on the website. That sounded like it
would be such a simple thing to write.
So, of course, I had to try it. This is a tool that needs to exist --
and if for some bizarre reason it doesn't exist already, I was
going to remedy that.
Naturally, I found out that it wasn't quite as easy to write as it
sounded. Reconciling a URL like "http://mysite.com/foo/bar.html"
or "../asdf.html" with the corresponding path on disk turned
out to have a lot of twists and turns.
But in the end I prevailed. I ended up with a script called
weborphans
(on github). Give it both a local directory for the files making
up your website, and the URL of that website, for instance:
$ weborphans /var/www/ http://localhost/
It's still a little raw, certainly not perfect. But it's good
enough that I was able to find the 10 bad links and 606 orphaned
files on this website I inherited.
Tags: weborphan, programming, web
[
14:55 Apr 21, 2015
More tech/web |
permalink to this entry |
]
Thu, 16 Apr 2015
I've always loved small-town newspapers. Now I have one as a local
paper (though more often, I read the online
Los Alamos Daily Post.
The front page of the Los Alamos Monitor yesterday particularly
caught my eye:
I'm not sure how they decide when to include national news along with
the local news; often there are no national stories, but yesterday I
guess this story was important enough to make the cut. And judging by
font sizes, it was considered more important than the high school
debate team's bake sale, but of the same importance as the Youth
Leadership group's day for kids to meet fire and police reps and do
arts and crafts. (Why this is called "Wild Day" is not explained in
the article.)
Meanwhile, here are a few images from a hike at Bandelier National Monument:
first, a view of the Tyuonyi Pueblo ruins from above (click for a larger
version):
Some petroglyphs on the wall of Alamo Canyon.
We initially called them spirals but they're actually all concentric
circles, plus one handprint.
And finally, a cairn guarding the bottom of Lummis Canyon.
All the cairns along this trail were fairly elaborate and artistic,
but this one was definitely the winner.
Tags: humor, los alamos, bandelier, ruins, cairn, art
[
14:01 Apr 16, 2015
More humor |
permalink to this entry |
]
Mon, 06 Apr 2015
The local bird community has gotten me using
eBird.
It's sort of social networking for birders -- you can report sightings,
keep track of what birds you've seen where, and see what other people
are seeing in your area.
The only problem is the user interface for that last part. The data is
all there, but asking a question like "Where in this county have people
seen broad-tailed hummingbirds so far this spring?" is a lengthy
process, involving clicking through many screens and typing the
county name (not even a zip code -- you have to type the name).
If you want some region smaller than the county, good luck.
I found myself wanting that so often that I wrote an entry page for it.
My Bird Maps page
is meant to be used as a smart bookmark (also known as bookmarklets
or keyword bookmarks),
so you can type birdmap hummingbird or birdmap golden eagle
in your location bar as a quick way of searching for a species.
It reads the bird you've typed in, and looks through a list of
species, and if there's only one bird that matches, it takes you
straight to the eBird map to show you where people have reported
the bird so far this year.
If there's more than one match -- for instance, for birdmap hummingbird
or birdmap sparrow -- it will show you a list of possible matches,
and you can click on one to go to the map.
Like every Javascript project, it was both fun and annoying to write.
Though the hardest part wasn't programming; it was getting a list of
the nonstandard 4-letter bird codes eBird uses. I had to scrape one
of their HTML pages for that.
But it was worth it: I'm finding the page quite useful.
How to make a smart bookmark
I think all the major browsers offer smart bookmarks now, but I can
only give details for Firefox.
But
here's a page about using them in Chrome.
Firefox has made it increasingly difficult with every release to make
smart bookmarks. There are a few extensions, such as "Add Bookmark Here",
which make it a little easier. But without any extensions installed,
here's how you do it in Firefox 36:
First, go to the birdmap page
(or whatever page you want to smart-bookmark) and click on the * button
that makes a bookmark. Then click on the = next to the *, and in the
menu, choose Show all bookmarks.
In the dialog that comes up, find the bookmark you just made (maybe in
Unsorted bookmarks?) and click on it.
Click the More button at the bottom of the dialog.
(Click on the image at right for a full-sized screenshot.)
Now you should see a Keyword entry under the Tags entry
in the lower right of that dialog.
Change the Location to
http://shallowsky.com/birdmap.html?bird=%s
.
Then give it a Keyword of birdmap
(or anything else you want to call it).
Close the dialog.
Now, you should be able to go to your location bar and type:
birdmap common raven
or
birdmap sparrow
and it will take you to my birdmap page. If the bird name specifies
just one bird, like common raven, you'll go straight from there to
the eBird map. If there are lots of possible matches, as with sparrow,
you'll stay on the birdmap page so you can choose which sparrow you want.
How to change the default location
If you're not in Los Alamos, you probably want a way to set your own
coordinates. Fortunately, you can; but first you have to get those
coordinates.
Here's the fastest way I've found to get coordinates for a region on eBird:
- Click "Explore a Region"
- Type in your region and hit Enter
- Click on the map in the upper right
Then look at the URL: a part of it should look something like this:
env.minX=-122.202087&env.minY=36.89291&env.maxX=-121.208778&env.maxY=37.484802
If the map isn't right where you want it, try editing the URL, hitting
Enter for each change, and watch the map reload until it points where
you want it to. Then copy the four parameters and add them to your
smart bookmark, like this:
http://shallowsky.com/birdmap.html?bird=%s&minX=-122.202087&minY=36.89291&maxX=-121.208778&maxY=37.484802
Note that all of the the "env." have been removed.
The only catch is that I got my list of 4-letter eBird codes from an
eBird page for New Mexico.
I haven't found any way of getting the list for the entire US.
So if you want a bird that doesn't occur in New Mexico, my page might
not find it. If you like birdmap but want to use it in a different
state, contact me and tell me which state
you need, and I'll add those birds.
Tags: nature, birds, eBird, web, programming, javascript, firefox, bookmarklets
[
14:30 Apr 06, 2015
More nature/birds |
permalink to this entry |
]
Wed, 01 Apr 2015
This fellow stopped by one evening a few weeks ago. He'd lost one of
his antlers (I'd love to find it in the yard, but no luck so far).
He wasn't hungry; just wandering, maybe looking for a place to bed down.
He didn't seem to mind posing for the camera.
Eventually he wandered down the hill a bit, and a friend joined him.
I guess losing one antler at a time isn't all that uncommon for
mule deer, though it was the first time I'd seen it. I wonder if their
heads feel unbalanced.
Meanwhile, spring has really sprung -- I put a hummingbird feeder out
yesterday, and today we got our first customer, a male
broad-tailed hummer who seemed quite happy with the fare here.
I hope he stays around!
Tags: nature, deer
[
19:25 Apr 01, 2015
More nature |
permalink to this entry |
]