Welcome to Software Codex

July 20th, 2010 / Software Codex

Welcome to Software Codex!!! Here you can find posts focused on software engineering ranging from technology specific topics like .net, WPF to development practices, functional programming, scripting and test driven development techniques with references and examples from financial domain.

Entropic Gravity?

March 27th, 2010 / Avik’s Ruminations

The physics world is abuzz with excitement over Eric Verlinde’s  Entropic Gravity Paper.  It suggests that differences in entropy between parts of the universe generates a force that redistributes matter in a way that maximises entropy. This is the force we call gravity. Many other papers are now coming out with similar ideas, including one that relates gravity to quantum information for the first time.  A brief summary here and a more detailed description of how entropic forces arise here

So is gravity a side effect of information? I think its a very intriguing idea, a new way to look at our fundamental forces. It’ll be interesting to watch as this gets critiqued and verified over the years.

What to expect while Migrating to Spring 3

March 24th, 2010 / Tech - Tech Voice !!!

Recently, I migrated one of my applications to Spring 3. The project was previously using Spring 2.0.8. Spring 2 was released in 2006 so it was high time that we migrated to a later version. That and the fact that there are plenty of reasons to migrate to Spring 3. Although Spring 3 was released in December 2009, the milestone and other pre-releases of Spring 3 have been around and being actively used by the Spring community for more than a year.

AMD’s new 6 monitor graphics hardware

March 10th, 2010

AMD is releasing a new graphics card under the name “Eyefinity” which can power 6 monitors simultaneously. This should be a boon to trading floors everywhere. Jon Peddie of Jon Peddie Research blogs his experience using it.

The first Date sucked. Can a second Date fix it? JSR 310

March 5th, 2010 / Tech - Tech Voice !!!

Well technically, this is the third Date API. But, it forms a much better title!

JSR 310 is the new Date Time API specification. I’m overjoyed by the fact that Java will finally get the long overdue revamp to the infamous java.util.Date and java.util.Calendar classes. It is nice to see that JSR 310 builds on Joda Time API unlike some other APIs that didn’t follow this approach (cough: java.util.logging).

The JSR 310 is in early draft review. And, they are looking for feedback about the API. So, I decided to take a crack at it.

Can iPad find a home on Wall Street?

January 29th, 2010

When the iPad was announced this week my first thought was, “They’ve come out with a giant iPhone!”  (Okay, so technically it’s more akin to a giant iPod Touch, but as an iPhone user, this is where my mind goes.)  I was skeptical about its potential usefulness.  It’s confined to iPhone-like applications; everything has to come from the App Store.  It won’t run a JDK, and isn’t even as useful to me as a netbook.

I was guilty of thinking inside the box.  The old, stale, PC box.

Kevin Kelly @ First HPC/Cloud Computing SIG

January 19th, 2010 / Gotham Canuck

Last week was the first meeting of the HPC/Cloud Computing workshop, hosted by Lab49 and Liquidnet.

Changing from the typical NY Java SIG format, this new workshop was a bit of an experiment. We limited the attendance to foster a more discussion-oriented workshop. I’m sure everyone in attendance would agree it was a great formula and a welcomed change from large seminar-styled approach. I asked Kevin Kelly from Amazon Web Services come to town and give the membership an introduction to Cloud Computing.

Kevin Kelly on Cloud Computing

Introducing the HPC/Cloud Computing SIG

January 7th, 2010 / Gotham Canuck

I’ve been working with the NY Java SIG to create a more intimate SIG, specifically focused on HPC and Cloud Computing. I’ll be organizing meetings every other month, with talks from industry speakers on variety technologies and products entering these markets.

I’m happy to say that the inaugural meeting will be next Tuesday, January 12th, hosted by Lab49 and Liquidnet at Liquidnet World Headquarters in midtown New York. Our first speaker will be Kevin Kelly from Amazon Web Services.

Rather than an Amazon-centric presentation, Kevin will explain various aspects about the cloud and it’s technologies. He’ll cover various deployment scenarios that fit different business use cases. Looking to the future, he’ll explain some of the challenges that cloud computing has in the horizon.

Windows Web Services FAIL

December 24th, 2009 / Kenny Kerr : Technology

In 2007 I published an article about the cool XmlLite API introduced with Windows Vista. Although the XmlLite developers wanted to provide a redistributable for Windows XP, they never managed to get it past the Microsoft lawyers. Eventually Windows XP Service Pack 3 was released including XmlLite but by then many developers had given up on it. I felt that this was a great embarrassment for Microsoft. But that was in the Windows Vista era. Surely things have improved in the Windows 7 timeframe.

Goodbye Windows with C++ and Layered Windows with Direct2D

December 3rd, 2009 / Kenny Kerr : Technology

I’ve been offline for days at a time while traveling through South Africa and just noticed that my latest Windows with C++ column, Layered Windows with Direct2D, is now live on the MSDN Magazine website.

This issue is bittersweet for me as it is both one of my favorite articles to date and also my last for the magazine. Although MSDN Magazine will continue for some time, Microsoft is getting out of the magazine business, and it just no longer makes sense for me to write for the magazine on a regular basis. Of course being the last remaining C++ columnist I’m not sure anyone will notice.  :)

Closures: They’re Baaaack…..

November 22nd, 2009 / Gotham Canuck

Rather than dwell over the European Commission’s anti-trust concerns, (namely the dichotomy of Sun’s open-source MySQL and Oracle’s enterprise database line-up under the same proverbial roof), Sun is forward-looking and busy re-shaping the future of Java. On Thursday, out of the cloudy Belgian sky, Mark Reinhold of Sun announced a tiny update to Java 7′s windy roadmap: the re-instatement Closures. 

Windows Web Services versus ATL SOAP

November 5th, 2009 / Kenny Kerr : Technology

After publishing the WWS article I received some questions about how this compares to ATL’s SOAP stack. I’m certainly not trying to convince anyone to switch over to WWS but it has some benefits that may be useful in some scenarios. I also haven’t used the ATL/ServerXMLHTTP stack much so I’m probably not the best person to do a comparison. From what I can tell however it uses either WinHTTP or WinInet and MSXML. Given that there are some things I can point out

Windows with C++: Windows Web Services

November 4th, 2009 / Kenny Kerr : Technology

My latest Windows with C++ column, Windows Web Services, just went live on the MSDN Magazine website. Here I’m taking a break from Direct2D to highlight the new SOAP stack introduced with Windows 7 for building both clients and servers. It’s completely native, has minimal overhead, and is incredibly fast. From the article:

How do we know it?

October 25th, 2009 / Avik’s Ruminations

It has been one of my long term sources of frustration that developers and their managers vigorously debate various positions on how to create software better without any shred of evidence or measurement. Usually, anecdotes ad opinion masquerades as facts, and blog posts are cited as evidence. It’s as if the scientific method completely bypassed the software industry. So, when I found this presentation titled Bits of Evidence (What we actually know about software development and why be believe its true) by Greg Wilson, I was constantly nodding in agreement.

Contrasting the situation in medical research, where randomized double blind studies are the norm, he writes:

IFL 2009: First Impressions

October 4th, 2009

Last week, my colleague Ken Overton and I attended the IFL 2009 conference in South Orange, New Jersey.  The event was partially funded by Jane St Capital, and consisted of research on the implementation and application of “functional languages.”  The invited talk was by Benjamin Pierce (of TaPL fame), on his joint work (with Nate Foster and others) on the bidirectional programming language Boomerang.  The conference’s full range of subjects was diverse, and in this article I will summarize what I saw.

Collections, CollectionViews, and a WPF Binding Memory Leak

October 1st, 2009 / Pelebyte » technology

A colleague of mine recently came across some code that should work, but doesn’t:

private ListBox SomeListBox;
private ObservableCollection<string> SomeStrings = new ObservableCollection<string>();
public void SomeMethod()
    SomeListBox.ItemsSource = null;
    ThreadPool.QueueUserWorkItem(o => AddToStrings());
private void AddToStrings()
    // this line will actually crash the app!
    Dispatcher.BeginInvoke(new Action(() => SomeListBox.ItemsSource = SomeStrings);

So basically, detaching an ObservableCollection<T> from a view, adding an element on a background thread, and then reattaching it back on the UI thread again. Generally, view-bound objects can only be modified from the UI thread, but shouldn’t detaching the collection first should make that a non-issue?

AWS Eclipse Toolkit @ NYJavaSIG

September 29th, 2009 / Gotham Canuck

At last week’s NY Java SIG, Kevin Kelly from EC2 Cloud Computing gave a demo of the AWS Developer Toolkit for Eclipse. If you missed it, you can see here how easy it is to use:

It makes launching AMI’s, managing security groups, packing, deploying, and even remote debugging a breeze. And having it all from within your eclipse workspace makes managing your Tomcat container that much easier.

Here’s a step-by-step tutorial if you want to get your hands dirty.

Attached Behaviors are the New OLE (a.k.a. Long Live Components)

September 27th, 2009 / Pelebyte

Pruning through the old Google Reader starred items list was supposed to only take me an hour or so Saturday morning. But sandwiched between some other diversions, it ended up taking me the whole weekend. One of the last things I read was
Mac OS X 10.6 Snow Leopard: the Ars Technica review
(that was an hour right there all by itself). Flipped through some of the old Mac OS X articles, particularly those right at the turn of the Classic Mac OS transition almost ten years ago. You remember Classic Mac OS, right? With Cyberdog and OpenDoc? Windows users will remember the ideas more as OLE and its foundation COM, and a generation of applications where the screen jumped to and fro whenever you clicked somewhere you weren’t supposed to as menubars popped up and disappeared. And of course, there was J2EE .

Links O’Clock; 2009.09.25

September 27th, 2009 / Pelebyte » technology

Normally, throughout the week, I star a whole bunch of things in Google Reader that I want to go back to when I’m not busy jostling for space on the New York subways or when I’m back at my comfortable desk at home with my giant monitors. Unfortunately for me, I star articles about 500% faster than I can read them, so every once in a while, I have to give myself a weekend dedicated to purging that star list so that I don’t forget about things that I really really did want to read (Mr. Siracusa doesn’t write as often as most people, but he makes up for it).

More 2D/3D Tricks: ItemsControl3D

September 22nd, 2009 / Pelebyte » technology

Building on some of the cute tricks of using a Viewport3D as a two-dimensional surface, we can actually devise a fully-bindable System.Windows.Controls.ItemsControl that renders to a Viewport3D instead of a Panel. It turns out to all be quite remarkably simple:

  1. Define a class, ItemsControl3D, that will be our magic Viewport3D-holding ItemsControl.
  2. Build a ControlTemplate that contains a Viewport3D with a named ModelVisual3D whose children will be modified as the ItemsControl sees fit.
  3. Override GetContainerForItemOverride() to provide instances of ItemsControl3DItem as the “container” for the individual items in the ItemsControl:
    1. Make the “container” item a zero-size, completely non-visible FrameworkElement.