Vim Berlin Usergroup @ ABSOLVENTA

Posted on April 04, 2014 by Carsten Zimmermann

Vim is the goto editor for about half our team. Inviting the friendly people of Vim Berlin over was only natural. It wasn’t overly crowded, but cancelling wasn't an option without being laughed at by the Emacs folks who met the same day.

Read more…

JSDoc and the Revealing Module Pattern

Posted on March 25, 2014 by Carsten Zimmermann

Generating documentation for your JavaScript with JSDoc can be tricky for a combination of the Revealing Module Pattern and self-executing Javascript functions. This article shows how JSDoc can be convinced to parse the code anyway.

Read more…

Converting large XML documents to Ruby Hashes

Posted on March 18, 2014 by Robin Neumann

A lot of web services out there are dealing with XML documents. To connect a SOAP-based web service to one of our Rails Applications, we need to translate XML documents to Ruby Hashes.

First of all - we already had a solution implemented. For that we parsed the XML with Nokogiri and used a custom method to iterate over the node-structure Nokogiri detected. The method we used is a slightly modified version of these...

Read more…

A Lightweight Firewall/Blacklist as Rack-Middleware

Posted on February 04, 2014 by Carsten Zimmermann

I recently fell in love with Rack middleware. Rack’s simplicity of serving web requests by nothing but an Array with three elements alone is charming. But using it as a bouncer to handle (and possibly already return) all sorts of stuff before your requests even touch your Rails app is the real appeal.

We had an annoying bot hitting one of our applications today. There was no harm done but while it was...

Read more…

Stubbing an invalid record for inherited_resources

Posted on January 15, 2014 by Carsten Zimmermann

Testing the outcome of a failed create or update action can be a pain with inherited_resources due to its somewhat different understanding of how a failed record looks like. This article show a handy shortcut to stub it out nicely with rspec-mocks.

Read more…

Binary Christmas Tree

Posted on December 18, 2013 by ABSOLVENTA Dev-Team

Season’s Greetings!

Merry Christmas

The ABSOLVENTA Dev-Team says: Merry (Christ|X)mas! From left to right: Mignon, Felix, Markus (kneeling) and Carsten, Daniel and Robin (standing). Image credit: Mignon.

Read more…

Aggregate And Conquer

Posted on November 11, 2013 by Robin Neumann

Collecting stats is awesome. Analytical brains love being fed with stats. So let’s fire these tiny queries at our database asking for favourite customer choices of recent years and – meanwhile – grab a coffee … or write a book or a whole new app until your answer is served.

Persisting events over years is no problem for modern database systems in general, but accessing them later could be. Of course, you can come over...

Read more…

Watching A Certificate Revocation List Using Event Girl

Posted on October 28, 2013 by Carsten Zimmermann

ABSOLVENTA uses WPA2-Enterprise to control acccess to the company’s wifi network. Authentication is done using x509 certificates issued by our local, self-signed Certificate Authority (CA). We use a FreeRadius server on a FreeBSD machine to check for the validity of the presented certificate.

I wrote a simple CLI to faciliate the certificate management and to automatically configure the Radius server, including certificate revocation. The next-update field of the generated certificate...

Read more…

Rate Limiting Work On ActiveRecord::Base With .find_each In Edge Rails

Posted on October 10, 2013 by Carsten Zimmermann

I was working with several maintenance tasks that query external webservices for a collection of ActiveRecord objects. In order to avoid hitting the webservices’ rate limit, we pause every other iteration for a fraction of a second before we continue.

The code looks something like this:

I didn’t like that the information of our rate limit guard clauses was so scattered: there were bits before the block and others in the block....

Read more…

Page 3 of 3 Older →