Version 0.0.4 is started. Java is colourized properly, and includes colourization of all the classes from the 1.5 JavaAPI. Python support is in both windows and mac and is colourized and folds properly... I dont use Python much so I am going to have to depend on other people to raise bugs against python.
Speaking of bugs... no one has raised any yet (I know they exist!), yet I've had ~65 downloads (I make the assumption that there are 15 users from that amount of downloads) since 0.0.3 was finalized. If you users are reading this, thanks for using the software and that your comments/critisms/bugfinds are welcome. Also, Launchpad makes "drive by" contributions very easy if a developer wants to join me by adding Linux support.
Wednesday, June 23, 2010
Saturday, June 19, 2010
CodeAssistor - version 0-0-3 Final
After fixing a few more bugs than I expected, the CodeAssistor version 0.0.3 is completed and barring any major bugs, finalized. I've updated Freashmeat and FOSSFORUS, placed the binaries and the source as zip files for general consumption.
The major task for 0.0.3 was windows support, however, since CodeAssistor is my primary editor now, I added functions that I really really wanted (such as foldAll).
Version 0.0.4 will target UI polish. I want to do things such as
- Better Java colouring
- Add Python/Perl/PHP/Win-Batch colouring and folding
- Darkmode where a darkcolour is the background ... lots of people like dark backgrounds
(note: I do not want to give the user the power to chose their own colour scheme... this may seem fascist or lazy of me, but my main goal is to have a very simple feature set... adding user defined colour schemes and font schemes adds a LOT of feature complexity, adds to the size of the final binary, and is sort of antithesis of what I want to accomplish... Im not just creating a notepad++ clone, I purposefully want something smaller... and yes, its a lot of work to add that stuff :P)
- Better Windows dialogs - Should be more similar to Windows Notepad.
Windows Executable
Macintosh Application
Source Code (including my version of Scintilla for superior folding)
The major task for 0.0.3 was windows support, however, since CodeAssistor is my primary editor now, I added functions that I really really wanted (such as foldAll).
Version 0.0.4 will target UI polish. I want to do things such as
- Better Java colouring
- Add Python/Perl/PHP/Win-Batch colouring and folding
- Darkmode where a darkcolour is the background ... lots of people like dark backgrounds
(note: I do not want to give the user the power to chose their own colour scheme... this may seem fascist or lazy of me, but my main goal is to have a very simple feature set... adding user defined colour schemes and font schemes adds a LOT of feature complexity, adds to the size of the final binary, and is sort of antithesis of what I want to accomplish... Im not just creating a notepad++ clone, I purposefully want something smaller... and yes, its a lot of work to add that stuff :P)
- Better Windows dialogs - Should be more similar to Windows Notepad.
Windows Executable
Macintosh Application
Source Code (including my version of Scintilla for superior folding)
My Triple Screened setup
Friday, June 18, 2010
CodeAssistoro - Scratchpad of what needs polishing
Need to do all these things before version 0.0.5
Windows
5- Cut/Copy in finder window
3- CTRL+Z should not go before open point
4- Should pop warning to say "cannot save due to file access restrictions"
5- Only a single instance of the application
4- batchfile colourization
4- widen margin to accomidate 99,999 lined files
5- "dark mode" for those who like the dark
3- About Dialog
4- show if text is "dirty"
Mac
4- python perl php bash colourized
4- better java colour
3- all forms of makefile
3- About dialog
Windows
5- Cut/Copy in finder window
3- CTRL+Z should not go before open point
4- Should pop warning to say "cannot save due to file access restrictions"
5- Only a single instance of the application
4- batchfile colourization
4- widen margin to accomidate 99,999 lined files
5- "dark mode" for those who like the dark
3- About Dialog
4- show if text is "dirty"
Mac
4- python perl php bash colourized
4- better java colour
3- all forms of makefile
3- About dialog
Thursday, June 17, 2010
CodeAssistor - version 0-0-3 release candidate 1
I've improved CodeAssistor in many ways over the past couple of days.
Find is fixed (it wasn't the compiler, see previous blog entry).
FoldAll and UnfoldAll have been added (Man this is sooooo useful!!!)
Long Line wrap has been added
My only concern is that pasting into the search box doesn't work in windows... no idea why.
Anyway, grab it while its hot.
MAC
WIN
Find is fixed (it wasn't the compiler, see previous blog entry).
FoldAll and UnfoldAll have been added (Man this is sooooo useful!!!)
Long Line wrap has been added
My only concern is that pasting into the search box doesn't work in windows... no idea why.
Anyway, grab it while its hot.
MAC
WIN
Tuesday, June 15, 2010
Never blame the compiler
In my previous post, I demonstrated how I could get codeassistor to perform the exact same sequence of inputs in different ways depending on if the code was optimized or not. Turns out, I was improperly using a structure (didn't set all the values of the structure properly).
Never blame the compiler
Never blame the compiler
Sunday, June 6, 2010
An interesting finding about compilers
In our binary world of software, a set of consistent in-volatile variables has one and only one path it can take through a static codebase. Bugs exist because variables are never consistent or in-volatile; except during unit testing. Unit testing should use a large enough data set to test all possible variable combination sets, but it is nearly impossible to thoroughly unit test certain codebases (eg codebase for a user experience), thus bugs exist.
However, what do you do when your set of variables passing through a static codebase is the same, with two exceptions.
1) user input timing
2) compiler optimization options
Case: "Backwards Find in Windows & TDM of Mingw"
I cannot be entirely scientific with this. Heck this is a blog post and I've found a workaround for my problem. I highly encourge you "the reader" to investigate this more thoroughly and tell me I've overlooked some stupid thing
Problem Desc: When using the backwards find in Codeassistor, backwards find does not wrap around to the bottom of the sourcefile and search upwards for the search term if the search term cannot be found from the current point of the cursor to the beginning of the sourcefile. Unless the codebase is compiled using the -O0 optimization option.
Steps to reproduce
1) grab the codeassistor source and the mullinpatches branch of scintilla.
2) compile the code via "make -f win.mk -j5"
3) after the test application has popped up, press CTRL+F for find and type "ei" (no quotes) then ENTER.
4) Alt+Tab from the find popup to the editor window
5) press F3 for backwards search multiple times
Expected Result:
The editor will jump to the bottom and find the last occurrence of the string "ei"
Actual Results:
The editor will highlight the second character of the sourcefile (in this case a "*")
Continuation
6) Quit Codeassitor; type "make -f win.mk clean" ENTER
7) Edit win.mk and change -Os to -O0
8) repeat steps 2-5
Results (expected and actual):
The editor will jump to the bottom and find the last occurrence of the string "ei"
It seems like the -Os (for that matter all -O optimization except O0) performs the test one way, and the -O0 performs another way.
-Os drops my final executable IN HALF! from 250KB to 124KB. I am not supremely concerned about this because 250 is acceptably small... but what happens if my executable grows to be 10MB ? I would much prefer a 5MB exe to a 10MB one.
Note: the bug might be in the codeassistor, however the code is acting differently to a non-volitle (except user timing) dataset depending on compiler option.
However, what do you do when your set of variables passing through a static codebase is the same, with two exceptions.
1) user input timing
2) compiler optimization options
Case: "Backwards Find in Windows & TDM of Mingw"
I cannot be entirely scientific with this. Heck this is a blog post and I've found a workaround for my problem. I highly encourge you "the reader" to investigate this more thoroughly and tell me I've overlooked some stupid thing
Problem Desc: When using the backwards find in Codeassistor, backwards find does not wrap around to the bottom of the sourcefile and search upwards for the search term if the search term cannot be found from the current point of the cursor to the beginning of the sourcefile. Unless the codebase is compiled using the -O0 optimization option.
Steps to reproduce
1) grab the codeassistor source and the mullinpatches branch of scintilla.
2) compile the code via "make -f win.mk -j5"
3) after the test application has popped up, press CTRL+F for find and type "ei" (no quotes) then ENTER.
4) Alt+Tab from the find popup to the editor window
5) press F3 for backwards search multiple times
Expected Result:
The editor will jump to the bottom and find the last occurrence of the string "ei"
Actual Results:
The editor will highlight the second character of the sourcefile (in this case a "*")
Continuation
6) Quit Codeassitor; type "make -f win.mk clean" ENTER
7) Edit win.mk and change -Os to -O0
8) repeat steps 2-5
Results (expected and actual):
The editor will jump to the bottom and find the last occurrence of the string "ei"
It seems like the -Os (for that matter all -O optimization except O0) performs the test one way, and the -O0 performs another way.
-Os drops my final executable IN HALF! from 250KB to 124KB. I am not supremely concerned about this because 250 is acceptably small... but what happens if my executable grows to be 10MB ? I would much prefer a 5MB exe to a 10MB one.
Note: the bug might be in the codeassistor, however the code is acting differently to a non-volitle (except user timing) dataset depending on compiler option.
Subscribe to:
Posts (Atom)

