Before starting this project, I was looking for a project I could use to learn Elixir. I’d been hearing great things about it, played with it a little on Exercism, and went to a local Elixir meetup a couple of times.
Then I saw the talk “Embedded Elixir in Action” by Garth Hitchens about using Nerves to develop real-world Elixir-based embedded systems. I’d had an original Raspberry Pi B sitting on a shelf for a few years, so this seemed like it would be a good opportunity to learn Elixir and finally use that hardware for something. I also had a bunch of WS2812B “NeoPixel” RGB LEDs that I was itching for an excuse to use for something. (Caution: If you browse the available NeoPixel products on Adafruit, you may not be able to resist buying something).
At this point, I was unable to resist hitting these three birds with one stone!
A year ago, I had a need to collect, analyze, and archive firewall logs from several Cisco ASA appliances. The problem with Cisco’s ASA syslog format is that each type of message is a special snowflake, apparently designed for human consumption rather than machine parsing. The obvious solution was, of course, to use what is now know as the ELK stack: ElasticSearch, Logstash, and Kibana. In this article, I’ll walk through the process I used to tackle this problem, ending with a full configuration file that you can use in your environment.
This afternoon, I finished @chadfowler’s The Passionate Programmer. One of my favorite books is The Pragmatic Programmer, so the similar title of this book (and the author, who I follow on Twitter) caught my eye. I read a lot of hype about it leading up to its release and I was not disappointed! Besides echoing many other reviewers’ exhortation to go pick up the book and read it if you care about your career, I thought it would be valuable to capture in text some of my thoughts, gathered while reading this book.
I have been meaning to check out R for a few years now, but I got busy and I just never got around to doing much more than installing the MacOS X version on my laptop. I finally got my excuse to try it when I needed to start working on signal processing of the measurements I had been gathering. My usual go-to tool for this type of task was MATLAB. However, on this fateful day, when I tried to launch my copy of MATLAB, I got some kind of message saying that I needed to renew my license. At some point in the past, I had bought a one-year student edition of MATLAB, so this wasn’t a huge surprise. However, that message was all it took to get me to finally check out R.
As a part of my MS thesis research, I have a need to have precise control over an ACS ACOS5 Smart Card. In this article, I will explain the code I have written to directly interface an Atmel ATtiny2313 microcontroller to an ACS ACOS5 cryptographic Smart Card. Before developing this AVR C code, I experimented with various other methods of interfacing with a Smart Card at a low level, with varying amounts of success. I will discuss some of the other methods in future articles, and outline how far I got with them and where there is still opportunity for improvement.