for( auto& post : post_stream ) { …

  • jQuery, Websockets, and Bitcoin Time and Sales

    If you haven’t seen Clark Moody’s Mt.Gox bitcoin market data website yet, you should.  It’s a really beautiful presentation of realtime Mt.Gox BitCoin orderbook depth, the trade tape, and charts at various time frames.

    I was so impressed by Clark’s presentation of market information that I wanted to dig into how modern web sites present information from real-time data sources.  I don’t typically work on web applications, so I had to figure out what was involved.  There were three pieces of key knowledge:  1) Basic javascript, 2) knowing how to use a websocket API, and 3) using CSS and jquery to figure out how to manipulate documents in a web browser.  (I had very minimal knowledge of all three.  Fortunately, Javascript is easy to get a handle on for someone with previous programming experience.)

    I first went to look at the Mt.Gox API web page, where I found some simple explanations on how to connect to their streaming market data.  After using a dozen console.log() statements to see what I was looking at, I finally tweaked my Javascript code to manipulate table rows in a tbody styled by CSS.  I ended up with this time and sales viewer.  (Please note that when loading the viewer, it will take a few seconds to establish a connection to the exchange.  Once the connection occurs, you should be able to see current trades happening in realtime.  Note that I’ve only tried the viewer in Chrome and Firefox.  I have no idea what browsers it works and doesn’t work in, as the project was just an experiment.)

    The mini-project was a great deal of fun — websockets are very interesting.  I was impressed by how much could be accomplished with so little work.

  • The Most Exciting Event Since the Flash Crash

    … Well, most exciting to me, anyway.  Who ever thought crypto-currency market dynamics would dominate office conversation on an average April day?

    I don’t really own much in the way of BitCoins and only saw them as a fascinating academic topic, but I couldn’t take my eyes off of the BitCoin charting sites since the market was crashing today.

     

    Image of BitCoin Market Crash
    Market Crash

    The net is full of rumors as to the cause of the crash.  Some are talking gloom and doom for crypto-currencies, but my guess is that these events are just part of the growing pains of a new and developing market.

    These are certainly exciting times.

     

  • Cryptocoin Mining Information

    While looking at merged mining[1] efforts in crypto-currencies, I stumbled across an interesting site: http://dustcoin.com/mining

    The site is interesting, not only because it talks about merged mining, but because it lays out some of the variations between all of the crypto-currencies in relation to Bitcoin.

    [1] Regarding merged mining, I found a good explanation here, at http://dot-bit.org/Merged_Mining:

    “Merged mining works like this, you have two totally separate block chains, they are not related in any way nor does either contain any data from the other. When you mine you generate hashes that may be the solution to the current block, this is very very improbable per hash, its like a lottery where everyone generates tickets until someone finds the winning one. Normally you make tickets and check them against the Bitcoin block chain to see if they are the solution. With merged mining you create a ticket and check it against both the Bitcoin block chain and the Namecoin block chain, Bitcoin and Namecoin know nothing about each other, they are two totally different lotteries with different winning numbers, you just sent a copy of your ticket to both. Since you are sending the same ticket to two lotteries you increase your chances of winning one or the other. No Bitcoin data goes into Namecoin no Namecoin data into Bitcoin they remain totally separate, you simply run both the Namecoin and Bitcoin clients on the same machine and submit hashes to both networks, if your hash is the solution to the Namecoin block you get Namecoins if you hash is the solution to the Bitcoin block you get Bitcoins, its exactly like if you where mining on just one network, except you submit the same work twice.” -Credit: ttk2

     

  • Qt 5.1 Supports Android and iOS

    I didn’t plan on writing marketing material for Digia here.  However, as an existing Qt user, I was excited to see this article.  The ability to target Android and iOS will make it easier to take pieces of functionality I am dependent on currently and take them to new platforms.  I’ve often wanted to collapse pieces of well-tested, already written code and just make them function in the mobile space without too much effort.  I like seeing that my original investment in Qt will continue to pay off and extend my reach.

    Qt is, in some senses, not as elegant as some of the newer frameworks.  (Developing GUIs, for example, in Microsoft’s .NET with C# is almost relaxing.)  However, the appeal with Qt has always been the cross platform functionality.  It’s simply impractical for small organizations to maintain several different builds and variations for so many different platforms.  Qt enables that flexibility, at least once you get past the quirkiness of doing things the Qt way.

    Adding iOS and Android will just make the development experience that much better.

     

  • Jeffrey Paul: “Financing the Revolution”

    A friend passed me an URL today with this talk by Jeffrey Paul about the need for Bitcoin.  His talk is very good and he touches on the need for bitcoins, how they work, the evolution of the bitcoin market, and the future of bitcoins.  The video was uploaded about a year ago, but much of the information is still useful, clearly presented, and is enjoyable to follow. The video is a must watch if you are trying to make sense of the excitement around Bitcoin currently:

    Financing The Revolution Lecture @ Chaos Communication Camp from Nuri Hodges on Vimeo.

     

  • auto *presence = new DigitalPresence();

    I’d been submitting patches in anonymity for a while to various open source projects without commenting too much.  I was content to be a passive participant, but over time I’ve come to realize that technology and research projects are fundamentally social activities.  Not being part of the give-and-take in the community means missing out on a lot of meaningful interactions (including the occasionally necessary heated debates and flames) with other intelligent developers.  Moreover, with the presence of services like github which encourage “social coding”, it became harder not to pulled into the mix.

    Technology is great, but love for it tends to be nurtured by the often interesting, diverse, and dedicated people who take part it its creation — these are the people I am ultimately thankful to and whose efforts I am thankful for.  I didn’t want to start writing anything technical before giving any sort of credit to the people who’ve assisted me along the way.

    With that having been said …. First post!

    -Pavan Tumati