1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
|
$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.
|