Good wxPython GUI editor September 14, 2007
Posted by Schollii in Software tools and toolkits.add a comment
I’ve looked at wxDesigner, DialogBlocks, wxGlade, and Boa Contructor’s Designer (I’m probably forgetting one or two). I’ve use the latter two quite a bit. wxGlade is the better free one as it is stand-alone and can generate code in several languages including XRC, and is easy to use, though until version 0.5 came along it was not very stable.
DialogBlocks is an excellent GUI builder but it doesn’t support Python, only C++ and XRC. Since XRC only describes only subset of a GUI’s aspects (namely, containement/widget/sizer hierarchy and callbacks), this means that a lot of the GUI-related features such as data transfer and validation are not available to Python from DialogBlocks. If DialoBlocks supported python I would be for it without hesitation.
That said, all those GUI editors seem to approach GUI building the wrong way. When I build a GUI, I want to be able to see the effect of my changes immediately, and not have to “run” or “test” the GUI definition. And there is no reason why that can’t happen for a lot of the GUI components in wxPython, since the containers support adding and removing and reparenting controls on the fly. Moreover, I haven’t found one GUI editor that makes it easy to integrate containers or controls that are not in the core, e.g. the wxFlatNotebook. This should also be straightforward in wxPython as long as the editor gives the programmer some freedom to define constructor arguments and methods to use to set sizers or add controls.
Add this to the list of projects I would like to work on.
A good python IDE September 13, 2007
Posted by Schollii in Software tools and toolkits.add a comment
Have been looking for good python development environment for a long time. Have tried many of them: Boa, SPE, PythonWin, IDLE, SciTe, PyScripter, WingIDE, notepad++. They all provide some powerful features, some not so powerful, but each is missing some important stuff, often found in the others.
Really what I’m looking for in a good Dev Env (not necessarily IDE in the usual sense of fully integrating a debugger etc) is quite simple:
- Good editing capabilities, bu no more:
- syntax highlighting
- smart indent
- indent/dedent block of code
- match brackets
- move/copy blocks of code
- code completion and call tips
- find where a symbol is defined
- find where a symbol is used
- find in files, find in all open, find local
- replace in files, etc; all the find/replace results have to be non-modal, repeatable easily
- rejustify a comment paragraph
- code folding, un/fold all, un/fold level in local
- refactor a piece of code into a function
- easy to remember keyboard shortcuts
- make some lines into a comment (using only begin/end comment)
- convert tabs to spaces
- Browsing:
- Find a module by name (open in editor)
- Browse a folder (open selected in editor)
- Find module where a symbol is defined
- Good testing capabilities:
- run the file, run with args, pause in console window when done
- run a file that uses the file being edited; remember that file
- click in console on traceback line and go to that file/line
- ability to define one or more scripts to run for testing (e.g. nosetests, pychecker, etc) and keyboard shortcuts or menu items for them, and see output in a window
- ability to go to file/line of a traceback selection (for cases where console output not possible, e.g. when testing web app)
- Support documentation:
- ability to specify a script to run to generate documentation from the file; a few defaults could be in the basic app, e.g. pydoc, epydoc, doctest etc
- view generated documentation in a window associated to file
- view diagram of modules imported and of public interface
Editors found useful so far:
- Notepad++: great general purpose editor, simpler and more consistent than SciTe; however the plugin system causes new functionality to be difficult to find since new menu items are not segrated into separate menu rather than going into the File, Search, View etc items. Also ALL plugins are added to menu, which is a bit overwhelming since I can never remember exactly where I saw a function (e.g. “insert line numbers”, was it in TextFX->Tools, TextFX->Edit, or Plugins->something?). Also, not an IDE: lacks a Python shell, difficult to run a script, etc.
- UliPad: very nice, seems more stable than SPE, integrates shells, introspection, debugger.
- BOA: UI clunky (one menu has so many items that it doesn’t fit on my screen!). Requires a “project” file but this has advantage that you can edit a file in your python application and BOA knows what file to run to start the application.
- SPE: nice polished UI but has some annoying bugs (like search stops working after a few edits and will say a pattern not found eventhough it is there!)
UliPad, BOA and SPE are all similar in that they combine an editor with syntax highlighting, code folding etc, together with other development tools such as external debugger, regexp editor, checkers (e.g. pylint).
MD5 checkers September 10, 2007
Posted by Schollii in Software tools and toolkits, freeware, mswin.2 comments
Looked at many on softpedia and the following two stood out:
- md5checker from TSoft: seems to be most popular on softpedia; rather basic, either checks or generates md5 for one file; for checking, value taken from clipboard, quite handy. Easy to use and to the point, only disadvantage is its support for only one file at a time, but I have yet to require more than that.
- matmd5: can check a list of files
Folder sizes and disk space visualization September 10, 2007
Posted by Schollii in Software tools and toolkits, freeware, mswin.add a comment
I often want to know what folders are using up the most drive space. The three that have been useful so far:
- FolderSize for Windows Explorer (FSFWE): makes available a new column in Windows Explorer File Manager windows, for folder size; must disable size and enable “folder size” column; works well, uses low priority threads to compute sizes. Great extension.
- VisDir: scans specified folder and presents a pie chart that can be drilled down. Useful.
- TreeSize: scans specified folder and presents a bar chart for sizes of subfolders in a specified folder. Seems to use some form of caching since re-scanning of same 21 gig folder a second time took a few seconds instead of a few minutes. Good alternative to visdir but need the pro version if want pie chart and other “nice to haves” like diffs between scans (see which files have changed etc), reports, etc.
- ExplorerXP: enhanced file explorer window that shows several folders in separate tabs and shows folder sizes and supports other handy operations such as multi/recursive move/copy/rename/clean/split/merge/etc
- Disk Space Visualizer by Zero Assumption: Uses a block diagram to portray sizes of folders, can zoom in/out but zoom out only to the folder selected at top-level. However, redoes the complete folder scanning every time (no caching), which pretty much makes it useless, pitty. Not worth keeping.
- SC-DiskInfo by Soft-Central: very similar to TreeSize, but doesn’t work very well! No caching, no indication of status of size computations (e.g. FSFWE shows “+’ signs, very useful). Not worth keeping.
Site lists open-source alternatives to commercial software September 9, 2007
Posted by Schollii in Software tools and toolkits, freeware.add a comment
OSALT, the Open Source Alternative:
- Useful to find Open Source alternatives to commercial software
- Handy description of open-source software categorized by platform. Especially handy is that each software has a list of similar open-source alternatives of it, and a list of commercial software for which it is a free alternative.
System backup/restore September 8, 2007
Posted by Schollii in Software tools and toolkits, freeware.1 comment so far
- NTFS/FAT32 drive imaging/backup:
- MaxBlast: by Maxtor, free (version of full commercial version $30), so would trust it more than freeware solutions
- does win2k and win XP, but only maxtor/seagate drives!
- Shows the estimated size of image, allows to select several compression types and shows time and size estimates for each, very convenient for choosing
- However, has the ability to create bootable MaxBlast CD with support for USB drives, which DriveImageXML doesn’t do (ie a working MSWin OS must be on the host and DriveImageXML installed on it).
- It is fast: it took only one hour to image a 90 gig drive.
- Found out that it doesn’t do NON-maxtor drives, which is not really surprising but contrary to what the docs led me to believe.
- Also, the image restore does not resize the partitions to match the partitions already on the destination drive. So if the image contains two partitions, say 30 gigs each for a 60 gig drive, the image restore on a 120 gig drive will just have two 30 gig partitions, which I believe is not the case for DriveImageXML – the latter will resize the partitions to be 60 gigs each, containing 30 gig of data.
- The non-Maxtor-specific version is $30 from Acronis
- DriveImage XML: clone/backup/restore hard drives, GUI very good, good clear docs, seems more powerful than MaxBlast in some respects
- Does NOT support win2k!
- Separates file info into an XML and a data file
- Supports volume locking and shadowing, which MaxBlast doesn’t seem to — at least not explicitely — but then again with the MaxBlast CD those two options aren’t necessary since the drive won’t be in use.
- Only problem may be performance: 4 hours for 90 gig drive. However it just did a 60 gig drive, 25% full, in 40 minutes. It could be that the % full matters: the 90 gig drive is 90% full, which would imply 3.3 hr, close to the estimated 4 given by DriveImageXML.
- Is able to restore image on different size drive and uses whatever partition size you have setup (so you have to setup partitions — no format or drive letter needed, just size), this is very handy for upgrading laptop drive since in laptops the new drive can’t be connected to the computer at the same time as old (unless there is a ATA/SATA-to-USB external drive enclosure in which to put the new drive, clone drive via USB, then install in laptop).
- Could not clone a system (ie bootable) SATA drive, got “missing operating system” when booted. Trying other possibilities, listed http://forums.techguy.org/5403372-post2.html.
- DrvImagerXP: seems very popular but only downloadable from repositories (author website no longer available); several software by same author seem very popular, see softpedia’s registry for Lexun software. UI really clunky. Very basic app but does the job and supports essential settings (break image into several files etc). Does 90 gigs in 2 hours.
- HDClone: seems popular but the free version only works from CD, and is slow (300 mb/min, so a 90 gig drive would require 4 hours).
- Bart’s PE Builder: build a bootable Window CD-Rom or DVD from Windows XP, requires OEM CD’s that came with PC
- SystemRescueCD: contains partimage which did detect my USB drive, but I couldn’t mount it as writable.
- XXClone Free 0.58 (at http://www.xxclone.com/): supports win XP and 2k. Can clone to larger disk; very simple interface; can close to USB stick etc. It uses file-based copy rather than sector-based (like Ghost etc). So it is very slow the first time, but then it can do incremental very fast. Problem: the freeware version can’t do incremental.
- MaxBlast: by Maxtor, free (version of full commercial version $30), so would trust it more than freeware solutions
- Partition Management:
- Partition Logic: Resizes partitions; this seems to be the only freeware partition resizer
- Partition Logic: Resizes partitions; this seems to be the only freeware partition resizer
Bottom line:
- Try XXClone Free (need to compare to DriveImage XML). But license is free ONLY for PERSONAL use.
- Use MaxBlast for cloning on 2k/XP if drive is Maxtor; way easier to use than Norton Ghost and handles external USB much better
- Use DriveImageXML for partition imaging in Win XP; it is easier to use than Norton Ghost, and resizes partition when it restores images so can restore to larger drive
- Use Partition Logic for resizing partitions; don’t know yet if it preserves data.
Project Management Tools (Desktop) September 8, 2007
Posted by Schollii in Software tools and toolkits, freeware, mswin.add a comment
Some good desktop-based project management tools (alternative to braindead MS Project) are:
- TaskJuggler: currently only Linux
- OpenProj: needs trying,
- Open Workbench: needs trying
- GanttProject: UI not intuitive and not very stable
Computer activity monitoring September 8, 2007
Posted by Schollii in Software tools and toolkits, freeware, mswin.add a comment
Freeware to log computer activity:
- User Logger: stealth mode, advanced, haven’t tried it yet
- Free KGB Keylogger: not as advanced as UserLogger, and log view a bit annoying to get right but othewise seems very powerful and configurable. Logs program activity, keystrokes, web pages visited (but not snapshots and couple other things). As with UserLogger, the registered version has more functionality but the free one has what’s needed (e.g. no limits on log size etc). What to log can be disabled on a per user basis. Good UI.
- Super WinSpy: focussed on activity monitoring (no key logging — which is good)
Software project development web tools September 8, 2007
Posted by Schollii in Software tools and toolkits, web.add a comment
Currently seems to be following main open-source:
- Trac: Python, used extensively by lots, powerful custom reporting mechanism
- Redmine: RonR, still small user base, not well documented, nicer UI than Trac
- Retrospectiva: idem as Redmine but not as many features (esp. w/r/t reporting)
I have used Trac for 6 months and really like it. Basic installation to get things going has become simple. Then as the project starts you can easily activate extensions e.g. for web-based admin, etc. It would be nice to be able to cause backups and other admin tasks from the admin interface.
I tried installing Redmine and gave up: getting all the ruby stuff to work on MSWin was tedious. Similarly, the install instructions for Retrospectiva are clearly aimed at linux installations and even then, are lengthy and non trivial.
There are many things that Redmine does equally or better than Trac: UI is more polished, same custom reporting capabilities, webadmin is included out-of-the-box (as it is in the upcoming Trac 0.11), etc. However, it does not seem to support a plugin mechanism which really limits how fast it can evolve, and documentation is still missing for important parts of the web app: wiki, tickets etc.
Javascript documentation generation tool September 8, 2007
Posted by Schollii in Software tools and toolkits.add a comment
Flexible documentation publishing tool for JavaScript. Written in JavaScript. Don’t need to install a new scripting language to use it. Customizing is as simple as editing JavaScript.