It has been just over 2 weeks since the last libAttachSQL
version was released. I had a great vacation in the middle
which for once meant that I didn't do any work for the week I was
away :)
For those who don't know about it, libAttachSQL is a lightweight,
non-blocking C connector for MySQL servers. It is Apache
2.0 licensed so plays well with both Open Source and Commercially
licensed applications. I have been developing it for 2
months now as part of my work for HP's Advanced Technology Group.
It is hosted on GitHub and uses many freely available
tools (such as Travis CI) to host and test various
parts of the project.
Once again I thank everyone for the feedback I have received. …
Hot on the heals of last week's release we have released version
0.2.0 alpha of libAttachSQL. For those who have missed my
previous blog posts, libAttachSQL is a lightweight C connector
for MySQL servers I'm creating with HP's Advanced Technology
Group. It has an Apache 2 license so is good for linking
with most Open Source licenses as well as commercial software
projects.
Changes in this release:
- Added support for query result buffering
- Passive connect on first query is now asynchronous
- Improved memory handling
- Many documentation changes, including API examples
- Many other smaller fixes
For more information see the libAttachSQL documentation and the …
[Read more]
As I briefly mentioned in my previous post, I have been working on a new
project for HP's Advanced Technology Group called
libAttachSQL.
libAttachSQL is a lightweight C connector for MySQL servers.
It is Apache 2 licensed (and therefore compatible with many
open source licenses as well as commercial use) and has a new
asynchronous API. With the new API you send a command which
returns immediately and you poll until the library tells you
there are results ready, this is very useful for applications
that have many things going on that you do not want held up by
waiting for the MySQL server to process a query. In later
posts I will give usage examples of this.
I am a great believer in release early/often so on Friday, 5
weeks after I started …
One big project I'm working on for HP's Advanced Technology Group
right now is an Apache 2.0 licensed C connector for MySQL servers
called libAttachSQL. The whole process, not just
the code itself, is helping us learn about new and current
techniques in Open Source development. Whilst I will be
writing many posts about libAttachSQL in the future, today's post
is about the free hosted services we are using around it.
GitHubAlmost all previous Open Source projects I have worked on
in the past have been hosted on Canonical's Launchpad platform. Over the
last couple of years there has been a shift to using GitHub and almost
everything I have worked on at HP has been hosted there.
Now there are many services that hook into GitHub so this
seemed like the perfect …
I have spent a few days now playing with CoreOS and helping other
members of HP's Advanced Technology Group get it running on their
setups.
Today I thought I would write about the good and the bad about
CoreOS so far. Many components are in an alpha or beta
state so things may change over the coming months. Also as
a disclaimer, views in this post are my own and not necessarily
those of HP.
Installation
As stated in my blog post yesterday, I have been using
CoreOS on my Macbook Pro using Vagrant and VirtualBox. This
made it extremely easy to setup the CoreOS cluster on my Mac.
I made a minor mistake to start with, and that is to not
configure the unique URL required for Etcd correctly. A
mistake a colleague of mine also made on his first try so it
likely to be a common one to make.
I initially …
Yesterday someone opened a Launchpad question asking "is Drizzle dead?".
I have answered that question on Launchpad but wanted to
blog about it to give a bit of background context.
As I am sure most of the people who read this know, Drizzle is an Open
Source database which was originally forked from the alpha
version of MySQL 6.0. At the time it was an extremely
radical approach to Open Source development, many features were
stripped out and re-written as plugins to turn it into a
micro-kernel style architecture. Every merge request was
automatically throughly tested on several platforms for
regressions, memory leaks and even positive/negative performance
changes.
In fact Drizzle has influenced many Open Source projects today.
Openstack's Continuous …
The Stackforge Libra project as with most Openstack based
projects is written in Python. As anyone who has used
Python before probably knows, Python has something called a
GIL (Global Interpreter Lock). The GIL
basically causes Python to only execute one thread at a time,
context switching between the threads. This means you can't
really use threads for performance reasons in Python.
One solution to get a little more performance is to use Eventlet.
Eventlet is a library which uses what is called "Green
Threads" and hacks on top of the networking libraries to give a
mutli-threaded like feel to an application. As part of this
blogging series for HP's Advanced Technology Group I'll write
about some of the things I found out the hard way about Eventlet
so hopefully you don't hit …
I have recently moved to HP's Advanced Technology Group which is
a new group in HP and as part of that I will be blogging a lot
more about the Open Source things I and others in HP work on day
to day. I thought I would kick this off by talking about
work that a colleague of mine, Patrick Crews, worked on several months
ago.
For those who don't know Patrick, he is a great Devops Engineer
and QA. He will find new automated ways of breaking things
that will torture applications (and the Engineers who write
them). I don't know if I am proud or ashamed to say he has found
many bugs in code that I have written by doing the software
equivalent of beating it with a sledgehammer.
Every Devops Engineer worth his salt knows that backups are
important, but one thing that is regularly forgotten about is to
check whether the backups are good. A colleague of mine …