Autor-Archiv für Manuel Dewald

Ruby best practice: Implementing operator == and ensuring it doesn’t break

März 8, 2019 12:42 pm Veröffentlicht von Kommentare deaktiviert für Ruby best practice: Implementing operator == and ensuring it doesn’t break

In ruby, comparing hashes, strings and objects is a complicated topic. Should you use equal?, eql? or ==? There is plenty of help on this topic, but in this post, we will focus on the interesting behavior of the == operator and how you can make it behave as you need it for your use case. When comparing Hashes in Ruby, the == operator compares the content of a hash recursively. 1 2 3 4 5 6 7 8 9... Artikel ansehen


Raspberry Pi powered Wifi Pictureframe

März 6, 2019 7:09 am Veröffentlicht von Kommentare deaktiviert für Raspberry Pi powered Wifi Pictureframe

Some days ago I wrote an post about building a picture frame using a Raspberry Pi. The article has been published on opensource.com. The software to show the slideshow has been written by myself and published on github as I wasn’t happy with all the existing solutions. As they either involve using a GL rendered xscreensaver which was terribly slow on the Raspberry Pi or installing Kodi which I think is kind of overkill, just to get a slide show.Also I wanted the... Artikel ansehen


Ansible: Passing arrays to BASH scripts

Januar 7, 2019 7:56 am Veröffentlicht von Kommentare deaktiviert für Ansible: Passing arrays to BASH scripts

When using Ansible, it may become handy sooner or later to invoke a BASH script in one of you playbooks. Invoking a BASH script in Ansible can be done using a simple shell task: 1 2 3 4 5 6 --- - hosts: 127.0.0.1 connection: local tasks: - name: ensure stuff is done shell: ./do_stuff.sh This task will execute the bash script do_stuff.sh. Sometimes, it is also necessary to configure the behaviour of the BASH script you are executing. The simplest way... Artikel ansehen


A Christmas Poem

Dezember 19, 2018 7:31 am Veröffentlicht von Kommentare deaktiviert für A Christmas Poem

1 2 3 4 5 6 7 8 910111213141516171819202122232425262728293031 #include <stdio.h>/* A CHRISTMAS POEM * * Christmas is near, * brings relaxed atmosphere. * The devs are staying at home, * feeling bored like a stone. * * Left the winter outside, * but still not satisfied. * They are missing their code, * yet so tired of node. * * And if this feels like you - * here is something to do. * Celebrate! It's written in C:... Artikel ansehen


Blogpost: CloudFoundry Summit Europe 2018

Dezember 18, 2018 7:31 am Veröffentlicht von Kommentare deaktiviert für Blogpost: CloudFoundry Summit Europe 2018

After attending CloudFoundry Summit 2018 in Basel in October, I published an event summary together with my colleagues. This writing summarizes the talks that where interesting from the perspective of us as BOSH developers. You can find the post on the community page of SAP. Recap and collected replays: Cloud Foundry Summit Europe 2018 — thanks @ManuelDewald and team! #cfsummit @cloudfoundryhttps://t.co/t7b6NjplyN — SAP Cloud Platform (@sapcp) 6. November 2018 Watch all talks online via the youtube playlist.


Define interfaces in a duck typed language like ruby

Oktober 5, 2018 6:55 am Veröffentlicht von Kommentare deaktiviert für Define interfaces in a duck typed language like ruby

In Java, it is very intuitive how interfaces are defined and used. You just create an interface in a similar way you would create a class and derive the classes, implementing the interface. interface Drivable { public void drive(int meters); public void stop();}class Car implements Drivable { public void drive(int meters) { //start the engine //go for it } public void stop() { //stop the engine }}class Bagger implements Drivable { public void drive(int meters) { //start engine //start left... Artikel ansehen


RaspberryPi NAS

Juli 27, 2018 7:47 am Veröffentlicht von Kommentare deaktiviert für RaspberryPi NAS

Guest Series at opensource.com After my recent first guest article on https://opensource.com the first part of a series about creating a Raspberry Pi based NAS has just been published. You can read it here. There has been a surprising amount of twitter reactions to the article and it seems it also collected more than a thousand visits on the first day. Building a network attached storage device with a #RaspberryPi https://t.co/PrNwRsZnjr via @opensourceway by @manueldewald #RPi #OpenSource #FOSS — Juha Remes (@jremes84)... Artikel ansehen


Use Ansible to clone & update private git repositories via ssh

Juli 7, 2018 7:21 am Veröffentlicht von Kommentare deaktiviert für Use Ansible to clone & update private git repositories via ssh

One of the first things I wanted to do when I started using Ansible was to clone a git repository on a remote machine as I keep configuration, scripts, and source code in github or gitlab repositories. Things that are not meant for the public, I store in private repositories that I want to clone via ssh. Cloning and updating them I now want to automate with Ansible. There are different ways to go for this task: Checkout the repo locally and copy it... Artikel ansehen


Guest Post on opensource.com: “Try this vi setup to keep and organize your notes”

Juni 19, 2018 9:14 pm Veröffentlicht von Kommentare deaktiviert für Guest Post on opensource.com: “Try this vi setup to keep and organize your notes”

Today my first blog post on opensource.com has been published, please have a look at it if your are, similar to myself, interested in an easy, intuitive, synchronized way to keep your notes. You can find it on the opensource.com blog or just by following this link. Thanks to the opensource.com team for collaboration and editing, I hope I will get the chance to write another one soon!


Thoughts on Members vs. Parameters

Mai 17, 2018 6:38 am Veröffentlicht von Kommentare deaktiviert für Thoughts on Members vs. Parameters

Yesterday in a longer refactoring session, we stumbled across some open questions when it comes to member variables vs function parameters. In a function with a huge number of parameters, we decided to create new class(es) to split this mess up a bit. As the new class first contained only one public function – because we moved one function out of a bigger class – we had to decide which of the parameters to choose for the input of the... Artikel ansehen