Comment spam seems to be a recent plague that has reached the cat/mouse stage of the arms race. I haven’t had too much of a problem on our blogs, Akismet catches it for the most part. But other people have been lamenting it lately, like on the Jira Developer Blog.
Yesterday I saw the marginally-useful NSFW HTML attribute mentioned on Slashdot and it occurred to me that this was actually a useful solution for comment spam. Follow me on this…
1. Create an attribute to the <a> tag called “spammy” or “user-submitted” or something that effectively translates into “this could be spam”.
2. Then the search engines can choose to threat it differently. Either by ignoring it entirely, treating the link suspiciously, or giving it less credence.
3. Blog and software developers can add this either forced or as an option to the blog/software configuration. I’m guessing about 7 vendors account for 99% of all blogs. Digg, Jira, anyone who suffers noise due to spam can implement it.
4. Blog spam becomes ineffective for rasing search engine standings; spammers stop (hopefully). Or at least they pursue sites/software that doesn’t implement the new attribute.
I’m having trouble seeing why this wouldn’t work. Once spam decreases people can allow anonymous comments or turn off moderation and the world can be happy again. There is one critical assumption in this plan: that a significant amount of the comment spam is used in order to try to raise search engine result position (SEO basically). If spammers are hoping to just get eyeballs to click then this wouldn’t really solve that problem at all. However based on the comment spam I’ve seen it looks like SEO is the primary goal. This seems a lot more beneficial that NSFW attributes.
I’m not sure what poltergeist lives in my computer but I am constantly having crazy problems. For example, tonight I rebooted for the heck of it, when I looked at the computer, it says “No boot device found.” The following is my internal dialogue:
Ok, is there a CD in? No. Huh. Ctrl-Alt-Delete.
“No boot device found.”
Son of a … Power off, power on. Great it’s booting into windows.
[Blue screen of death flashes by...]
“No boot device found.”
Now, I’ve played this game before. I get out the video camera, set it to record, point it at the monitor and try again.
[Blue screen of death flashes by...]
“No boot device found.”
[Spend 5 minutes trying to pause the tape at just the right frame]
There had to be a better way. I did the math.
The image stays on the camera about 2 frames. Ok, at 30fps, that’s 1/15th of a second. But then I have to time the opening just right.
[Lightbulb goes off in my head.]
I set the camera to manual, bulb, smallest aperture possible. Point it at the monitor, and when I know it’s about to BSOD, I hold the shutter open. Perfect! Well, except for the broken computer. Click the thumbnail and you’ll see that even at f/29, the message was up long enough to leave a ghost image that is easily readable.
On an unrelated note, the last time I had this problem it was bad memory (it took me a long time to figure that one out, and only after it ate the registry). This time seemed like a similar problem. Something ate the SECURITY registry and it couldn’t load the hive. It booted in safe mode so system restore worked, but every time something like this happens a little part of gets closer to running Mac OS X.
Like I was telling Vlad, I can’t think of a single thing short of filesystem corruption that could happen to a Unix box that would prevent me from being able to boot it. In Windows one magic file gets corrupted and I’m up the creek. I don’t know much about Vista, but I would be surprised if they’ve solved these sorts of fragility issues. And the memory tested fine this time.
It occurred to me that one of the neat things about Google Reader is that you can create meta-feeds based on any tag you have. So for example, I make my starred items public so anyone can (and should!) subscribe to my items. You don’t have to subscribe to the feeds I subscribe to, but I can filter my feeds for interesting things for you.
Then it occurred to me that there’s probably a few people who are interested in all the websites we have, so I created what I call the megafeed. This is a single feed which you can (and should!) subscribe to that will aggregate the posts from all of the Averbuj family blogs. And the best part is I can add new feeds (such as the wedding feed, for example) without you having to do anything. The feed currently aggregates my blog, Leigha’s blog, Anna’s blog, and a feed for Anna’s photo gallery. One stop shopping!
I was way overdue for a new phone. The Nokia 6610 had served me really well but it had a very common failure. The volume rocker on the side broke. The volume could only ever be turned down, not back up. Had this been the opposite I might still have it today. For a while I lived with it. If I hit the volume key in just the right way I could turn the volume back up and that’d be good for another few days or so until the volume key got pressed again in my pocket. Eventually I had it with the phone.
So tasked with selecting a new phone I had some ideas. I knew I wanted candy bar style phone. I looked at the L7 on newegg, however the L7 has a fatal flaw. It has no keypad auto-lock. This would make any candy bar phone unusable (at least to me). Coincidentally when we went to Hawaii, I saw Katie had a candy bar style Windows Smartphone. I asked Vlad about it and he was pretty happy with it. So I checked and T-Mobile carried a model called SDA (HTC Tornado). I did my research and it looked good. I played with it a few times at the T-Mobile store. It was a little bulkier than the Nokia but not too much bigger. And it had a feature I’d been wishing I had for a while: Wi-Fi. That pretty much sealed it’s fate.
On the week that Leigha had gone to Oklahoma I went down to T-Mobile and bought it and immediately started playing with it. One thing I knew I wanted to do: Synchronize with Outlook (see previous entry). This would save me a lot of hassle of only having some numbers in my cell or some in Outlook or vice versa.
So before going further into the adventures, I’ll list the things I like about SDA over the Nokia I had:
1) Mini-SD card slot
2) Mini-USB for charging/syncing
4) Wi-Fi (even supports my VPN!)
6) Full web browsing built in (IE)
8) EDGE (I think)
9) Auto silent based on calendar meetings
10) When connected to ActiveSync it can use host computer’s internet connection
Now some problems I have/had with it:
1) Slow startup / shutdown
2) Can’t sync 2 calendars (they get merged)
3) Can’t sync public folders by default (ActiveSync issue) [solved]
4) No success with Sync’ing over Bluetooth
5) ActiveSync sucks
6) Sync-only-once [solved?]
7) Only 2 sync profiles
8) Expensive data plan [solved]
9) Crappy documentation
10) Auto Keylock is non-obvious [solved then unsolved]
11) IE (ugh) works better than Opera
12) PocketPutty doesn’t render right
13) Google Maps wouldn’t work [solved]
So starting with the problems. It would have been nice to synchronize my personal calendar from home and my meeting calendar from work but really the personal calendar from home has nothing in it so for right now I only sync the calendar at work.
The sync’ing public folders had me annoyed for a while. I searched some and I came up with other people who’d run into the same thing. The two solutions suggested were IntelliSync and PocketMirror. I checked the Scalix forums and Scalix folks said they’d been working with IntelliSync to get them to talk to each other. So I installed the IntelliSync trial off the website. IntelliSync, being a little too nosy for it’s own good, realized that the backend for my Outlook profile was not Exchange proper and would refuse to sync. I searched around for some sort of IntelliSync/Scalix information/beta but couldn’t find any. So I downloaded the PocketMirror trial and that worked. It installs an app on the SDA and it hooks into ActiveSync. It’s not perfectly smooth. There was a lot of head scratching. involved but eventually I got it working.
Other sync’ing problems: I’ve been completely unable to sync over Bluetooth. This was a feature to which I was looking forward. I’ve tried with both my crappy old Belkin FT8001 adapters and a borrowed modern adapter. With no luck. I blame ActiveSync since the com ports do seem to be detected properly. You’ll notice a pattern here, mostly that of ActiveSync sucking. Another problem I had was that when I sync’d at home it would only work once. After which, the phone wouldn’t be recognized by the computer/ActiveSync. This might not have been an ActiveSync problem but it sure was weird. The USB bus would be totally hosed until a reboot which is the first time I’ve run into this sort of thing in XP. However I reimaged the phone (more on this later) and it doesn’t seem to be happening as much now. My last sync’ing gripe is that either the phone or ActiveSync (or both) can only hold 2 synchronization profiles. So for now I have my home desktop and work as sync profiles. It’d be nice if I could add a sync profile for the laptop. However, it’s possible to use ActiveSync in guest mode (cancel the profile dialogue) which works just fine if you’re just looking for fast internet access.
One thing that I solved right away when I got the phone was the data plan problem. T-Mobile wants to sell you a $30/month plan that includes unlimited data and also unlimited use of the T-Mobile Hot Spots (at Starbucks, etc.). This wouldn’t be a bad deal if I travelled much but my reasoning is that in general, I can find free Wi-Fi and $30 a month is just not justifiable for me. I had the $6/month T-Zones plan with the Nokia and that carried over. There are instructions in various forums for how to set up the connections to use the T-Zones plan for websurfing. I have occasionally (and seemingly randomly) been able to do non-http stuff over this connection. I’ve been able to SSH for example when connected to the GPRS service, but not always. I haven’t determined what the condition is that allows that.
The documetation that comes with the phone is pretty craptastic. The Nokia came with thicker book than the SDA, and obviously the SDA is significantly more complicated. The book is designed just to walk you through installing the SIM, battery, and installing/configuring/testing ActiveSync. That’s it! I don’t think it even had information about how to make a phone call. Definately not what the icons on the screen mean, or where to install the mini-SD card (I was pretty sure where it went but it didn’t look like mini-SD and I wanted to make sure I knew where it went before ordering a memory card). Or how to configure auto keylock. It turns out to do this, you set up a password and tell the phone to lock it with the password after a specified amount of time. The first thing I did was set the password to ‘*’ out of habit. It lets you do that, but then you can’t unlock it (sometimes)! And it prompts for the password at boot. So don’t set your password to ‘*’ if you have one of these. Instead I set the password to ‘0′. This worked reliably (more on this later).
One thing that I’m not still entirely clear on is the terminology with this thing. It’s a Windows Mobile 5 Smartphone. Sometimes things for PocketPC will run on it. Sometimes they will not. For me it’s basically a crapshoot to gauge whether a particular piece of software will work. Unless it says smartphone, in which case it probably works. I’ve had some compatibility problems too. PocketPutty let me down. It just doesn’t render right at all. Then I found the very excellent MidpSSH. This thing is absolutely wonderful, and probably better than PocketPutty near as I can tell. The Opera for Smartphone also doesn’t work right. Same kind of rendering issues that I have with PocketPutty. I downloaded OperaMini which I’ve written about previously and is really great, but for now I generally use IE, which is probably fine since I mostly visit Google sites (reader, local, etc.)
That brings me to the most frustrating problem I had (not necessarily in terms of impact). Google has the amazingly useful Google Maps Mobile. We tested it on a friends HTC Wizard and it was really great. The download site says it doesn’t work with T-Mobile. Which was a bummer and very confusing. I have a few Java apps that connect to the network (MidpSSH, OperaMini, GMail (more on this later)) and they connect to the network fine. The Google Maps app loads and is supposed to prompt for network access when it tries to load the ToS. However it doesn’t prompt and it doesn’t get past that point! I don’t really understand how this could be a T-Mobile problem unless they have modified the Java engine or Google Maps relies on some feature missing in the T-Mobile Java stuff. But both of those seem unlikely.
We decided to try something. We would install a Cingular ROM on the phone and see what happened. Tune in for the exciting conclusion next time!
On our flights to Maui I was doing the usual in-flight magazine reading, and since the flights were sufficiently long, I got through the magazine not long after we started the second (longer) leg. This is usually the point at which I start doing the crossword, which I attempted but crosswords aren’t my forte; I don’t have enough practice with them to get their hints (tip: if the clue ends with a question mark, it’s probably remarkably obtuse). So I figured I’d try this whole sudoku thing I keep hearing about.
There were three puzzles, effectively: easy, medium, difficult. Easy had already been attempted, so I figured I’d start with medium. I really butchered it pretty badly before I got the hang of how they get solved and that’s around the time I regretted only bringing a pen. So armed with newfound knowledge I spent a good part of the rest of the flight making my first informed attempt with the difficult puzzle, and I had it maybe half way filled.
I realized as I was doing the puzzle that the committed mistakes weren’t logic errors but accounting mistakes. I’d overlooked that this cell could or couldn’t have this number, and that the vast majority of the puzzle solving was record keeping the number sets as opposed to logical noodling. I made a mental note that I’d write a program to help with the tedious bit.
On the flight back I happened to get the American Airlines spanish-language magazine (no puzzle sections, unfortunately) which entertained me for a while but soon my attentions turned to sudoku. Leigha was asleep and I was stuck in the middle so I got my contraband laptop out of where I had cleverly smuggled it in the seat-back pocket and began.
My first thought was to do it in MS Excel, I thought I remembered Excel having union/intersection functions, but apparently there weren’t any, which left me in a pickle. My next choice would have been to hack something together in perl but I didn’t have an environment. So I resolved to cram it into Excel as best I could. Effectively I ended up translating all of the simple set logic into hundreds of cells. I ended up with an input sudoku grid (fill in the cells here) and an output grid (these are the numbers this cell could have). When a cell can only have 1 number, it turns red. When you fill that red number into the input grid, it turns blue and recomputes (no VisualBasic was used/harmed/cursed in the making of this sheet).
Now the sheet doesn’t do any real logic for you - just tracks the sets and which numbers are legal in which cells, this doesn’t autosolve for you because the clever puzzle makers expect you can do set math without error (which apparently, I can’t). Then you get to the logic portion of the puzzle and that’s where the real fun lives. Now the sheet could do some of the easier logic, but I’ve lost interest in impleneting the one I thought would be easiest; i.e., if this cell is the only one that can hold this number, the number must go here. I think I’ll save that for my next flight.
As a side note: I’ve always had the impression that crossword puzzles would be trivial to write (computationally). All you need is an obscure wordset and a grid and the computer should be able to figure it out. Then all you do is write clues to the requisite level of obscurity. Sudoku on the other hand seems like a trickier puzzle to write. I imagine one would start with a full grid (computer can help here), and then start removing numbers and create the mental leaps the player must make. The downside of sudoku (and, incidentally, the reason I think it will not last long) is that there’s likely to be a limited set of logic patterns to use, and once the player knows those (and has a handy record keeping tool!) it might get old. Of course there might not be any applicable logic and the player would have to resort to trial and error.
I’ve put the Sudoku Solver up for download. It is released under GPL. Additionally, no macros were used so if you get prompted for macro priveldges decline.
Recently I was shopping for a two-line phone for the office, and let me tell you two line phones used to be a lot easier to acquire. The pickin’s are pretty slim. I wanted a cordless phone, with speakerphone on the base, but no answering machine. No such luck. I ended up buying a Motorola MD7081 from Amazon (apparently the price went up, I paid $103 for it). It’s expandable - although I haven’t bought additional handsets - and it has some really great features. The handset has it’s own speakerphone and I discovered that the answering machine worked out in my favor, which brings me to the subject of this post.
Apparently since I last shopped for a phone there’s been an interesting technology developed. Since many people have voicemail instead of answering machines the phone will detect the stutter tones when you first get a dialtone and light up a message waiting light. I’m not sure how frequently it checks, but it’s a pretty neat feature. I just migrated Leigha’s mom to Vonage and her single major complaint was that she didn’t know if she had a message waiting unless she picked up the phone to listen for the stutter. Someone already solved her problem! Of course, the cordless phone we bought her for Christmas last year doesn’t have this feature, but the Motorola does.
Personally, Vonage sends me email when I have voicemail (and we almost never miss calls) so this isn’t something from which I get a great deal of use, but I thought it was an interesting piece of technology - and it doesn’t work perfectly. One time after deleting voicemail it took a while (I stopped paying attention after about 10 minutes) for the message waiting light to turn off, whereas usually it did it within a minute.
I mentioned in a previous post buying an additional drive for my NAS, so I thought I’d talk about it. Just before Anna was born I realized that I was in need of serious storage, especially with the amount of video I was planning on capturing. So I started doing research on network-attached storage. I’d been looking into it for a while. I had found some VERY sexy hardware like the Jetstor 416 series (16 SATA drives in 3U). But that was just cost prohibitive. I knew more or less what I wanted: Volume expansion, low power consumption, hot swapping, and preferrably Linux based. I could have built my own server, but I just didn’t want another 300 or 450 watt power supply sitting idle, and I wasn’t convinced I could do it for cheaper than an off-the-shelf product.
I ended up ordering a ReadyNAS NV chassis with 2x 500gb drives from ExcaliberPC (random company found via Froogle). Infrant has what they call X-RAID and it morphs the RAID type as you add drives, so 1 drive is just 1 drive, 2 drives acts like RAID1, 3 drives acts like RAID5. I paid a hefty amount for it - $1400 - but 500gb sata drives were pricier back then. I migrated all my critical data off of the servers, and started doing scheduled backups of everything else on the network onto the NAS and keeping about a months worth of backups at any given time. Just before we went on honeymoon the array was starting to get full so I ordered a new 500gb drive from newegg, popped it in and a few hours later the volume had grown to 1TB.
Having that much data in a proprietary format would make me very nervous, but according to the Infrant forums the format is not proprietary and recoverable with a standard Linux install (the ReadyNAS runs Linux). In addition the dashboard is excellent. It shows: internal temperature, drive temperatures, fan speed, and drive health status, so at least I *feel* like I’d know if something was going wrong. The thing I most worry about now is insidious data corruption.
Some other features I like:
- Provides rsync server for easier backup of Linux servers
- Gigabit ethernet with jumbo frame support
- Snazzy good looks
- It will use drives up to the lowest common denominator, but if you replace the smallest drive, it will auto-expand.
- Auto-shutdown on overheat
- Helpfully emails when: available capacity drops below certain milestones, new firmware released, problems occur.
Last weekend I uploaded the pictures from Maui. I’m pretty happy with the way they turned out for the most part. On Tuesday I realized that pictures were coming out with some dirt in the upper left corner. I thought it was dirt on the lens and that it happened on Tuesday morning but since I hadn’t taken any lens cleaning equipment I lived with it begrudgingly. When I got back I cleaned the lens only to realize it wasn’t on the lens, it was on the sensor. And when I started going through the pictures I realized it’d been there sinse Sunday! The upside is that it’s easy to edit out, it’s usually only obvious when it’s up against the sky. The downside is I have no interest or intention of so doing.
I don’t think I’ve ever had to deal with this many pictures in such a brief period of time. In less than a week I had to deal with: 1200 pictures from our pre-wedding picture session, 2200 pictures from the wedding, and another 1600 pictures from our honeymoon. And all at least 6 megapixel (I think it exceeded 10 gigabytes). It made me glad I ordered a new drive for the NAS before we left (we were nearly out of space and we still hadn’t transferred all the wedding video which will probably be another 20 gigabytes or so, but I digress).
Photoshop Album (PSA) was not very happy with me and it was getting long in the tooth, especially in terms of software age. I downloaded the trial of Photoshop Elements (PSE) from the Adobe site and I have to say I was pretty impressed. The organizer in PSE has some improvements I’ve been longing for, like excluding tags from a search query. It also added star ratings (in PSA it was either a favorite or not, PSE has 1-5 star system), and the integrated editor has almost all of the features of full photoshop and more; it has a feature to auto-straighten images, which comes in handy with my congenital inability to take horizontal images (Pablo’s CrookedPix[tm]).
Tagging the honeymoon pictures was pretty staright forward, probably took me an hour or two. There was a very limited set of people in the pictures, so it was fast going. The wedding pictures are another matter entirely. It took me two or three nights to get through the important pictures, and I still have 550 pictures of people dancing that I need to tag.
I ended up buying the full version of PSE, since Lightroom isn’t quite yet ready (in truth, I haven’t had a chance to play with Beta 4 very much, but it still doesn’t respond swiftly enough for me. But now I’ll have to figure out how to get the tags from PSE into Lightroom when Lightroom is ready. I saw a message on the Lightroom forums that PSE can export the tags into the EXIF data (thank you Adobe!) and Lightroom is smart enough to read the tags in, so I might be saved!
Photoshop Elements feature I like:
- Nice panorama merging (see gallery soon)
- Export tags to EXIF
- Exclude a tag from search results
- Multi-star rating system (wonder if thise exports Lightroom as well)
- Edit versioning!
It’s pretty interesting but I’m this close to not needing a web browser (or bookmarks I guess). As I wrote previously, I’ve been happily using Google Reader for a while, but I still had to tediously visit certain websites that didn’t seem to have RSS feeds. No more! There’s a guy publishing a National Geographic Photo of the Day feed, and I also found Tapestry Comics, a directory of RSS feed for a bunch of comics including all of the ones I read. So since ditherati.net seems to have gone the way of the dodo (I miss you ditherati!), that takes care of all but 1 of the websites I visit on a daily basis.