All Posts
feeds2gmail
2013-05-06 :: Google, Racket, Atom, RSS
Recently I wrote about my my Google Reader successor, using rss2email to push feeds to Gmail.
In the month since, I was still running it on my laptop. To make it work best, it should run on a dedicated server. That way, it would push emails even if I'm away from my laptop, and I could read them on e.g. my phone. But before committing to setting this up on Amazon EC2, I wanted to be sure I liked the approach.
Continue reading ...A guide for infrequent contributors to Racket
Do the following apply to you?
-
Maybe you want to contribute something to Racket: You'd like to improve the documentation, or you'd like to add a small feature.
-
Maybe you're comfortable with Git, but haven't made a pull request before.
- Maybe you've made a one-off pull request, but haven't tried to contribute to the same project over time and stay in sync with the upstream project.
If so, you may find my guide helpful. I was hopelessly confused about how to handle the branches and merging. After I figured it out, I wrote this down in a Gist as a note to my future self. Today I figured I'd dust it off and make it into a blog post.
Continue reading ...Planet vs. the new package system
2013-04-11 :: Racket
Recently I've shared some new libraries using the new package manager, but not uploaded them to Planet.
What about my existing Planet libraries? Yesterday Danny Yoo pointed out a bug in the Dynamo module of my Amazon AWS library on Planet.
The bug wasn't present in my GitHub repo—I'd neglected to go through the steps of making a new version and uploading to Planet.
By contrast, with the new package manger, it would have been automatically up-to-date.
Continue reading ...Roger Ebert, not engines
2013-04-05 :: technology
I've owned a couple TiVos over the years. The first thing I do on setup? Turn off the suggestions.
The HBO series Mind of the Married Man joked about this a decade ago: "My TiVo Thinks I'm Gay".
Although I love NetFlix I also find their recommendations underwhelming.
About the only film recommendations I ever find valuable are from a friend or someone like Roger Ebert, who sadly just passed away yesterday.
Why? Precisely because the recommendations aren't limited to what I already like.
Continue reading ...Parameters in Racket
2013-04-02 :: Racket
Racket parameters let you manage stateful global variables in a way that feels more functional and is also thread- and continuation-safe. A convenient parameterize form lets you change and restore them. I'll discuss this and show how I map parameters to a configuration file.
My Google Reader successor
2013-03-29 :: Google, Atom, RSS
Just a brief update about what I've settled on as my replacement for Google Reader. I'm using Rss2Email, following the instructions in Turning Gmail into Google Reader.
I tried Feedly, NewsBlur, and Reeder. Each of them wasn't bad, but each felt "heavy" compared to Google Reader. So W. Caleb McDaniel's post really clicked with me.
Continue reading ...Host your own web apps?
2013-03-26 :: Software
In general I'm a big fan of web apps for many reasons:
-
You don't need to migrate data when you buy a new computer or mobile device.
-
You don't spend a bunch of time updating apps for security or improvements. Doing so may be easier on a mobile device than on a desktop. But there are days when my phone does more work updating apps than me actually using it.
-
Synchronization sucks. Using multiple native apps with local stores requires synchronizing state. Essentially this is N/A with a web app because the data is stored in one place. (Note: Caching doesn't suck; just synchronizing.)
-
Developers can iterate and experiment – "release constantly". This may sound like it's an advantage for devs, but to the extent it makes better apps and saner feature accretion, it's good for us, too.
-
Easier to hack, by which I mean customize for individual needs and preferences.
- Easier (and generally safer) to use hacks created by others (in the form of browser extensions).
So great. But obviously the Google Reader shutdown brought me up short. Shook my faith. Am I wrong to prefer web apps?
On reflection, there are two reasons why it's still OK to prefer web apps.
Continue reading ...Serve static files
2013-03-22 :: Racket
I wanted Frog to provide a "preview" feature: Launch a local web server with a version of the site, and open a web browser.
This local web server simply needs to serve static files. No server-side applications. (Not even features you'd likely want in a production static file server like gzip compression or If-Modified handling.) It just needs to start quickly, and preferably not be a lot of work to code.
Feed stats in Frog (without FeedBurner)
2013-03-19 :: Frog, Google, Atom, RSS
In light of Google shutting down Google Reader and removing feed-following UI in Chrome, it probably can't be long until they shut down FeedBurner, too.
Although I'm using Google Analytics for this blog, I'm not using FeedBurner. But imagining what feed readership stats I might want, I came up with a short list, and thought about how to get them without FeedBurner.
Continue reading ...The year Google became "Evil"?
2013-03-15 :: Google
Via Daring Fireball I found Google, destroyer of ecosystems. Aldo Cortesi writes:
The truth is this: Google destroyed the RSS feed reader ecosystem with a subsidized product, stifling its competitors and killing innovation. It then neglected Google Reader itself for years, after it had effectively become the only player. Today it does further damage by buggering up the already beleaguered links between publishers and readers. It would have been better for the Internet if Reader had never been at all.
What struck me is the obvious search-and-replace:
Continue reading ...Killing Google Reader
2013-03-14 :: Google, RSS, Atom
Last night I learned the news that Google is killing Google Reader July 1.
This morning I'm feeling like this.
Continue reading ...
Keyword structs
2013-03-11 :: Racket, macros, software
A good rule of thumb in Racket is to use a struct instead of list when you're juggling more than two or three items.
Frog overview
2013-03-11 :: blog, Frog, Racket, software
UPDATE: This was an early post. For up-to-date info, see Frog.
When the code settles down a bit I'll put it in a GitHub repo, and write a full README.md. Meanwhile, here's an overview.
Continue reading ...Live with Frog
2013-03-10 :: blog, Frog, Racket, software
OK, I have my site generated using Frog and pushed it to GitHub Pages for www.greghendershott.com.
I want to tweak the CSS. It's vanilla Bootstrap. Most importantly, I wish the headings were a few points smaller and the body text a few points bigger.
The other remaining item is to do the 301 redirect from Blogger to here. It turns out that this should be ridiculously easy to do with Amazon S3. You can make a bucket that does nothing but perform 301 redirects. I've created such a bucket already, and the redirects work fine. I simply need to update my DNS, for which I'm using Amazon Route 53.
Lull while I prepare to change tires
2013-03-08 :: software, Racket, blog, Frog
I'd been trying to stick to a roughly Tuesday and Thursday schedule for posting here.
I haven't this week because I've been trying to work up a replacement for using Blogger.
Basically, I want to write posts in simple Markdown, and generate the blog statically. To be hosted on GitHub or S3 or whatever. And I want it to use Bootstrap so I don't have to reinvent that wheel.
Continue reading ...greg^.head --> (first greg)
2013-02-26 :: software
A college classmate's nickname for me, after we learned linked lists in Pascal:
1 |
greg^.head
|
Updated, for many years it would have been:
1 |
greg->head
|
Not long ago I did quite a bit of:
1 2 3 |
SELECT TOP 1 part
FROM greg
SORT BY height
|
Nowadays:
1 |
(first greg)
|
Fucking "Suggested Post" (why web apps matter)
2013-02-20 :: software, technology
So speaking of AdBlock, sometimes I forget it's there.
I was using the Facebook app for iPad today. Which I hardly ever do. And I'm getting a lot of this in my feed:
And I'm all like:
And I'm clicking "report spam" on each of the little fuckers. Tap, tap, please bugger off. Tap, tap, suck my balls and bugger off. And so on.
Continue reading ...Walking in the steps of soft interrogation
For many years I visited Frankfurt Musikmesse. Roughly speaking, Musikmesse is Europe's equivalent of the NAMM show in the US.
Folks from my company would stay north of Frankfurt at the Mövenpick Hotel in Oberursel. It was more affordable and very comfortable. The front desk staff remained the same for many years. They got to know us—the obviously American, odd musician types—and were very friendly.
A couple years ago, I'd scheduled to fly home on Sunday, in case I needed to have more meetings on Saturday. The meetings never materialized, and I took it as a free day. The April weather was unseasonably warm. I walked into Oberursel's small "downtown" and explored it like I never had before. At some point I ended up wandering into paths that led through parks and open fields. It was very beautiful.
Continue reading ...My Chrome extensions
2013-02-14 :: software, technology
My Chrome extensions these days, from left to right...

Clear interrupts
2013-02-12 :: life, nostalgia, technology
For some reason CLI popped into my head the other day.
CLI is the 808x instruction to clear maskable interrupts. If you're writing a routine to service a hardware interrupt, you do a CLI early in your routine — to prevent another hardware interrupt from causing your routine to be re-entered. Neglecting this invites the most delightful form of bug, the intermittent bug.
.
We need a prior art database
2013-02-07 :: patents, politics, software, technology
Last week I visited Electronic Frontier Foundation in San Francisco. Mark Cuban and Minecraft creator Markus Persson had recently funded an additional staff attorney position, the "Mark Cuban Chair to Eliminate Stupid Patents".
Considering this after I got home, I had an idea about an additional angle from which to attack this problem.
What if there were a sort of "prior art database"? Where people could submit and find information about first-use or discovery of techniques—whether patented or not?
Continue reading ...Compare apples to oranges with the Nexus 4
2013-02-05 :: technology, Android
About a month ago I got my Nexus 4. My observations follow.
Computing like component stereo systems
2013-02-01 :: technology
Which of these do you use, and in what proportion?
- Phone
- Tablet
- Laptop
- Desktop
Series A round: Human worker theme park
2013-01-24 :: technology
I am seeking funding for a new venture: A theme park featuring "human workers".
The theme park will be similar to Old Sturbridge Village or Plimoth Plantation, but focusing on the last half of the 20th century.
Continue reading ...Fear of Macros
2013-01-14 :: macros, Racket, software
I learned Racket after 25 years of mostly using C and C++.
Some psychic whiplash resulted.
"All the parentheses" was actually not a big deal. Instead, the first mind warp was functional programming. Before long I wrapped my brain around it, and went on to become comfortable and effective with many other aspects and features of Racket.
But two final frontiers remained: Macros and continuations.
Continue reading ...Ancient history
I played trombone and piano in high school. I played electronic keyboards (including a Moog Prodigy, my first synth) in a couple bands. I wasn't a very good musician but I enjoyed it.
I went to Oberlin College 1982-1986. I did a major in philosophy and a minor in religion. Although the Oberlin Conservatory didn't offer a major in electronic or computer music back then, I did a major's worth of those courses. I took just two computer science courses: assembly language and Pascal. That turned out to be good preparation for teaching myself C later.
Continue reading ...Google+
2012-02-16 :: blog
In case you hadn't noticed, I'm not exactly posting here, much.
This is not a firehose of information.
This is not a bountiful font of wisdom from which you can aspire merely to glean a glimmering glimpse of insight.
This is not a haystack containing needles such as the secrets to wealth, popularity, and whiter teeth.
This blog will not cause Comcast to send you a warning that you are about to exceed your 250 GB of unlimited data.
Why? Simply because (a) I don't have that much to say, and (b) what I do have to say, I'm saying on Google+. That is my de facto "blog", for now.
See you there.
Domain registrar switch
2011-12-27 :: technology
My domain wasn't working for ~24 hours due to my switching from GoDaddy to Namecheap. Although it's possible to make that kind of switch with minimal downtime, in my case:
-
It was an impulse decision on my part. (Finally got some time to reflect on GoDaddy's support for SOPA. As well as the elephant killing and the tacky "babe marketing". SOPA was strike three.)
-
GoDaddy seemed to be dragging their heels releasing transfers.
- Namecheap seemed to be struggling with an unexpected number of transfers, inconveniently over the holiday weekend. (In fairness to GoDaddy, maybe their delay was at least partly due to the same reason.)
Fortunately it's not as if greghendershott.com is a hot destination for millions of fans. Or dozens.
Also, I wanted to mention that I did a couple live chats with Namecheap support and they were very helpful and quick.


