Blog | |
Releases |
Page:
0 ... 5 ... 10 ... 15 ... 20 25 26 27 28 29 30 31 32 33 ... 35 ... 40 ... 45 ... 50 ... 55 ... 60 ... 65 ... 70 ... 75 ... 80
Scribe: Stuff to delete and clean up for v2 | |
---|---|
Date: 28/7/2008 | I've been inspired to clean out some cruft for Scribe v2 so that the UI and design is clean and easy to understand. The things that are going to be cut so far are:
Which are all fairly tame I think. However there is one change that I'm considering thats a little risky. And that is the default location for settings and folders. Currently the default is in the same folder as the application install. Which works for single user Windows quite well. But it's been several years since Scribe has run on Linux and Mac OS X and well things just don't work that way on unix based operating systems. Their main concept is that the app sits in a central location and saves all it's user specific data somewhere in the user's home directory. A definate separation of application and data, and in Linux enforced with permissions so that users can't modify the application. Modern Windows applications follow the same model as well, the app sits in the Program Files hierarchy and the data is saved in the user's Application Data folder. By default I think Scribe should move to this model. However Scribe has prided itself in being able to by portable so I'm considering making the install ask the user for a "desktop" install or a "portable" install and locate the settings and folders appropriately. That way people get the best of both worlds. There are some edge cases that will need smoothing over but I think it'll work in theory. Backup/Copy: the user can no longer assume that operating on the app's folder will backup, copy or move their settings and email. So I will probably make some sort of menu for doing that manually. Maybe in the form of converting between desktop and portable storage post install. I'll probably get a fair bit of feedback about that in the next few v2 builds. What else needs to be cut from v2? |
(3) Comments | Add Comment | |
The Reinstall | |
---|---|
Date: 27/7/2008 | So every 2-3 years I have to reinstall windows. It's part of life. This week it's my turn to face the dreaded reinstall to get XP running on a new faster HD with way more space. Anyway the install went something like this:
Of course it's not good is it. TV out doesn't work. Here we go. I have painful memories of getting this working last time.
|
(0) Comments | Add Comment | |
Last one out turn off the lights. | |
---|---|
Date: 8/7/2008 | In my travels I've had reason to play with custom memory managers for tracking leaks. My particular flavour outputs a text file on exit with each leak and the stack frame of the allocator, including file and line numbers. Very useful.
Initially I ran the dump code using an atexit handler. This seemed to work well, but then I noticed that some global objects were being destroyed after the dump handler was called AND to top it off the handler would not finish. The process would exit WHILE the dump was mid stream. So you get some of the blocks but not all. So I've been playing with other methods of calling the dump code in the right place. The best so far that I've come up with is this: #include <process.h> #include "MemTrack.h" int main() { char *buffer = new char[256]; // leak something // normal main code.. #ifdef TRACK_MEMORY _cexit(); MemDumpBlocks("leaks.txt"); ExitProcess(0); #else return 0; #endif }Or something like that. The call to _cexit calls all the global destructors so that their memory is freed before you dump your blocks to disk. Then the ExitProcess is the neatest way to end the process right now without any more cleanup code being called. I played with _exit, but it didn't really exit right now... it wanted to call all the global destructors again. Not cool. Anyway there you have it, an insight into calling code after all the global objects have been cleaned up. |
(0) Comments | Add Comment | |
Electric Vehicle Technology | |
---|---|
Date: 3/7/2008 | Just thought I'd mention some technology developed in Australia that could put a serious dent in the argument that electric cars, motorbikes and bicycles aren't good enough yet.
Put both of these technologies together and you might get a vehicle that can compete with the gas guzzlers. Except the technology is protected by the patent system. Which means that we won't see anything happen for another 15 years when the patents run out. In the meantime the human race is running headlong into extinction. All because a few companies need to make a buck. Or not. Patents are overwhelmingly evil, there is no good side to them. Just stifled innovation to the detriment of human kind. Previously. Previously. |
(1) Comment | Add Comment | |
The "No files were found to look in." saga continues... | |
---|---|
Date: 25/6/2008 | Visual Studio 2002, 2003 and 2005 all have a delightful little bug where sometimes the keyboard state can get messed up so that find in files stops working with the error message:
No files were found to look in. Find was stopped in progress. Which I've blogged about before. The commonly held solution is to press Well until yesterday that is. Where upon that error message appears in my Find Results pane. I dutifully look up the key press on my own blog (who remembers these things?) and press the key combo. And...? Nothing. Still the same error. Huh? So back to dearly beloved Google, and I'm searching around. And ran into an alternate solution. Yes, a different key combo. For the same problem. *sigh* I present to you: Yes... believe it. If the first combo doesn't work, try the 2nd. I suspect by now there are "n" different combos that might need to be invoked to pacify the raging Visual Studio, and that getting you hooked on Previously. |
(4) Comments | Add Comment | |
Debugging Linux GUI apps. | |
---|---|
Date: 23/6/2008 | When you are running X windows apps in gdb and they grab the mouse and then crash or hit a breakpoint your console is locked out, you can't do anything except quit the app from a text terminal (i.e. However there is a better way. Add these lines to your X11 config: Section "ServerFlags" Option "AllowDeactivateGrabs" "true" EndSection And restart X, now you should be able to use Nice. But it begs the question, why is it not on by default? |
(2) Comments | Add Comment | |