A fractal spectrum of tales
- Left pipe in Haskell
If you read this blog, you know that I am very biased by having worked with unix shells for almost two decades and that I am addicted to the use of pipes (see e.g. Piping with Swift). I really find much more natural to see data moving from left to right.
Yesterday I was thinking that in Haskell everything is an expression and that you can easily define infix operators. Thus it must be possible to implement a shell-like pipe.
2 min read - Nov 21, 2014 - What Problems to Solve - By Richard Feynman
A former student, who was also once a student of Tomonaga’s, wrote to extend his congratulations. Feynman responded, asking Mr. Mano what he was now doing. The response: “studying the Coherence theory with some applications to the propagation of electromagnetic waves through turbulent atmosphere… a humble and down-to-earth type of problem.”
Dear Koichi,
I was very happy to hear from you, and that you have such a position in the Research Laboratories. Unfortunately your letter made me unhappy for you seem to be truly sad. It seems that the influence of your teacher has been to give you a false idea of what are worthwhile problems. The worthwhile problems are the ones you can really solve or help solve, the ones you can really contribute something to. A problem is grand in science if it lies before us unsolved and we see some way for us to make some headway into it. I would advise you to take even simpler, or as you say, humbler, problems until you find some you can really solve easily, no matter how trivial. You will get the pleasure of success, and of helping your fellow man, even if it is only to answer a question in the mind of a colleague less able than you. You must not take away from yourself these pleasures because you have some erroneous idea of what is worthwhile.
4 min read - Nov 21, 2014 - Socks proxy with ssh
When you work in the University, it is very likely that during a trip or the weekend you urge to connect via the University to have access to Journals and other academic resources.
Often enough this requires long and complicated procedures involving the setup of rarely updated proprietary VPN softwares that sometimes like to install their obscure helpers to monitor the traffic and prevent you to open malicious websites. Helpers that would keep working in background sending to unspecified servers all your business even when the VPN is off…
2 min read - Oct 31, 2014 - Why privacy matters by Glenn Greenwald
I am so sorry that I needed so much time before watching this wonderfully inspiring TED video.
I really admire Snowden, Greenwald and all the people that are fighting to denounce the dangerous path that we are following.
It’s time to take action, even the smallest one coubl make a difference. Maybe we don’t see the threat now, but we cannot now what will happen in the future.
1 min read - Oct 19, 2014 - Fix WiFi on OS X by tweaking the MTU
After I had installed the first developer beta of Yosemite I started experiencing serious WiFi issues at home, with the connection dropping after few seconds of activity. Only apparent solution was to disable and reenable periodically the wifi until it started working.
The issue was not present whene I was in my office or using public wifi’s around. And removing the network setup to have them reset to default didn’t help.
3 min read - Oct 15, 2014 - On Advanced Functional Programming
In few days, tomorrow if I’m not mistaken, you will be able to attend the new Erik Meijer’s introduction to Functional Programming on edX. If you have any interest in mathematics or programming, I am sure that this is something that you have to watch.
I am saying new because a similar course was held in 2010 by the same person, you can still watch it here: Erik Meijer’s MSDN Channel 9 lecture series on functional programming
2 min read - Oct 15, 2014 - 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