Skip to content
View srmadscience's full-sized avatar

Block or report srmadscience

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
srmadscience/README.md

About

I have many years of experience working with data and was working with ‘Big Data’ before the term came into popular use. I also have extensive experience with high volume/low latency OLTP systems. I have repeatedly demonstrated the ability to create productized data processing applications that customers are happy to buy. I am currently in charge of promoting new aspects of Volt’s technology, in a role which spans Sales, Marketing and Engineering. I have four patents in the areas of distributed databases and database backups.

Areas of Expertise

  • Transaction processing: The design and deployment of sub-second OLTP systems that handle thousands of updates per second while providing low latencies and high availability.
  • Big Data: Extensive experience designing and working with systems that handle billions of records and Terabytes of data each and every day.
  • Distributed databases, specifically error correcting conflict resolution algorithms and bandwidth efficient Active-Active systems.
  • World class high performance database design and performance tuning knowledge.
  • Commercial application development in Java.

Personal Attributes

  • Pragmatic and creative problem solver with a proven track record of resolving situations involving multiple technologies and groups of people with differing objectives.
  • Can understand every aspect of a complicated problem space simultaneously.
  • Expertise in leading blue sky projects that involve leading edge technology while maintaining a business perspective.
  • Experience leading global specialist teams effectively and efficiently.

Links

Interesting repositories

Over time I've accumulated around 100 repos. The more interesting public ones are below.

Volt Active Data

At Volt Active Data I am the authority on how to use the product in the real world. This involves writing large quantities of Volt centric code.

Sandboxes and benchmark code

This is publicly available code that's used for demos and frequently benchmarks.

XDCR Examples

"XDCR" stands for "Cross Data Center Replication", also known as "Active-Active"

General Examples

Volt Utilities

Examples of LRU Cache Code

Volt is an in memory DB. Usually not a problem, but if it is I implemented a prototype LRU cache framework.

Examples of generated code to call TMForum APIs

TMForum is a telco industry body that defines standard APIs for the many different API calls used in the mobile phone network. I have written code that takes the public API definitions and generates stub Volt code to support them. This code is in a private repo, but examples of generated code for TMF654 - Prepay Balance Management are in the public repos below.

YCSB

Other Code

Telco Charging Demo and Benchmark

As a side project I have implemented the charging benchmark for REDIS, SingleStore and MongoDB. Note that none of these have been tested at scale, as each one would run up an AWS bill to properly test.

JDBCWizard

When I moved back to Ireland from America I wrote and sold a product called "OrindaBuild", subsequently renamed "JDBCWizard". It looks at stored procedure definitions in an Oracle database, and writes all the Java code needed to run them. This isn't benign or simple, as Oracle's JDBC implementation allows you to pass multiple different kinds of complex objects back and forth, but the resulting API is a nightmare. Which is why I automated it. While I sold the product to some well known businesses, I eventually moved on to other things.

Below are some JDBCWizard related examples. The real code is (obviously) in a private repo.

  • jdbcwizard-pub Public utility library for JDBCWizard. This code contains useful functionality for working with Oracle, JDBC and PL/SQL
  • jdbcwizard-dbhell This is a set of Oracle schemas designed to fully exercise what is syntacticly possible JDBCWizard can generate Java code to run all the examples here.
  • jdbcwizard-test-code Examples of code generated to test JDBCWizard.
  • jdbcwizard-demo-code Examples of code generated for the built in demo.

Home IOT

I got fed up with the lack of a countdown timer on my Bosch dishwasher, so I implemented one using a Raspberry Pi and an ePaper display

Other

  • filewrangling-utils Utility classes for fixing flat files
  • gdocs2md Convert a Google Drive Document to the Markdown format, suitable for publishing

Pinned Loading

  1. voltdb-charglt voltdb-charglt Public

    Charging Demo: A non-trivial telco focused Volt Active Data example

    Java 2 4

  2. jdbcwizard-dbhell jdbcwizard-dbhell Public

    This is a set of Oracle schemas designed to fully exercise what is syntacticly possible JDBCWizard can generate Java code to run all the examples here.

    Java

  3. jdbcwizard-pub jdbcwizard-pub Public

    Public utility library for JDBCWizard. This code contains useful functionality for working with Oracle, JDBC and PL/SQL

    Java

  4. mongodb-charglt mongodb-charglt Public

    Mongo implementation of Charglt

    Java

  5. s2-charglt s2-charglt Public

    SingleStore implemention of charglt

    Java

  6. bosch-dishwasher-control bosch-dishwasher-control Public

    An example of reading MQTT data from a bosch dishwasher and updating an ePaper sign.

    Python