mortonfox: (Morton small)
Yes, it's already the second week of the new year but I was busy the first week and 2011 was such a busy year that it was hard to distill the important things from the year. The biggest change is after 16 months being out of work, I returned to work for a small startup (literally a 6-person office when I joined) in Wilmington. My previous job wasn't at a big firm but this one is microscopic in comparison and it's a lot different. There is no bureaucracy, no office politics, no cubicles, and very little formality. I was given full access and was trusted to do the right thing from day one. I learnt a lot as I went along and within a week, I had started contributing important code to the system. Best of all, I was never left with the feeling that anything I did was futile or a waste. Any software I wrote was put to good use pretty much right away and I deployed it myself most of the time. So all in all, it's been a promising start. Then again, I thought the same thing back when my previous job began, so let's check back on this one in 14 years and see if it has withstood the test of time. :)

Of course, with the new job, I had less time for geocaching but I think I did as much of that as I wanted to on weekends and after work in the summer. I ended the year with more geocache finds than year 2009 but not 2010. The year was dominated by Lancaster with two big geocache series, the battleship caches and the rail trail caches, although Delaware was no slouch either with the DGT caches, the C&D power trail, and the First State Challenge. I tried to get out to more geocaching events as well, especially the ones in Bucks and Montgomery County that would've been a 2-hour drive from my old home in North Jersey. Now that these are only an hour from home, it hardly feels like an arduous journey getting there. I also started going to a few Where's George events locally and in Maryland. And of course, I went to local furmeets too whenever I could and attended 3 furry conventions, FA: United, Anthrocon and Furfright. The great thing about this area is there's an event or gathering going on pretty much every weekend. On the other hand, the downside is I haven't had as many mascot gigs now that I'm distant from Hi-4. I'm also losing touch with NYC-area folks but that is to be expected.

I kept up the pace on personal projects as usual. In its 4th year, TwitVim had another round of incremental improvements, although I thought the multiple login feature was big enough to bump the version number. My Foursquare webapp, 4sqNoGPS, became PlainSquare when I rewrote it for the Foursquare V2 API. I also changed the CSS so it looks more like a mobile app on small screens while keeping the desktop interface simple. I've found this setup to be good enough for most day-to-day use and really only hit the official app to upload photos and claim specials. Remember the beta Google Chromebook I received in December 2010? Well, I used it a lot more throughout 2011 and that led to my participation in the Cr-48 binaries project. I probably wouldn't use the Cr-48 for serious development work but now that we have a text editor, a few scripting languages, and some dev tools ported to it, light work is possible. And finally, I did get around to scrapping my old website and reworking it into a Drupal-based site. This doesn't mean that I'll update it any more frequently but when I do, it'll be less of a pain. :)
mortonfox: (Robot)
I did enough weeding yesterday evening to fill two trash bags, but then I got a bit dizzy because some of the weeds were noxious. So I fell asleep before dinner and was wide awake in the middle of the night. That usually is a prelude to high productivity. First, I worked on converting my Twitter scripts to OAuth. I was a bit overdue since Twitter turned off Basic authentication on August 31, but these aren't utilities that I use every day. The main stumbling block was looking for an OAuth library that didn't make things unnecessarily complicated. I found one that's simple enough: by AppHacker. However, it's written in Python but my scripts are in Perl. No biggie. It was actually pretty straightforward to rewrite those in Python once I got up to speed. (I don't use Python very often so every time I pick it up, I have to take a refresher on common Python idioms.)

That only took me to 6am. What else was I going to do today? How about a new project? Enter 4sqNoGPS... (You need a Foursquare account to see it because it starts with the OAuth handshake.)

It's a replacement for Foursquare mobile that is optimized for my handset. (or, as Ericles put it, the smartest non-smart phone :) ) There are numerous problems with Foursquare mobile:
Read more... )
mortonfox: (Robot)
A few days ago, I wrote a proof-of-concept Twitter OAuth login and posting script in Perl. Today, with no interruptions from anything or anyone (even the mail carrier was extra quiet), I added the code to TwitVim. (revisions 88 to 92) The only part of the OAuth handshake and signing code that I couldn't yet write in Vim script is the HMAC-SHA1 message digest code. I'm using Perl to do that but I'll look for other ways.

The impression I got while working with Twitter OAuth is the API itself is an unfinished work with some rough edges and inconsistencies. For example, the documentation for statuses/home_timeline states that this call supports only the GET request method. This is true for basic authentication but once you switch to OAuth, it requires the POST method if you add any optional parameters. statuses/user_timeline, on the other hand, disallows POST even if you're using the optional parameters. I suspect the documentation is out of date and statuses/user_timeline will eventually be modified to be consistent with the other timeline calls but with Twitter, it's anyone's guess.

Twitter's OAuth implementation itself is not fully documented. I figured out a few things about what it does and does not allow by experimenting with my demo Perl script. I tried not to make too big a change at a time because it's tough to debug. Any error simply results in a "401 Unauthorized". It doesn't matter if you misspelled the signature method, if your nonce is not unique enough, or if your timestamp is not fresh enough. You'll get the same error code. Also, Twitter can and will throw a fail whale in the middle of an OAuth handshake, which is a consideration if your app is expected to handle this problem gracefully.

So what's left to do? TwitVim needs to save the access token after doing an OAuth handshake so it won't have to re-authenticate every time it starts up. Once it does that, it also needs to offer a way for the user to switch to another login. And of course, I need to document all of this so the user will know how to set it up.
mortonfox: (face tree)
The recent snowstorm did some damage to one of the cedar trees in the front yard. A few branches snapped under the weight of the snow and were hanging down dangerously. So this morning, we went to work sawing off those branches. That was tough work because the branches were pretty high up. We used a long pole with a saw blade at the end for the higher branches. For the lower branches, we used a ladder and a regular saw. Then we cut up those branches into smaller pieces and put those away until such a time when we can take those to the yard waste collection center.

I posted a new release of TwitVim today. I uploaded the previous release the day before New Year's Day, so it's only fitting that I upload this one the day before Chinese New Year. Okay, that was just a coincidence. I don't think I'll be posting all future releases just before holidays. :) Anyway, when I went to the TwitVim plugin page at Vim Online, I noticed that there's a new link in the header to a page for this plugin at the Vim Tips Wiki. Cool! Ostensibly, this wiki page is meant for user comments and suggestions but I figured I could also use it to host a few screenshots.

After that, I started work on revision r80, which changes "replies" to "mentions" in the TwitVim UI. This change is almost totally cosmetic, I know, but apparently, everyone now refers to tweets containing @username as "mentions" so the client has to follow that convention.


Dec. 19th, 2009 07:29 pm
mortonfox: (xmas)
After about 4" of snow

Woke up this morning to about 4" of snow on the ground and it continued snowing throughout the day, so that put a stop to this evening's plans. But that's okay. There'll be another meet next month and it's better to be safe than to try to drive out on those snowy roads. So all we did this morning was brush the snow off the car and shovel and salt the sidewalk and driveway. We'll have to do this again tomorrow morning to take care of a few more inches of snow that fell later in the day.

Worked on a Twitter login prompt for TwitVim last night. I didn't think of this before because I'd always just started it up by script. This suggestion came from a user who wanted to set up TwitVim on a system that wasn't his, so he couldn't put his login info (whether plain or base64) in the vimrc.
mortonfox: (fox stand)
Well, I didn't get the job for which I went to the on-site interview on Tuesday. The verdict was I had good skills and knowledge but just not specifically what their project was looking for. It could be a blessing. I had some concerns about the software firm that I didn't share on that day but now that it's over, I guess I'm clear to write a little more. The first was the salary discussion, which I was surprised actually happened during the interview. I thought it was supposed to be done only after they make a hiring decision. They made a few attempts to bargain me down, saying, for example, that even PhDs at that company only made $95K or so and that some people started really low (below $60K) and got raises afterwards. So I was wondering if they even had the budget for an additional software engineer. The second thing I noticed was even though the company doesn't force anyone to work long hours (i.e. significantly beyond the usual 9 to 5), it looks bad if you don't. Again, it was somewhat odd that they felt the need to impress that on me during the interview. Overall though, the place was eerily similar to my old job. Same suburban-type office building. I think they even have the same office furniture, carpet, and cubicle suppliers. I would've been right at home arguing with management there. :)

Looking back at the last 14 years of my life, I came up with an analogy. A job is like an apartment. On day one, it's a blank slate. Full of promise and ready to be filled with your presence. Then after a while, the plaster starts peeling, the faucet starts leaking, the toilet becomes unreliable, and dealing with building maintenance becomes somewhat unpleasant. Yet, you stick on year after year because staying put is less of a pain than leaving, until you wake up one day and find that you absolutely loathe the place and would do anything to get out. Yes, the apartment was getting like that too. :) Which reminds me, I still need to ask the landlord at the end of the 21-day period if he'll be returning any of the security deposit.

Rainy day today so I stayed home and worked on code. I added support to TwitVim for the new Retweet API. (r68 thru r71) It's not complete yet because of a few things I noticed in the API documentation. First: retweets_of_me does not appear to return info on who did the retweeting. There'll be a significant cost in time and API quota if the client makes a separate query for that info for each retweet. And second: Retweets are stripped out of user_timeline and unlike friends_timeline/home_timeline, there is no alternative API method that returns the full timeline with retweets included. I checked the latest version of Tweetdeck and, even though it does support new-style retweets, it's missing retweets when you bring up a user's profile, confirming that issue. No matter. I just made do with what the API provides and I hope there'll eventually be API revisions or workarounds to address those two issues.
mortonfox: (create a fursona)
If it seems I haven't been doing much lately, that's because it's mostly been packing up and cleaning out stuff from the apartment. In 14 years, I sure can accumulate a lot! I think we're nearing the end of it though. Also, either tomorrow or the day after, we'll take a load of toys, clothes, and kitchenware to the Goodwill donation center in Nanuet.

In the midst of packing, I snuck in a bit of work on TwitVim to add support for reading Twitter lists. Haven't written the documentation yet but it appears the lists API is still a little rough so there is no hurry. I think I'll have a bit more work to do soon to support the retweets API and home timeline. Apparently, I didn't stop being a computer programmer after leaving the job. Funny that.

Also, I joined the Google Wave preview a week ago ( and only just started really using it today. If you need an invite, pass me an email address to send it to. Also, if you're already on Google Wave, let me know too. I'll add you to my contacts.
mortonfox: (create a fursona)
Over the last two weeks, I've done a lot of work (r35 thru r50) on TwitVim to get it from version 0.3.5 to 0.4, so I think it would be good to stop for a while and explain some of the enhancements I've put in. This article will be the 0.4 release notes when it comes out. Of course, since I know of only about a dozen or so users of this Twitter client, almost everyone can safely skip this post. :)

Read more... )
mortonfox: (where's george?)
Delcastle Park

I finally got a chance to take a look at the House Stimulus Bill (H.R. 1), not the 647-page full text but at least the summaries. Just like last year, there is a tax credit. It's $500 for individuals with a phase-out starting at an AGI of $75K. So once again, I'll get nothing. Same old story. Then again, folks like me are always tripping over bags of money</sarcasm> and therefore need no special incentive to go out and buy those big-screen TVs, right?

Speaking of money, I didn't attend Further Confusion this year but apparently, one of my Where's George bills did. It's really cool that the user note actually mentions the con. I was wondering how it got there but then I remembered that [ profile] foxwell and [ profile] jbadger had some of my bills from when we met up and did a mascot gig in December so that's probably it. Thanks to both of you for getting the bills out there.

And finally, it appears that someone is starting sh*t on Twitter by brandjacking Furcadia, following every furry on Twitter, and posting a whole bunch of nonsense. I was just going to ignore that but there were two things to note. First is the 16 follow-backs. I have to ask why. I guess some have auto-follow turned on or are less discriminating in who they follow. Eh, their choice. Second is there do seem to be quite a number of folks from the fandom on Twitter now, which is quite a change from the days when only I and a few others were tweeting.
mortonfox: (words)
After one week of travel via UPS Ground, my boots have arrived at Columbia Sportswear Warranty Department. I've been following their progress using TrackThis, which sends me notifications via Twitter. If you're on Twitter, give it a try the next time you're sending or receiving a package.

Postcrossing update: I'm now up to 543 postcards sent, 512 received, over 4 million kms of sent distance, and 8th on the country leaderboard. It's still a lot of fun, although my postcard collection has now filled up two boxes and is starting on a third box! Yesterday, I got a postcard from a rather remote location. This card is from Xinjiang Autonomous Region in China, a sparsely-populated area in the middle of the Asian continent.

Another postcard I got was interesting more for its postage stamp than for the card itself. This hologram stamp was on a postcard from Finland. My scanner doesn't do the hologram justice. If you tilt the stamp, it looks like the skier is skiing down the slope.

And lastly, here are my current postcard stats by country:

Read more... )

Indian Rock

Oct. 2nd, 2008 11:16 pm
mortonfox: (morton blvd)

This afternoon, I went to Indian Rock Shopping Center in Suffern for the Indian Rock geocache. The strip mall is built around Indian Rock, a large glacial erratic that got its name because local tribes used to hold tribal meetings there. There used to be a cache right at the rock but that one didn't even last a day; the cache owner archived and removed it as soon as he found out that the spot had historic significance. This new cache is somewhat different. The first part now involves using a number at the cache site to calculate the final coordinates and the actual cache container is on the other side of the parking area, which in my opinion is a much better cache location.

TwitVim update )
mortonfox: (words)

I opened a Google Code project for TwitVim. It's better this way because I can check in any work in progress to the Subversion repository instead of just keeping it on my hard disk, even though I have been taking precautions to avoid losing work.

So what's new? Two weeks ago, the Twitter folks introduced the new in_reply_to_status_id parameter in the API. Through the use of this parameter, a Twitter client can point an @reply to the tweet that the user is actually replying to instead of the latest tweet, which was the default. The intention is to let Twitter track conversations more accurately. This parameter is optional and still new, so I don't think it is in broad use yet, but maybe we can do some interesting things with the reply graphs later.

Last week, I started thinking about how I can support that new parameter in TwitVim and then I did it in r6 and r7. It is a significant change to the implementation. Previously, the buffer text was all the script needed to maintain state but after this addition, it now keeps a script-local list of status IDs. There is potential for breakage now because the script has to account for buffer changes. Hope I got them all.

Just for fun, I hopped over to to see if the new reply parameter would work there too but it doesn't. A bit disappointing, but I can wait.

A TwitVim screenshot, because I don't think I've posted one before... )
mortonfox: (morton blvd)

There was heavy rain yesterday evening, but this evening, the weather was fine; not particularly hot or humid even. So I went out to Wayne for two geocaches. The first was parkview. It wasn't a hard one. Just a short dash into a slightly-muddy wooded area. I hadn't brought information for any other geocaches but I checked on the cell phone web browser and saw that Reading RR wasn't that far away. (or rather, it wouldn't be far if I'd gone the correct way instead of going out on I-80/US-46 and having to make a U-turn half a mile out of the way, but I digress) This cache site was a weed-filled nightmare. I was lucky to find this one because I didn't even think of checking that spot for the cache. I just happened to see it while crossing from one patch of weeds to another patch of weeds.

After that, I went to Willowbrook Mall for dinner. I hadn't been to that mall for years, so I was surprised to find an Arby's in the food court. Better yet, they still had the Pick 5 for $5.95 special, which is very filling if 3 of the 5 items are sandwiches. :) is an open source alternative to Twitter (the source code is Laconica), but like most Twitter alternatives, it seems to be more popular when Twitter is performing poorly. Commentary aside, I heard from more than a few people and blog posts that has a Twitter-compatible API. Since it wasn't difficult to slip that into TwitVim, I did that in release 0.2.19. It's more of a hack than a proper feature implementation since all of TwitVim's messages still refer to Twitter instead of, but it works pretty well and I can talk to either Twitter or simply by changing a config variable. Of course, in my own installation, I wrote some additional commands to help me switch between the two services.

Switching between Twitter and )
mortonfox: (create a fursona)

This is a sign that I have too many things going on: It's Thursday and I'm still catching up with things that happened while I was away for 6 days! The best part: 11 Postcrossing postcards were waiting for me in my mailbox. I thought this one was particularly unusual. The scan didn't do it justice. It's a kaleidoscope card where the design changes a bit when you move it.

My dental insurance claim was rejected. This happens for the first claim every year. I found out from HR how it happened but not why. It appears that the dentist sent the insurance claim to the wrong insurance provider. However, when I went to the dentist's office to check, the clerk showed me the correct insurance info on her computer screen. So...? I think there is a bug in their claims-filing system. Anyway, they'll try to file the claim again and see what happens. It's an unnecessary annoyance.

I received a $12.67 check as settlement for the AFC Enterprises securities class action lawsuit. (AFC Enterprises = Popeyes Chicken) Never had much AFCE stock so I was surprised that my share of the settlement was more than a few cents. I mentioned that on Twitter and PopeyesChicken suggested that I use the money to get a box of chicken for 4th of July, which is not a bad idea. :) As an aside, I'm still not sure how I feel about corporate spokespeople showing up on Twitter. Could be useful if we have legitimate complaints and they can respond faster than their customer reps, but otherwise, do we want them to chime in on our daily musings?

And lastly, I signed up at Swurl, another lifestream service / aggregator that takes stuff that I post to popular web services and brings all of that together on one page. (It doesn't support Livejournal though. That's one deficiency.) My fancy Swurl grid timeline is here, but don't follow that link unless you have a fast connection and lots of memory. The problem is it insists on showing thumbnail images of all my Flickr photos from this year on the first page. I post thousands of photos a year, so it takes a long time for that page to finish loading! I think Swurl needs to truncate this timeline at a reasonable length but the Swurl team promised that they'll look into a way to cut down on Flickr thumbnail loading time. Maybe they should've invited me to their private beta. :)
mortonfox: (fox bend)
Rockleigh Woods Sanctuary

Such a mixed bag of weather. The temperature was as high as 72°F. Then it dropped when it started raining in the afternoon. I never know whether to bring a jacket. In the evening, it stopped raining just long enough for me to go and find the Before the Giants: Eagles Edition geocache. It's in Rockleigh Woods Sanctuary in Rockleigh. Starting from the parking area behind the Rockleigh municipal building, it was a 1.2-mile round trip walk through the woods. However, most of the trail was relatively flat. The only notable incline was the last 1000 feet before the cache site. That part was a walk up the ridge alongside this rocky stream.

After that, I went to Palisades Center Mall in West Nyack. I'd just received a Digital TV Converter Box coupon (which looks like a debit card), so I thought I'd go get a converter box at the Target store in the mall. I also took a quick peek at Steve & Barry's in the mall and I noticed that they have size 17 shoes! That's amazing because I rarely see anything over size 14 at the usual stores. I wear size 15 wide myself but maybe 15 wide is 16 or 17 with extra toe room. I'll go and try their largest sizes the next time I need shoes. There's a Subway in the mall, so I got yet another $5 footlong.

Joined the Twit-Out today, so I wasn't on Twitter for a full 24 hours. Twitter had been experiencing periods of slowness and going down for hours at a stretch almost every day with not a word from Twitter about the reasons for the outages, so a bunch of Twitter power users decided to hold a temporary boycott and move the discussion to Friendfeed. I have to admit that I was cynical about it. I thought it wouldn't be any better than the Livejournal "writers' strike" -- worse than that even because on Livejournal, some users pay for service and have economic leverage in making demands, whereas on Twitter, all user accounts are free accounts. But I went along with it anyway because I might as well get some work done on my nascent Friendfeed client in Vim script. (coming from the same nut who wrote a Twitter client in Vim :) )

Well, the Twit-Out turned out to be fun. We had many conversations and I made a bunch of friends on Friendfeed. It appears that the people at Twitter are starting to communicate their problems a little better too. At least, their public admission of failure is a step towards solving Twitter's problems. I'd say let's tough it out and give them time to work out the scalability issues. Livejournal was slow too a number of years ago but it has improved to the point where I rarely see any server lag. Besides, we can hang out at Friendfeed when Twitter's down. :)
mortonfox: (morton ave)
Ramapo Reservation

It was a rainy day yesterday but the weather was fine today, so it's funny that I went to Rainy Day Women this evening. This geocache is in Ramapo County Reservation in Mahwah. Like the geocache I did last week in the same park, this too is up the mountain. This one is a little further up the mountain though. Whereas last week's geocache was at the reservoir level, this one is near the first lookout point on the blue trail. Although steeper, this evening's walk was shorter and I was there and back to the parking area in well under an hour. After that, I had a meatball marinara footlong at Subway in Ramsey.

TwitVim development continues. Summize Twitter search provides an API so I used it and made it so that TwitVim displays search results in a Vim window. I also added mappings and extended some existing commands to jump to timelines of other users. A TwitVim user actually suggested this feature and generously provided code for it, but I already had a different implementation in mind so I went with the latter.

I've been geotagging my photos, at least those photos that were taken near cache sites. My camera doesn't have GPS and thus doesn't embed GPS metadata into the JPEG files. So, up until yesterday, I'd been uploading photos to Flickr, Geosnapper, Panoramio, etc, and then adding the location data using the interfaces of those websites. (with the help of some AutoHotkey macros) However, because these photo websites recognize GPS tags in EXIF headers of uploaded images, it is less work to add the information to the image file before uploading. This way, I need only add the information to one place: the image file itself. Wish I'd thought of that earlier! So I started using ExifTool this evening to do that. Flickr and Panoramio accept location data just fine this way. Unfortunately, Geosnapper, for reasons unknown, fails to interpret the GPS tags correctly and comes up with locations that are as much as 10 miles off. I'll have to ask them about this problem some time.
mortonfox: (create a fursona)
Cow Meadow Park Marina

After about six months of hair growth, I finally decided to get a haircut two evenings ago. As an interim measure, I'd been cutting my own hair just to get the annoying parts out of the way but that eventually proved insufficient. What prompted my decision was the 70-degree weather over the weekend, so it was ironic that the temperature went down to around 50°F on the day I went for the haircut. That's the weather mocking me! This was the fastest haircut I've ever gotten at Supercuts in Ramsey. There was no wait and the superfast hairdresser finished in less than five minutes! (Of course, it helped that I didn't care how it looked and basically just asked for a #4.)

TwitVim is semi-stable, and by that I mean I haven't thought of a thing that I'd like to tweak or enhance in this plugin for over a day now. :) What's gratifying is it actually has a few users now and they've contacted me over Twitter to say that they're using it. One problem I ran into is Vim script's lack of time-handling functions. While you can parse time strings using Vim's regular expressions, there is no support for time calculations and time zones. My solution is to use if_perl to embed a piece of Perl code in the Vim script to perform the time functions. I did that in a way that degrades gracefully, so if the user's Vim installation does not have the Perl interface enabled, TwitVim will simply use Twitter's raw timestamps, which are ugly but better than nothing.
mortonfox: (Robot)
Fire Department Memorial

The latest enhancement to Flickr is they now accept video uploads. I don't shoot much video but I did have a video file that was sitting on the hard disk for about a month, so I uploaded it. Nothing spectacular. Just a 23-second video of Pennypack Creek overflowing its banks in Northeast Philadelphia after heavy rainfall. Those trees at the upper right corner are not normally in the river!

I thought I was done for a while with TwitVim at version 0.2.0 yesterday, but I went ahead and added a few more features. I've also been in correspondence with a user who contributed some fixes to make the plugin work in Chinese Vim. That's wonderful! I can't possibly test the plugin on every Vim platform, so it's good to have someone step in to fill the gaps. I also got the client software registered with Twitter (emailed them with my request and it was done within a day) so that tweets I post with it say "from TwitVim" with a link to the download page.

This evening, after running some errands in Ramsey and Mahwah, I went to Subway in Ramsey and had a BBQ rib patty footlong sub. They've had $5 footlong specials for a while now, so I should've eaten there more but I've been busy and haven't had too many opportunities to go to downtown Ramsey.
mortonfox: (create a fursona)
Memorial Park

This evening, I visited Uncle's Memorial Cache. It is in the woods of Memorial Park in Oradell, just a short hop (and a 35-cent toll) down the Parkway. Then I went to the Chinese supermarket in River Edge to get a boxed dinner.

Later in the evening, since it's a triple-coupon week and since I'd already sorted out my coupons the night before, I went to A&P to see what I could get. It's actually harder to bag the big discounts now. Coupons are for brand-name items and maybe I've been out of the loop for a while, but that stuff is expensive! Even so, I got $35.90 in groceries for $14.67 and I do now have enough of most items to last well into next week.

Last night, after watching their Campfire One video, I snagged a Google App Engine invitation. Not sure what I would do with it yet. I suppose the main draws are that you can run your web app on Google's dime, and storage and scalability become Google's problems, at least until your app hits the free account limits. One downside, for now, is they only support the Python language and I haven't touched Python in many years. I don't think it'll take too long to relearn, or I could be lazy and wait for App Engine to support Perl.

There was also a bit of hype on the part of Google. They claimed that only the first 10,000 developers would be able to register. Just a short time after midnight, the signup page looked like they had already run out of registration spots, but I put my Google account on the waiting list and got in an hour later. Some Web 2.0 bloggers were still able to register for App Engine as late as this morning, so the "preview release" is really not such an exclusive club.

Further TwitVim development... )
mortonfox: (morton blvd)
Grove Park

This afternoon, I went to Grove Park in Ridgewood, not far away, for the Cache Cow geocache. It was sunny and around 50°F, not bad weather for a quick walk in the woods. And it didn't take long to find the geocache.

There is an interesting quandary associated with this cache though. The cache owner originally placed it in Saddle River County Park, half a mile South of its current location. The cache listing was approved yesterday. Then he realized that it was close to another cache, so he decided to move it to Grove Park. Meanwhile, Ramapo, acting on the info in the cache listing, went to the original location and failed to find the cache after a fruitless search. So how ought one move a cache? As Ramapo suggested, the cache owner could've disabled the cache listing before moving the cache. However, that still may not help because someone might've downloaded or printed the cache info the night before. My inclination would be to not move the cache unless there was a real problem with its location or at least disable the listing for a period of time first to provide sufficient advance warning. When I wanted to retire one of my caches, I disabled the cache listing for two weeks before actually heading out to remove it. I thought that was playing it a bit too safe, but to my surprise, there were still a few last-minute visitors.

I also did a bit more work on TwitVim, the Vim Twitter plugin. I had already started work on the next major feature, which will be to parse and display Twitter timelines, but I decided that it would be a good idea to first polish up and document what I had already released. Hence today's minor point release.


mortonfox: (Default)
Morton Fox

July 2017

9101112 13 1415
1617 1819202122


RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags