Here are some of my projects that someone might find useful.

ARRL Centennial QSO Party Schedule Application

RDXA W1AW/2 Schedule Web Application is designed for our club RDXA for its W1AW/2 New York operating on May, 2014. Since it had been launched, I've got many emails from other clubs, indicating their interests in using my application. So I modified the application to fit the needs of all the other clubs/states.

There are more than 20 clubs/states using this web application at this moment! And now, you can download source code from GitHub!

uTorrent Mover

I use uTorrent sometimes, when uTorrent for Mac came out, it had very limited features. For example: you can't move downloaded files! But I'm a organized man, I move files around to keep them organized. So I wrote a little Mac OS X application. Instead of using Objective-C I chose to use PyObjC and Python (I don't want to learn Objective-C at that time, I learned it later though.)It let me move files where ever I want and keep uTorrent happy instead of complain about can't find files.

Later uTorrent added this feature to it's Mac version, so this project is no longer needed. But if you wonder how uTorrent tracks files, contact me, I can send you a copy of the source code.

History Data Downloader (Python and MySQL version)

I need a reliable data source for daily history data of all stocks in US, I choose Yahoo Finance. Thanks to Corey Goldberg, who wrote a python library that can download all sorts of data from Yahoo Finance, it made my script easier to write, I just need to organize the data, and put them into MySQL database. I found and fixed a small bug in his library, it always lost the last digit of the lase column

Although I don't use this script anymore, if it sounds useful to you, contact me, I can send you a copy of the source code.

History Data Downloader (C++ no database version)

Using MySQL to store thousands of stocks' daily data is just too slow, so I wrote a program to download stocks' daily data from Yahoo Finance and save them in csv files(one file for each stock). And I want it to be as fast as possible, so I use C++ this time, it's about 30 times faster than the older Python and MySQL version.

It can also download splits and dividends data for stocks, it can also adjust history data using these splits and dividends data, so there will not be a big gap in prices when a stock makes a split, it's very useful if you are a trend believer like me! Downloading splits and dividends data is a little tricky, there is a choice to only download dividends data in Yahoo Finance, if the stock has both dividends and splits or only dividends, it works fine. But if the stock has only splits data, it will give you nothing! It's a bug in my opinion. So I have to download the HTML version of monthly data, parse them to extract splits and dividends data.

I use weekly data a lot, the weekly data downloaded from Yahoo is not adjusted (so is daily data), and you can't just adjust a weekly data using splits and dividends data, because a stock can make splits in the middle of a week. So I choose to generate weekly data base from adjusted daily data.

If it sounds useful to you, contact me, I can send you a copy of the source code.

Rsync Backup scripts

I used to use Apple's Time Machine, but one time I needed to reinstall Mac OS X, and trusted Time Machine had backed up all my data (because it never gave me any error message), I formated my disk, install Mac OS X and restore data from Time Machine backup, and found out it lost two months of my son's photos, he was just several months old, two months was like half of his whole life!!!

It made me decide to replace Time Machine with reliable rsync, it backups up my home folder to a home server, except some temp folder that I don't care. It automatically runs twice a day. It keeps a recent backup, and all the deleted and updated files in some date labeled folders, so every version of my files can be found on the home server.

I also wrote a script runs on the home server, it deletes old backups periodically, only leave 10 recent backups plus one backup for each past month.

If it sounds useful to you, contact me, I can send you a copy of the source code.

Copyright © James Ying N2IW 2014