Sun 31 Aug 2003
Details and download of
my the BlogShares Client Application.
Update 2: Looks like the site is back, but I don’t feel like maintaining the application anymore. The API has been disabled for the time being, but if/when it returns I have no interest in continuing development. Even if the API doesn’t come back, it wouldn’t be too hard to change the underlying system calls to use screen scraping instead. I’ve posted the latest version of the source code, so feel free to take a whack at it yourself. This release contains some previously unreleased features, including rudimentary net worth charting (using ChartFXLite, which I have included in the source package). Please note that this is an unsupported release; heck, they’re all unsupported as of now. That means don’t send me emails about it, because you’ll either get an unhelpful reply, or none at all.
- Windows 2000/XP only.
- .NET Framework needs to be installed on your machine. I know it works with 1.0, and I would assume it works with 1.1, as well. If you don’t have it, get it through WindowsUpdate.
- A BlogShares account. Duh.
- You should probably be a premium member. You will probably hit your trade limit pretty quickly otherwise. I’m considering making the app only work with premium members, as you can get around the 2 searches a day restriction with the app. Pony up, you cheap bastards!
Alright, so what does this thing do?
- Log in and see your portfolio. Sort by all columns (pe/price/etc).
- Search and buy ideas!
- Perform custom buy/sell actions on selected items in your portfolio. Buy maximum available shares, buy exactly 5 shares, sell 10% of held shares, sell max, etc.)
- Perform the same buy/sells on ideas.
- Fancy uber-update function that goes through your entire portfolio, buys available shares in any blogs with shares available, and sells all shares in blogs where there are no available shares and it’s been 6 hours.
- Search function. All standard criteria, and then sort results, and perform custom buy actions on selected results (same as portfolio buy).
Ok, right now it sucks. What else are you planning on adding/fixing?
- Ability to save your searches.
- Display in the app of current portfolio info (total net worth, etc.).
- Some sort of Systray icon, with fun little popup info, like your current worth, etc.
Sometimes you’ll get errors when you use the “select all” checkbox to select items in the portfolio or search results. I know. It seems to happen if you select all, uncheck a few, and then check select all again. Just hold down the “Y” key until it all goes away. (Thanks, JW) I’ll be adding support for Ideas. To what degree is yet to be determined.
- -I need to add multi-threading into the app. Right now when you perform a long operation (like downloading your 1000-blog portfolio from the server), the interface will freeze. I’m working on it.-
I think right now it only finds blogs in your main folder.
- -Right now it calculates the time based on Eastern Standard Time. Tough. When a GetTime() function is added to the API, this will go away. Or when I add some sort of user-configured offset setting, whichever lets me be lazier. If you want to change it now, feel free to tinker with the source code.-
I’ll be adding custom filtering to both portfolio and search results grids, i.e. show me all items in my portfolio with a PE between 40 and 60. Getting the “Last Transaction” column to display the full date/time.
Enough warnings already! Gimme!
No, not quite yet. Time for some disclaimers:
- This is free. I don’t give a shit what you do with it, unless you try and sell it for actual money or sex. That money and/or sex should go to me. Otherwise, take the program and go nuts.
- I make no claims about the code, other than there’s not some nefarious worm or virus in the executable. I’m not responsible for anything this code does to your machine, including causing your computer to burst into flames and spew molten ceramic all over your bedroom. No, I wouldn’t trust me, either. Take the source code and compile it yourself, then. Now includes GPL Minty Freshness!
Alright, on to the fun.
Download the executable
Just unzip it into any folder and run. Simple as that.
Download the source code (for you fancy hax0r types)
This includes the visual studio project file, so just open it up and compile. Don’t ask how to compile with the command-line compiler (csc.exe), ‘cause I don’t know.
I wanna tell you just how much this sucks.
- If you have constructive criticism or ideas for features, the best thing to do would be to add a comment to the bottom of this post.
- All messages telling me how I’m ruining BlogShares by letting people buy faster than they should be allowed will be gleefully ignored/deleted.
- Added support for ideas! Now you can search on ideas, select all and purchase with just a few clicks. Also full handling of ideas within your portfolio.
- Fixed annoying “select all” bug.
- Added filtering by folders, so you don’t accidentally sell off stuff in a subfolder.
- Start of storing application data. Right now all it does is save your UserId after a sucessful login and populate the box for you next time.
- Added threading! Now the interface won’t hang, and you should be able to overlap actions (i.e. perform a search while you’re selling from your portfolio), although that might do weird things to the progress bar.
- Removed need for setting timezone. Found DateTime.UtcNow function. (slaps self on forehead) I love .Nizzle!
- Overhead reduced by using GZip (using #ZipLib) compression on responses to lower the amount of bytes transferred. Data is also being cached more on the client side to cut back on trips to the server.
- Client now identifies itself with a custom UserAgent.
- Fixed the display of datatypes on the Portfolio grid. Still need to do the same for the search results.
- Source code is much nicer now. Grouped most everything by logical functions, and started to split out some common functions into classes.
- Added an “About” dialog to show copyrights.
- Added GPL license.
- Cleaned up soucecode slightly. Added comments to headings in most functions.
- Added a textbox to add your hours offset from UTC.
- Initial release.