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...
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...
Season’s Greetings!
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.
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...
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...
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....