I owned a mid 2009 MacBook Pro, I never used it for presenting stuff to others but I actually bought a remote control for it. The computer cost me a lot of money, it was top end stuff when it was bought. The remote control cost me the money as well. I also have a copy of Keynote. It also cost me money. A while ago I’ve switched to a new MacBook, the Retina one, top end as well. It cost even more money than the first one.
Unit testing has evolved a long way over the years, continuous integration services even more so. Few years back, when mentioning CI, Jenkins was the only reasonable choice someone would take. It was kind of easy to set up, depending on what one was planning to do with it. Looking at this space today there are plenty of services offering painless CI for the masses. The most known one - Travis CI. Compared to Jenkins it’s night and day. Simply sign in with Github, go to settings, enable repository to be tested and you are off. The build can be customised by modifying .travis.yml file placed in the root of the repository to be tested. Every push to Github, every pull request and every merge is automatically tested. Results are available on Github together with full history of the project. Easy.
The gossiperl project is growing. I had a great, productive, working Christmas break, implementing a number of client libraries for the message bus. In the last couple of weeks a number of client libraries for gossiperl have been released. The full list now includes:
Today I’ve released a project called gossiperl. Gossiperl is a language agnostic gossip middleware written in Erlang. The purpose of the project was purely research on gossip based systems, as well as, learning Erlang.
Main intent was to create a common communication middleware enabled over gossip using a standard binary transport mechanism. Gossiperl is a result of over 6 months of research, reading, learning, planning and implementation. Gossiperl uses Apache Thrift binary serialisation over UDP. Gossiperl is intended for projects where order of delivery is not important and latency is acceptable. Intended projects require a messaging layer but not necessarily want to implement their own communication stack.
A few months ago I have started learning Erlang, mostly for fun but it was right about time to jump on the functional bandwagon. The best way to learn a new language is to find an engaging project, in my case its been something what has been on my mind for quite a while: a cloud communication protocol / framework for distributed computing. Some basic principles of what it is about can be found here: CloudDDS.
One of my Zookeeper clusters has to be available to everyone. But I want to make sure only specific known hosts are allowed to connect. The problem was, those known hosts are dynamic and I didn’t want any configuration for this component. The servers are running in the cloud, they come and go.
I keep getting Fog::Compute::AWS::NotFound: The key pair ... does not exist error!
How to solve this problem isn’t explained well enough anywhere.
Install knife-ec2 first:
sudo gem install knife-ec2
Then I added this to my knife.rb:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# key name, as defined in EC2 Key Pairs,# this value has to be exactly the same as the one in the management console:knife[:aws_ssh_key_id]="my-ec2-key"# AWS ID/SECRET:knife[:aws_access_key_id]="..."knife[:aws_secret_access_key]="..."# Some defaultsknife[:region]="eu-west-1"knife[:availability_zone]="eu-west-1a"knife[:ssh_user]="ubuntu"knife[:flavor]="m1.medium"# Ubuntu 12.04 LTS 64bit:knife[:image]="ami-f2191786"knife[:use_sudo]="true"
As I was trying to create an instance with this command: