Fritz Box DNS is Awesome

I’m pretty amazed by my Fritz Box right now. I knew already that I can access my router by typing fritz.box in the browser address line, but it gets even better. After installing spark on my machine and firing up the pyspark console, I noticed a particular log line:

INFO SparkUI: Started SparkUI at http://meepo.fritz.box:4040

I really don’t get how spark does this reverse DNS lookup, but it actually works. The URL is valid and points to my spark UI. And all other machines on the network are also reachable, even the windows ones.

[...]


Economies of Scala

Alea iacta est, and the winner is Scala. Time to fetch my good old 7 Languages in Seven Weeks from the shelf and start coding. The repo is set up already, and the first lessons were duely taken. Don’t expect too much, however, these were my first 30 minutes with the language and I am kind of biased regarding code style.

Right now, Scala is fun to write, but I cannot tell if this is just me being enthusiastic or actually a language feature. But the syntax, although it’s quite much, feels kind of regular[1]. A nice change, I am fed up with languages that have irregular grammar. At first, the whole static typing thing threw me a bit off, but you get quite used to it. I also wrote my first template (I can see you lurking ‘round that corner, C++!).

The main goals for Scala will be Spark centric, because that is what people do with Scala, isn’t it? Tasks:

  • write a program for some big data task
  • use Spark for MapReduce parallelism
  • do fancy functional programming on the way
  • (get Spark working)[2]

[1]: Not sure if that’s the right term, but what I want to say is “I want to write a lambda that defines a lambda inside a lambda inside a lambda…”

[2]: actually kind of a big deal, at least on Arch Linux

[...]


The Future is Here

Last time I checked, we actually did have the year 2014. Quite a shock — mostly because some of the programming languages I am using, and used to, seem kind of dated, to say it kindly. I felt C++ being a pain in the ass for too long now without doing anything about it. Inspired by this post, this answer to some unrelated hacker news article and the overall stupidity of C++, I will try to learn some new, useful languages! What I came up with today between some lectures is this schedule:

  • Erlang
  • Rust
  • Scala
  • Julia
  • Haskell

The order is pseudo-random, I guess I will just start with some language and figure out the next when I am done with it. Regarding the done-with-it-ness, I wanted to write a small program, or a library, for each language that does something typical. Typical for that language, of course. I have not figured out what that could be for all of them, but we will see. In addition, I would like to use a popular framework while I’m at it, so that some of the experiences could even be helpful in future real-world use cases.

Primary focus of my new language thursday (I am getting rid of regular thursdays) will be stuff that I am familiar with, i.e. scientific computing, web development and linuxoid stuff. One thing I really want to analyze is the means of parallelization in each of the languages, and their ease of use.

[...]