The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,828 other subscribers

Archive for the ‘Software Development’ Category

Three XE3 hotfixes at the Delphi Registered User Downloads page

Posted by jpluimers on 2012/09/28

There are three RAD Studio / Delphi XE3 hotfixes on the Delphi Registered User Downloads page.

Hotfix 3 is for the Professional edition only.

The others are for all editions.

RAD Studio XE3 Hotfix 3: Hotfix 3 for RAD Studio XE3.

This Hotfix addresses an issue in using SQLite driver on the Professional edition.

Available only to registered users of Professional edition of Delphi XE3, C++Builder XE3, RAD Studio XE3, and Embarcadero All-Access XE

1MB; Download

RAD Studio XE3 Hotfix 2: Hotfix 2 for RAD Studio XE3.

This Hotfix addresses a regression with using the GestureManager in a FireMonkey application.

Available only to registered users of Delphi XE3, C++Builder XE3, RAD Studio XE3, and Embarcadero All-Access XE

60MBDownload

RAD Studio XE3 Hotfix 1: Hotfix 1 for RAD Studio XE3.

This Hotfix addresses an issue with ShowMessage in a FireMonkey application on certain locales on Mac OS X.

Available only to registered users of Delphi XE3, C++Builder XE3, RAD Studio XE3, and Embarcadero All-Access XE

12.1MBDownload

–jeroen

via: Delphi Registered User Downloads.

Posted in Delphi, Delphi XE3, Development, Software Development | Tagged: , , , , , , , , , , | 5 Comments »

Make Selection Uppercase or Lowercase – The Ultimate Visual Studio Tips and Tricks Blog – Site Home – MSDN Blogs

Posted by jpluimers on 2012/09/28

How Upper Lower Comment
Keyboard CTRL + SHIFT + U CTRL + U
Menu Edit -> Advanced -> Make Uppercase Edit -> Advanced -> Make Lowercase
Command Edit.MakeUppercase Edit.MakeLowercase
Versions 2008, 2010, 11

–jeroen

via: Make Selection Uppercase or Lowercase – The Ultimate Visual Studio Tips and Tricks Blog – Site Home – MSDN Blogs.

Posted in .NET, Development, Keyboards and Keyboard Shortcuts, Power User, Software Development, Visual Studio 11, Visual Studio 2008, Visual Studio 2010, Visual Studio and tools | Leave a Comment »

Delphi: path names both in .dpr and .dproj, why? (refactoring – How to reorganize the folder structure of my units in Delphi? – Stack Overflow)

Posted by jpluimers on 2012/09/27

Cool: learned something new here:

About the path names of files being in the .dproj as well as in the .dpr:

@Jeroen – Looks like msbuild might need those entries, otherwise they’re possibly redundant, AFAICT… In any case, there is not much editing involved, just delete ‘dccreference’ entries and then a ‘save all’ in the IDE regenerates them. – Sertac Akyuz

–jeroen

via: refactoring – How to reorganize the folder structure of my units in Delphi? – Stack Overflow.

Posted in Delphi, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Development, Software Development | Tagged: , , , , , , | 14 Comments »

Other number verifications (via: Things I tripped over when implementing the “Elf proef”: digit check for Dutch bank account numbers and social security numbers (bankrekeningnummer, BSN/Sofinummer)

Posted by jpluimers on 2012/09/27

EAN (GLN,GTIN, EAN numbers administered by GS1)

Related:


/**
* This is a data provider for the above Unit-test.
*/
public function provider()
{
  return array(
    array('', null), // Empty
    array('0', null), // Empty
    array(' ', null), // Empty
    array('NOT-NUMERIC', null),
    array('77676656', null), // Invalid EAN8 - we do not validated EAN8 at this time.
    array('123456789999', '0123456789999'), // Upc valid, translated to EAN
    array('5031366016409', '5031366016409'),
    array('99802618537', '0099802618537'),
    array('99802469443', '0099802469443'),
    array('58231298109', '0058231298109'), // Too short but valid ean, needs zeros padding.
  );
}

via Ean13.php – yinyang – YinYang Zend Framework Supplement Library – Google Project Hosting.

Edit 20210402: this library has since moved without commit history from Google Code to GitHub with new source code file at [Wayback/Archive.is] yinyang/Ean13.php at master · henryhayes/yinyang.

YinYang Zend Framework Supplement Library

YinYang is a library of classes. Generally anything that is created in addition to Zend Framework and can be reused will be included in this library. YinYang requires Zend Framework as most of the classes extend ZF.

To use, simply checkout a copy, add the library/YinYang folder to your library folder and add YinYang to your list of autoloader namespaces.

Old:

New:

–jeroen

via: Things I tripped over when implementing the “Elf proef”: digit check for Dutch bank account numbers and social security numbers (bankrekeningnummer, BSN/Sofinummer) « The Wiert Corner – irregular stream of Wiert stuff.

Posted in .NET, Barcode, C#, C# 3.0, C# 4.0, C# 5.0, Development, EAN, Software Development | 1 Comment »

Upscene Productions: Database Workbench 4.3.1 free Lite Editions released

Posted by jpluimers on 2012/09/26

Database Workbench is my tool of choice for doing database work: it supports many backends in a consistent manner, and behaves a lot like Delphi (like running and debugging stored procedures).

Yesterday the free Lite Editions of Version 4.3.1 got released:

Database Workbench 4.3.1 free Lite Editions released

This new release of Database Workbench brings new features and enhancements, as requested by our users.

The free Lite Editions are now available.

More information about Database Workbench is available at the Database Workbench page, download your copy today via our downloads page, pricing information is available, the limited Lite Editions are available for free.

Changes in this release

  • The full details and list of changes are available here and here.
  • New
  • MySQL Stored Procedure, Function and Trigger Debugging (Pro Edition only)
  • InterBase and Firebird syntax check in Trigger Editor (Pro Edition only)
  • Incremental search of data in SQL, Table and View Editor

Changes

  • More compact taskbar
  • MySQL support for BINARY and VARBINARY datatypes
  • MySQL error fixed when not having access to mysql.procs
  • MySQL fix for fetching foreign key information
  • Data Import and Export fixes
  • Windows 7 event log error by SideBySide fixed

And much more…

–jeroen

via News @ Upscene Productions.

ITDevCon: Oct 25/26 2012 in Verona, Italy

Posted in Database Development, Delphi, Development, Firebird, InterBase, MySQL, OracleDB, PostgreSQL, Software Development, SQL, SQL Server, SQL Server 2000, SQL Server 2005, SQL Server 2008, SQL Server 2008 R2, SQL Server 2012, SQL Server 7 | 1 Comment »

Generating a WordPress posting categories page – part 3

Posted by jpluimers on 2012/09/26

Notes:

Log, Ln, Lg, Log10, LogE, Ld

Common logarithm – Wikipedia, the free encyclopedia.

Exponential_and_logarithmic_functions ISO 31-11 – Wikipedia, the free encyclopedia.

Binary logarithm – Wikipedia, the free encyclopedia.

What is logarithm(log, lg, ln).

Common Logarithms.

Why Use a Logarithmic Scale to Display Data Math Forum – Ask Dr. Math.

STRAIGHT LINE ON ARITHMETIC GRAPH PAPER (LINEAR FUNCTION)

http://www.humboldt.edu/geology/courses/geology531/531_handouts/equations_of_graphs.pdf

Font sizes

CSS font-size property.

Five simple steps to better typography – Part 4 | Mark Boulton.

A List Apart: Articles: How to Size Text in CSS.

–jeroen

Via: Generating a WordPress posting categories page – part 2 « The Wiert Corner – irregular stream of Wiert stuff.

Posted in .NET, C#, C# 4.0, C# 5.0, Development, Software Development, Web Development, WordPress | Leave a Comment »

Please fellow programmers, name variables more properly.

Posted by jpluimers on 2012/09/25

The code I had a hard time understanding

The below code didn’t compile during a .NET 1.1 to 4 migration.

Downstream code:

Word.Document document = app.Documents.Add(ref FileName, ref missing, ref missing, ref missing);

Upstream code (6 layers up!):

string filename = Path.Combine(ConfigurationSettings.AppSettings["MSWordTemplateDirectory"], (string)status["CoverLetter"]);

And somewhere in the middle:

public bool GenerateLetter(Word.Application app, DataRow row, object FileName, object FilePathAndName)

Afterwards the code is this

Downstream code:

Word.Document document = app.Documents.Add(ref templateFileName, ref missing);

Upstream code (6 layers up!):

templateFileName = Path.Combine(ConfigurationSettings.AppSettings["MSWordTemplateDirectory"], (string)status["CoverLetter"]);

And somewhere in the middle:

public bool GenerateLetter(Word.Application app, DataRow row, object templateFileName, object documentFileName)

Coincidentally, parameters are now all lowercase.

–jeroen

Posted in .NET, C#, C# 1.0, C# 2.0, C# 3.0, C# 4.0, C# 5.0, Development, Software Development | Leave a Comment »

remanence of the PC computing past: Intel MCS-86 Assembly Language Reference Guide

Posted by jpluimers on 2012/09/24

Remanence of the PC computing past: Intel MCS-86 Assembly Language Reference Guide on bitsavers.org in http://bitsavers.org/pdf/intel/8086.

Intel MCS-86 is/was the 16-bit range of x86 processors.

I used it in BASM (not only in Delphi 1 and up, it started in Turbo Pascal 6), and before that in MASM, NASM, and TASM.

–jeroen

Posted in Assembly Language, BitSavers.org, Delphi, Delphi 1, Development, History, Software Development, x86 | Tagged: , , , , , , , , , , , , , , | 5 Comments »

Frank Borland is back, but what does that mean?

Posted by jpluimers on 2012/09/23

Frank Borland is back. You can meet him at Micro Focus now – they acquired Borland a while ago – where he relates to things from the past:

Frank Borland first appeared in advertisements and on the cover of the SideKick manual in 1984. Later on, Frank appeared in the first version of the Turbo Tutor manual.

He is talking about powerful and affordable, has Facebook as well as presence on LinkedInTwitter and Google+.
But I when I look at the MicroFocus product portfolio, I don’t see any that are both affordable and powerful.

Todays software days are different than 30 years ago, but I do agree with a couple of the points he made:

  • Keep it open
  • Don’t make it big, make it better
  • Focus on the user experience
  • Listen to the community

I don’t think you necessarily need to meet these two though:

  • Meet every platform need
  • Make it affordable

As those two tend to contradict each other.

What do you think?

–jeroen

via: » Frank’s Story Meet Frank Borland.

Posted in Agile, Delphi, Development, Opinions, Software Development, Testing, Unit Testing | Tagged: , , , , , , , , , , | 21 Comments »

“tfpt treeclean /exclude:*.suo,*.user” is what I use most (and recommend this thread: Does any tool exist to help Sync a directory with TFS? – Stack Overflow)

Posted by jpluimers on 2012/09/20

This post describes the TFS workspace cleanup features Treeclean and Scorch.

Both are not in the Visual Studio UI nor TFS tool, but are available form the ftpt command from the optional Team Foundation Power Tools package.

The main reason you need these two features is that TFS does not always clean up after it self when you perform get latest. For instance renamed directories, as well as bin and obj directories are not automatically removed.

The tfpt command I most often use this this one:

tfpt treeclean /exclude:*.suo,*.user

This deletes files from your local TFS workspace directory tree that are not in the source control system, but skips the *.suo and *.user files.

Tfpt also allows you to scorch files from your TFS.

So my second most used tfpt command is scorch in either of the two below forms:

tfpt scorch /recursive /diff
tfpt scorch /recursive /diff /exclude:*.suo,*.user

The first form is for the automatic build environment, the second for my normal development workspace.

Below is the explanation of treeclean and scorch.

First some other great commands from this StackOverflow answer by Martin Woodward:

Not quite, however you might want to download the TFS Power Tools and check out the command line utility tfpt.exe.

The “tfpt online” and “tfpt treeclean” might be most useful to you when working outside of an integrated TFS client. tfpt online will look for files in your local directory that are not under version control, treeclean will show you files in your local directory that are not under version control so that you can remove then if they are not required.

Scorch versus Treeclean

Scorch does more than Treeclean.

I use Treeclean for 90% of my normal workspace work, Scorch (with exclude) for about 10% of the time in my regular workspace.
For my CCnet build integration workspace, I only use Scorch (without exclude).

Treeclean just cleans the tree of stuff that is not in TFS:

B:\MasterWorkingDir>tfpt treeclean /?
tfpt treeclean - Delete files and folders not under version control

Usage: tfpt treeclean [/exclude:filespec1,filespec2,...] [filespec...]
[/recursive] [/batchsize:num] [/noprompt [/preview]]

Scorch does more work: at the end, both source control and the local disk situation are identical.

B:\MasterWorkingDir>tfpt scorch /?
tfpt scorch - Ensure source control and the local disk are identical

Your local disk will be scanned for:
 (1) items that are not in source control
 (2) items which are different on disk from the workspace version
 (3) items which are in the workspace but are missing on disk
Items not in source control will be deleted from disk, just as with the
 tfpt treeclean command. Items determined to be different on disk from the
 workspace version will be redownloaded from the server. Items missing on
 disk will also be redownloaded. Items with pending changes are exempted.

By default, items deleted from your local disk (#3 above) will not be
scanned for, and local items are determined to be identical/different from
the workspace version *solely by examining the read-only bit on the file*.

To redownload items deleted from your local disk (#3 above), supply the
/deletes option. To detect items which are different from the workspace
version but still have their read-only bit set (+R), supply the /diff option.
When using either or both of these options, tfpt scorch runs more slowly.

Usage: tfpt scorch [/exclude:filespec1,filespec2,...] [filespec...]
[/recursive] [/batchsize:num] [/noprompt [/preview]]
[/deletes] [/diff]

The commandline options are also different.

Scorch has these extra when compared to Treeclean:

/batchsize:num Set the batch size for server calls (default 500)
/deletes Detect and replace items missing from the local disk
/diff Use MD5 hashes to compare items with source control

Treeclean can have these options:

/noprompt Operate in command-line mode only
/exclude:filespec[,..] Files and directories matching a filespec in this list
are excluded from processing
/preview Do not make changes; only list the potential actions
/recursive Switch from one level of recursion to full recursion
/batchsize:num Set the batch size for server calls (default 500)
filespec... Only files and directories matching these filespecs
are processed

Scorch can have these options:

/noprompt Operate in command-line mode only
/exclude:filespec[,..] Files and directories matching a filespec in this list
are excluded from processing
/preview Do not make changes; only list the potential actions
/recursive Switch from one level of recursion to full recursion
/batchsize:num Set the batch size for server calls (default 500)
filespec... Only files and directories matching these filespecs
are processed

–jeroen

via:

Posted in CodePlex, Development, Software Development, Source Code Management, TFS (Team Foundation System), Visual Studio 11, Visual Studio 2002, Visual Studio 2003, Visual Studio 2005, Visual Studio 2008, Visual Studio 2010, Visual Studio and tools | 4 Comments »