BlogShares


Looks like Seyed has found a buyer for the domain and source code. I’m sure the next iteration will suck, as Seyed really was the heart and soul of the site. It’ll still be interesting to see what happens, tho.

Update: Looks like Jay Campbell bought it. Hey, good for him. My prediction still is in the “suck” camp.

See for yourself.

Details and download of my the BlogShares Client Application.

Update: Blogshares bit the dust. Over, done, nada, fini. I’ve removed the downloads, since nobody should need them anymore.

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. (more…)

Just in case you ever wanted to use the .NET Zip Library to receive GZip-compressed content from a webserver, as well as sending a custom UserAgent string to identify your app, here’s how you do it:

(more…)

Maybe I should walk away from the game for awhile.

I’ve now hit $1 billion on BlogShares. Woo. A lot of it has to do with tweaking the search I’ve been using for automated buys with the early implementation of my BSClient. I hope to be able to do some more work on it tonight, after climbing.

Got some work done on the client over the weekend, as you can see below:

!/images/bsclient/bsclient1_thumb.png (ScreenShot 1)! !/images/bsclient/bsclient2_thumb.png (ScreenShot 2)!
!/images/bsclient/bsclient3_thumb.png (ScreenShot 3)!

It was very easy to get the basic buy/sell logic implemented (in fact, I did it the same day the API was released), but getting the interface put together is going to take a bit longer, I think. The main reason for this is that WinForms are teh sux0rs. Working with DataGrids in WinForms is nothing like working with them in Web Forms. You can’t access any of the controls in the grid directly; you need to get at the underlying DataTable instead. So, to add a checkbox column, you have to create a new Boolean DataColumn, append it to the end of your XML-based datatable, and then set it as the datasource. Of course, reordering said columns is a tremendous pain in the ass, but that doesn’t really matter anyway, because of the the fact that the datatype doesn’t get set right just from reading the XML, so after I bring it down, I have to create a new DataTable from scratch, set the right column DataTypes, add them to the DataTable in the right order, and then copy data from the XML-produced DataTable to my new one. Once the DataType is set right, there’s automatic sorting on columns, without having to write any code, which is cool. It also supports automatic adding/deleting/editing of rows, but that doesn’t really help me here, since all actions have to go through the API anyway, and can’t just be done through a merged DataTable.

Things that I know I have left to do, based on input from other users and just thinks I know need to be improved:

  • Implement threading.
  • Flexible buy/sell options from either the portfolio interface or a search interface. Buy all available shares, sell 1% of total shares, etc.
  • Add login! Right now my UserID and pwd are hardcoded. Naughty!
  • Figure out how best to store searches for a user. Local XML file?
  • Consider pros/cons of making app only for Premium Members. The app really is for power traders, and I also don’t want to give people the ability to store a whole bunch of searches if they aren’t premium, as non-premium members can only store 2 seaches. People need to pony up the $15.
  • Work on filtering of portfolio. This won’t be hard, technically, but I’m bad at WinForms design, as I haven’t really done it before. Do I put it all on one page? Have a modal dialog that pops up for entering filter criteria?

What started off as a fun and interesting time-waster looks like it might turn into a fun little side programming project now. The fine folks at BlogShares have released an XML-based API. What’s exciting is that this morning trading functionality was added. This means that by passing the appropriate querystring you can execute a buy order without logging into the site.

So, since I’m feeling a little stagnant these days, programming-wise, I’m going to work on building a C# Windows Form application to act as a trading proxy… a “bot”, if you will. The idea is that I already have a few set queries that I use to accumulate money outside of major actions like hostile takeovers. It’s fairly repetitive; run query, buy 1250 shares of all blogs in that query. Wait 20 minutes. Buy another 1250 shares in the same blogs. Lather/rinse/repeat until I’ve purchased all available shares, raising the price a few hundred percent in the process. Wait 6 hours, and dump all shares. The way I figure, I can automate the whole thing. Here’s my rough idea of how this will work:

  1. Pull the results of the query into a DataSet. Initially since I’ll only be using this application myself, I’ll have my queries hardcoded in, but I’ll work on either a) having an interface in the application to be able to dynamically create queries or b) being able to pull stored queries from my BS(BlogShares) account.
  2. Step through dataset and fire off a buy transaction for each record. I’ll want this to be threaded (but nicely, so I don’t pound the BS(BlogShares) server… maybe only 5 threads at a time), so I’m guessing I can borrow some code from this article on creating an RSS news aggregator.
  3. Have another process which looks at stocks in my portfolio for blogs that still have public shares available, and I haven’t bought in the last 20 minutes (the limit for consecutive purchases of the same blog), and buy available shares of those.
  1. A third process which will sell off any stocks that haven’t been bought in the last 6 hours (again, a game limitation) and remove the stocks from my portfolio.

    I’m getting excited about the prospect; I think it will be a cool/interesting thing to do, and I’ll be posting sourcecode/files along the way, if I think that anything is worth sharing with people. ;-)

That’s right… last night I completed my hostile takeover of Slashdot on BlogShares. I really grew bored with the game a few months back, but the introduction of the artifacts has been an interesting twist. So my plan is to hold onto the shares as long as I can, and then run up the value every 24 hours (when my artifacts refresh), sell off and then quickly re-buy shares. Should get me to the $1B mark fairly quickly.

Why’d I sell my index funds? I would probably be sitting on about $400 mil if I hadn’t panicked and dumped them when they announced they wouldn’t be trading funds anymore.

Next Page »