Automatic commit of irc logs
[ipdf/documents.git] / irc / #ipdf.log
index 55ee202..0041e81 100644 (file)
 23:07 < Pommers> Probably. Whena re you presenting?
 23:10 < sulix> I'm just disappointed that your presentation isn't "CONFIDENTIAL" like some of th others on the list.
 23:17 < Pommers> Nice presentation
+--- Day changed Thu Oct 09 2014
+09:22 <@matches> I'm kind of worried that my live demo takes about 10 minutes to run
+09:23 <@matches> Also there are so many things that don't work
+09:23 <@matches> Like actually loading an SVG with arbitrary precision
+09:24 <@matches> The bottleneck in the live demo seems to be the shear number of objects in it though
+09:24 <@matches> Maybe I just need fewer turtles
+09:25 <@matches> Also is Rowan in Perth
+09:25 <@matches> I think he might be supposed to mark it
+09:26 <@matches> Although they listed Tim and not Rowan on the supervisors list
+09:26 <@matches> :S(
+10:43 < sulix> Rowan is here.
+10:50 <@matches> Excellent
+10:50 <@matches> "Record yourself presenting as practice" they said "It will make you feel more confident" they said
+10:51 <@matches> They never mentioned that it will make you realise just how stupid your voice sounds, just how boring you are at presenting, and just how many things you don't have time to cover
+10:51 <@matches> Well that last one I guess they did mention
+10:51 <@matches> They didn't mention the crushing despair...
+10:59  * sulix is in desperate need for a suitably punny title for his seminar.
+11:17 <@matches> I didn't use a pun
+11:17 <@matches> I used a very mundane title
+11:17 <@matches> Which is probably why I am on last...
+11:17 <@matches> Whoops I'm not supposed to give Pommers hints as to when it is, or he might show up
+11:22 <@matches> I make such a leap in my presentation
+11:22 <@matches> I go from "Look this PDF viewer has a zoom limit of 800%" to "The standards specify IEEE-754 floats"
+11:22 <@matches> Quietly ignoring that you really should be able to go further than 800% with IEEE-754 floats
+11:22 < sulix> Sounds good!
+11:23 <@matches> I guess if someone calls me out I have the backup "Look, I can zoom further but then X crashes"
+11:23 <@matches> "What a shame, looks like I can't do the rest of the presentation!"
+11:23 <@matches> Also
+11:23 <@matches> Where am I supposed to mention the collaborative aspect
+11:24 < sulix> Just point at me and go: "the bugs are all his fault".
+11:24 <@matches> Currently it is in "References"
+11:24 <@matches>  - David did things
+11:24 <@matches>  - Go see David talk about Quadtrees
+11:25 < sulix>  - He used a goto, get the pitchforks.
+11:27 <@matches> "So I'm going to do some live demos now"
+11:27 <@matches> "And as you can see, if I zoom in
+11:27 <@matches> "Oh fuck SIGFPE"
+11:29 <@matches> Also, if you have any time to set up some of the performance tests that would be kind of awesome
+11:29 <@matches> Since we both need them, but I appear to need them sooner :P
+11:30 <@matches> I guess I can leave them out and just have the spots in the draft where I want them to go, but I'm getting exponentially nervous about them
+11:30 <@matches> We can compile with MPFR C++ mpreal now
+11:30 <@matches> You can set the precision, but it appears to be fixed
+11:30 < sulix> Oooh...
+11:31 < sulix> Is it faster that gmprat?
+11:31 <@matches> I don't know yet
+11:31 <@matches> That's one of the performance tests I want to do
+11:32 <@matches> I think mpreal with a fancy algorithm for how you increase precision *might* beat GMP rat
+11:32 < sulix> So do I.
+11:32 <@matches> The problem is, if you use a fixed precision then you can always choose some view bounds for which things aren't rendered correctly
+11:32 <@matches> Also I do not have time to implement a fancy algorithm for how you increase precision...
+11:33 <@matches> I feel like I have achieved half of the project
+11:33 <@matches> Rather than the whole thing
+11:33 <@matches> :S
+11:34 <@matches> I do suspect that if you just go "I will use a 1000 bits" for mpreal, then for ranges where you don't need that precision you're wasting a lot of time
+11:36 < sulix> You can't do "I'll use n*zoom bits" or something?
+11:37 <@matches> I think I would be better off analysing the implementation that works rather than implementing the implementation that might work better...
+11:37 <@matches> I guess there's still some time *after* the presentation
+11:44 <@matches> sulix: People are getting lunch at the tav because it's Pommer's birthday, you should come
+11:45 <@matches> I went in the tav once and didn't die
+11:45 <@matches> (Not counting the quiz night, at which I'm pretty sure I did die)
+11:45 < sulix> I guess I could eat some lunch.
+18:32 <@matches> I have pushed the horrible python/debugscript combo
+18:32 <@matches> Featuring totally inconsistent naming conventions in the python scripts
+18:36 <@matches> I do recommend you learn how to use python for horrible hacky scripts like this because it is about to save my life
+18:38 <@matches> Maybe you can write one that demonstrates the flaw by zooming in on an intersection :P
+18:39 <@matches> Hmm
+18:39 <@matches> I wonder if the use of "cin" and "stdout" for input to the DebugScript and output from the DebugScript does anything wierd
+18:40 <@matches> Conshmistency
+18:40  * matches goes into super draft mode
+--- Log closed Thu Oct 09 18:40:43 2014
+--- Log opened Thu Oct 09 18:41:03 2014
+18:41 -!- matches [[email protected]] has joined #ipdf
+18:41 -!- Irssi: #ipdf: Total of 3 nicks [0 ops, 0 halfops, 0 voices, 3 normal]
+18:41 -!- Irssi: Join to #ipdf was synced in 0 secs
+18:41 < matches> (You might say something important that I overlooked I guess?)
+19:47 < sulix> Okay, so the grid is totally breaking the quadtree.
+19:47 < sulix> Because it has lines that coincide _exactly_ with the edge of the quadtree.
+19:48 < sulix> So the quadtree doesn't know what nodes to put them in.
+19:48 < sulix> Will there be two copies of them? Will there be none?
+19:48 < sulix> (Also you broke debugscript reading from a file, but I've fixed it and will push shortly)
+19:49 < sulix> (The power of iostreams!)
+20:00 < sulix> Okay, so not solving both the x and y cubics for vertical/horizontal lines didn't help.
+20:00 < sulix> (On the bright side, it doesn't seem to have broken anything too significant)
+20:19 < sulix> Interesting things from Knuth.
+20:20 < sulix> - "The origins of floating-point notation can be traced back to Babylonian mathematicians ~1800 BC" (who used bas 60, but didn't explicitly state the exponent)
+20:30 < sulix> - Bigints have O(N) addition/subtraction, multiplication/division O(N^2)
+20:32 < sulix> - Knuth writes the idea of "positional number systems" as (...a_3 a_2 a_1 a_0 . a_{-1} a_{-2} ...)_b = ... + a_3 b^3 + a_2 b^2 + a_1 b^1 + a_0 + a_{-1} b^{-1} + a_{-2} b^{-2} +...
+20:32 < sulix>   i.e. neatly using "..." to avoid ever writing infinity.
+20:33 < sulix>   He also uses the term "radix point" to mean decimal/binary/whatever point.
+20:33 < sulix>   (and then gives about four pages of history of ancient civilisations counting)
+20:35 < sulix>   There is then some discussion of negative and complex bases and the different ways of representing negatives.
+20:45 < sulix> - The "ulp" is a unit of floating-point error equal to one unit in the last place of the fraction (mantissa) part of a float.
+20:45 < sulix>   Floating point operations are correct to within half an ulp.
+20:46 < sulix>    The associative law for multiplication is holds within about 2 ulps.
+20:47 < sulix>   (Provided no exponent overflow or underflow occurs)
+20:47 < matches> Cool
+20:47 < matches> Well, I've got a graph showing that mpfr reals with 6 bits of precision are (somewhat unsurprisingly) worse than either doubles or singles
+20:47 < matches> Also FPS
+20:47 < matches> FPS goes all over the place with everything
+20:48 < sulix>   ulps are only valid for normalized floats.
+20:48 < sulix> Yeah, FPS is a totally terrible unit.
+20:49 < matches> SPF might be better
+20:49 < sulix> You should try for ms/frame, but even that will probably be a bit broken.
+20:50 < matches> FPS is in the code now, it can change later
+20:50 < matches> "This wobbly line is slightly lower than this one, indicating WORSE"
+20:50 < matches> Ok, what other performance tests did I need
+20:51 < matches> Oh yeah, ones that actually alter the view with things in it, as opposed to ones that import an svg at a fixed scale
+20:53 < matches> Man explaining how all these tests are actually valid will be a pain
+22:34 < matches> I am too tired to work out how to skip the tests that are essentially pointless for various transformation settings
+22:35 < matches> I guess they'll just be in the figures as straight lines thus proving my point
+22:35 < matches> (Or confusing the figure)
+22:35 < matches> The fact that there is a graph should be good enough for a draft
+22:36 < matches> Yes, they are straight lines, thus proving my point
+22:36 < matches> (Actually they just make the figure confusing)
+22:38 < matches> I think what I've actually invented is just a very convoluted way to demonstrate things that everyone has known since Knuth
+22:39 < matches> And less of a useful SVG viewer
+22:40 < matches> Either that or an epileptic siezure machine
+22:41 < matches> So many flashes
+22:42 < matches> Hmm it looks like the grid cumulated error is really not as noticable with the grid
+22:42 < matches> s/grid//
+22:42 < matches> s//grid/
+22:42 < matches> skdfjhasdf
+22:50  * matches prepares the "hairy fox" hypothesis
+22:58 < sulix> No relation to the hairy ball theorem? http://en.wikipedia.org/wiki/Hairy_ball_theorem
+23:07 < matches> That is... an unfortunate name
+23:08 < matches> Oh, it turns out to produce the hairy fox you need to do a lot of cumulative transforms (dur)
+23:08 < matches> Not just two really big transforms
+23:08 < matches> So the ulp thing is useful
+23:08 < matches> For understanding the rounding errors for small widths
+23:10 < matches> The subtraction of x - v_x gives you up to 1 ulp and then the division by 1e-6 increases it to 1e6 ulp and if 1 ulp \approx 5e-5 or more, suddenly it is half your view width 
+23:10 < matches> Increasing the exponent of (v_x, v_y) will double the ulp
+23:10 < matches> So for the same width you get half the precision
+23:20 < matches> Hairy fox syndrome appears to work best if you use pxzoom
+23:20 < matches> I won't question it...
+23:41 < matches> Yeah you have to try really hard to get the hairy fox
+23:42 < matches> My greatest fear is that someone will realise to achieve these "errors" by using the mouse (which is what it simulates) it would take you several days of determined scrolling
+23:42 < matches> Wow it makes interesting patterns in the grid though
+23:43 < matches> It affects both the position and the dimensions of the lines so your grid gradually disappears
+23:55 < sulix> pxzoom will have more error because it randomly calls expf() on its input, so you've got some dodgy approximation of 'e' messing things up.
+--- Day changed Fri Oct 10 2014
+00:16 < matches> Well that would have been nice to know before I ran a 20 minute test
+00:16 < matches> I thought it was equivelant to using the mouse
+00:17 < matches> Oh well
+00:17 < matches> The test still proves the point
+00:17 < matches> Even though there's the dodgy approximation of e going on
+00:17 < matches> GMP rationals give a very small error
+00:17 < matches> Cumulative transforms give a very large error
+00:17 < matches> Direct transforms give an increasing error and also have the issue with precision
+00:18 < matches> I should probably distinguish between error and precision a bit more
+00:18 < matches> We want precision and we don't want error
+00:19 < matches> So the GMP rationals applied to Path bounds pass both tests
+00:19 < matches> Whereas the other two approaches pass one test and fail the other
+00:19 < matches> Or fail both
+00:19 < matches> s/two/three/however many I had I lost count
+00:45 < matches> New draft is pushed
+00:45 < matches> Enjoy the graphs
+00:46 < matches> Try not to have too much fun questioning the validity of the results, they are all that's keeping me going
+00:46 < matches> I wish path-rat gave no error
+00:46 < Pommers> When do you need iPDF working on windows/
+00:47 < matches> It's not really a priority
+00:48 < matches> I'll probably try and get it working after the final report is due
+00:48 < matches> I will link to it anyway see
+00:49 < matches> The odds of anyone actually following the link are slim
+00:49 < matches> If it doesn't work I'll tell people to run it in wine
+09:33 < sulix> Those are damn nice graphs!
+09:34 < sulix> I take it there's no 'rat' measurement because it's too slow.
+09:35 < sulix> pxzoom is actually the same as the mouse, the mouse still does random expf() calls to work out the zoom amount.
+09:35 < sulix> (I thought I'd changed that, but apparently not)
+09:37 < sulix> Also, thank god we don't use 'sin': http://randomascii.wordpress.com/2014/10/09/intel-underestimates-error-bounds-by-1-3-quintillion/
+09:38 < matches> There should be a rat measurement?
+09:38 < matches> In the loss of precision graph, the path-rat program loses no precision
+09:39 < matches> But it's underneath all the other implementations that also lose no precision
+09:39 < matches> They are all on the same line...
+09:39 < matches> In the accumulated error graph, it is down near 10^{-2}
+09:39 < matches> I'm not sure why it isn't at zero...
+09:39 < matches> I'm just going to point vaguely at the expf function
+09:41 < matches> I'll probably add MPFR with 10 bits (half floats...) and X bits where X is a lot
+09:41 < matches> But not today
+09:41 < matches> My draft fleshes out a lot more when I uncomment things...
+09:41 < matches> I mean the idea of commenting them was that they'd be removed
+09:42 < matches> Also there are two sources of error in the Direct transformation
+09:42 < matches> I need to think about whether they are both equally bad or one is worse
+09:42 < matches> You need to apply the inverse view transformation to express the svg in document space
+09:43 < matches> *Then* you apply the view transformation to render it
+09:43 < matches> Either of those could be the one that breaks it, but I suspect the rendering transformation is worse
+09:46 < matches> Maybe some of the ipython figures don't have path-rat in them, I forget
+11:40  * sulix sighs.
+11:40 < sulix> cssubmit requires my abstract to be in ASCII, so the é in Bézier means cssubmit rejects it.
+11:51 < matches> Haha
+11:51 < matches> I got excited when Rowan said "Looks great to me" and then I realised he was talking about your abstract not my draft... :P
+11:52 < matches> That would have been impressive speed reading
+11:52 < matches> My abstract is sort of really terrible
+11:52 < matches> It clings to the whole "document formats" thing that the project was alledgedly about but has moved well away from
+11:53 < matches> It also promises that I'll compare arbitrary precision floats as well, so I guess I better hack something together with those...
+11:53 < matches> Maybe a graph showing how you can increase the precision but then the FPS goes down
+11:54 < sulix> That'd ve really good, actually.
+11:55 < matches> Yeah I think I did something similar for CQM once
+12:06 < matches> Hmm, I can probably hack together a CPU renderer only binary for windows
+12:06 < matches> He says, ignoring the tendency for the CPU renderer to shit itself and die
+12:07 < matches> It'd be a Cool Feature for it to fall back to the CPU renderer instead of just segfaulting
+12:08 < matches> Falling back to the backup renderer always sounds impressive
+12:08 < matches> Everyone loved it when HTR did that
+12:08 < matches> (And then I realised the "backup" renderer was actually better)
+12:17 < sulix> I've fixed (hopefully) the OpenGL version detection. It should now Fatal() when the driver doesn't have needed extensions.
+13:43 < sulix> Excellent: the é has gone through!
+--- Day changed Sat Oct 11 2014
+10:02  * sulix -> Perth Games Festival
+14:52 < Pommers> Is it good there?
+18:22 < matches> The "fix" to OpenGL version detection now means I don't have a valid version of OpenGL.
+18:23 < matches> It was working perfectly fine before
+18:24  * matches -> s/Fatal/Error/ and hopes it still works anyway
+18:25 < matches> Should you be setting the GL minor version to 1 and then failing if it isn't 3
+18:26 < matches> I am confused how this even works
+18:26 < matches> My OpenGL version is apparently 3.1 and the if statement apparently checks "IsVersion" 3.2
+18:26 < matches> And then says "We want 3.3"
+18:28 < matches> I get no error if I set the minor version attribute to 3
+18:28 < matches> So I take it we required 3.3 functions but were specifying that we only needed 3.1 or something
+18:28 < matches> And somehow the 3.3 functions still worked?
+18:29 < matches> Anyway, I'm in favour of the "Instead of terminating the program, report an error and then see whether it will crash anyway" approach
+18:29 < matches> If it *does* crash, then at least we warned them
+18:29 < matches> If it doesn't crash, hey it's running! Everyone wins!
+18:43 < matches> Using integer indices for different types of Real seemed like *such* a good idea at the time
+18:43 < matches> And then there was the ability to have up to three different types of Real...
+18:45 < matches> -std=c++11 -g -Wall -Werror -Wshadow -pedantic -rdynamic -I../contrib/include/SDL2 -I`pwd` -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -Itests -I. -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DREALTYPE=1 -DQUADTREE_DISABLED -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DTRANSFORM_OBJECTS_NOT_VIEW -DTRANSFORM_BEZIERS_TO_PATH -DPATHREAL=Gmprat -c -MMD
+18:45 < matches> Truly our Makefile is a thing of beauty
+18:47 < matches> It's so beautiful that there is now a Python function to invoke it with different arguments
+18:57  * matches stabs indentation errors
+18:59 < matches> "Unindent does not match any outer indentation level" What the fuck
+18:59 < matches> What the hell is an undindent
+18:59 < matches> It is pointing at a ':' character
+19:00 < matches> Oh
+19:00 < matches> It's because I copied it from ipython which magically converts your tabs to spaces
+19:00 < matches> And then tried to add things to it indenting with tabs
+19:01 < matches> I think it's a conspiracy to make the tabs vs spaces war even worse
+19:02 < matches> Now people have no option to compromise
+19:02 < matches> Or, in my case, use tabs where we bloody well typed tabs in the first place
+19:35 < matches> My clock says it's 3am, that's about how I feel...
+19:42 < matches> "Just use MPFR" is looking more and more likely to be the conclusion
+19:42 < matches> Wait...
+19:42  * matches eats hat
+19:43 < matches> Well, GMP rationals applied to path bounds is faster than mpfr with 1024 bits applied directly
+19:43 < matches> That's probably not a fair test though
+19:56 -!- msh [[email protected]] has joined #ipdf
+--- Day changed Sun Oct 12 2014
+14:53 < matches> Setting up the performance tests is a real pain if you want to actually include the really slow methods
+14:53 < matches> Well, restarting them can be painful
+14:54 < matches> Which means if you screw them up...
+14:58 < matches> Placing a limit of 30s per frame was perhaps a bit too generous
+15:05 < Pommers> THis is why you should use a build server
+15:05 < matches> Yeah except that's more effort to set up than it would save
+15:05 < matches> We even have one
+15:06 < matches> Motsugo could potentially run all these tests
+15:06 < matches> But it has to use a CPU renderer and is therefore shit
+15:06 < matches> Seeing the results in real time is a huge advantage
+15:06  * Pommers really needs to set up a proper Jenkins set up for UCC
+15:06 < matches> Oh, I'm not allowed to use my own laptop in the conference
+15:07 < matches> So if you want to fix the MinGW build for me... :P
+15:07 < matches> I'll see if sulix's magical GL version changes fixed anything later
+15:08 < matches> Ah
+15:08 < Pommers> I can give it a shot tonight. If you proof read some stuff for me right now
+15:08 < matches> I'm querying the FPS once the view has stopped being scaled
+15:08 < matches> Ok
+15:09 < matches> (I should record performance in the python script I think)
+15:09 < Pommers> tonight means after I finish work that is
+15:09 < matches> So 3am?
+15:09 < Pommers> Nah, like 6.30ish
+15:09 < matches> Honestly I'm probably just going to run a video
+15:10 < matches> But it'd be nice to say "Here's the binary with which you can reproduce the results"
+15:18 < matches> It's probably going to need to run on a Windows 95 presentation PC or something
+15:19 < matches> It has geometry shaders so it's probably beyond hope that it would work
+15:19 < matches> Hmm, do I need to prepare a response do a "Why didn't you just use <insert name of a language that isn't C++ here>"
+15:20 < matches> I seem to get that question every time I use C++ for anything
+15:20 < matches> Or alternately "Why didn't you use boost"
+16:19 < matches> sulix: What black magic should I do if I want to include the debug font in a screenshot...
+16:45  * matches resorts to ffmpeg instead
+16:45 < matches> With the disadvantage that 1 frame in a screen grap != 1 frame in the demo :(
+16:45 < matches> grap
+16:45 < matches> grape
+16:45 < matches> grab
+--- Day changed Tue Oct 14 2014
+00:00 -!- Pommers [[email protected]] has quit [Quit: I'll be back]
+00:02 -!- bobgeorge33 [[email protected]] has joined #ipdf
+00:17 -!- bobgeorge33 is now known as Pommers
+09:47 -!- Pommers [[email protected]] has quit [Quit: This Shouldn't Be Happening]
+09:47 -!- Pommers [[email protected]] has joined #ipdf
+13:34 < matches> My presentation is tonight
+13:34 < matches> Looks like Tim is back just in time to watch it!
+14:50 < sulix> In order to break things at exactly the wrong moment, IPDF has a profiler now.
+14:50 < sulix> It dumps the time spent in various functions at the end of each frame.
+15:10 < matches> That's pretty awesome
+15:11 < matches> Ok, time to test this pdf in adobe reader...
+15:11 < matches> And scream if it doesn't work
+15:19  * matches screams
+15:20 < sulix> Oh dear...
+15:20 < sulix> The power of adobe!
+15:24 < matches> I bet the videos don't work either
+15:26 < sulix> What format are they in?
+15:26 < matches> mkv
+15:26 < matches> They work
+15:26 < matches> I guess it was too much to expect pdflatex to produce a valid pdf
+15:35 < Pommers> Latex PDF? Got it working yet?
+15:55 < matches> No
+15:56 < matches> I have narrowed it down to
+15:56 < matches> "Cannot include graphics in slides"
+15:56 < matches> Which will make for an amazing presentation
+15:58 < matches> Ah
+15:58 < matches> Adobe doesn't support including pdfs within pdfs
+15:58 < sulix> What!?
+15:59 < sulix> Man, I've included pdfs within pdfs in pretty much every assignment I've submitted ever.
+15:59 < matches> I don't know
+15:59 < matches> That's the first place it shits itself
+15:59  * sulix ponders whether or not this may have affected marks.
+15:59 < matches> Debugging by repeatedly commentint out bits of TeX and recompiling is not very efficient and/or fun
+16:00 < sulix> Worst comes to the worst, take screenshots of all of your slides, I guess...
+16:00 < sulix> (Or download a windows binary for evince/etc and put that on the thumb drive)
+16:02 < matches> Yeah I'm supposed to be registering now
+16:25 < Pommers> matches: Send me the tex source and I'll try
+--- Day changed Wed Oct 15 2014
+10:38 < matches> Frames compiled it for me on Windows, so I survived
+10:40 < Pommers> Yeah. That's what I was going to do
+10:40  * Pommers should really set up that build server properly
+13:18 < matches> I might have promised a Windows version in the talk...
+13:18 < matches> Also saving, loading
+13:18 < matches> And...
+13:18 < matches> Shading
+16:05 < matches> I wonder if I can hack in a "draw" mode...
+16:05 < matches> Now that the conference is over, ANYTHING IS POSSIBLE
+16:06 < matches> (Except there's only two weeks left)
+16:06 < matches> ... < 2 weeks left
+--- Day changed Sun Oct 19 2014
+14:48 < sulix> Far out: I'm looking up some IEEE GPU stuff, and Google keeps pointing me to your lit review.
+17:01 < matches> :S
+17:02 < matches> I need to muster the courage to write more of my report
+17:02 < matches> So tired
+--- Day changed Mon Oct 20 2014
+22:45 < sulix> So it turns out that the crazy multithreadedness of the control panel totally bollockses up the profiler.
+22:46 < sulix> Which explains the random crashing due to "impossible things happening" like "functions returning before their parents do".
+22:49 < sulix> The everything gets bollocksed when adding text bug is also fixed.
+22:50 < sulix> The magical invisible turtles bug remains.
+22:51  * sulix wonders if he should see the teenage mutant ninja turtles movie for an explaination.
+23:48 < sulix> For reasons unknown, I'm generating a lot of quadtree overlays with the exact same objects in them.
+23:48 < sulix> By which I mean the same {object_begin, object_end} pairs.
+23:49 < sulix> So lots of things are being rendered ~40 times, and many things aren't being rendered at all.
+23:51 < sulix> Actually, never mind, I'm just printing out the wrong thing in my debug statement.
+--- Day changed Tue Oct 21 2014
+00:48  * sulix has a lot of writing to do tommorrow.
+00:48 < sulix> By which I mean today.
+09:02  * sulix ->sainity--
+09:30 < Pommers> Morning
+11:07 < matches> :(
+11:11  * sulix has engaged "panic mode"
+11:12 < Pommers> Can you try and shake it off? https://www.youtube.com/watch?v=nfWlot6h_JM
+11:12 < sulix> Also "holy shit, I don't have any results other than SIGSEGV" mode.
+11:20 < matches> I wish I hadn't read the comments on that video
+11:24 < matches> I'm having trouble understanding the metaphor
+11:24 < matches> Is Taylor Swift meant to be the thesis or me
+11:25 < matches> And how is the illuminati involved
+11:28 < Pommers> Never read YT comments
+11:28 < Pommers> Metaphor? Th[4~esis? Illuminati?
+11:34 < matches> "Haters gonna hate" would be me hating the thesis, but the thesis being an inanimate and currently purely digital object would be unable to shake itself
+11:35 < matches> According to the comments Taylor Swift is in the illuminati
+11:35 < sulix> The only shaking I can imagine is the solemn shaking of heads.
+11:35 < matches> :(
+11:35 < Pommers> Or
+11:36 < Pommers> Does your thesis hatre you, hence it's not happening
+11:36 < Pommers> and therefore you need to shake it off?
+11:36 < matches> Perhaps the clue is in the name, in that we need to Swiftly apply  Taylor series to things
+11:38 < sulix> matches: That is the only consistent interpretation.
+11:38 < matches> I regret catching up on 6 weeks of lectures instead of working on the thesis
+11:40 < matches> http://www.irregularwebcomic.net/374.html
+11:40 < sulix> http://phdcomics.com/comics/archive.php?comicid=1749
+11:42 < matches> Back to it I guess
+11:42 < matches> By which I mean back to spending 30 minutes mentally preparing myself to go back to it
+11:43 < Pommers> While you relax
+11:43 < Pommers> You could fix NTP on your laptop
+11:46 < sulix> better still, set the time to three days ago so that you have more time to work on the thesis.
+11:47 < Pommers> Thats's a good idea! Just avoid anything that relies on time
+11:49 < sulix> The number of sudden thoughts about much better ways to do this project is slightly terrifying.
+12:44 < sulix>  /me suspects he's deleted more than he's written.
+13:02 < sulix> Someone's looked at quadtrees for "infinite bitmaps": http://programmers.stackexchange.com/questions/104609/infinite-bitmap
+13:44 < sulix> Knuth apparently does not like the term "mantissa". He has quite a rant about it and now I'm feeling guilty for using it.
+13:47 < matches> Let's face it, Knuth won't read our work, and if he does, he won't like it
+13:48 < sulix> I had a nightmare where Kahan was berating me for not understanding floats.
+13:49 < matches> You don't even need to write about floats? Do you?
+13:49 < matches> Also, should I be urgently producing graphs of how slow rationals are
+13:50 < matches> I have 6662 words, but this is really not good
+13:51 < sulix> I'm sort-of leaving the "results" section blank at the moment.
+13:51 < matches> Wait but what else do you need?
+13:51 < matches> Lit Review should be done*
+13:52 < matches> There is a "Methods" chapter which I'm a bit embarressed about
+13:52 < sulix> Also, I should push the "speed up everything because it was dodgy renderrange code that was taking >90% the time" fix at some point.
+13:52 < matches> How badly would pulling break everything...
+13:52 < sulix> I've been writing up how the quadtree works, and fixing up the lit review, intro, gpu float bits, etc.
+13:53 < sulix> Well, I don't think I've been brave enough to push yet, but probably it will break everything.
+13:53 < sulix> Though, with some small amount of luck, it should still compile.
+13:56  * sulix has pushed. Time to warm up your "git revert" commands.
+13:57 < sulix> Also I need to write up about how rationals can represent more things than the quadtree, which can only represent binary fractions.
+14:18 < matches> "A naive approach would be to simply replace all floating point operations with arbitrary precision operations, and this is in fact what we did before we realised how stupid that was"
+14:21 < sulix> I was going for "A naïve approach would be to simply replace all floating point operations with arbitrary precision operations, and unlike the quatreethulu, that does actually work."
+14:21 < matches> How do you get the ï in LaTeX
+14:22 < sulix> \"i
+14:22 < matches> Thankyou
+14:25 < matches> Is there a good reference I can cite for how shaders work...
+14:25 < matches> I really don't want to or have the space to explain the OpenGL API
+14:25 < sulix> The OpenGL spec?
+14:25 < matches> I guess
+14:25 < sulix> Or ARB_vertex_program / ARB_shader_program
+14:25 < sulix> s/shader_program/fragment_program
+14:47 < matches> You know I am linking to the git repository in my report
+14:47 < matches> The one with all the "My eyes, they burn!" commit messages...
+14:48 < matches> I figured that the markers assuming there wasn't version control was marginally worse than them reading my commit messages
+14:48 < matches> But only marginally
+14:49  * sulix wipes some nervous sweat from his brow.
+14:50 < Pommers> What did you do for commit messages?
+14:50 < matches> Usually stuff to the effect of "This code is awful"
+14:50 < matches> "I didn't even design this!"
+14:50 < matches> Etc
+14:51 < sulix> Pommers: cover your eyes: http://git.ucc.asn.au/?p=ipdf/code.git;a=shortlog
+14:52 < sulix> My favourite is "A Song of Floodfills and Segfaults"
+14:52 < Pommers> haha
+15:11 < sulix> matches: Any idea why "bezier.h:61:20: error: call of overloaded ‘Abs(Gmprat)’ is ambiguous"
+15:13 < sulix> Also: "rect.h:21:13: error: no match for ‘operator<<’ (operand types are ‘std::basic_ostream<char>’ and ‘const IPDF::Rational<IPDF::Arbint>’)" if I try Rational<T>
+15:37 < matches> Aaaah
+15:37 < matches> It wasn't ambiguous when I last used it!
+16:03  * sulix squirms nervously.
+16:06 < matches> I finally made the performance test graphs
+16:06 < matches> They are kind of dodgy
+16:07 < sulix> Ooh... show me.
+16:13 < matches> http://szmoore.net/ipdf/sam/figures/time.pdf
+16:13 < matches> http://szmoore.net/ipdf/sam/figures/memory.pdf
+16:13 < matches> It's using eye_of_the_rabbit.script
+16:14 < matches> It keeps track of how much memory is used for the View width
+16:14 < matches> And how long it takes to do each cycle that involves adding 3 rabbits seperated by 1e-3 or whatever it was
+16:14 < matches> A totally arbitrary test but hey, the graph is linear
+16:15 < matches> I'm pretty fed up with this project at this point
+16:15 < matches> Words are on the page
+16:16 < matches> It's amazing how much less you have to write when you remove the "TODO: I really should explain this properly"
+16:19 < sulix> Those are with the Gmprat for path bounds, doubles? for beziers?
+16:21 < matches> Gmprat for path bounds
+16:21 < matches> Not really much point doing it for anything else
+16:21 < matches> Since anything else won't render the images correctly
+16:21 < matches> I guess I should do it for doubles as well
+16:22 < matches> Actually doubles would be able to render that particular script correctly
+16:22 < matches> For a long time
+16:23 < sulix> The quadtree can render it correctly until there is more than one rabbit.
+16:23 < sulix> Also eye_of_the_rabbit is cpu rendered by default, no?
+16:24 < matches> Yeah I changed it to make that test
+16:24 < sulix> Okay.
+16:24 < matches> I'll run it for mpfr-1024 path
+16:24 < matches> I've had enough of having to tweak things to recompile the software...
+16:25 < matches> So I'm limited to the binaries I already have and they have a habit of sigfpe'ing
+16:26 < matches> Oh, it was also done with the window hidden
+16:26 < sulix> By choice or by fglrx?
+16:26 < matches> By choice
+16:31 < matches> Urgh this project is dumb
+16:31 < matches> I really don't want to have to repeat my final year project :S
+17:17 < matches> How do you like being referred to as "Gow"
+17:17 < matches> Also it's been an hour or so without me saying this project is silly
+17:17 < matches> So I'll say it again
+17:18 < matches> I ended up putting the Circles on CPU/GPU in my "Lit Review" part...
+17:18 < matches> Because it just fit a lot better underneath the section that was actually talking about it
+17:18 < matches> Rather than in the results
+17:19 < matches> "By the way we did some circles too"
+17:19 < matches> I feel like I should say something snarky about the naive method not being worthy of publication...
+17:19 < matches> That might be a bad idea
+17:29 < matches> "Hi all, No doubt you are busy preparing your final report..."
+17:29 < matches> AAAAAHHH
+17:30 < matches> I don't know, there's only so much you can polish a turd..
+17:30 < matches> Holy shit how do I have 40 references
+17:30 < matches> I guess there was that "Look I read about GPUs [10 references]" paragraph
+17:31 < matches> Should I mention the arbitrary precision on GPU stuff
+17:31 < matches> Blargh
+17:41 < matches> "The main body of the report should be between 6,000 and 8,000
+17:41 < matches> words excluding appendices. (i.e. from the beginning of the
+17:41 < matches> Introduction to the end of the Conclusions/Future work section)."
+17:41 < matches> Finally found the word limit
+17:41 < matches> Dammit
+17:41 < matches> Here I was aiming for 6000 maximum...
+17:44 < matches> I can stick in the pointless sections about "Pixels or Perish" I guess
+17:44 < matches> Distract them with pretty pictures
+17:47 < matches> Takes me up to 46 references...
+17:47 < matches> And 6972 words
+17:47 < matches> Done
+17:48 < matches> Submit
+18:21 < sulix> I think your thesis is significantly better than mine.
+18:22 < sulix> Mostly because it has more results and less "TODO"
+18:26  * sulix seeps into a 20 minute come.
+18:26 < sulix> s/come/coma
+18:26 < sulix> (The state of my brain is becoming more and more evident)
+18:55 < matches> (The trick is to delete the TODOs)

UCC git Repository :: git.ucc.asn.au