Log in

Gillette's Journal

Date: 2016-01-08 18:21
Subject: Yet more Coursera
Security: Public
Tags:acads, computers

I did two more Coursera courses since the last time I wrote about this. Here are the reviews. YMMV. Ratings out of 5.

Fundamentals of Music Theory

An excellent course taught by several faculty members of the University of Edinburgh. I was always interested in musical notation but never knew what the lines and squiggles were for. This course taught me those things and many others. For example, the whole thing about seven notes being more or less a scam and the twelve semitones and what the black keys on the piano stand for. My mind was blown.

Seriously, this course taught me so many things that I was completely ignorant of that I loved it perhaps more than it deserves. I can tell you by looking at musical notation what key and time the piece is in. Give me an hour and I might even be able to tell you some chords in there. I never thought I'd be able to do that after just one course.

Of course the course is theory only. They try to play some music and say did you hear how that diminished major chord sounds off, and things like that, and I was like, heck no? The overall effort required was medium, except the final exam was quite hard and took a while. That exam also had several things that werent truly taught in the course, and others I got wrong because I have no ear. But whatever, this was still a vastly enjoyable and informative course.

  • Duration: 5 weeks
  • Effort: ~5-6 hours per week, somewhat more for the exam
  • Rating: 5 stars
  • TLDR: Awesome first music course.

Cryptography I

A reasonably challenging course (but nothing like Programming Languages) about various aspects of cryptography. Covers modular math and probabilities, some game theory, various protocols, ciphers, public key encryption, key exchange.

The course has a lot of material, but could have done with some structure. It often seems in the course that you are learning about the trees but not the forest. I mean the professor should make you understand using teaching skills, and this is a bit lacking here. A top down, example driven approach would have helped a lot.

But perhaps I'm too harsh. I thought I'd be interested in this topic, but you know what, cryptography is boring. Too much acronym soup of protocols (I swear there was one time an acronym whose one letter stood for another acronym whose one letter stood for another acronym). Too much low level stuff that is more information than knowledge if you know what I mean. There is a perfect adjective in Marathi which comes to mind for this subject: किचकट, which has connotations of annoying minuteness and complexity.

However I did enjoy the modular math and to an extent the game theory stuff. The best thing about the course is the homeworks and optional assignments: they are top notch. I'd highly recommend doing them all and taking notes during the course as the professor says in his introductory lecture, else retaining anything about the course could prove to be impossible.

  • Duration: 6 weeks
  • Effort: ~10-12 hours per week
  • Rating: 4 stars
  • TLDR: Exhaustive, very good assignments, approach could be better.
Post comment | Share | Link

Date: 2015-09-08 11:50
Subject: Games people play
Security: Public

Every family has their invented games, and ours is no different. This is a list for future record, else I know we will forget.

  • Abeduba: This is the world's sillest game. A is lying down. B says, wow what a nice pillow I'll sleep on it, and lies down on top of A. A must then say, abeduba abeduba I'm A not a pillow, and B has to get up. This started when An was little and for some reason we still play it. Part of bed games (see below).
  • Kapus: This was invented by my cousin when we were little. A lies down. Everyone else climbs on top of A and keeps saying "kapus, kapus". A must then get out from under. Why kapus (cotton)? No one knows.
  • Dum: This is not really a game, it's somersaults back and forth over my head with me helping. Name is onamaetopoeic from the sound of kids landing on floor. Part of bed games.
  • Thomas: A variant of musical chairs. I am the chair, and hum tunes closing my eyes (but really keeping them half open to make sure kids are tied on points at the end). Part of bed games.
  • Full body walkage: Part of bed games. Not really a game at all. I lie on my stomach and kids walk over my body. It's just a way for me to get a massage. An wisened up a while ago about this not being a game but is sufficiently anal to do it just because it is part of bed games. He does only full leg walkage now else he'll break my back.
  • Wrestling: A full on violent game. Used to be part of bed games but An got too big and we kept falling off the bed and threat of injury became real. This is your typical wrestling, back touching the ground loses. I sit to even the odds. I havent won a single point against An in a long time.
  • Bed games: Name for game session on parents' bed. Comprises of abeduba, kapus, dum, thomas, full body walkage, and earlier wrestling. Ends with An making a "chocolate bed" (his invented name for how beds are made in hotels) while Nu and I lie in bed.
  • No entry: This is a real game, played in our living room which has two entrances. A is "it" and must stay in the living room. The others are on the other side of the wall and must come in thru either entrance and reach the sofa without letting A tag them. This wins them one point, however if they move the sofa, they only get half a point (because I have to move the sofa back). Person who reaches five points first wins.
  • Hiccup garak purup: This is a variant of memory game. I make a series of fake bodily sounds (garak = burp, purup = fart) and kid must recite back what the sounds were in correct order. For some reason everybody else finds this game disgusting. But we're thinking of adding cough, thoo (spit) to the game.
  • Dora the explorer: I am Dora, Nu is my backpack. I act out some #typicalDoraThings like going to the library. We bring out the map which becomes An, and then ask him directions. He gives us directions to like the basement, then we follow them. Both kids are too old for this game now (I dont know why with this game but not with abeduba).
  • Bundanyabba: A very silly game indeed. Everybody rolls a die in turn and predicts the number. They get a point if they're correct. First one to five points wins. Name comes from the outstanding Australian movie Wake in Fright where they play a similar but even siller game in a town called Bundanyabba.
  • Wipeout: Basically an American football running game. Hold the ball and get to the wall before others topple you or hit the ball out of your hand. Started off more freeform like the tv serial of the same name.
  • Donkey: This is your typical catch game where you add letters when you drop the catch (D-O-N-K-E-Y), until you become Donkey. Our variant is the person must then act the part. This gets very emotional when the words chosen are something like ToiletPaper. The kids get a bounce catch while they throw me fastballs.

Well that was fun. I should do this also with words one day, you know those special words that are used only in the family and are incomprehensible to everybody else.

Post comment | Share | Link

Date: 2015-07-04 12:06
Subject: Recent movies
Security: Public

Brief reviews and ratings (out of 5) for some recent movies I saw.

A Girl Walks Home Alone at Night: Touted as an Iranian movie, but about ten minutes into the movie, you realize it isnt. It is instead a hipster LA movie made by people of Iranian ancestry. There's a difference. Iran actually makes good movies like Children of Heaven, and for what it's worth, they seem to have been spared the hipster revolution. This movie is pretentious to the core (not just the title), and overall is just shockingly bad and overrated. It has about ten minutes of plot and two hours of characters playing music the director likes while staring into each other's eyes. In my imagination the director, a young woman in suburban Los Angeles, watched Sin City and thought it was cool. Then she looked around the room while on her ipod and saw Iranian artefacts. Lightbulb! 1 star

Boyhood: Starts off well but gets boring after the third marriage – when the kids grow up. The high school kid is extremely annoying and poorly written. The director has inserted himself into the character, never a wise move, and certainly not with Linklater who does it in every fucking movie. But the early parts are good, especially the second husband. Also the sister (Linklater's daughter IRL) has done really well, especially in the scene where Ethan Hawke talks about contraception. By contrast, the Boy of Boyhood is not a good actor. 3 stars

Interstellar: I didnt like Inception, which I should rewatch and post a scathing review about, and this one is even worse. Terrible acting by McConaughey and Hathaway, and even Michael Caine phones it in, and I'ver never seen him do this before even in crap movies. There are 15 minute long scenes of people explaining things to people which should never happen in a fucking movie. It's like reading an academic book except it doesnt serve to enrich your knowledge in any way. The "suspense" scenes, such as they are, are all expectation and no payoff. I mean, they did nothing with that wave! Other than poorly acted and directed, utterly boring and overlong. The revelation is decent enough, although when he does the watch thing, I want to be like Kramer, "Why dont you just tell her the solution of the problem?" Also the Law & Order style ending bars play for 15 minutes here, spitting in your ear, "Did you see how fricking cool that revelation was? We showed you didnt we? Are you blown away? Are you? Are you? Are you?" And there's even a fucking epilogue like they just made an epic. I thought I'd never say this but I miss Shyamalan. 2 stars

Whiplash: Probably the best of the sports/underdog genre, and let's face it, it's a terrible genre. Every such movie claims to do something different; this one actually does. No, not the fact that it's music, but that the protagonists and events are different from the genre movie. Very good acting by both the main guys. The ending shouldnt have been a solo. 4.5 stars

Nightcrawler: Superb movie. Great acting by Jake Gyllenhaal. It's a pity that he didnt even get a nomination when he should have handily won the Oscar for this role. Oscars are as bad as Filmfare now. The outdoor cinematography is excellent, you feel the night air of LA, and the driving scenes are excellent too (why is it that great action only seems to happen in non-action movies?). I wont mention the story to avoid spoilers. Easily the best movie of last year, and what a debut by director Dan Gilroy! 5 stars

Margin Call: Watched this because some critic said Nightcrawler was the best thriller since Margin Call. Currently rated 7+ on Imdb and almost 90% on Rottentomatoes, this will make you lose faith in moviegoers and critics and demand regulation in what genres movies are allowed to use. A thriller should have motion. This one doesnt. It should have suspense. This one doesnt. Action. Nope. The awfulness of this movie beggars belief. Apart from one good monologue by Bettany (Maturin of Master and Commander), about how the normal people are to blame for the mortgage crisis, there is nothing in this movie. People have inane and fake dialogue, and the same inane and fake dialogue over and over again. Someone says, I dont like this and I want to quit. And their boss says, why dont you stay for a while. First person says mmkay. That's it, no motivation or anything. And they do this multiple times. It's just a bunch of words filling time because the screenwriter cannot write proper dialogue. I swear it feels like they made the actors just improvise because they found out they were running an hour short. Also the low budget. They got all these actors, and there are zero production values (which by itself should prevent a movie from being touted as a thriller). Continuity errors? Yup, they mention the time is past midnight, and they show no people on the streets, and suddenly they are stuck in traffic. Poor casting? Yup. In which angle does the Mentalist's Simon Baker pass for a Jew? An absolutely terrible movie. 1 star

Post comment | Share | Link

Date: 2015-06-30 14:16
Subject: More Coursera
Security: Public
Tags:acads, computers, language

I did two more Coursera courses since the last time I wrote about this. So here are the reviews. As before, YMMV for effort.

Programming Languages

Every programmer who doesnt have a programming background should take this course. What an amazing course! The teacher, Dan Grossman, is exceptionally good. He writes code in front of you while talking. Amazing multitasker you think at first, then he confesses he's just copying the code, but what a brilliant way to teach nonetheless. And come to think about it, even copying code while talking out the concepts lucidly without pausing or stumbling is pretty serious multitasking for me.

The course teaches all the usual programming language aspects like recursion, mutation, scope, currying, types etc. It uses three languages: ML, Racket (a Lisp dialect) and Ruby. ML in particular is a wonderful language to learn, and has constructs such as pattern matching which I hadnt seen before.

This course is long and challenging. The assignments are tough. In one, you actually code a language interpreter. That took me a while. Discussion on forums helps a lot. Also other MOOCs often give you unlimited attempts at homeworks and exams. Here, you get one. This along with its content and length makes it much closer to a real course than other MOOCs, certainly any I have taken. It is not for the casual MOOCer.

Is this course perfect? Not quite. Grossman is proud of his conciseness, but sometimes the questions are too concise, and actually ambiguous. This is rare and easily cleared up in forums. The somewhat more serious issue is Grossman does not like object oriented programming and it shows. A better assignment is needed for OOP: the Ruby one is more illustrative of the pitfalls of OOP than a good usecase for it.

Still these are minor nitpicks. This is easily the best MOOC and one of the best courses, classroom or otherwise, that I have taken.

  • Duration: 10 weeks
  • Effort: ~10-20 hours per week
  • Rating: 5 stars
  • TLDR: Challening, superbly taught, one of the best.

Miracles of Human Language: An Introduction to Linguistics

As the title has it, this is an introductory language course. Various aspects of linguistics (phonology, morphology, semantics, social aspects etc) are briefly discussed.

The best thing about this course is the "field" stuff. There are guest speakers of 6 different languages: Chinese, Turkish, Berber, Basque, Abruzzese (really a dialect of Italian but try telling that to the speaker), Gungbe. There is a lot of variety in these languages, which was very nice to experience and learn about. I wish there was more emphasis on these speakers, and they had been asked to speak more.

Now for the less good aspects. This course is very "modern", perhaps too much so, at least for me. The emphasis on social stuff and media and all that takes attention away from the actual learning. The discussions the professor has with his two students have very low information density, that time could have been spent expanding the course material more. The guest interviews with Noam Chomsky etc are a big achievement, but were they really necessary for learning? Unfortunately, it seems there is little that you will actually learn from this course, even though it may seem interesting. (The reading material is top-notch however).

The biggest problem I had with the course is the ambiguities. Coming from a science background, it was hard to comprehend how a multiple choice question could have any number of "correct" answers (including zero), and you have to magically pick the one the professor thinks is most correct or least wrong. As an example, a question which asked whether all languages originated from one common ancestor had the choices "certainly; rather likely; rather unlikely; impossible". In the lecture the professor talked about this vaguely, stating that all this is mere speculation, yet the "correct" answer was "rather likely". A cursory googling tells you there is absolutely no consensus about this, yet in the course canon, sans any explanation, it is "rather likely" that we all had one language ancestor! Another example is from a quiz where you are asked to refer to a language resource site to answer the language status of Abruzzese. The site says Abruzzese is a dialect, but the correct answer here is (effectively) "it depends", probably because of influence from the aforementioned Abruzzese speaker.

This sort of thing abounds in this course, and frustrates me to no end. There were several other questions in the quizzes and final exam where I was like, none of these choices are correct or wtf the study doesnt even talk about any of this stuff. Also the general contextual ambiguities, eg. Q: which property does human language have in common with the communication of bees? A: displacement. But Q: which property distinguishes human language from animal communication? A: displacement. I believe there is a certain fluidity your brain must achieve to be able to do well in a humanities course, which can only come with practice. In other words, they are not quite testing your knowledge but your... perception?... or is it conformity? In any case, I dont like it.

One of the things I learned from this course based on looking up reading materials etc, is that the whole field of linguistics is very Western centric (as are the teachers of this course). Western languages are microscopically examined, and on the other extreme there is a big push to preserve rare languages, but the "middle" is seriously understudied. While there are articles and articles about where in the mouth the O sound is pronounced from Yorkshire to Boston to Indianapolis, the La sound in Marathi, a top 20 language, doesnt even have a symbol in the International Phonetic Alphabet.

  • Duration: 5 weeks
  • Effort: ~3 hours per week
  • Rating: 2.5 stars
  • TLDR: Easy, too ambiguous, more entertaining than informative.
Post comment | Share | Link

Date: 2015-05-25 16:12
Subject: Coke Studio Pakistan
Security: Public

Pakistan, I am jealous of your fast bowlers and your music talent. I have been listening to Coke Studio for the past two months and it is by far the best music I have heard out of the subcontinent in the past two decades. It is fusion done right - with superb orchestration and musical arrangements the likes of which India has failed to achieve. Rohail Hyatt, you are a genius.

I am not a big "fan" of music, I listen to my pet things every once in a while and dont keep much track of happenings. So the first time I heard of Coke Studio was in a superb cricket article by perhaps the best cricket writer of the modern era, Osman Samiuddin (I am jealous of Pakistan for him too; trade him for Harsha Bhogle?). In this he mentions Coke Studio's "Chori Chori" as having haal or a state of ecstasy.

So sure enough, I listened to Chori Chori on youtube and was blown away by the end. Then I started listening to other Coke Studio songs and was blown away a few more times. So without further ado, here are some of my personal best of Coke Studio, in chronological order. I have seen nowhere close to all, so I may have missed a lot more good ones. It is all on youtube, and should be watched with CC on to get the lyrics and meaning, else you will be like Sanjiv Kumar in Angoor (aap mujhse urdu mein kuchh bol rahe hain?).

  1. Garaj Baras, Rahat Fateh Ali Khan & Ali Azmat

    From season one, a Hindustani Classical number mixed with hard rock. Not one of my top favs from the series, but full marks for effort. I just love the fact that they havent held back here.

  2. Paimona, Zeb & Haniya

    A mellow one and sweet, from season two. This is in Pashto, which to my ears sounds quite like Bengali with the rounded vowels. But be warned, the song is sticky. Nice rabab (the Kashmiri instrument) playing.

  3. Alif Allah (Jugni), Arif Lohar & Meesha Shafi

    Season 3 is where Coke Studio gets into its groove. This is by far the most popular Coke Studio song, and it's pretty darned good especially the singing, but not one of my favourites. Still, it belongs in this list.

  4. Ramooz e Ishq, Abida Parveen

    Mindblowing, mesmerizing stuff. Totally raw. Superb singing, Parveen gives it her all. For that reason and her look, she kinda reminds of Janis Joplin. This is what fusion music should be like.

  5. Chori Chori, Meesha Shafi

    An old Punjabi folk song, modified into a slow burning buildup with a devastating final act. How do you make a simple folk song into this? Samiuddin is right about haal. This is brilliant, original, genius stuff. Still my favourite from the Coke Studio series. And can I say Meesha Shafi is awesome? Btw notice our Hridaynath Mangeshkar has stolen the original song for Yara Sili Sili. Why do even the good Indian musicians do this, I just dont get it.

  6. Bibi Sanam Jaanem, Zeb & Haniya

    An old Dari (Afghani language close to Farsi) love song set to an excellent rock arrangement, even has the rabab played to great effect (it's within the song too, and it melds perfectly). Zeb's singing is a little too plain for rock but her voice is sweet, and it works. Nice tune and very hummable. Also who cant help loving a song where you can call your beloved a pomegranate?

  7. Daanah Pah Daanah, Akhtar Chanal Zahri & Komal Rizvi

    A Baluchi folk song from season 4. This video has two songs in it: ignore the second, it's just Rizvi and she's not a very good singer. But the first song is very good: Zahri is terrific and Rizvi does decently to keep up. I wish they showed more of the dancing man in the video.

  8. Wah Wah Jhulara, Chakwal group

    An old Punjabi folk song sung at weddings, from season 5. This group is raw and real, and the singing and arrangement are excellent. I even like the backup singers going Param pam pum pum.

  9. Dasht e Tanhai, Meesha Shafi

    Heart rending, toe curling singing. Who is this Meesha Shafi? Where did she come from? Unbelievable. This is an Urdu poem written by Faiz, and the poetry is some of the best you will read (a better translation than the in-video one is here). Everything about this song is perfect.

  10. Sab Aakho Ali Ali, Asrar & Amir Zaki

    From Season 7, which doesnt have the original producer Rohail Hyatt. Real rock from the subcontinent, reminded me of the music from Rock On. This is how Sufi rock should be, sorry Rahman. It's loud, it's fun, and Zaki looks fucking cool playing the guitar (he looks like Bourdain too). What more do you want?

Post comment | Share | Link

Date: 2015-04-18 17:41
Subject: Programming for the masochist
Security: Public
Tags:computers, rants

The best job for a masochist programmer is to develop code for a supercomputer. Here's what a typical project looks like.

  • You first get accounts. Administration happens. This takes about a month.
  • You need to port your code there. You realize that for security reasons the computer is virtually off the internet. You need to secure copy everything.
  • You cant ssh there from everywhere either. First you typically ssh onto an approved spot, typically a university or lab connection. Then you ssh onto that supercomputer's entry gateway. Then you ssh onto the supercomputer.
  • The supercomputer will have a weird architecture. A lot of things that your code might rely on may not support it. Closed source third party libraries, commercial version control etc, forget it. With version control, you do diffs and patches every once in a while. That's painful enough. With closed source, you look for open source alternatives, which you must compile yourself because nobody has done that before. If you cant do that, you are SOL. Well let's say a month or two later, you have worked out the issues and are ready to run your code.
  • Obviously, you cant just expect it to start when you want to! Even if a thousand nodes are available and your job requires thirty two, you must wait because the batch processor deems this is necessary. You really have no idea when your job will run.
  • Your code ran but failed. Everything on the machine is restricted, like quota. You forgot that your code writes out a rather large file. You must now run your code again in a different area from your home directory.
  • Code failed again. Oh that area on that account has disk space issues too? You ask for more quota. For security reasons, you are given a different account with a larger quota in its large quote space. Again administration happens.
  • You got the new account with extra quota. You copy your executable there and run the code again.
  • Oh shit. You forgot to copy the startup files from the first account to the second account. Your code didnt run. Keep in mind that every time the code runs takes about half a day to a day because it's a batch system.
  • So. You ssh to the approved gateway. Then you ssh to the supercomputer gateway, to the first account. Then you scp the required files to the second account. Then you ssh to the second account. Then you ssh to the supercomputer. Then you start the batch script to run the program.
  • You forgot now that the partitions on the supercomputer work weirdly so you cant use thirty two nodes where you told it to run. So the job just sat in the queue, sat in the queue, sat in the queue, until you realized what was up or asked support about it. Because no way the admins are going to do something as helpful as having the batch script give an error if it cant handle what you told it to do.
  • Now that you finally know exactly what to do, you ssh but it dont work. It's Thursday, time for the weekly maintenance. Yes! The entire machine is down one day every week. Not kidding.
  • Well for a month you were on something else that needed your time more (or to preserve your sanity). You didnt pay attention to the weekly emails written by one of the sysads (actually a PhD student) – emails whose Subject is always "Scheduled maintenance" but the body of one of the emails said it would delete your account if you didnt act on some additional security thingy in a week. You didnt act. Your account is gone.
  • So you deal with a sysad who says "all our emails are important and it's your fault for not reading them and reminder emails are for losers" (paraphrasing), and you somehow, painstakingly, three weeks later, bring everything back. But now the supercomputer will be off-and-on for a month because they want to make system upgrades.
  • Finally you run your code. The CPUs on the supercomputer are about five to ten times slower than what you were accustomed to. You didnt increase the timeout five times in your head. Your job timed out.
  • You increased the timeout. Your job failed. For valid reasons at least. There's a bug in your code.
  • You build the debug version. Turns out you cant use the debugger due to licensing issues. That's okay, the GUI was horribly slow over the network anyway.
  • Well guess what. Debug libraries and executables are big. You run out of disk space – again! Another day passes while you adjust things in your two accounts just right so you dont run out of disk space.
  • You try to use the free debugger. Of course this still means adding a job to the batch – and hoping that it runs when you are around to debug it. So it requires a few tries.
  • Anyway it doesnt matter because the debug code runs ten times slower than the optimized code. Ten times ten, that's like a half an hour job taking two days. So you realize you'd need to debug your code for two days. But of course, the maximum time limit for a job on the supercomputer is one day. This means you cant debug your code in a debugger at all.
  • You ask for more timelimit. Administration happens. Meanwhile you use "print statement debugging" with optimized code. Every time the code runs takes a day, because of the batch and general slowness, so if you missed a print or something, it takes a day to run again.
  • So six months after the project started, you fix the bug and have your first successful run. You feel so happy you could cry.
  • But then you realize you have more bugs. And the disk space ran out. And the machine has more system upgrades. And they changed the batch processing settings. And you forget to ssh to the right spot one out of every five tries because you miss one of the five steps to ssh there. And you changed a startup file or improved an alias but didnt scp it to the right spot again. And you forgot to delete the output of your previous unsuccesful run and your disk ran out again. And on and on and on...

Everything above is from personal experience by the way, though I may have mildly exaggerated things. Yes, I even lost my account because of the "Scheduled maintenance" emails, true story. It's a wonder my forehead is still intact from constantly beating it on my desk.

1 Comment | Post comment | Share | Link

Date: 2014-12-29 13:28
Subject: The Internship
Security: Public

There is no product placement in The Internship. That's because the term "product placement" is meaningless in an advertisement. This "movie" is not just a two hour ad for Google, it's a creepy, evil-corporation-vibe two hour ad for Google. Here's an example: the female lead works super long hours at Google because she truly believes Google "makes people's lives better". Here's another: Google has "made a search engine into an engine for change". A third? Buying ads on Google helps a family business expand into a franchise because "people are always searching for something and [Google] just wants to help them find you". Not enough? Google makes the male lead "a better person". No, not things that happen to him at Google. But Google. Google. The existence of Google makes him a better person. Top that.

The conceit of the whole premise is unbelievable. There is a Lord of the Flies type competition for the chance to get employment at a company. This is not some post-apocalyptic world where people are dying and this is the last way they can live or whatever. This is set completely unironically in the current world. I actually thought that this cannot possibly be real; that the movie might have some saving grace, like at the end the winners would say thanks but no thanks, we will start our own company, or something. But no, this movie makes a gullible dolt out of a cynic like me.

There are really no depths to which this movie has not sunk (and I'm not even talking of the gratuitous, sexist, overlong nudie bar scene). You know how they say about bad movies that they should pay you to see it. Of this movie it is literally true, because they do pay you to see ads. The most cringe-inducing, soul-crushing bad movie I have seen in a long time. Everyone involved in the making of this movie should be embarrassed for having sold their souls.

Post comment | Share | Link

Date: 2014-12-29 09:32
Subject: Tendlya's autobio
Security: Public
Tags:lit, sport
  • Skimmed through Sachin Tendulkar's autobiography (Playing it My Way). Skimmed because reading it all is impossible. The obsession with numbers and personal milestones is palpable and makes for boring reading. The title is telling.
  • Devotes entire chapters to the hundredth hundred, even having a Deewar like monologue with God when he does it (yes he is literally mad at God for making him wait so long for a made up statistic). Takes no blame for having lost India the match and series on account of his selfish play. Instead blames people for thinking so. And blames the bowlers by pointing to another match saying we restricted a better team to fewer runs, promptly forgetting that we scored more against them too (Sachin made 6). Childish as hell.
  • Seems petulant about poor decisions yet I didnt see one admission of a wrong decision going his way. Says the "shoulder before wicket" would never have gone on to hit stumps: has he not seen the replay, or does he truly put himself above the truth?
  • Says nothing controversial about match fixing etc, instead wants us to know what food he likes.
  • Says nothing about BCCI arranging an easy series for his retirement, instead says he had to "rethink his plans" because BCCI did so.
  • Tends to blame other people for his mistakes (scorer added extras to his score; Imran's field position made him drop Kapil in a charity match) and plays up his sacrifices (ran himself out for Azhar, played with fever etc).
  • The worst thing in the book is him blaming Dravid for the 194 declaration by saying Dravid played for himself in a different match and cost India a match and series win. Firstly, no one ever has called Dravid selfish, he is one of the most selfless players to have ever played the game. Secondly, he did not complete his century in that match, and has never made this an issue: that's because he is Dravid, not Sachin. Thirdly, he wasnt the captain and it was not his decision to declare. Fourthly, he was scoring faster than Tendulkar. Fifthly, this didnt cost India the match because we had the Aussies 6 down at the end, a far cry from a win. This is such a complete misrepresentation of the facts by Sachin, that it is – no, not laughable – pitiable.
  • Yes, that's basically the takeaway from this book. For one who has gotten so much by playing a game well, Sachin should be fucking happier.
Post comment | Share | Link

Date: 2014-06-02 12:31
Subject: Coursera
Security: Public
Tags:acads, computers

This year I made a New Year resolution to do some online courses (aka MOOCs), primarily to increase my knowledge in areas of interest. So far I signed up for five, out of which I completed four and dropped one. They were all at Coursera, and all free (you can pay for a verified certificate but that has no appeal for me). This is a brief review, FYI and for my own records.

Note: the effort and rating (out of 5) are from my perspective. YMMV.

Heterogeneous parallel programming

The first course I took was UIUC's Heterogeneous Parallel Programming. The title is a little fancy; it's a GPU computing basics course that primarily uses CUDA C – it also has a couple of trivial assignments in OpenACC and OpenCL.

The course material is excellent. Coding was challenging initially because GPU computing needs a different thought approach from what you're used to with CPU computing (even multithreaded CPU computing). Later on it got easier as I got more used to the thought process, and also the assignments with OpenACC etc were easier.

The problem with this course was the handling. There was virtually no peer review. Solutions to assignment questions weren't even provided so you were on your own! You couldn't run others' code without jumping through a lot of hoops. How do you review code you don't even know will run? Plus I did all my peer reviews (some 24 of them), and got only 5-6 in return. This means the peer review system was not even functional most of the time, forget useful. The online system for running GPU code broke down often as well. Towards the end of the course, the handlers gave up and made peer review optional (and botched that up by not giving marks to those who had completed it). The last quiz was weeks late. The final grades were a month late. On the plus side, none of this is fundamentally difficult to fix.

  • Duration: 9 weeks
  • Effort: initially ~10 hours/week, towards the end ~6
  • Rating: 3.5 stars
  • TLDR: Good material, bad sysad

Functional analysis

The second course was Ecole Centrale Paris's An Introduction to Functional Analysis. This was an incredibly difficult course. I somehow managed to get through the first week. Once had a dream about open and closed topological balls! Then it got more difficult. There's a large gap between the lectures and assignments (which they need to fix – they need 4-5 hours of lectures alone per week for this course). The material is immense, suitable for about four courses. Not for the weak hearted or those without math degrees or without a lot of time on their hands! I gave it up in week two.

  • Duration: 8 weeks
  • Effort: at least 25-30 hours per week
  • Rating: unrated
  • TLDR: I'm glad I'm not in college

Interactive Python

The second one I actually completed was Rice U's An Introduction to Interactive Programming in Python. This is an elementary programming course in Python with emphasis on beginning game development.

As I'm a programmer, the programming was very trivial. I signed up because I don't know much Python or game programming, thinking I'd give it up if it was too easy. It was actually quite easy, but still enjoyable. That's because this is an incredibly well run course. The teachers have put a lot of effort into making this one of the best online courses available and it shows. The lectures are good, the assignments are good, the online code system works, the peer review works, the instructors are involved in day to day activities, and so on. It is a well designed course: you can make an Asteriods game in a beginner's course – that's a great sell even to greybeards like me. I highly recommend it for anybody interested in game programming or who just wants to experience a good MOOC.

The only thing slightly wrong with it is that there's no peer review for good coding. Shitty code that functions gets full points. I guess this is intentional and not easy to fix in a beginner MOOC so I won't knock them too much for it.

This is part of a 3-course Fundamentals of Computing "specialization" offered by Rice U. The other two seem to be run by the same team and seem a bit more challenging than this one, so I plan to take them eventually.

  • Duration: 9 weeks
  • Effort: ~5 hours per week
  • Rating: 5 stars
  • TLDR: Too easy but enjoyable and superbly run

Data scientist's toolbox

Next on my list was JHU's The Data Scientist's Toolbox. It is the first course in JHU's 9-course specialization on Data Science.

If the previous course was an example of how to run a MOOC, this is an example of how not to. This is not even a course. This is lecture zero of week zero of a course. Functional Analysis would brush this course off as a speck of dust on a slide in the first lecture.

This course briefly goes over other courses in the specialization and has you install a package and set up a github account. Then it...

No. There's nothing else. That's it. That's the course.

Any money paid for a verified certificate for this course would be put to better use down a drain. People on the forums were on the ceiling about this. It is hard to comprehend why an institution like JHU is treating online courses as a quick cash scheme. As far as I can tell, this course is more or less completely automated and reruns as soon as it ends – there's literally zero ongoing involvement from the instructors. Coursera should kill this course on account this is not a course. This is a scam.

  • Duration: 4 weeks
  • Effort: 0.5 hours per week
  • Rating: zero stars
  • TLDR: White collar crime

R programming

Finally, I took JHU's R Programming, the second course in the aforementioned Data Science specialization. If I hadn't taken this simultaneously with the previous one, I wouldn't have taken it at all. However, this course is slightly better.

The good thing about this course is that two of the assignments are quite challenging. I was new to R and it has a pretty steep learning curve. It was satisfying to be able to complete the assignments.

The bad aspects are the same as Data Scientist's Toolbox above. There is zero involvement from the instructors. I reported an obvious Honor Code Violation and they did nothing about it: not an acknowledgement, not a single fuck was given. In contrast, I reported a suspect plagiarism on the Interactive Python course and the instructor personally responded to me.

Also the lectures are terrible. There's very, very little effort put into them. Poor slides, instructors talking out the slides and stumbling, no prep – these are the norm. In one lecture you can hear an ambulance alarm. They didn't even walk over to a fricking conference room to record this. "Fuck it we'll do it live!" is their motto.

Also, this course requires prior programming knowledge. This is not listed in the prerequisites. There is practically zero overlap between lecture and assignment, so a non-programmer is up shit creek without a paddle. Similarly, familiarity with statistics is not listed as a prerequisite. Lectures talk about Poisson distribution as if you're supposed to know what it is. Why would they not mention prerequisites? Obvious answer: to maximize enrollment. As I said, JHU is treating MOOCs like a cash cow. If they don't fix this soon, they will be replaced by others.

  • Duration: 4 weeks
  • Effort: ~2 or ~5-6 hours per week, depending on assignment
  • Rating: 2 stars
  • TLDR: Good assignments, bad everything else
Post comment | Share | Link

Date: 2013-03-17 15:27
Subject: Recent movies
Security: Public

Short reviews and ratings for recent movies I saw. The ratings are Netflix style: out of 5 with 1 being the least possible.

Skyfall: Skyfall is one of those movies, like Avatar and Inception, where I cannot comprehend what critics and people saw in it. It is the worst Bond movie I've seen after Die Another Day. Bardem is the worst villain in Bond history, and I dont say that lightly. He is too much and does too much: he is gay and quirky and has divine hacker powers and divine regular powers (subway train) and is an escape artist and some sort of military commander. This is not a Bond villain who pets his cat and plans world domination and has trap doors, this is every indie film character and every Superman villain and Finch from Person of Interest rolled into one.

When your villain is wrong, your Bond movie cannot be correct. The last scene, down to stone house in rainy Britain, was entirely lifted from Straw Dogs – or Home Alone, to be really uncharitable. And what preceded it was no better, and certainly no Bond. Well, except for the opening scene which was decent, and the theme, which was brilliant: the best after Goldfinger. 1 star

The Hobbit: A fun movie where you leave your head aside and enjoy the ride. Saw it in the theater which may add a star to the rating. Hmm, this is suspiciously similar to my short review of Sherlock Holmes 2 here. I also guessed one of the riddles between the hobbit and Gollum ("egg") which I feel oddly proud about. This was funnier and took itself less seriously than LotR so I enjoyed it more – somehow I cannot consider the "current affairs" and other complexities of a fictional world very gravely, so I tend to dislike most fantasy. OTOH, I cant say I'd like to see this movie again, whereas LotR I've already seen twice. 4 stars

Talash: Worse than braindead movies are movies that think they are brainy but are actually downright retarded, like this one. A suspense police movie you say? Police work is motion; here we see anything but. All we see is Amir Khan brood and think, brood and think. Who's doing the darn investigatin'? As regards the suspense, my wife guessed it probably about fifteen minutes before the rest of us would have. Even a well kept suspense does not a good movie make (case in point, The Usual Suspects), and this wasnt very good. This movie was just a snorefest through and through. Ironically so, if you've seen it. 1 star

Dabangg 2: I enjoyed this movie. It was funnier than Dabangg – the extended joke about his brother's retardation due to lack of sex was hilarious, and crank calling the dad wasnt bad either. But the songs were poorer. Also of course we'd seen it all before, so the originality was missing. Although to be fair, Hindi movies rarely remain in memory so it didnt matter too much to me. 3 stars

Jab Tak Hai Jaan: Aamir, Salman, now Shahrukh's turn. Awful movie, and they've completely wasted Anushka who is so good in everything else (BBB is one of my favourite Hindi movies). Katrina is horrible as always, and so is her character: I could not believe SRK went back to her after she ditched him for Jesus. By the way, anyone notice how she was conveniently Christian? Accusatory dialogue is justified if you're ditched for Jesus, not for Krishna or Allah. However bad as it was, the Yash Chopra treatment and SRK's star power gives it a star more. 2 stars

Master and Commander: I had seen M&C in the theater when it came out (that was ten years ago? are you fricking kidding me?) and had thought it was a 4 star movie. Recently I saw it on cable and would love to go back in time and punch some sense into my younger self. This movie is amazing. It's got everything you want in an action adventure: a story (not just a blow em up), intelligence (including respect for the audience's), and real suspense (not the Talash/Usual Suspects/Sixth Sense revelation-only kind).

In terms of action philosophy, it's square in McTiernan (Die Hard/Hunt for Red October) territory: action is an outcome of plot, not the point of the movie. That's not to say the action is not well done – it very much is. Notice the old school absence of CGI: it may have been used but you do not see it. You do not also see the enemy until the very end, a notion I'm certain requires a brave director to pitch. Heck even regular war movies show "villains" doing "bad things". It's also well acted: not only is this Russell Crowe's best role in my opinion, but it's perfect casting – even after my first viewing I could no longer read Patrick O'Brian without imagining Crowe as Aubrey.

Above all, the movie is just relentless. Minus one sob story, it just puts you on a ship in the thick of it and never lets up. Forget women, we dont even see land other than the uninhabited island for the doctor's tortoise trip.

It even ends on an action note: "those birds are flightless, Stephen, they arent going anywhere" and they begin playing some music and the crew beat to quarters and the camera zooms out to show the ship turn direction to start another chase, and the credits roll. How fricking brilliant is that scene! Also brilliant is the scene in which the doctor sees the enemy ship. Notice the music there: M&C has some of the best use of music you'll see in film. Already one of my all time favourites! 5 stars

Post comment | Share | Link

My journal
January 2016