Wednesday, 4 September 2013

The Double Tongue, by William Golding

Book cover I've reviewed two books of William Golding already and both of them were complex analyses of the human nature. This little novel, The Double Tongue, is similar in complexity. A note at the beginning of the text is explaining perhaps best why Golding's books are so great in details. You see, the novel was published posthumously, after a draft of it was found in Golding's belongings. He has already finished the book once, wrote another version and had started on another draft. No wonder his books were so reflective and self referential and connected to so many other works of literature or philosophy.

About the content, it is rather interesting, as it details the story of a girl in ancient Greece, just before Romans started dominating the country, who becomes the Delphi Pythia. The story quickly goes to the decorative role a "well bred" female would have had in those days, carefully instructed how not to draw attention, kept in total ignorance, all for the moment when she would be offered to a husband. After attempting escape from this fate, the only option her father has to "do with her" is to give her to a priest of Delphi called Ionides. Thinking she was going to become a servant of the temple, sweeping floors, she becomes the oracle. This is used to analyse concepts as religious sentiment, political use of faith and to describe the parallel system used in this world of superstition and showbiz.

I thought that it was a really short story. Told from the point of view of an octogenarian woman, it dwells on the adolescence, the initial shock of coming to Delphi, but very quickly skips entire decades to bring the conclusion. The title is relating to both the Python that the god Apollo killed in the Delphi cave, which gave him the forked tongue that said two things at once, but also to the double system of religious ecstasy backed by very real intelligence networks and the duplicity of people who either declare themselves religious while lacking the sentiment or the other way around . The story is inspired by Ion of Euripides and the ending is revealing only to a select few who understand the reference to a passage of the Bible (see here and here).

I can say that I liked the novel. It wasn't a "wow" thing like in the case of Lord of the Flies, nor did it cause me to feel more enlightened with the final reveal. Being that short and the last novel of Golding, there is really no reason not to read it.

Tuesday, 3 September 2013

The Magical Spot

I have already spoken of the incredible lack of Internet connectivity in the area or Ispra/Cadrezzate. Of course, they are only villages. In Romania you would be lucky to have a telephone. However, this situation has brought to my attention two interesting and strange things.

First, lacking the distraction of the web and of other people, I found myself rediscovering introspection. It felt like meeting an old friend, as my brain was beginning to spout ideas for movies or short stories, computer programs or blog posts. It felt nice and perhaps I ought to try this more often. Apparently, I will have the opportunity every weekend, but already the universe is working toward bringing me a cellular card, so I don't know if I will have the disposition. If you want to try it, go somewhere where you have no Internet, don't call anyone and don't take any other creatures with you, be them dogs, cats or humans, and stay at least two days. I am already after a month of not working, so if you find yourself focusing on work issues, you are not doing it right.

Second, I actually found a magical spot, almost no metaphor here. So strong was my need for connectivity that I actually found a place where a wi-fi connection was available and I could guess its password. It must have seemed weird to see a guy with a cell phone in his hand, triangulating wi-fi spots. The magical part of it is that the spot is on the sidewalk and restricted geographically to an area of 2 or 3 squared meters. Apparently the wifi comes from a clubhouse, but I could not find it in the area and whenever I make a step to exit the area, the signal strength goes down and disappears. If you are old enough to have played Quest for Glory, you know there was a magical area in the forest where you could sleep and find yourself refreshed, without fear of attack and even having a fruit tree that you could eat from. It's kind of like that. Now, I have no idea what Italians think when seeing a big guy standing in the sun on the sidewalk in front of a metal sign for Cadrezzate and either furiously tapping on his smartphone or reading some web pages, but at least I get to read my e-mail and RSS feeds.

The metal sign is probably the reason this works at all, it must function as an antenna. I wonder if my landlord will be OK with me trying to install big metal plates on his balcony... My search for Internet took me almost 2 kilometers away where, after unsuccessfully trying to find a bar or a restaurant with wi-fi and not being able to guess a single password from private networks, I found one that was an actual ADSL line! Couldn't guess the password for that, either, but for someone to have ADSL in this starved out region and not share it felt like a crime to me. Perhaps I will be able to get a contract for myself here, then share it in the building and become the hero! [Enter Quest for Glory: So You Want to Be a Hero soundtrack]
Anyway, tomorrow will be my first day of work here, so probably my hunger will be alleviated a little, otherwise I am half a mind to root my Android phone and then install wi-fi cracker programs.

Ispra, Italy.

This would be my first post from Ispra, Italy. There is no broadband Internet. Anywhere! I guess I will have some at work, but soiled by IT guys with God complexes who will filter every port that is remotely significant. When asking about it everybody recommends cellular cards that have "a flat rate" of 12 euros, which would be pretty cheap if it weren't limited to 2 GB transfer and wouldn't have ridiculous speeds. So probably I have a lot to say, but I will write blog posts when available. This one, for example, I am writing as a text file on my lonely laptop, hoping to get a chance to post it soon.

Well, after ranting about the lack of Internet access, which was probably the least of your curiosities, I can continue. I got here using the plane from Bucharest to Malpensa, which is one of the airports close to Milan. I've bought the ticket online, checked in online, they gave me a PDF to download, I printed it at a local printer service and so I had my ticket. Being a tall guy, I requested extra leg room and being a lazy guy, I requested priority boarding. In order to get from Malpensa to Ispra I would have had to take a train to Gallarate, then switch to one that would take me to Sesto Calende, then switch again for Ispra. This would have taken me 2 hours and a half, carrying the mother of all baggage. You see, my wife prepared everything that I would ever need in a single bag (except the Internet!!!). Well, screw that. I also ordered online a taxi cab to wait for me at the airport and take me to Ispra, which did cost as much as a third of the plane ticket. Estimated arrival time: 40 minutes.

So I woke up at , got clothed, took the dog out, read some of the news, got in the car with the wife, she drove me to the airport, I brought my printed ticket to the lady in charge, she took my baggage and that was that. I was ready for boarding at , when the plane was leaving at . You see, in Romania the public services have been so poor for the last decades that people still expect something as simple as a plane boarding to take hours. I spent some time with the wife, connected to the airport Wi-Fi, downloaded two podcasts and then went to the boarding gate. There I found a lot of people standing in a huge line. I went to the girl in charge and asked her what should I do, considering I had a priority boarding ticket. She said "well, take a seat and we'll call you". And so it happened. The entire line moved back to allow me and a few other people, mostly foreigners, to pass through. Then people with children, then the regular folks. I guess this is one of the few advantages of having a child. The disadvantage being that it could cry the entire flight to Malpensa, which one of them did! Luckily I had my new smartphone with me, which allowed me to listen to two podcasts and watch most of a Japanese anime film with my headphones on.

I have to digress a little here, as I have mentioned my new smartphone. The reason I've abandoned my trusted Nokia E60 is that the head of the new project implied we could be writing code that would work for cell phones, as well. Another reason was that I wanted something I could watch films on and also read books. Previously I would have used my other trusted device, my PalmVX, a PDA built in 1998 that still works perfectly. Unfortunately, the way to connect the PDA to a computer is either via Infrared or via a 9-pin serial port, which have long disappeared from computers and laptops. And since I could not bring my trusted Athlon 2500+ desktop PC with me, I had to buy a smartphone that is faster than the desktop PC, has more features than the PalmVX and also functions as a phone. Pretty awesome, in a way, but also pretty shitty if you think devices that are decades old could easily carry the load of most of the usage of this incredible device. They couldn't do fart sounds, though.

Anyway, I passed via customs instantly, had to wait for the luggage to arrive (which is always a lengthy process, probably because it doesn't interfere with the plane schedule and we've already paid). Then I went outside. A lot of people there, some were carrying signs with pen written names. There was a cute little chick there, with a printed A4 paper with my name on it. It was like in the movies when they do that. I felt pretty good. Apparently, the designated driver had some delays with his previous customer and so they've sent this girl with a big van thing, even if I had only paid for a small car. I am not one to complain, though, am I? Don't answer that! The girl was very polite, knew English well and we conversed until I got to my destination.

The residence, which is a sort of long term hotel, was right across the street to my new job. I checked in, conversing with the owner's wife, who is also Romanian, and at I was "home". By all accounts I will be living here for at least two months and probably for many years.

Next I phoned my new employer, who graciously invited me to a beer (he is Belgian, you see) and we got to talking. Well, things look pretty good, but also are really not well defined. I will not talk about details here, but let's just say that there is a deadline in two months and not many ideas on what exactly we are building. This is a Research Center, though, my new boss assured me, that's what we do: research.

My hotel is right across the street from my job, which is awesome, but one kilometer away from the nearest supermarket. Ispra is a small village, 5000 people or so living in it, and as far as I saw, there are a lot of small villages here, but very few services. You need a car to go to anywhere that matters, including daily shopping. Well, in a way that's the way in Bucharest, as well, but there are a lot more shops on the way instead of lizards running for their lives and squirrels running up trees. Supposedly there is a lake close to here that is warm enough to swim in, there are trees and green things (also known as plants) everywhere and it is rather chilly, which I love. One of the reasons I came here was to escape the horrible wet heat of my apartment, where my wife could not suffer air conditioning. Here I don't have air conditioning, but people assure me I don't need it, I will only need heaters for the winter. Well, let's hope so.

So after I've met with my new employer and most of the team (we will be five people in all working on this) I went shopping. I was very confident that 1 Km would be close enough to get to on foot. And I was right up to the point where I had to return with my hands filled with bags of stuff. But it was OK, I got myself some vegetables and eating utensils, even if later on I discovered I already had some. I went to sleep listening to music on my smartphone. The next day I made myself a salad, went for more groceries, and wrote this post.

In conclusion, I still have to get my "codice fiscale" without which I cannot buy things of importance (like cellular dongles to give me Internet), but other than that I am a brand new inhabitant of Ispra, of the Varese province in Italy. Although that is debatable, as well, since my job is certainly in Ispra, but my hotel seems to be in Cadrezzate. Next to do is explore the area, find some way to wash and iron my clothes, buy decent glasses, cups and water boilers, not these silly Italian espresso things, maybe get to lake Monate and swim a little and, of course, get myself some Internet.

Kara no Kyōkai

The main character under the anime title Kara no Kyōkai, translated in English as Garden of Sinners, but literally as Boundary/Border of Emptiness, is a strange little series of seven Japanese anime films. The lead is a girl who has a double personality, conveniently both named Shiki, but written with a different Japanese character. One of the personalities likes to kill people brutally, while the other is afraid of human contact. Enter Kokutou, a guy in the same class as Shiki, who falls in love with her and accepts her as being split like this and even covers some of her murders as he, after all, is in love with the one personality that does not kill.

Now, this is the least weird bit of the films. This story that I have been telling you is not told as linearly as I present it, but starts from the middle, then shows what happened in the past and future by flashbacks, prequel movies, and something that I can only call experimental movies, since they show scenes from what actually happens, but not in their normal order.

You see, after Kokutou starts camping outside Shiki's house to stop her from killing anyone, she attempts to murder him, only she can't and attempts suicide by throwing herself in front of a car. Only the murderous personality actually dies and when she awakens from a two year coma, Shiki has the Mystical Eyes of Death Perception, which see the seams that bind things to existence. Once you cut those, the thing dies.

In order to make her understand and control her condition another chick appears, one that is a magus. Yes, magic! I told you it was going to get weird. In the end, these three characters form a sort of private investigator agency that often deals with the supernatural and rogue magi.

All in all, the animation is rather good, the characters weird, most of them displaying some sort of emotional detachment bordering on psychopathy, but the story leaves a lot to be desired. just like the erratic order of the films, the story also jumps violently from brutal murders, criminal investigations, magic, philosophy and romance, making a mess of it all. It's not that i did not enjoy watching the films, but at the end of the seventh, when Shiki says "this is the end of my story" I couldn't actually feel it was any end at all. Perhaps the manga makes more sense, but as such, I can't really recommend watching it.

Wednesday, 28 August 2013

Spam has moved to copy/paste and URL hashes

One of my responsibilities is to create an email newsletter for some friends of mine. In order to do that I scour the Internet using Google Alert, RSS feeds and other nefarious means like that. The job consists of opening each page, copy pasting the URL, the title and then finding the most effective way to express the content of the page, which is often one of the first paragraphs. And what do I get when doing that? A sort of weird marketing spam that is as annoying as it is (in my view) pointless.

Here is what happens: first you go to a page using a normal URL, let's say you googled it. Once it loads you look at the address bar and see what is called a hash added to the URL, probably used to identify your visits for marketing purposes. Example NewScientist: mouse over the link to see the actual URL, then click on it to see what actually happens. I have tracked this to the AddThis scripts, when configured with the parameter data_track_addressbar:true. So in case you wondered if the site you are visiting chose to add that ugly hash there, yes it has!

Another thing that happens: You select a paragraph of a page, you copy it, you paste it in your email only to see added stuff to the text, like "See more - some URL". Check it out at Astro Bob's. Try copying something from the blog and pasting it into Notepad. The crappy string at the end is added by ShareThis, usually by its WordPress plugin. This time it was their fault, as they added some crap in the plugin. All Astro Bob has to do [hint! hint!] is to disable the feature.

Now all that remains is to understand why. According to marketing reports, the sharing of information on the Net via copy&paste is more than 80%. So they want people to be able to control what happens with the information they publish, and it is a reasonable goal, but this is not the solution. Instead, what users will do is either get annoyed with the spam they have to clear from URLs and pasted text or, and that should concern the site owners, not copy from them at all. And if you thought having your information disseminated on the Internet without your knowledge and/or consent was bad, wait until nobody cares about it at all.

Sunday, 25 August 2013

Re-boot

I wrote a bunch of posts regarding my past employment, but said nothing about the new one. In fact, I was a bit superstitious, didn't want to jinx what was going to happen. Now it shall all be revealed! Well, long story short I will be relocating to Italy (re-boot, get it?)and working at the European Commission's Joint Research Centre in Ispra. That's it, cheers!

Just kidding. How does one get to, first, have the opportunity in the first place and, second, actually decide to go? For the first point I would have to say pure blind luck. I happen to have a LinkedIn profile that shows a lot of experience in the field of Microsoft .NET and so they called me, since they needed someone like that, and I turned out not to be a complete wacko (only a partial one) at the interview. The second point is actually the most complicated. Most Romanian developers of my experience are rooted, so to speak. Married, many with children and obligations, relatives and social circles, they often find it too hard or completely impossible to relocate to another country. Luckily for me, I have no children, I don't have any social circles to talk about, I will probably talk to and visit my relatives just as much from Italy as from Bucharest and I have one of the most understanding wives one could want. She stays behind, at least temporarily, to mind the fort, continue her own career and take care of the dog, while I go on to the adventure of my lifetime.

I may be exaggerating, but I will check out several experiences that I have never had before:
  • living alone - I know it sounds strange, but in 36 years I have never lived alone. I was either living with my parents, with my business partner or with a girlfriend or wife
  • living in another country - I have worked in Italy before, a few disparate weeks, but never lived in another country for long enough to understand the local culture and experience the way locals see the world
  • living in a small town - Ispra is a 5000 people enclave, so it's not even a small town, more of a village
  • working for the European Commission or some other governmental organization like that - I am afraid of the bureaucracy, frankly, I hope there is some sort of separation between devs and that sort of thing
  • working with actual new technologies - I thought there are some people that inflate their resumes in order to get jobs they don't really deserve, but I never imagined that most companies would misrepresent themselves to appear more attractive as a workplace. I've heard a lot about what great new project I will be working on, only to be relegated to some legacy crap that no manager wants to rewrite even when it's bankrupting their company. Oh, I really hope the JRC people didn't bullshit me about an ASP.Net MVC 4.5 web site with Web API's, AngularJS and Google Maps.
  • staying separated from my wife, but not being mad at each other - not that I have ever stayed separated from her while being angry, but still. Our relationship started as a long distance one, since we were living in different cities, and only after a year we moved in together. I am curious as to how this reversal will affect us. I believe it will strengthen our bond, but there are alternative scenarios.
  • working and living in a truly multicultural environment - the place will have Italian, French, German, Swiss, Romanian and who know what many other types of people. I will have the opportunity to relearn all the European languages, express myself in them, learn about other cultures from the horse's mouth, so to speak.

All in all, this is the gist of it. You can see that I am excited enough (setting the stage for future disappointment). My plane leaves Bucharest next Friday, on the , while actual work begins on the . Hopefully this will generate a deluge of technical blog posts that will compensate the lack experienced in the last two years.

ASP.NET MVC 4 Recipes, by John Ciliberti

Book cover When I first opened the ASP.NET MVC 4 Recipes, by John Ciliberti I was amazed. It seemed to transcend the reference book and go into a sort of interactive path thing. You know interactive books, where you read the book and at certain points you get to choose what the characters do by going to read one page or another? This is what Recipes seemed to be. You get to a point where the author tells you which chapters to read and in which order based on your role in the organization. That is and will remain a wonderful concept and I would see more books steal it for themselves. However, the actual content of the book did not feel as great as its presentation, I am afraid to say. This is not to mean it is a bad book, only that I expected a lot more from it from reading its "mission statement". The book is Microsoft centric, obviously, but it says very clear that it will solve problems with Microsoft products as a rule. For example it favours KnockoutJS as a JavaScript framework. But that's not really annoying, though.

I think what bothered me most was that the content was all over the place. There are some chapters in which there are specific problems. The problem is described, then the solution is provided. Very nice. But then there are some problems that are vague and general with a very specific solution, lending a lot of lines to some issues and moving past others in a hurry. Of course, I would have liked all of the problems to have their own book and that was impossible, but the compromise here did not feel as great; I thought some of the problems were not really something someone would have more than once, and sometimes never, so using the book as a reference helps only so much. Some examples of problems to be solved: You would like to begin working with ASP.NET MVC Framework, but you do not understand the MVC pattern and why it is beneficial. - why would you start reading an ASP.Net MVC book if you don't even understand the MVC pattern? You would google something first. Or: You have started using the new .NET asynchronous programming pattern and love its relative simplicity compared to other programming models. However, you would like to have a better understanding of the code generated by the compiler so that you can improve the designs of your asynchronous methods. So you jump from not knowing what MVC is to wanting to read IL. Maybe I am just mean, but it soon turned into a very hard to read book from jumping from one issue to another like that, from level to level. Not to mention some "loaded" problems that have a description several lines long in the form of "you have found that your company strategy sucks, because of 1,2 and 3, and you want 4,5 and 6 because 7,8 and 9". It doesn't sound like my problem at all :)

Bottom line: I have not started working with ASP.Net MVC, yet, nor do I believe that my first job with it would be as an architect, so I will have an opinion on how it works in real life in a few months, probably. The book seems useful now, but not the ASP.Net MVC start to end tutorial that I wanted when I started reading it, and maybe that is why I had such a critical eye for it.