web-archive-net.com » NET » M » MAZAMA.NET

Total: 124

Choose link from "Titles, links and description words view":

Or switch to "Titles and links view".
  • Götterdämmerung
    been there for the last year since I released 1 2 Longer really I wrote the code in 2003 And the underlying flaw in the garbage collector that creates the bug has been there since the last millenium The pscheme garbage collector uses the pointer reversing D S W Deutsch Schorr Waite algorithm to perform the mark phase of a mark sweep in a constrained amout of stack This design originated from running on a very old version of Windows CE that limited its applications to 58Kb of staack However I was lazy on that day in 1998 and didn t D S W when marking vectors and continuations which in pscheme terms are implemented as a sort of degenerate vector simply recursing over each element instead Also since 1 2 pscheme has used chained continuations to allow it to evaluate arbitrarily complex expressions in a constrained runtime stack whenever it exhausts its runtime stack it saves the current continuation then resets the stack restoring the previous continuation as necessary to resume computation from that point Finally debug builds drastically reduce the size of these stack segments in order to exercise the chaining code Taken all together a call to Iota on a debug build generates a large number of stack segment continuations And those continuations contain references to other continuations in the stack which in turn refer to others and so on and so on The garbage collector calls itself recursively when marking this sequence And the garbage collector is the only part of pscheme that recurses without chaining continuations So eventually a few thousand stack segments build up and pscheme simple mindedly tries to mark them recursively Boom stack fault The right fix for this is to finish the job that I started in 1998 and do the

    Original URL path: http://www.mazama.net/goetter/blog/2006/03/26 (2016-04-30)
    Open archived version from archive


  • Götterdämmerung
    healing that heel posted at 20 31 path training permanent link to this entry Featurizing 1 3 I can feel the undertow sucking me back to the Real World even as I type so I d better write this up before I drown Ed I fell asleep last night immediately after typing that 1 3 basically works I ve spent the last couple of days fiddling with the interface trying to polish what passes for the Pocket Scheme user experience as well as how we manage multiple script type operations on a platform that does not provide a good generic way to do so Those two goals have at times worked at cross purposes For example I revoked some fairly involved soft input panel manipulation when I found that it confused CE s cross application SIP manipulation especially when another instance of pscheme was running a background script Presently I m looking at the following Tracking running scripts and notifying the user when they complete Recent versions of Windows Mobile offer what appear through the scant documentation to be some nice notification mechanisms intended for You have mail blurbs that might assist here Fixing SIP manipulation again in unrolling the last delta it went from overly clever to obviously stupid And at some point in 1 3 I apparently managed to booger the pscheme core s stack juggler Evaluating iota 0 5000 now crashes the interpreter thread This one s going to be a lot of fun to chase since I don t have a working CE debugger right now and the bug doesn t manifest itself on my console development platform After that I have to finish coding DWIM aka Input Smart Mode and add a couple more paren balancing options to the context menu My current notion of

    Original URL path: http://www.mazama.net/goetter/blog/2006/03/25 (2016-04-30)
    Open archived version from archive

  • Götterdämmerung
    directory thereon Again this version only supports WM 2003 WM 2003 SE and WM 5 0 The user interface has changed a fair bit a result of both my accommodating limitations of the HTML viewer control and my attempting to improve the overall user experience The changes are mostly obvious upon inspection Separate output and transcript windows Property sheet configuration UI Simpler memory configuration New View Input View Output menus with new commands History for the program input window should help JACAL Not yet implemented View Input Smart Mode Part of Edit Select S Expr presently it works like the awkwardly located 1 2 Edit Select Parenthesis Edit Balance S Expr Context menus Script fixes Notifications for long running background tasks Legacy hardware the early model Pocket PCs Not yet exercised Hibernation Known bugs The transcript of display something newline read char doesn t put echoed input on its own line View Match Parenthesis doesn t really belong on the View menu Edit however is getting crowded the toolbar is full and I don t want to stuff this command on a second level menu Known annoyances that 1 3 will have to endure The transcript window quickly flashes the first few items at its top with every update Correcting this will require either replacing the html viewer control or else logging the transcript in a very different manner The transcript windows slows as the transcript lengthens The edit window moves a little bit when the SIP appears and disappears One solution to both the flashing transcript window and the moving edit window involves abandoning the TTY metaphor i e the conceit that your entered expression and the system s response to it appear at the bottom of the screen scrolling up to make room for new data as necessary

    Original URL path: http://www.mazama.net/goetter/blog/2006/03/23 (2016-04-30)
    Open archived version from archive

  • Götterdämmerung
    hr upper body and core strength Bike home Some left shoulder weakness Midline of abs sore from yesterday Weakest move the front delt isolating lift Shoulders overall weak posted at 22 51 path training permanent link to this entry Based

    Original URL path: http://www.mazama.net/goetter/blog/2006/03/21 (2016-04-30)
    Open archived version from archive

  • Götterdämmerung
    1 hr lower body strength Gentle walk home in the sunshine Need to work more Bulgarian squats into my week Currently hip extension limits me more than glute strength posted at 22 48 path training permanent link to this entry

    Original URL path: http://www.mazama.net/goetter/blog/2006/03/20 (2016-04-30)
    Open archived version from archive

  • Götterdämmerung
    s get serious if not S E R I O U S and resume logging In 2001 I logged all Mazama side road and trailwork on a truly excellent calendar from the Canadian women s Olympic cross country ski team which they issued only in that single year alas That calendar motivated my training in so many wonderful ways It was a pleasure to log each day s entry and a particular pleasure to move to each new month Oh yeah Anyway let this beautiful Sunday afternoon start my new countdown to the Cutthroat Seven laps with the dead Achilles comfortable throughout Mild right plantar tenderness post run Discomfort from fifth lap in medial mid and lower right knee Energy high throughout posted at 17 02 path training permanent link to this entry 1 3 works sort of Happy times My initial cut at 1 3 is now REPLing merrily on WM 5 0 Unfortunately the control that I m now using for per REPL pass output output displayed in real time as opposed to the static transcript of the entire session doesn t have the same concurrency rigor as the control that I used in the last version Cross

    Original URL path: http://www.mazama.net/goetter/blog/2006/03/19 (2016-04-30)
    Open archived version from archive

  • Götterdämmerung
    The Scheme thread emits output by sending text data to the appropriate output window Should the Scheme thread need input from the user it sends a notification to the UI thread then goes to sleep awaiting a response the UI thread receives the notification and changes its mode from eval busy to input visible displaying a new pane for user input After the user enters data as requested the UI thread signals the Scheme thread again which in turn copies the data from the input window then notifies the UI thread that it has finished with that data Once Scheme has finished evaluating its expression it prints the evaluated value to the output window then goes back to sleep notifying the UI thread that it has finished evaluation The UI thread then moves from eval busy back into eval ready mode displaying once again the eval input pane and awaiting a new expression from the user What a modal mess Features of the 1 2 design perhaps design is overstating it The output window is constantly updated with a transcript of activity tty style The UI thread drives the REPL The Scheme thread is idle between passes of the REPL There are multiple data paths between the threads There are multiple synchronization methods between the threads As I ve said before 1 2 does not work on WM 5 0 because of its reliance on the htmlctrl as an output window that it continually updates with new output 1 3 fixes this by splitting this output function into two windows a per evaluation output window that displays any current output in real time and a per session transcript window that displays the results of all prior computations updated with every pass through the REPL To respond in real time the new output window cannot use htmlctrl The new transcript window however can continue to leverage htmlctrl for that control s text formatting benefits The 1 3 release unifies the data paths and synchronization methods between the UI and Scheme threads by making the Scheme thread drive the REPL with the UI thread in every case responding to a notification from the Scheme thread The UI thread creates some windows or promises of windows then hands them to the Scheme thread The Scheme thread then runs something similar to the following loop with input from window THE INPUT WINDOW lambda with output to window THE OUTPUT WINDOW lambda let loop let value eval read THE EVAL INPUT WINDOW if not void value display value THE TRANSCRIPT WINDOW loop The UI thread satisfies any read request from an input window in the same manner The transcript window only updates in response to a direct write request at which time it displays all of the previous REPL pass using data that the other three window I O channels have logged to it Contrasting the 1 3 redesign with 1 2 The output window is constantly updated with a transcript of activity tty style

    Original URL path: http://www.mazama.net/goetter/blog/2006/03/14 (2016-04-30)
    Open archived version from archive

  • Götterdämmerung
    in a plastic foam crate I took the crate and stashed it high in my shop high enough to be safe from mice figuring that the winter cold in my unheated shop would take care of the cold storage requirement In the middle of January 2005 I checked my pears The mice had left them alone but they had ripened well beyond what I find appetizing being brown and nearly liquid I took each pear and hurled it into the field behind my shop where it exploded into a brown pulp on the snow Perhaps a family of voles got tight on fermented pear pulp that night In 2005 s final CSA package I received not quite so many pears yet still enough to fill a grocery sized paper bag This time I stashed the bag in my little refrigerator rolling the top of the bag to close it All autumn and winter I faced the bag whenever I opened the fridge to make dinner all autumn and winter I remembered the previous winter s deliquescence All winter I have been postponing opening the bag to reveal the state of its contents Schrödinger s pears Yesterday I gathered my courage and opened the bag After six months the pears had skins crinkly with many fine wrinkles like the face of somebody s beautiful great grandmother Tentatively I bit into one It was soft but not too soft with the grainy slightly sandy texture of a d Anjou and a taste of honey and spice It was perfect I gobbled it and ate another immediately Today immoderately I ate three after returning from an afternoon run It was 6C outside warm enough to run without a hat or jacket and the sun was beating on the mountains of plowed snow to

    Original URL path: http://www.mazama.net/goetter/blog/2006/03/07 (2016-04-30)
    Open archived version from archive