A Few Short Topics

The presentations actually started a little late due to a number of engaging conversations going around the table.

Bit Manipulation in Perl

Chris started us off with an exploration of the bit manipulation operators available in Perl. In his earlier presentation (Introduction to ASN.1 BER Encoding), Chris had learned a little about bit manipulation and this talk was an overview of what he has learned.

He started by showing how to extract bits ifrom a number as strings, which is pretty straight-forward for Perl. He then repeated the same manipulations using bitwise masking. He explored shifting, oring, and xoring. He also showed how to swap the bytes in an integer using bit maniplate. As a finale, Chris also showed an implementation of a Quick inverse square root, using some of these operations.

In addition to being an interesting topic that many Perl programmers never tackle, this talk spawned a pretty lively discussion on the representation of integers and floating point numbers.

The Perl code Chris used for the demonstration is available on github.

Financial Charts with D3.js and SVG

Julian Brown started off by displaying a chart that displayed information about the Australian dollar versus the US dollar. Since this data is too complex to be a simple line graph, he used a candlestick chart for the open/high/low/close data and overlaid a line chart showing the simple moving average of the data and the exponential moving average as well.

Julian showed a JSON data structure that was used to supply this data to the page. He used jQuery and D3 to extract the data and use it to build an SVG repesentation of the chart in the page. He walked through the code giving us an idea of what D3 needs to build the output. In the process, he also touched on some of the features of SVG that made the charting easier.

This talk also generated quite a bit of discussion that included both the technology and a bit about tracking financial data.

The code for Julian's presentation is available

We had 12 people attending this month. As always, we'd like to thank HostGator, LLC for providing the meeting space and food for the group.