Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > by-pkgid > 848dbf11b087c5d56ff4def5aed7fbb1 > files > 9

xtraceroute-0.9.2-5mdv2008.1.x86_64.rpm

$Id: TODO,v 1.9 2003/03/23 14:40:09 d3august Exp $

Stuff done are "V"ed. Undone stuff have stars. "Z"s are for stuff on hold.

* Build a smarter/faster grepfunction for db and countries. Hashtable?
* At least use hashing on the ndg-style databases. 
* Hostfiles are easy.
* Netfiles are a little more work, but should also work.
V Don't hang the program waiting for input fron traceroute.
V (Read the db/country files runtime instead of compiletime.)
V Read the texture runtime. (Fixed 970821, now using a tiff image, and 
  tifflib. Will probably change it to libpng when it gets mature.)
V Improve earthrotation function. It doesn't work well when you're upside-
  down. Trackball code from glut might be an inspiration.
Z Make an incremental makeearth() istead of making a new displaylist every
  time. Might not be possible. Several displaylists? Won't do it, performance
  would hurt.
Z Give each boep a quadric of their own, saves changing the quadrics color.
  Might not improve the speed anyway.
V Fix the SIGSEGV problem with when a router doesn't respond at all.
  Just a number, NO other info at all. Important.
V Build a partialtorus function instead of clipping a full one. Might improve
  speed on some platforms where clipping is expensive. And elimitate GLUT.
V Make the identify function "see thru" the yellow lines, and se boeps
  underneath.
V Zooming screws up the lighting. Easy fix: use GL_NORMALIZE.
Z All boeps seem to end up about one degree or so to the east. Might be a
  bad texture problem.
* I don't have to use GLdouble all the time. Might be faster with GLfloat.
V Don't use an earth with a non-1 radius. Change camera positions and
  normalize the earth. Saves a _lot_ of multiplications and divisions 
  with EARTH_RADIUS.
Z Open a popup menu on middle mouse button with the info instead of just
  printing it to stdout.
V Fix nasty black line near midway.
V Use smarter sphere function from "tess" adv. OGL programming SIGGRAPH course.
V Right. Now add texturing to it... :/
Z Texture problem by the poles.
    (Fixed to some extent. It's as good as it gets using only triangles.
     See comments in code.)
V Include support for RFCs 1712 and 1876. (DNS-based geographical lookup.)
	(well, not 1712, but it's obsolete and not used anyway)
* Call traceroute with -n (don't resolve names) and do it myself since I
  have to talk to the nameserver anyway to support above RFCs.
V Web page: Add a link to http://www.ndg.com.au/products/gb/, geoboy.
Z Add option to make the earth semitransparent, to see the boeps and yellow
  lines on the other side. I wonder if that's really smart... 
V Add geoboy-cache-file-compatibility (A breeze).
V Use a GUI toolkit (Gtk?) This means moving away from GLUT, at least the
  main loop, I might be able to use some convenience functions, like 
  glutSolidTorus etc. 
Z One-dimensional texture w/ colorcycling on the yellow lines. Nah...
* Come up with a new name. "Xtraceroute" sounds wa-a-a-y to boring, and it
  doesn't describe the fact that the point of the program
  is in the IP-address/hostname <-> geographical coordinates mapping.
* Center the earth (autorotate) so that the last traced site is centered.
  Maybe make this an option...
* Make mode to fly along the path. Naaaaahh....
-----
V Make a dialog to enter new trace.
V Hightlighting the sites thru the list.
V Clicking on boep on map -> select correct item in the list.
V Fix reshape-stuff. The glarea should always be square and it should be 
  possible to make it smaller than it is by default.
* Split _lots_ of stuff off of k.c and into smaller files.
  (Done to some extent.)
* Remove _lots_ of global data.
  (Done to some extent.)
V Rename k.c. (Now called main.c)
V Add a way to change and add data in the database.
V That should go into a new local database. It can then be sent to NDG
  or whatever. 
* I could make a way to export files that can be inserted right
  into the DNS server for RFC1876 data. Hmm... (probably no use, it's 
  pretty simple anyway.)
V The GTK authors considers these to be gtk bugs.Will "V", as fixed.
  V Scroll the list down automagically as new items arrive.
  V Scroll the list when the user selects a site on the globe.
    (Fixed by changing to new widget clist in gtk+-0.99.2)
V Add keyboard-bindings for the menus and stuff.
V Figure out a way to add the zooming-controls to the GUI.
V Figure out a way to add the distance-display to the GUI.
V Arrange with some sort of spinner.
* Make the spinner nicer.
V Should be startable without arguments.
V Fix the screwed-up colors of the sitemarkers. An OK site should _NOT_ be RED.
* Add a light where the sun is. Realistic lighting depending on time of day.
  I'll probably have to do multitexturing to get this to work.
V Perhaps use environment vars for YAH{lat,lon}? Or read it from a file?
  Don't compile it in anyway.
V Generalize database loading.
V Change readtexture so I can load a texture by filename.
V Add option to load user-specified texture.
V Add matching on IPs from the hosts.
V Make the internal database conform to the new nice database-interface.
V Just brighten the selected boep, don't make it white. The color should 
  still be visible.
V Break up makeearth() into many smaller (static) functions.
V Add #ifndef __apa_h__ / #define __apa_h__ stuff to all headerfiles.
V Make the infowindow change if the user selects a new site in the clist.
* Add actual helpful messages to all the "help"-buttons.
V If the count goes all the way up to 30, and the last site isn't known
  the last bad_being arent getting drawn.
V Don't use FILE->_file to get the fd from a FILE. It's not portable.
    (fileno())
V Weird problem with the colormap. Only the red compnents are used on linux.
    (Was endianness! God I hate that!)
V Fix it to work with gtk-1.0 / gtkGL-newer-than-0.3
V Use automake/autoconf instead of having people rehacking my makefiles.
* RIPE/ARIN for IP-> World? (whois)
* Add spinbuttons for the numerical entry of lat/lon in the database dialogs.
V Start a new trace when someone presses the spinner.
* Fix double declarations in xt.h. SGIs compiler is pretty vocal about this...
* Use real regexps instead of just grepping in the (generic, internal)
  databases (maybe globs would be better.) Yup. Use fnmatch for this.
* Generalize the databases more.
* Do something *nice* when a routerloop occurs, instead of just stacking
  sitemarkers sky high.
Z Add option to specify flags to traceroute. (Or should this be compiled
  in? It's not changing much...)
V Make a mode to take input from stdin, so I can debug easier.
* Make a colored marker in the clist to indicate accuracy.
V Make the FILES section in the manpage depend on the configured
  locations.
V Use Imlib instead of tifflib. Means I can replace the tiff files with
  pngs, which are smaller. Also means I get closer to Gnome.
V Rotate the earth so that the beginning of the trace is visible.

V Problems with non-erik versions of host. Detect.
* New async helper for the caida stuff.
* New async helper for whois.
*   Maybe make one program to do caida/whois/host and put all this complexity
    in there instead?
V Trash the "new host" window and add a netscape-stule bar in the top of
  the window instead.
* From mail: "the node under exploration could e.g. flash on the map"
* From mail: "Showing country flags of the hosts on the list."
V Add those nifty little revision-showing thingies that gets updated by
  CVS.
* From mail: "sites should have comments in the file, just like nets do."
* Do a cool graduated transition from day to night. (Pretty easy)
* There should be a way to update the day/might line. you can switch do
  day-only mode and back, but that's not vey nice.
* Zoom should affect wheter sites get placed on top of each other or
  not. (Since the markers are about the same size regardless of zoom)