Re: [Factor-talk] slide-rule
From: Jim mack j...@less2do.com To: factor-talk@lists.sourceforge.net Sent: Wed, February 3, 2010 10:02:50 PM Subject: Re: [Factor-talk] slide-rule I am just getting started in Factor, and am partially drawn to the ability to do cross platform GUI development, but I thought I should mention a cool ability to ship a self-contained HTTP server using their easy to use furnace library. It could launch a browser to itself on startup and produce the output format file locally. If you already do web programming it shouldn't be much of a learning curve. I have never done any GUI programming or web programming, so either approach would represent new ground for me. I am somewhat dubious of the idea of a browser/server, as there is a lot of data to work with. I could be wrong, considering that I've never done this, but my understanding of the browser/server idea is that the program running on the browser is dealing with a very small amount of data such as the fields in a data-entry form. Perhaps it would help if I explained how my slide-rule program works: It is a three-stage process: 1.) I have words such as D-scale, A-scale, etc., that each generate a linked-list representing the scale. Each node is a MARK: list w field .kind\ the kind of mark this is (TNY, SML, MID, BIG or XTR) f field .n \ the numeric value of the mark (corresponds to .LABEL) f field .dist \ derived from N and measured in Lunits (distance from left edge) w field .orientation \ the direction of the label in relation to the mark w field .label\ the hstr of the label if there is a label constant mark \ If .ORIENTATION is N/A, then there is no label and .LABEL is irrelevant. \ The DIST value is nominally in the range [0,1], although it might extend over the edge slightly. 2.) I convert these MARK lists into SHAPE lists. These contain absolute coordinates (in inches) of all the marks and labels on a particular face of the slide-rule. Each node is a SHAPE: list p field .src p field .dst w field .siz w field .txt constant shape \ a text string or a line segment \ The P fields are .X and .Y pairs. \ If the .SIZ field is a KIND (TNY, SML, MID, BIG or XTR), then the shape is a text string. \ The .SRC field is the lower-left corner and the .DST field is not used. \ If the .SIZ field is N/A, then the shape is a line segment. \ The .SRC and .DST fields are the endpoints. 3.) I convert the SHAPE lists into gcode. All the information in each SHAPE node gets etched with G01 commands, and I also pick up the tool and move it with a G00 command from each element to the next. The Factor program would be the same as the Forth except that I will use sequences rather than linked lists, as linked lists are apparently not idiomatic in Factor. The GUI would allow the user to drag-and-drop the scales into place to construct the slide-rule, and would also allow the user to simulate the use of the slide-rule by moving the slide and the cursor to and fro on the constructed slide-rule. There would have to be an alternative #3 step above that generates some kind of graphical image rather than gcode. Does Factor have the ability to display SVG on the screen? Or would I need to generate some other kind of graphical image? If Factor has support for displaying graphical images (of any kind) on the screen, then I think the whole thing would be best written in Factor as a GUI program. If Factor can't do this, then it might be better to have the Factor program generate SVG on the server side, and then write a JavaScript program to run in a browser and display the SVG images. -- The Planet: dedicated and managed hosting, cloud storage, colocation Stay online with enterprise data centers and the best network in the business Choose flexible plans and management services without long-term contracts Personal 24x7 support from experience hosting pros just a phone call away. http://p.sf.net/sfu/theplanet-com___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
Re: [Factor-talk] slide-rule
Oh, sorry, I misunderstood something a while back. I thought this was a process to take a few inputs and generate a gcode file that ran some kind of machine process to produce it, but I see where you mention wanting to present a graphic simulation. Doesn't this type of input to a milling machine have its own visualizer? On Fri, Feb 5, 2010 at 1:10 PM, Hugh Aguilar hughaguila...@yahoo.comwrote: -- *From:* Jim mack j...@less2do.com *To:* factor-talk@lists.sourceforge.net *Sent:* Wed, February 3, 2010 10:02:50 PM *Subject:* Re: [Factor-talk] slide-rule I am just getting started in Factor, and am partially drawn to the ability to do cross platform GUI development, but I thought I should mention a cool ability to ship a self-contained HTTP server using their easy to use furnace library. It could launch a browser to itself on startup and produce the output format file locally. If you already do web programming it shouldn't be much of a learning curve. I have never done any GUI programming or web programming, so either approach would represent new ground for me. I am somewhat dubious of the idea of a browser/server, as there is a lot of data to work with. I could be wrong, considering that I've never done this, but my understanding of the browser/server idea is that the program running on the browser is dealing with a very small amount of data such as the fields in a data-entry form. Perhaps it would help if I explained how my slide-rule program works: It is a three-stage process: 1.) I have words such as D-scale, A-scale, etc., that each generate a linked-list representing the scale. Each node is a MARK: list w field .kind\ the kind of mark this is (TNY, SML, MID, BIG or XTR) f field .n \ the numeric value of the mark (corresponds to .LABEL) f field .dist \ derived from N and measured in Lunits (distance from left edge) w field .orientation \ the direction of the label in relation to the mark w field .label\ the hstr of the label if there is a label constant mark \ If .ORIENTATION is N/A, then there is no label and .LABEL is irrelevant. \ The DIST value is nominally in the range [0,1], although it might extend over the edge slightly. 2.) I convert these MARK lists into SHAPE lists. These contain absolute coordinates (in inches) of all the marks and labels on a particular face of the slide-rule. Each node is a SHAPE: list p field .src p field .dst w field .siz w field .txt constant shape \ a text string or a line segment \ The P fields are .X and .Y pairs. \ If the .SIZ field is a KIND (TNY, SML, MID, BIG or XTR), then the shape is a text string. \ The .SRC field is the lower-left corner and the .DST field is not used. \ If the .SIZ field is N/A, then the shape is a line segment. \ The .SRC and .DST fields are the endpoints. 3.) I convert the SHAPE lists into gcode. All the information in each SHAPE node gets etched with G01 commands, and I also pick up the tool and move it with a G00 command from each element to the next. The Factor program would be the same as the Forth except that I will use sequences rather than linked lists, as linked lists are apparently not idiomatic in Factor. The GUI would allow the user to drag-and-drop the scales into place to construct the slide-rule, and would also allow the user to simulate the use of the slide-rule by moving the slide and the cursor to and fro on the constructed slide-rule. There would have to be an alternative #3 step above that generates some kind of graphical image rather than gcode. Does Factor have the ability to display SVG on the screen? Or would I need to generate some other kind of graphical image? If Factor has support for displaying graphical images (of any kind) on the screen, then I think the whole thing would be best written in Factor as a GUI program. If Factor can't do this, then it might be better to have the Factor program generate SVG on the server side, and then write a JavaScript program to run in a browser and display the SVG images. -- The Planet: dedicated and managed hosting, cloud storage, colocation Stay online with enterprise data centers and the best network in the business Choose flexible plans and management services without long-term contracts Personal 24x7 support from experience hosting pros just a phone call away. http://p.sf.net/sfu/theplanet-com ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk -- Jim I'm for extending the working Medicare program for our seniors all the way back to contraception, so Americans can concentrate on living their lives without fear of changing a job, going
[Factor-talk] New 64-bit Windows binary available
Hi all, The latest 64-bit Windows binary fixes the error when closing the listener window. Let me know if there are any other remaining bugs. Slava -- The Planet: dedicated and managed hosting, cloud storage, colocation Stay online with enterprise data centers and the best network in the business Choose flexible plans and management services without long-term contracts Personal 24x7 support from experience hosting pros just a phone call away. http://p.sf.net/sfu/theplanet-com ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk