From barbieri at gmail.com Mon Apr 3 14:52:45 2006 From: barbieri at gmail.com (Gustavo Sverzut Barbieri) Date: Mon, 3 Apr 2006 09:52:45 -0300 Subject: [PythonCAD] Port to Maemo/Nokia 770 In-Reply-To: <20060331185602.GH12502@artsapartment.org> References: <9ef20ef30603301203v35f69051y6484c518270bab2e@mail.gmail.com> <20060331185602.GH12502@artsapartment.org> Message-ID: <9ef20ef30604030552p1f8c31c8ub1829853eb31f121@mail.gmail.com> On 3/31/06, Art Haas wrote: > > I'm not a CAD user, but I follow PythonCAD development because it's an > > interesting project and I have some friends from closed-source world > > that want to move to open alternatives. > > > > Why PythonCAD? My company, http://www.indt.org.br, is porting Python > > to maemo platform and I think that PythonCAD would be a great test > > program to it. It would also help engineers to have their drawings at > > hand while on field analysis. > > > > Limitations: > > - 770 is really low on performance and memory, it doesn't have a FPU > > and have low RAM available. > > - 770 has a great screen, 800x480, but it's high DPI, which make > > drawing on the device not a great thing. > > > > So I plan to disable most "edit" features, like undo steps and > > optimize to "view". > > Elimination of undo/redo will help somewhat in reducing memory, and I'm > certain that a number of other memory saving opportunities exist in the > program. Ok, I'll do further research after I do the initial hildon-ization of the main shell... it's easy, but my company job is taking much time and I still don't have network access at home... moving home sucks, you know it :-) > > Any feedback is welcome, but mainly on these areas: > > - How to improve startup times? I did put PythonCAD dir in a zipfile > > and used zipimport, it helps a bit, but need to make it faster... I > > want to know if some imports could be lazy imports. > > My initial thoughts are that some sort of lazy 'import' calls will not > work. If I had some patches that demonstrated how it could be done I > would happily admit I was wrong. I still need to research further... I'm also working with PyMaemo guys to make "import pygtk" faster... it takes almost 3 seconds on my 770. But the idea of lazy import is something like this: you know module X is only used in the subsystem A, so you have: X = None def usage_of_subsystem_A(): global X if X is None: X = __import__( 'X' ) this is the draft idea, you can also make X a callable that would load the module itself on X, eliminating the explicit check. But to make this work, I would need to know which modules were not need at start up time, since adding these checks can slow things down, there must be a reasonable number of modules to be imported later. > > - How to improve viewing/zoom? > > The current implementations are not great but they do work. I've wanted > to improve viewing/zooming operations by replacing the 'GTKImage' class > currently used for drawing display to other classes in the 'gtkshell.py' > file. Last summer I'd started working towards this goal but I have not > completed the coding unfortunately. This is a branch or something like it? Also, PythonCAD could use Cairo to let it handle vectors... but unfortunately 770 still have no cairo. Anyway, it will have some day and then it will make sense :-) > > - How to improve memory usage, the lower the better > > Reducing memory will be difficult as PythonCAD is built on top of both > Python, the PyGTK bindings, and GTK+. I don't have any immediate ideas > other than working to ensure the code does not keep unnecessary > references around on entities it no longer needs. Accomplishing this > goal requires more eyes scanning through the code, or perhaps some > clever Python coding that will flush out stray references. > > Let me know what I can do to help you make your porting easier. I think memory issue will be easier after I disable undo/redo. Maybe a view-only mode that after things are drawn, you release the elements. But this would need a canvas with vector support, because zoom still needs to work. -- Gustavo Sverzut Barbieri -------------------------------------- Jabber: barbieri at gmail.com MSN: barbieri at gmail.com ICQ#: 17249123 Skype: gsbarbieri Mobile: +55 (81) 9927 0010 Phone: +1 (347) 624 6296; 08122692 at sip.stanaphone.com GPG: 0xB640E1A2 @ wwwkeys.pgp.net From ahaas at airmail.net Thu Apr 13 17:35:11 2006 From: ahaas at airmail.net (Art Haas) Date: Thu, 13 Apr 2006 10:35:11 -0500 Subject: [PythonCAD] Sorry about lack of updates lately ... Message-ID: <20060413153511.GA27366@artsapartment.org> Hi. Since the last release I've accomplished next to nothing on PythonCAD due to the difficulties in finding a new place to live. I need to be out of my current address by the end of the month so something is going to happen shortly but I don't yet know what. Once the move is completed there will be some time needed to get the new place set up, so I don't see any new work appearing in PythonCAD over the next few weeks. Art -- Man once surrendering his reason, has no remaining guard against absurdities the most monstrous, and like a ship without rudder, is the sport of every wind. -Thomas Jefferson to James Smith, 1822 From scratchcomputing at gmail.com Tue Apr 25 09:50:33 2006 From: scratchcomputing at gmail.com (Eric Wilhelm) Date: Tue, 25 Apr 2006 00:50:33 -0700 Subject: [PythonCAD] s/UberConverter/VectorSection/ Message-ID: <200604250050.33507.ewilhelm@cpan.org> Hi all, "The UberConverter" is finally moving out of the "working title" stage. The new name is VectorSection, which may or may not be referred to as VectorX, VeX, or vx. http://scratchcomputing.com/projects/vectorsection/ Also a few updates to the page and a link to the install instructions. More to come. --Eric -- So malloc calls a timeout and starts rummaging around the free chain, sorting things out, and merging adjacent small free blocks into larger blocks. This takes 3 1/2 days. --Joel Spolsky --------------------------------------------------- http://scratchcomputing.com --------------------------------------------------- From ahaas at airmail.net Sat Apr 29 23:49:56 2006 From: ahaas at airmail.net (Art Haas) Date: Sat, 29 Apr 2006 16:49:56 -0500 Subject: [PythonCAD] Back online, and various updates available at repo Message-ID: <20060429214956.GC6626@artsapartment.org> Hi. The move to the new place is over, and after a week's delay the internet connection is back again. Yay! While not having an internet connection made some things difficult, I did use the time to get some work done on PythonCAD. I started working on updating the entity splitting routines, and while working on that found and fixed a couple of bugs in various entity methods, and then that work led to correcting some "FIXME" comments in the code. I've sent my changes up to the public repo, so the new code is available for those of you using Subversion - just 'svn update' and you'll be set. I'll tentatively guess the next release will appear at the end of May. I hope to have the revised splitting code completed, plus a few other things that will appear over the next couple of weeks. Art -- Man once surrendering his reason, has no remaining guard against absurdities the most monstrous, and like a ship without rudder, is the sport of every wind. -Thomas Jefferson to James Smith, 1822