Posts

Code Snippets Database Version Support - Update

Back in September in gave notice that I was going to cease supporting CodeSnip versions up to and inlcuding v2 when adding new snippets to my Code Snippets Database (see my post " Code Snippets Database Version Support "). This post is just to confirm that the last updates to the database that will be visible in CodeSnip versions 1 and 2 have just been released today . This also means that the online version of the database, which has similar characteristics to CodeSnip 2 , will no longer be able to "see" new database updates. So, if you want to keep on getting or viewing updates to the database you need to do one of: Update to the latest version of the CodeSnip program. View the snippets using the new Code Snippets Database – Take 2 web app, which is in early beta at present. If it's new year's eve where you live, have a happy new year!

CodeSnip source now moving to GoogleCode

Well, I've migrated the CodeSnip project to SourceForge's new Allura forge, and I think the Subversion repo software stinks! Lots of external links into the repo that I rely on in documentation can't be made to work as I want and the whole repo support seems badly thought out to me. So, I'm planning to move the repo to GoogleCode , which at least I know quite well because I host some other projects there. I'm afraid this means that the migration will take even longer than I suspected - sorry for that if you're waiting to use the repo. I'll post again as promised once the new links are active. For the time being, downloads and bugs / feature requests will still be kept on SourceForge. UPDATE (3rd Jan 2013): All the changes to CodeSnip 's hosting are now complete - more info .

CodeSnip project moving home on SourceForge

Over the next few days SourceForge will be migrating the CodeSnip project to their new "Allura" forge. If you access CodeSnip 's Subversion source code repository or download CodeSnip updates from SourceForge you will find that the project may not be available at times. UPDATE 1: CodeSnip's source is now going to be moved to GoogleCode . See " CodeSnip source moving to GoogleCode " for more info. UPDATE 2: All the changes to CodeSnip 's hosting are now complete - details . Once the migration is complete the URLs used to access the Subversion repo will change. Once the new URLs are working I will post them here and on CodeSnip 's download page on my website. Sorry about the interuption but SourceForge have given notice that all projects now need to be migrated. I just hope the glitches I noted in my mini review a few posts ago have been fixed.

Checking File Preambles and Watermarks

I'm constantly having to check the preambles of files for some kind of signature (or "watermark") to check or validate the file's format. I've re-invented the wheel many times over while doing this. Time, I thought, for a little helper routine or two. First, a little routine to check the next N bytes from a stream for a given sequence of bytes (the "watermark"). function StreamHasWatermark ( const Stm : TStream ; const Watermark : array of Byte ) : Boolean ; var StmPos : Int64 ; Buf : array of Byte ; I : Integer ; begin Assert ( Length ( Watermark ) > 0 , 'No "watermark" specified' ) ; Result := False ; StmPos := Stm . Position ; try if Stm . Size - StmPos < Length ( Watermark ) then Exit ; SetLength ( Buf , Length ( Watermark ) ) ; Stm . ReadBuffer ( Pointer ( Buf ) ^ , Length ( Buf ) ) ; for I := Low ( Buf ) to High ( Buf ) do if Buf [ I ] <> ...

New look blog

Just finished giving the blog a new look and feel. I hope it's clearer and less fussy than the previous version. The syntax highlighter styling has been switched to emulate the Delphi "Classic" theme, e.g.: procedure Foo ; // example of highlighter ShowMessage ( 'The answer is ' + IntToStr ( 42 ) ) ; end ; So there we are then. Comments appreciated.

CodeSnip 4 Emerges

Image
After a lot of development CodeSnip v4 has finally been released. You can get it from the CodeSnip Download Page or from SourceForge . Here's a list of the key new features and changes: Snippet Handling New "unit" and "class" snippet kinds that can include complete units and classes (and advanced records) in the database. Both can be test compiled and classes / advanced records can also be included in generated units. Snippets from both the main and user databases can now be duplicated. This is very useful if you have created a snippet and want to create another one that shares a lot of the source code, dependencies etc. The full range of Unicode characters can now be used for snippet names, descriptions etc., and for source code. There is now finer control over the control of warnings in generated code via the $WARN directive. The names of referenced units may now contain dots so that Delphi namespaces can be used. User Interface The new multi-tab displa...

Aaargh - Another BAD CodeSnip Bug - Now Squashed

You couldn't make this up. No sooner had I released CodeSnip 4 release candidate 2 to correct a nasty bug relating to snippet display names than I read a comment in the blog about another new, and even worse, bug. This one affects clean installs of CodeSnip , i.e. installs where there was no previous version of the program installed. It would either crash on start-up or to look into a permanent loop using a lot of processor time. Bad because it means no new users could install it. This bug goes back to beta 2. I've rushed out a patch for this problem - CodeSnip 4 release candidate 3 . You can get this on SourceForge or download it direct from my website . If you are using any of the betas or release candidates you really SHOULD update now . I find it strange that no-one has reported this until now, and that I didn't find this bug while testing the installer. But at least it got reported before the final version gets released - big thanks to the anon reporter. I guess pe...