|
||||||
|
I updated Hasher today. The plugin still functions the same, but I fixed a bug in the hash generation algorithm (thanks to Vladimir Kozlov for pointing the bug out to me). I also greatly increased modularity which in turn reduced the code size rather significantly. Here is how I calculate the hash of a file (the String parameter algorithm can be any algorithm listed at http://java.sun.com/javase/6/docs/technotes/guides/security/StandardNames.html#MessageDigest):
I’ve updated the SA emoticon packager once again. I’ve added functionality to expand it beyond just Digsby. Currently, it generates packages for both Digsby and Pidgin. The way I’ve designed it, it’d be fairly trivial to add support for Adium or any other chat program. Maybe I’ll do that someday. If you’d like the source code, I’ve put it up on my website for download. You’ll need an archive manager that can open 7-Zip archives to open this file. Download: http://www.fangsoft.net/public/SA-emotes-source.7z Don’t forget that you can visit http://digsbies.org/site/project/saemote to download the most recent SA emoticon package for Digsby. If you find this useful or have a question or comment, please leave me a comment. I edited the KML ZCTA population map that I posted on 2/22/09. For my uses, it’s important that I be able to calculate distances between ZCTAs. To calculate these distances, I use the center of each ZCTA. To avoid complex centroid calculations, and since the Census Bureau’s ZCTA boundary data includes the centers so that this calculation isn’t necessary, I figured I’d include them. I did this by changing the KML geometry from a single LinearRing to a MultiGeometry of LinearRings and Points. Let me know if this is useful to you! Also, if you’re curious, the distance formula for computing the distance (in miles) between two latitude/longitude points (in degrees) is fairly simple. Courtesy, http://www.meridianworlddata.com/Distance-Calculation.asp, here it is: Download: http://www.fangsoft.net/public/populationZCTA.kmz (20.8mb) Here’s what this new file looks like in Google Earth:
My research thus far in grad school has been concentrated around using computer science and GIS tools/techniques to help solve medical problems. For one of the problems I’m working on, I need access to ZCTA boundaries and population counts for each ZCTA. For those of you that don’t know, ZCTA stands for ZIP-code tabulation area; basically, it’s what the Census Bureau uses to split the US population up geographically. ZCTAs typically correspond to ZIP codes, but unfortunately, that’s doesn’t always happen (there is a ZCTA 506HH, for example). Some ZCTAs have populations of 0. However, as far as I can tell, ZCTAs are the best thing we have for geographically representing the US population. Anyway, what I was doing was using the shapefiles publicly available at http://www.census.gov/geo/www/cob/z52000.html to get the ZCTA boundary information. I also used the 2000 census population data available from http://factfinder.census.gov/servlet/DownloadDatasetServlet?_lang=en. This is all fine and dandy, but reading shapefiles can be kind of a pain. GeoTools works quite well, but it’s Java-only. I’m in the process of converting a Java-based application into a PHP web-based application for some of my research. PHP’s shapefile readers, at least from what I’ve heard, can be kind of hit or miss. Also, having to get this data from multiple sources starts to make code look kinda nasty. Ideally, since population information goes with ZCTAs, there should be a 1-stop shop that gives me both the boundary information and population counts for each ZCTA in the US. And if it’s not too much to ask for, I’d like a human-readable text format. So what do I do? A KML map seemed like the most obvious answer. It’s XML, so it’s easily readable, and it’s highly extensible and powerful. And since Google’s name is behind it, it’s very widely supported. What’s not to like? Surely, a KML file like this exists, right? Well, after quite a bit of Googling, I came to the conclusion that one didn’t exist. So, I decided to make my own. I wrote a Java program to read in the population information and ASCII coordinates of each ZCTA listed at the bottom of the Census Bureau’s page I linked to in the above paragraph and spit out a KML map. Because this is so useful to me (and really, anyone doing anything that requires ZCTA-level population counts), I figured I’d upload it here and let anyone that wants it grab it. This took me a decent chunk of time to get done, so maybe I can save someone else some time by sharing this. If you use this, please let me know by leaving a comment. Also, if you’re interested in the Java code I used to create the KML file, feel free to ask. Download: http://www.fangsoft.net/public/populationZCTA.kmz (size: 20.1mb) Note: This file has a KMZ extension (not a KML extension). A KMZ file is simply a zipped-up KML file. If you wish to access the underlying KML markup, simply rename the file to populationZCTA.zip, and unzip it like you would a normal ZIP file. Google Earth can read the KMZ file without unzipping. Here’s what it looks like in Google Earth:
I decided to alter my Python script that automates the process of the creation of the Digsby SA emoticons package. I’m changing it so that it will automate the creation of the emoticon pack for other IM clients (namely, Adium, Miranda IM, and Pidgin). tweekmonster of SA seems to have disappeared off the face of the Earth, and his SA emoticons page is doing wonky things (why does it contain 523 emoticons when SA’s smilies page has only 376?). I figured I’d rewrite it correctly and put it up on my website. The changes to my Python script are almost complete, and then I just need to add the web frontend. This will hopefully be done this weekend. Update: In my previous post, I described the SA emoticon pack package manager that I wrote in Python. I’ve had several interested people ask me for it, so I figured I’d go ahead and post the source code. If you want to get the source, just download the following file. Download: http://www.fangsoft.net/public/SA-emotes-source.7z If you notice anything I’ve done wrong (like I said, I’m still a Python newbie), please tell me. Or, if you know of a way to do something more efficiently than what I’ve done, please tell me. Let me know what you think, either way. I wrote my own packaging solution in Python for the Digsby SA emoticon package that I’ve been maintaining. I was previously downloading the Gaim SA emote package from the SA emoticon pack site and modifying it manually to fit Digsby, but it didn’t seem right. For some reason, the package has way more emoticons than SA actually has (SA has 373, but the SA emoticon site’s package has 520). I figured I’d just write my own package manager. My solution checks to see if there is an update, and if there is, it’ll automatically download all the emoticons, create the emoticons.txt file, and then package the whole thing up into a zip file with a file name like SA-emotes-[date].zip. The whole process is completely automated. All I have to do is run the script and then upload the file to the digsbies site. If you want the Python source code, feel free to ask, and I’ll post it. It’s my first real Python program, and it’d probably be useful to a fellow Python newbie since it demonstrates many of the language’s features (regex, lists, dictionaries, downloading from the web, crypto, compression, file I/O, etc). In other news related to NextHub, Andy has been working on a NextHub client (he’s calling it NextClient). It’s still pretty rough, but it’s in SVN now, so if you’re curious, you should definitely check it out (pun intended)! I’ve actually had some time the last few days to work on NextHub. I’m fixing some bugs, making semantic changes, performance improvements, and I’ll be adding some new UI features and making sure that the features we currently have in place are working properly. Today, I decided to tackle a base32 problem we were having. Per the official base32 RFC specs, the ‘=’ character should be used to pad the encoded output. For some reason, the code that we were using wasn’t doing this. I searched around, and discovered the University of California’s Brunet project. Their project, an open source P2P library written in C#, includes a Base32.cs C# implementation of the base32 encoding and decoding algorithms. This implementation takes into account padding. I decided to take that source code, change some of it up, and then make a DLL out of it. Since there’s no other good .NET base32 encoding/decoding library, I figured I’d put it up here for anyone to download. Download: http://www.fangsoft.net/public/Base32.7z You’ll need an archive manager that can open 7-Zip archives to open this file. Included is the Base32.dll file and source code. All credit should be given to the Brunet team at UC. I merely cleaned it up and created a DLL out of it. If you notice any problems or bugs, please let me know. My Digsby emoticon pack has been gaining popularity, so I figured I’d split it off and add a separate page just for that pack. This is where you’ll get the download link and instructions for using it. I’ll no longer be maintaining the default.7z file on my site. I will now be releasing the updated emoticon pack on the digsbies site. You can find the project link on my Digsby emoticon page. Digsby emoticon page: http://www.fangsoft.net/?page_id=67 I’ve been maintaining the SA emoticon pack for Digsby for the official Something Awful Digsby thread. Here is where you can get the emoticon pack. Alongside the emoticons, I’ve added 2 batch files: 1 for XP and 1 for Vista/Windows 7. These batch files will automatically backup your old emoticons and copy over the new ones for you. Make sure that Digsby is not running when you install these emoticons. These batch files must be run from the same drive letter where Digsby was installed (most likely, C:\). Download: http://digsbies.org/site/project/saemote If you use this emoticon pack, please let me know how you like it. |
||||||
|
Copyright © 2009 FangSoft - All Rights Reserved |
||||||