Friday, May 27, 2016

Update all Ruby Gems on your Mac

Usually I used the command I found here which is

sudo gem update `gem list | cut -d ' ' -f 1`

However sometimes, if you are on a VM that hasn't set the profile correctly you'll need to specify the right directory. So the effective command working everywhere (so far) is.

sudo gem update -n /usr/local/bin `gem list | cut -d ' ' -f 1`

Wednesday, March 30, 2016

GIT-LFS on Bitbucket Cloud

There are a lot of posts all over the internet on GIT-LFS and bitbucket. However most of those posts mention a setting that is not available on the Cloud version of Bitbucket.

So, to give a simple answer to the question "Can I still use GIT-LFS?" ... "Yes, but.."

Why but? Well, it does come with a cost. Actually there is no build-in solution to deal with large files if your repository is hosted on the bitbucket cloud, but the GIT-LFS in general is just a concept, that can be put on every GIT service. The problem is where to put that data?

The answer is any kind of web accessible blob- or file storage. Popular answers in this case are AWS S3 and Azure, but every MongoDB or even a file system is enough (This depends a bit on how reliable it needs to be and how much you are willing to spend).

Now I guess its time to look into what GIT-LFS really is. As we said earlier it is a concept, which is not entirely true, as it is also a protocol. Actually it is able to interfere a push command (with a pre-push hook) exchange the actual file that you'd push with a "link" (an OID basically) and push that to the repository. The real file is then sent to the "lfsurl" specified in the ".git/config" file.

Unfortunately storages like the ones mentioned above are not accepting this protocol calls directly, neither git-lfs can deal with their (complex) authentication mechanisms, so you'll need some sort of interface manager, which is likely to be some sort of server.

Lately I was working on an extension to an existing solution written in Node.JS which tries to give a solution to this problem. It has the ability to talk to those storages mentioned above and implements most of the git-lfs protocol in its current version. All you need to do is putting it on a server, configure it to accept your clients and access your storage and it will work.

As it is an open source project you can contribute in any form if you like.

Tuesday, November 03, 2015

Setup the new Apple TV

After unpacking and flashing it with the latest Beta I could finally set it up
It is going through all the languages in a row

There is the possibility to take the settings from an iPhone/iPad

Unfortunately none of my devices was already on iOS 9.1

Monday, November 02, 2015

Unpacking the new AppleTV Developer Kit

I guess you're not really interested in what I've to say about the unpacking, so just watch the pictures:

So and there it is :-D

Saturday, October 31, 2015

Got selected to have an early look at the new AppleTV

Basically it all started with the following email that I got just a week after participating to the Apple TV lottery.

After accepting the terms, which basically say that I'm not allowed to show pictures or write reviews about it (that's actually why this article is published so late)

I finally got the confirmation that Apple is sending me the AppleTV Developer Kit for 1€

Stay tuned for the unpacking article coming as soon as the AppleTV is publicly released.

Tuesday, October 27, 2015

MAC: Keep your gems up to date

If you want to have all your gems updated there is quite a simple command to execute
sudo gem update `gem list | cut -d ' ' -f 1`
This will take the list of all installed gems and update it to the latest available version.
Furthermore you can simply remove now all the unused, old versions by executing
sudo gem cleanup
And you're done

Wednesday, June 17, 2015

Objective-C: Travis-CI and (2/2)

Until now we've added to our repository just the support for Travis-CI. Now it's time for which is basically the second part of this Pull Request.

Coveralls is a service that analyses your code and gives a percentage of code that is covered by some tests.

If your code is already on Github, you can navigate now to and activate the support for your repository, otherwise you can do it at the end, but then the next commit will show up on As we already had for the Travis-CI;

1) This service will start after Travis-CI so he needed to invoke it when Travis-CI has finished. This can be done by adding it to the .travis.yml
after_success: bundle exec slather
As you may already expect he had to include slather into our Gemfile and execute it
source ''
gem 'cocoapods'
gem 'rake'
gem 'slather'
gem 'xcpretty'
Slather, as Travis-CI needs its own configuration file which is .slather.yml in this case

2) If you'd run now the bundle exec slather command you'll probably end up with an error as Xcode is not generating coverage files if they are not needed. There are basically two flags to set in the xcodeproject file
Basically there are the methods to set these flags

  1. Open Xcode, search in Build settings for Instrument Program Flow and Generate Test Coverage Files and set both of them to YES which will generate the needed files on every build
  2. You can do the same executing the command $ slather setup path/to/project.xcodeproj which will automatically set those flags
  3. Add the parameters to the build command in the Rakefile which will generate them only when you execute the rake build.

3) Now as in Travis-CI just add the badge to the readme
[![Coverage Status](](