Posts

Hash Tables in Mathematica

Image
This week, after downloading citing and related paper numbers of around 50.000 papers that were presented as results to various simple searches in PubMed, we wanted to have a way to find out most cited authors. Both extremely new to Mathematica, we were yet to see anything that looked or behaved like hash tables so our first approach looked like this: recordsOfAuthor[author_]:= Select[ records, Composition[MemberQ[#, author]&, authorsOf] ] where records were a list of XMLElement s containing EndNote X3 records (these roughly correspond to PubMed search results). Now I am not the guy to immediately understand the O-complexity of any given code, yet the first thing I had told my friend after we had finished downloading the citation numbers and right before we started coding the rest of our analysis tools was that we definitely needed to either find out how to use hash tables in Mathematica or do the whole thing in another language, otherwise we might have some headache. ...

PageRanking in Mathematica

Image
In the " Advanced Topics in Information Retrieval " course I'm taking this term, we had a light introduction to PageRank algorithm and I wanted to redo the relevant slides and solve some exercises in Mathematica - which I happened to learn while providing programming support to my best friend in her endeavor of mathematical modeling and simulation of drug resistance in infectious diseases !. Here it is as PDF and Mathematica Notebook ! It's truly amazing what you can achieve with Mathematica with tiny amounts of code. I find the selection of functions provided in version 7 and their implementations to be stunning examples of programming done right .

2009 - 2010

No news ... I asked someone to not tell me any so I will not post any personal news either. I'll be in Turkey for a week, meeting new friends and spending 2009's last and 2010's first days in their company.

CORSIS .2 First Applications

As part of a research project I am involved in, the development version of CORSIS is now being used and actively extended with latest technologies. For more information, visit our new wiki .

erlang ! hello

On Tuesday while reading Programming Erlang on suggestion of Andreas Cardeneo from the Research Center for Information Technology of the University of Karlsruhe , I started to experiment in Haskell with typed channels and lightweight threads to imitate Erlang style processes and networks thereof. Here is the very early and raw code from a few hours of exploration. And here is a simple interactive session in which a server is created that reads strings into integers. These integers then get _distributed one at a time_/_dealt_ to a first layer of 3 parallel nodes and they then travel to a second layer: *Erlang> (server,out) ← serve (read :: String → Integer) *Erlang> l1ts ← create 3 :: IO ([Chan Integer]) *Erlang> did ← deal move ([(\y → y - x) | x ← [1..3]]) out l1ts *Erlang> l2ts ← create 3 :: IO ([Chan Integer]) *Erlang> tids ← sequence $ zipWith (link move (2 *)) l1ts l2ts *Erlang> server ·· [ show x | x ← [2..4] ] *Erlang> all_ flush l2ts -- [[2],[2],[2]]...

erlang ! hello

Here is the clock example from Programming Erlang (page 155) in Erlang [ clock.erl ] and its very rudimentary approximations!? in Haskell [ clock2.hs , general2.hs ].

Mono 2.0 binary package for Solaris 10/x86

Just received some fresh Mono 2.0 binaries for Solaris 10/x86 . Many thanks pablo! Mono 2.2 to follow after the weekend *^o^*!