
Hi Haskellers, This semester, I am having a software engineering course. I always wanted to do something significant in Haskell. This is probably an opportunity that I can utilize. I have the following ideas, with inspiration from various sources. Please let me know your views/ideas on them. If you feel you are experienced enough, do warn me if the idea might not be feasible to implement! I will have about half a month for getting the Software Requirement Specification ready, and ~ 1 month of time for coding. Idea 1: A Traceroute visualizer. I saw the video on the London Haskell Group on how to create a game in Haskell, and loved the "rotating earth" part of the game. (Space Invaders or something like that). Combine the earth (with a Google earth touch) with a traceroute backend and animate packet routing via different cities live on the screen. I like this idea. More of a fun project than a useful one. Probably Haskell isnt a good language to implement it, but as they say, one should never think about moulding a project to suit the language you code in. Idea 2: A module that generates optimum (in some sense) set of instructions for a given (pure, functional) expression. So, this basically involves concepts like * avoiding recalculating common subexpressions (expression-tree matching?), * register allocation (assuming a finite supply of registers, modeling as graph colouring), * Term rewriting I am just quoting some terms there, I may be wrong. but this might be a project that Haskell might help me beautifully model and execute. I would like to have some opinion on the complexity of the project ideas that I have in mind. Thanks, -- Vimal Indian Institute of Technology Madras Chennai India

Vimal wrote:
Idea 1: A Traceroute visualizer.
I saw the video on the London Haskell Group on how to create a game in Haskell, and loved the "rotating earth" part of the game. (Space Invaders or something like that). Combine the earth (with a Google earth touch) with a traceroute backend and animate packet routing via different cities live on the screen.
I like this idea. More of a fun project than a useful one. Probably Haskell isnt a good language to implement it, but as they say, one should never think about moulding a project to suit the language you code in.
Just out of curiosity: how do you plan to find out server locations (beyond the obvious top-level domain -> country heuristics)? Cheers Ben

Ben Franksen
Just out of curiosity: how do you plan to find out server locations (beyond the obvious top-level domain -> country heuristics)?
$ whois <ip> | grep Country -- (c) this sig last receiving data processing entity. Inspect headers for past copyright information. All rights reserved. Unauthorised copying, hiring, renting, public performance and/or broadcasting of this signature prohibited.

Achim Schneider
Just out of curiosity: how do you plan to find out server locations (beyond the obvious top-level domain -> country heuristics)?
$ whois <ip> | grep Country
Some also have location in the TXT field in DNS (Sometimes called an ICBM record). I think 'xt(raceroute)' uses this. -k -- If I haven't seen further, it is by standing in the footprints of giants

Ben Franksen wrote:
Just out of curiosity: how do you plan to find out server locations (beyond the obvious top-level domain -> country heuristics)?
Achim Schneider wrote:
$ whois <ip> | grep Country
Ketil Malde wrote:
Some also have location in the TXT field in DNS (Sometimes called an ICBM record). I think 'xt(raceroute)' uses this.
Actually, this is not a property of DNS. Blocks of IP numbers are assigned to specific countries, who give them out to their ISPs. The top-level rules are in http://www.iana.org/assignments/ipv4-address-space http://www.faqs.org/rfcs/rfc1466.html but there is not much detail there. Google points to various sites that have collected much more information and made it available for free or for pay. I don't know much about them. -Yitz

On 2008-01-23, Ketil Malde
Achim Schneider
writes: Just out of curiosity: how do you plan to find out server locations (beyond the obvious top-level domain -> country heuristics)?
$ whois <ip> | grep Country
Some also have location in the TXT field in DNS (Sometimes called an ICBM record). I think 'xt(raceroute)' uses this.
LOC RR. TXT is freeform. -- Aaron Denney -><-
participants (6)
-
Aaron Denney
-
Achim Schneider
-
Ben Franksen
-
Ketil Malde
-
Vimal
-
Yitzchak Gale