The links to Amazon and The Book Depository are affiliate links. If you purchase like 50 copies I may afford a coffee :D
It all started after reading If you can’t choose, pick at random at Aeon.co. It delves into how choosing at random can be best in some cases. Give it a read, it is interesting. Among the HackerNews comments about this submission there were some mentions about choosing at random in real life, and to the novel The Dice Man (Amazon | Book Depository).
Lately I’ve been coding a little more Python than usual, some twitter API stuff, some data crunching code. The other day I was thinking how I could detect the language a twitter user was writing in. Of course, I’m sure there is a library out there that does it… But the NLTK library (the Natural Language Toolkit for Python) does not have any function for this, or at least I was not able to find it after 5 minutes of Google search.
Beware, in what follows I rant. All figures come from Wikipedia or similar and are expressed with many zeroes and also in written form to make clear what a billion may be.
If you are a regular reader of mostlymaths.net, you’ll be aware that I don’t write a lot about current subjects. In fact, I actively try not to write about what’s going on at the moment, one notable exception may be a post I wrote about Mesut Özil’s stellar debut in the 2010 World Cup.
All hail Steve Jobs
Inspired by a post by Mark O’Connor from Yield Thought (my frequent readers will have already read something from him from my link collections), I have been working remotely for a week. His set-up is an iPad 2, Apple wireless keyboard, the iSSH app and an account in Linode. My setup is similar, but I use an iPad 1 and 6sync for the VPS.
I’ve been playing the game of Go (also known as weiqi or baduk) on and off for almost 10 years. In case you don’t know, Go is a board game with very old roots, that can be traced back to at least 2500 years ago, probably a lot more. Very popular in Japan (known as Go or Igo), Korea (baduk) and China (weiqi), it has been slowly spreading among the west during the last century.
This was posted to my mail newsletter a few months ago. Subscribe now if you want to receive this kind of content to your inbox. I won’t spam you, promise.
When do you have your best ideas? If you are anything like me, I have my best ideas when I can’t act upon them. While I’m falling asleep or while I’m taking a shower. And a lot of them get lost forever, I always think I’ll remember it next morning, something that never happens.
Yesterday I did nothing. Absolutely, really nothing.
And it felt great. Before yesterday, my usual weekend was filled of what I thought was doing nothing, but far from it. I wrote posts, programmed, read a lot online and caught up with what was going in the A-List Blogger Club forum. Did some laundry, folded the clothes. All this (well, except for the laundry part) under the assumption that doing what you love does not tire you.
From my cheap dictionary
As a byproduct of The Language Switch, I was invited to send a guest post to Bitesize Irish Gaelic, a wonderful site where you can learn Irish gaelic online.
Last year I decided to learn Icelandic because we were going to Iceland, this year I was learning Gaelic… Thus we decided that Ireland might be a good place to visit this summer on holidays, encouraging me to learn better this new language.
Next week is the final exam of the course I’m giving, Numerical Analysis. Classes finished before Christmas, and this week is for students questions. I had one of these sessions this morning, when a pair of students came with a few questions related to the problems I solved on the blackboard.
All were quick to solve, until one simple question arose, concerning a trivial problem in Calculus 1 (or Analysis 1, as we name it here).
During this week you will hear and read a lot about New Year’s resolutions. Questions like what do you want to change in your life for the next year and what good habits do you want to build next year are assumed to be always in your mind now. And they should, but not just now.
New Year is only a psychological landmark, and a very bad one. Something like 70% of those good intentions you had while the previous year was ending fade into oblivion before February 1st.
It’s Friday afternoon after a long day and a long week. You board your train and are lucky to find a seat, soon it is crowded with people standing and chatting. You feel tired after the day, and think just about taking a late afternoon nap upon coming home.
But you plug your earphones, turn up the volume just until you can’t hear the train sounds and you are in another place.
From Yassin Hassan@Flickr
Don’t forget to subscribe to my oddly newsletter!
Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.
One may say that to be a winner you have to be disciplined, commited, hard-worker, have a thirst for the win. But what a winner has almost always behind are countless failures, terrible defeats and fatal blunders.
The topic for this post has been jumping on and off from my mind for a few weeks, and what prompted me to finally write it was a very recent post by Gabriel Weinberg, web entrepeneur and CEO of the alternative search engine DuckDuckGo.
Hey! Look! A squirrel!
A few weeks ago I realised I was procrastinating too much. I tend to work in cycles, and it looked like my productive cycle was over and my procrastinator half had just kicked in the worse possible moment: lectures had just begun.
It looked like there was no solution. My timeboxing strategies went nowhere, will-do lists (litemind.com) had no real meaning, carrot-and-stick solutions didn’t work.
Stairs to Macchu Pichu,
courtesy of Shanidar
I just realised why I procrastinate in some tasks. And it may also be why you do, read on! It is not because they are boring, hard or repetitive. They may be. Hard tasks are a measure of your strength, boring and repetitive tasks, of your stamina. No, the problem is another.
Some projects are just tombstones. There are certain huge projects, with hardness and boredom along the way that when they are done, they are dead.
Two weeks ago it was the beginning of this years lectures. Currently I’m solving problems in the blackboard, 2 hours per week and take care of one computer lab (programming in C, but they have already done a C programming course and another course of numerical computations with C), all for our Numerical Analysis course (7th semester). This is the same schedule I had 3 years ago, also last year I had one computer lab each semester.
A nice warm Sunday afternoon, I wanted something cold to drink and a good book to read in my garden. I glanced at my pile of books beside the door, the books I grab to read in the train to my office, a pile of 8 books. Then I remembered I had a few books in the library I wanted to read, another pile, 10 books. As I went down and put them all over the table, I realised I had a few books more in the computer room, 3 books.
I have a problem: I know quite a lot different programming languages (you can read my list of the best 9 books I have read about programming), but I am proficient only in two. I’d love to choose a few to concentrate and build my skills up, but I don’t know which. Read on for background and possible candidates.
Since I discovered there were different programming languages, I’ve liked learning different ones.
Preface: I have been using Linux since around 1998, when I installed Debian from scratch in my old Pentium II. I am more end-user than power user, but the computer I use most often (my netbook) has Linux in it by default. Also, my office computer is a Linux computer. And I am writing this in my MacBook. Which is not Linux, but at least it is Unix. What comes now is a personal rant, after a fight with my netbook.
Most of you may not know who Vladimir Arnold (Владимир Арнольд, also written as Vladimir Arnol’d) was, but for me his death on 3rd June 2010,was some kind of landmark. I own two books by him (Mathematical aspects of classical and celestial mechanics  and Mathematical methods of classical mechanics ), and are quite high in my list of most checked books, at least when I was starting my journey into the realm of dynamical systems.
A week without writing here. A week with little thesis related work done. But it has also been a week with ideas and things and such. You know, two weeks ago I was in Dresden for a conference. Lots of parallel sessions, and quite a few time to think. This post is mostly a digest from my life bookmarks for these two weeks.
Several complex dynamic ideas: Unrelated to my thesis, but I’ve been thinking about them these days.
Life logging, journaling… what now? The idea behind this post grew from an insight I had, two months ago. I realised that I was bookmarking a lot of web pages because I liked what they explained and wanted to remember what I read. More precisely, I wanted to remember that I had read that. At that time, this seemed the more natural way to approach this problem.
A month later, more or less, I landed in this New York times article: The Data-Driven Life.
As I promised in my previous post reasons for re-inventing the wheel as a programmer, here I collect 8 reader reasons for re-inventing the wheel from comments on the reddit thread and on page comments. They are in no particular order AFAIK.
You need a faster wheel: Embedded software is the prime example of such. Average 10 cycles, worst case 15 cycles is not good when your system can explode if you do not attain 14 cycles at most.
The ‘broken windows theory’ is a widely known theory, based on folks knowledge (which have been also tested in real life).
Consider a building with a broken window. If this window does not get repaired, other windows can break (over time, or by vandalism). In the long run, someone may break into the building, becoming a squatter.
Or a more usual situation. If some litter gets accumulated in a sidewalk or a lot, soon more litter will accumulate, until people start leaving whole bags of trash.
Has someone ever told you “Don’t re-invent the wheel”? Again and again I read somewhere around the net that ’re-inventing the wheel' is one of the worse errors a programmer can fall into. In fact, I’ve read it so often that the only thought of doing it makes me re-think over and over other ways of solving (or ignoring) the problem.
But here, I advocate my pro’s (the cons can be found elsewhere) for re-inventing the wheel, or at least not being frightened of it.
My backlog of things happening is quickly filling, faster than I can even keep track of it. Just a quick overview
Summer trip to Iceland This summer we are going to Iceland for 17 days. It is some kind of tour-trip, where we have arranged accomodation and car rental and we just have to keep en route around the island to sleep where arranged each day. As an addition to this…
It had to happen sooner or later. This blog has been open, with a somewhat regular publication in English since March 2008, more or less a year ago. Before that, it was more sporadic, and used to be in Catalan, just to output some ideas or share a picture with a friend.
And the day had to come. To celebrate this approximate anniversary, I’m moving to my own domain and preparing a new look that will appear in about two weeks.
It is a widely accepted theory that the use of tools determined the development of the human brain. Nowadays, using tools is thus a quite common endeavor everybody does.
But ask a carpenter if he would use a jagged saw, or a draftsman a broken pencil. It is not only using the tools, but using the best tools.
But what is for the best tools? Using the best possible tools is not enough: you need to love your tools.
The pleasure and pain of time management In this post I’ll review some time management systems to get the most out of your workday. Of course, keep in mind that you also should have rest time.
Start strong Start your day doing some work for at least half an hour straight. You can do this at home, before leaving yo your office (if you usually spend at least 1h between getting up and leaving) or just on arriving to your office.
Maybe you remember my previous post about detection of copied assignments? Well, now I can say it succeeded. CJuicer is a flex script, generating a lexycal analyzer with a rudimentary parser of C code, it outputs a PostScript with the “logical tree” of loops, function calls and conditionals. Same trees, copied assignment (unless it is simple code, then almost everyone writes the same), without problems with changing names of variables. Thus it could beat diff.
I am working in my free time in an image processing related program, and this made me remember when I was taking a course in Signal Processing. One of the standard test images was the one above. Where does this historical image processing snippet come from?
Turns out (wikipedia link) it is a standard folklore image, dating back to the seventies, when a bunch of electrical engineers needed an image satisfying certain signal problems (it is, indeed, an image with a lot of significative details, when compressing, denoising or whatever: the hat, the uniform colour distribution except for a few patches of different color…).
Pieces of an ENIGMA machine, from Flickr
Assume you have a set of alumni, which are due an individual programming assignment. All have the same assignment (as it is hard to come up with several), and it is hard enough that copying from each other passes for everyone’s mind. As a teacher, how do you detect this?
From my point of view, there are fundamentally two different kinds of copy:
With Sketchbook Mobile
The concepts of “future”, “job stability” or even “location” are quite fuzzy when in Mathematics. I think I don’t know any PhD student who knows what he will be doing in 3 years, what he will be working on (not what he will be researching, but working…) or even where he will be.
1-2 years of Master+Master thesis
2-6 years of PhD thesis (3-4 years PhD grant+maybe some associated professor, 1-4 years)
Last weekend I attended a conference in Denmark, and a colleague I met there showed me the logo of his University. It is supposed to be a coral… but he said in every party they turn it 270º, so it is the “angry elk”.
Conference for 4 days in an old army place. Really nice, well kept and bought by the university. But away from everything, and everyone. And today my head hurts a lot… Maybe I should go to sleep now (2332). Tomorrow I have a really tight schedule… lot of work to do… And I’m feeling tired.
My month, starting
For the last two years, I have been really happy, living without a definite calendar. I just knew I had a meeting with my boss “next Monday”, or had a workshop somewhere “in the last weeks of January”. But these days I’ve come to realize I just need a calendar now… And finally managed to mix org-mode's events with standard emacs calendar+diary views. This calendar is emacs calendar’s mode standard one (I love its looks) but harvests information from org-mode’s headlines and timestamps.
September is to months as Monday is to weekdays
September is again here, like a new year in more than a sense. I have no new “New Year’s promises”, since the beginning of the year. In fact, most of the things I wanted to do are already done, on the way to be done or I gave up. Well, let’s summarize what I shall do these three months to end 2009
Taken from Flickr
Sometimes I view mathematical knowledge as a desert. Full of sand, some pebbles, some rocks. You can get easily lost in this dry sea, but you can also find a place to stay and add. And now, I can say I have added my small grain of sand: An entire transcendental family with a persistent Siegel disc (link to the preprint version in ArXiV). My first article, now officially “Awaiting Editorial Assistant Processing”.
Lavaurs algorithm on course
Like almost every year, August comes with a lot of pending To Do lists… This year, it is choking full, mostly of work related issues, and some unknotted threads waiting to be finished. And in two and a half weeks I’ll head for Paris, and then my “vacation” is over.
Yesterday I wasted my morning: bought my orange belt, set up the external monitor for my netbook, configured the printer, fotocopied two pages of a book and drank an horchata with a friend.
Sometimes I feel like a character from a RPG (or NetHack), where you have a certain level and experience, and as you advance killing monsters, your experience points go up, your level eventually rises and your enemies turn harder.
I guess life (or at least a mathematician’s life while doing his thesis) is more or less like this… Enemies appear, you overcome them, and as you advance, they get stronger, bigger and thicker.