The best sci-fi isn’t
I was watching 2001 recently, and it doesn’t hold up that well. It’s not just that history and technology turned out differently, but the clothes were straight out of the late ’70s. Even more than...
View ArticleWorld’s worst credit card
I got an offer for some crazy-ass credit card. From the website:Black Card members enjoy these special privileges:Limited Membership24-Hour Concierge ServiceExclusive Rewards ProgramLuxury GiftsPatent...
View ArticleGruber’s naive url finder
I’ve been playing with Gruber’s regex and found some faults. First, \w includes digits, so [\w\d] is redundant.Second, and more troubling, is the use of [:punct:]. It works with PCRE, like he says, but...
View ArticleLong time no post
It’s been forever since I added anything here. Life got in the way I suppose.I thought I had written about the way songs are added to the current playlist, but it looks like I was wrong.There are three...
View ArticleMy trip to Spain
I’m still going though the photographs, but I thought I’d share the summary. YMMV: Yo no hablo español.Picasso’s Guernica is worth the trip. The rest of the Museums in Madrid are excellent as well. I...
View ArticleBanned by Facebook
I’ve been banned from Facebook because I have a funny name.Update: I’m back!
View ArticleCinematic mysteries revealed.
I think I finally figured out the ending to 2001. You know how some small apartments have murphy beds to save space? Well, the aliens didn’t have a lot of time to work with, so they kept doubling the...
View ArticleSending an error when it’s not quite unique enough
Back in 2005 I mentioned I use to_ascii to make sure that there aren’t accented and un-accented versions of artists. Like Hüsker Dü. That one always gets people.The problem is, there’s no way to easily...
View ArticleHow to not delete.
The next series of posts will deal with steps I’ve taken to prevent deleting past playlists. I’ve even gone to the lengths of disabled deleting PlayHistory at the database level. So what do we do when...
View ArticleThe merge function
The merge function is hard to figure out. Fortunately, there’s the the delete_view method already in ModelAdmin. Open it in another window and follow along.Let’s start with a pseudo-code outline:def...
View ArticleUpdates
Some updated to last week’s code. First, new_obj is obj always returns False, so I changed it to ==. Secondly, I wrote a MagicAlbumWidget that you probably saw coming. We’ll bring it up later. Third, I...
View ArticleRotation editing
Setting the rotation level of a song is a manager’s job, so it can only be done in the admin interface. When I wrote about the schedule I talked about changing the admin interface to do what I want,...
View ArticleDeleting from the FormSet
Most of the songs in rotation are DJPick. That is, they aren’t real songs, but instead are markers for a pop-up menu on the playlist. They should be deleted when they are no longer in rotation. So...
View ArticleNew job
I just got a part-time job working as a psychopomp. Good pay, but the irregular hours are killing me.
View ArticleThe best room in the Denver Public Library
I just got back from the Denver Plein Air exhibit at the Denver Public Library. The paintings were great, but the best part was finding the conference room the bosses use. On the seventh floor, all the...
View ArticleHow to deal with Dell
Now that I no longer work for Dell, I can reveal the secrets to getting good tech support. Note: Most of these are only true for Dell, but some can be used with any company.First, and most import rule:...
View ArticlePrinting vs. the web
At Radio 1190, one of the things we do is print an insert into each of the CD cases that has the information we use. In addition to a brief review, there’s also extra info about the songs, like the...
View ArticleBuilding an iCalendar file
Most calendar programs today accept URLs to iCalendar files to keep up to date on something. That’s how I get Radio 1190’s concerts. There are two ways to build such a thing in Django. You can either...
View ArticleShow the whole line with Javascript
Sometime something happens that we can’t see because the effected part is scrolled off screen. Most of the time it doesn’t happen because the button to trigger a DOM change is part of the DOM element....
View Article