A fractal spectrum of tales
- Piping with Swift
Lately I’ve been playing with Apple’s newborn Swift quite a lot. I have to say that I am really impressed, and except for few things that I hope will be smoothed in the next months (years?), I find Swift really enjoyable and readable.
However, there is one feature that I really miss. Something that I daily use with slightly different syntaxes in Sh, Haskell, Julia and Elixir: the pipe!
# Can we implement a kind of pipe in Swift?
Given that in Swift
|
,.
and||
have already quite precise and distinct meanings, I am going to mimic Julia and Elixir’s notation and use|>
. Swift is unbelievably flexible from this point of view: one can easily define new genericinfix
,prefix
orsuffix
operator, and state their associativity and precedence properties. You’ll soon see that the syntax speaks by itself!
4 min read - Jun 16, 2014 - Implementing Either type in Swift
It has been only a couple of days since Apple announced and released Swift. It has possibly been the most important and interesting announcement of Apple in the last few years and started an amount of discussions around the web.
With the hours passing, we’ve found out that there was at least another Swift in the history of programming languages (with a similar icon) and that Swift is under development since 2010 and its father is Chris Lattner, creator of
clang
andLLVM
.
3 min read - Jun 4, 2014 - Fix Hombrew on OS X Yosemite
If for some reasons you’ve been crazy enough to install the first developer beta of Mac OSX 10.01 Yosemite, you’ve probably noticed that Homebrew stopped working.
One possible fix is to delete homebrew and reinstall everything but I am too lazy and too attached to my list of installed packages to accept it.
The first error I’ve got while running
brew update
was related to missing system ruby 1.8. This appears because OSX finally updated toruby 2.0
and this conflicts with the static link saved in one of Hombrew executables.
2 min read - Jun 3, 2014 - Move to ghc 7.8.2 on MacOSX
Lately I’ve been playing with some functional languages: haskell, lisp (in particular the scheme dialect, see e.g. chicken or racket) and elixir (I very much like it and I really appreciate that it runs on the erlang VM).
Each of those has something pretty unique and I believe is very worth learning. I cannot stress how much material you can find both online and in libraries to learn them (except for elixir but its website does a really good job and there will be plenty of books very soon out) and how strong thay can change your way of programming.
6 min read - Jun 1, 2014 - Modern Art in Space
Well… the title is a spoiler, but is this a painting? Are those falling meteors? What is that?
The first time I’ve seen it, out of context, I tought it was a crop of some decaying taken from LHC.
In fact, this is a picture coming from the Hubble Space Telescope. But a quite unusual one. Scientists suspects it’s the result of the choice of a bad reference point in space for tracking/stabilization. Quoting from the official page:
1 min read - Apr 20, 2014 - Installing Scientific Python 3 libraries on OSX (and julia with IJulia)
In a recent post, I tried to explain how to install scientific python libraries on OSX and get rid of the most common errors. In that case everythong I did was for python 2.7.
Yesterday I decided to fully move to python 3.4. I’ve removed my python installation via homebrew and with it all the installed packages.
Moving to python 3 is straightforward if you have done the procedure described in my previous post, it all really reduces to replace every occurrence of
python
in that post withpython3
and every occurrence ofpip
withpip3
.
4 min read - Apr 15, 2014 - Installing scientific python libraries on OSX
For a recent project, I had the necessity to install (or update) some of the scientific python libraries that I use for computation (and to avoit matlab). I was aware of a not too recent tutorial in regard that left me quit unhappy at the time, in particular I strongly disagree with their practice of changing OSX official symlinks to point at the new Python install.
Given that I am not alone in the project, I decided to write a short tutorial trying to include all the necessary steps for a successful installation of python, numpy, scipy, matplotlib, ipython and qutip.
4 min read - Feb 19, 2014 - The Day We Fight Back
Today, 11th of February 2014 (anniversary of Aaron Swartz death) a lot of national and international organizations are showing a black banner with a big text saying: the Day We Fight Back.
Mass surveillance, like that conducted by the NSA, is always illegal. Privacy is a fundamental human right, and is central to the maintenance of democratic societies. It is essential to human dignity and it reinforces other rights, such as freedom of expression and information, and freedom of association, and is recognised under international human rights law.
7 min read - Feb 11, 2014 - The pale blue dot from Mars (and more)
In 1990 the Voyager 1, already at 6 billion kilometers from us, turned around to take a picture of our little world from the boundary of the solar system (thanks Carl Sagan for making it happen).
The picture, in which the Earth is just about as big as 0.12 pixels, was named Pale Blue Dot and I really suggest you to have a look at its Wikipedia Page to know something more about it.
3 min read - Feb 7, 2014 - Edward Snowden interviewed by the NDR channel
Few days ago the German TV Channel NDR did an exclusive interview with Edward Snowden.
I find it quite interesting, both for getting to know Snowden and have a fast overview of many of the scandals that were made public by some of the published leaks.
I was very disappointed the last time I went back home in Italy to know that nobody cared and almost nobody knew about what was and is happening. Not even the small discussion apart the very light hearted: “It’s been always known that they control everybody”.
2 min read - Feb 5, 2014