I believed I had this beautiful set of numbers. Then reality struck and they weren't actually there. On one hand, having fake but nice numbers is bad, on the other hand, those numbers were really pretty. And now I sit around reading and thinking about Haskell and hating on C++. Who would have known that j would differ in
std::vector<int> something[numelts];
something[7].push_back(2);
int j = something[7][0];
and
std::vector<int> something[numelts];
something[7].push_back(2);
int j = (something[7])[0];
.
The later is correct, the first is wrong, C++ seems to be treating unparenthisized things as normal array lookups, while the parenthisized thing leads to it using operator[] from vector.
panda
When I was at EA, me and Eddie once had a debate about why I thought Aston Martin's were cool. Now neither of us could really afford one of those, it was more of an academic debate, with him arguing that mass produced cars were more likely to be safer and have better designed engines. I am not completely sure why it came to be, maybe there was some new stuff about the DBS V12 on Digg, maybe it was a result of one of the people in a neighboring cube acquiring a Porsche and commenting about not liking the stick shift. The problem is this is not a new thing, I seem to like frivolous expensive thing which have no obvious reason for being liked by me, and I will sometimes passionately defend the people who would spend money on this. Of course some of this comes from having a father who read and commented on all manners of well made watches, cars and cameras, and often actually acquired a few
. Really this is not a critique of him doing so, they are all kinds of cool things which have been at our home because of this.
I have been looking for a good reference to point people I argue with to, mostly because I do this a lot, and do it on both sides of the world (partially retro mostly mechanical things are weird, though friends in India are more likely to agree about really expensive cars). Well I think this pretty accurately reflects my feelings on liking weirdly expensive things.
Now back to work.
panda
This semester as a part of TAing 167/9 we are making use of Mercurial for SCM. Itay liked Hg so much that he actually started using it for nearly everything on his computer and came up with a good reason for doing this. I am not organized enough to put all of my files into source control (though heavens knows I probably should), but I actually like the idea of using mercurial to keep my two copies of research code synchronized.
(more...)
'Tis be the last week of summer, and while the term winding down can only loosely apply to work, everything else certainly is winding down. As I write this, vast portions of my life are beginning their slow journey toward Rhode Island, vast bureaucratic machines on both coasts are coming to life and dealing with the things they need to deal with before I can leave, and I am rapidly becoming more distracted. Six days from now I shall be in one of those long metal tubes hurtling at immense speeds towards another ocean. Some day soon, I shall write more about this summer and being here, but for now, the summer's ending.
Panda
Earlier today, thanks to Itay, I was introduced to the idea of parser combinators in conjunction with a discussion we were having. From what I understood (hence not misrepresenting anyone), he knew of parser combinators from Scala, where they are a part of the standard library, of course my customary Google search of new terms led me to documentation for the Haskell Parser Generator, which in itself is mildly different from the Scala equivalent, understandably so seeing how the principles behind both languages differ. I have been trying to get a better grasp of both languages for a while, and though I have been doing this for widely divergent reasons (Haskell - strong links to math, the cool factor, reading a decent paper on monads on the recommendation of a couple of people, and not knowing how to use it, Scala - lots of chatter about it coming my way from Itay, the entire actor model, a bunch of interesting documentation), I have been failing miserably, since while I know what both involve to a first approximation, not writing any large chunk of code in either implies not being used to the idiosyncrasies of either, and not being able to parse the language well in one's head (it took me a 40 minute train ride home to figure out to a first approximation what some of the code in here means). So I am going to try learning parser combinators in one of the languages (possibly Scala since it would gel with something I am doing with Itay), and then eventually convert what I learn in one into the other, and hope that works. Either ways from what little I read of parser combinators they seem like an interesting model for parsers, at least the scala implementation seems to be fairly nifty in terms of being literally readable as a grammar.
Panda
This is one of two or three short posts I will be making today, and will as such probably never be seen as a result of not actually having visible text for very long. A casual glance through programming.reddit.com will show a recent surge in interest in Software Transactional Memory. Having missed most of the concurrency train (I still have to read the Erlang book), I am pretty amused by what all this concurrency means. I think the processes themselves are fairly interesting, but I claim to be entirely inept at it, I understand what STM means, what it entails, I haven't used it. However what does interest me about STM is a couple of papers written by Herlihy (there are others, I just happened to run across these while going through what Brown professors did) relating concurrency to topology. The papers are freely available on the website, and while I am still working on actually reading them, I am hoping posting here will shame me into actually completing this eventually. On the positive side, trying to parse the papers has meant having to read and understand a book on point set topology, one of the things I did in the hazy days of my sophomore year and have forgotten fairly successfully. Of course seeing as parsing math texts themselves takes a while, and paper and pen, this is slow going.
Panda
It is fairly well known that I don't like Java nearly enough, too much of it bothers me. I no longer walk around making claims about the superiority of other languages, time has shown me that this would be oversimplifying facts. This is not a post about my feelings on Java, I could talk about my feelings about developing in a REPL but have recently discovered that not all REPLs are the same, and some offer much more advanced editing features, even if one needs to leave the familiar confines of vi and get used to Emacs to use them effectively. Hence no REPLs for now.
However earlier today my work machine ran one of those Java update things (it is surprising how many things are attempting to update themselves these days), and it had this nice InstallShield wizard, with messages on it, and the messages seemed to have been written by someone in marketing to exalt all that Java is, in reverse chronological order. So the install started by talking about how one was now installing Java, found in everything from Blu-ray DVD Players, to cellphones, and ended with assuring the user that they were now ready to go out and face the Java Powered Internet (one does wonder what NetBSDs equivalent of these messages would be). 'twas amusing.
Panda