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,861 other subscribers

Archive for 2012

FastMM4 download available for Delphi XE3

Posted by jpluimers on 2012/09/05

At the day of the Delphi XE3 release Piere le Riche released the download version of FastMM4 (now version 4.991) that is compatible with Delphi XE3.

change log:

Version 4.991 (3 September 2012)

  • Added the LogMemoryManagerStateToFile call. This call logs a summary of
    the memory manager state to file: The total allocated memory, overhead,
    efficiency, and a breakdown of allocated memory by class and string type.
    This call may be useful to catch objects that do not necessarily leak, but
    do linger longer than they should.
  • OS X support added by Sebastian Zierer
  • Compatible with Delphi XE3

Note:

The download is ready, but the FastMM source repository on SourceForge is not yet updated.

–jeroen

via: FastMM | Free Development software downloads at SourceForge.net.

Posted in Delphi, Delphi XE3, Development, FastMM, Software Development | 1 Comment »

Help Test RAD Studio XE3 Support in GExperts 1.37 Beta 1 | GExperts

Posted by jpluimers on 2012/09/04

Didn’t see this one on DelphiFeeds yet:

Help Test RAD Studio XE3 Support in GExperts 1.37 Beta 1 | GExperts.

Now please Thomas, can you create an experimental build too?

–jeroen

Posted in Delphi, Delphi XE3, Development, Software Development | 2 Comments »

When you wished that Excel had short-circuit boolean evaluation: Excel IF, OR and SEARCH function combination

Posted by jpluimers on 2012/09/04

I had a function like this in Excel:

=IF(OR(B2=""; SEARCH(C2;B2)); "ok"; "INCONSISTENT")

The situation should be OK when either:

  • Cell B2 is empty (an empty cell is considered equal to a zero length string).
  • One or more occurrences of the value in cell C2 can be found in the value of cell B2

Since most of my software development is outside of Excel, I’m used to short-circuit boolean evaluation.

Not with Excel: the OR is a function, not an operator, so all other function calls will be evaluated.

Since SEARCH will return #VALUE! when the first argument does not have a value, and #VALUE! propagates in a similar way as NULL in SQL does (SQL has the Boolean datatype inconsistency though).

So you need to get rid of #VALUE! as soon as you can using the one of the IS functions like the ISERROR function or the ISNUMBER function.

ISNUMBER, contrary to popular belief, not only distinguishes numbers from text, but in fact from any non-numeric value as Glaswegian kindly explained on the TechSupport forum:

Excel IF and SEARCH function combination

I am trying to do the following:

If cell A1 contains the characters “ABC” anywhere in the string or value, then “Y”, else “N”. I almost have it by using =if((search(“ABC”,A1)),”Y”,”N”). However, with the “else” if “ABC” is not found, it returns #VALUE! as opposed to “N”.

[…]
Try

=IF(ISNUMBER(SEARCH("abc",A1,1)),"Y","N")

ISNUMBER checks the type of value and returns TRUE or FALSE. The #VALUE error refers to the fact that Excel could not translate the value to the type required.

So the code ends up as this:

=IF(OR(B2=""; ISNUMBER(SEARCH(C2;B2))); "ok"; "INCONSISTENT")

–jeroen

via: Excel IF and SEARCH function combination – Tech Support Forum.

Posted in Development, Excel, Office, Power User, Software Development | Leave a Comment »

Detecting which TCP/IP and UDP ports are open

Posted by jpluimers on 2012/09/03

The counterpart of TCP/IP port forwarding is detecting which of them are open.

There are many tools for that.

Locally, you can use netstat to see what processes are listening on what ports.

Remotely you can use the Microsoft PortQry as a basic tool on Windows, or the multi platform the nmap (console) / zenmap (UI) combo to go very advanced.

On Windows, nmap (like wireshark) uses WinPcap for pcap packet capturing.

–jeroen

Posted in Power User | 2 Comments »

Zero-day Java exploit fixed: Either update Java immediately, or disable it if you don’t use/need it

Posted by jpluimers on 2012/08/31

On monday, I wrote it was Time to disable Java for a while: Zero-Day Season is Not Over Yet.

Today Oracle released a fix, which you should either install immediately (that is NOW, don’t hesitate!).

For this vulnerability, it is enough to disable Java from your browser – see: How to disable Java in your web browser – but as with any software: if you don’t need it, just disable/uninstall it.

Disabling/uninstalling on a Mac may impose a problem, as Apple hasn’t come with an update for the OS X editions that came with Java pre-installed.

Most other users can either install the version on their current system on-line from Download Free Java Software, or download offline installers for other systems at Java Downloads for All Operating Systems.

I might actually try the Java Unattended Silent Installer and Updater from Ninite – Install or Update Multiple Apps at Once.

–jeroen

via:

 

Posted in *nix, Apple, LifeHacker, Mac, Mac OS X / OS X / MacOS, Mac OS X 10.4 Tiger, Mac OS X 10.5 Leopard, Mac OS X 10.6 Snow Leopard, Mac OS X 10.7 Lion, MacBook, MacBook-Air, MacBook-Pro, Power User, Windows, Windows 7, Windows 8, Windows Server 2000, Windows Server 2003, Windows Server 2003 R2, Windows Server 2008, Windows Server 2008 R2, Windows Vista, Windows XP | Leave a Comment »

A few Windows TCP/IP proxy/tunnel/relay tools

Posted by jpluimers on 2012/08/31

So I won’t forget:

–jeroen

Posted in Power User, Windows | Leave a Comment »

If a program you wrote can’t start becuase MSVCR*.dll is missing, then you forgot to ship the Visual C++ runtime…

Posted by jpluimers on 2012/08/30

Too often I see quesions like the one below on software that people distribute:

The Program can’t start becuase MSVCR100.dll is missing from your computer. Try reinstalling the program to fix this problem.

I am getting follwing error when i am trying to open Computer management in windows 7,the error is as follows ,

The Program can’t start becuase MSVCR100.dll is missing from your computer. Try reinstalling the program to fix this problem.

Where can i found this dll file, and help me to download and install.

The reason is that many programmers and companies still fail to ship the correct Visual C++ run-time.

Even for a one-off, you should need to get your installation set right. And writing stuff in a version of Visual C++ almost always means you need to ship the run-time for that particular version of Visual C++ with your application (though sometimes you can get away by putting the DLLs in the directory of your application, this is not recommended, as that way you won’t receive security updates).

User Marilyn O was so kind to sum up most of the download locations (I did a bit of post-editing, added all the non-“FamilyID” links, all naming differences are from the MS site):

I would install the Microsoft Visual C++ Redistributable dll that is needed for projects built with Visual Studio 2010.

Download the files below depending on your operating system version. […] Check in Programs and Features, do you show that you have installed Microsoft Visual C++ … Redistributable? If not, download from the links here.

–jeroen

via: The Program can’t start becuase MSVCR100.dll is missing from your – Microsoft Answers.

Posted in C++, Development, Power User, Software Development, Visual Studio 2005, Visual Studio 2008, Visual Studio 2010, Visual Studio and tools, Windows, Windows 7, Windows 8, Windows Server 2000, Windows Server 2003, Windows Server 2003 R2, Windows Server 2008, Windows Server 2008 R2, Windows Vista, Windows XP | 3 Comments »

VS2010 Workfold Command: allows moving a local working folder for a WorkSpace, but not unmapping it when you have multiple workspaces with the same name

Posted by jpluimers on 2012/08/29

Just found a glitch in the unmap support for tf workfold (and found out it has already been reported).

First what I tried to do:

  1. move D:\develop.TFS02 into D:\develop\CodePlex\TFS02 using tf map (which BTW allows you to do in place branch switching).
  2. unmap D:\develop.TFS02\besharp from TFS

First a few things; the first one succeeded (as it implicitly uses the /map command), the last ones failed because /unmap is ambivalent on the /collection parameter: on the one hand it wants to do without, but when it discovers it cannot do without, it wrongly indicates it requires it.

D:\develop.TFS02\besharp>tf workfold /collection:https://tfs.codeplex.com/tfs/tfs02 /workspace:%COMPUTERNAME% $/ D:\develop\CodePlex\TFS02

D:\develop.TFS02\besharp>tf workfold /collection:https://tfs.codeplex.com/tfs/tfs02 /workspace:%COMPUTERNAME% /unmap $BeSharp
The option collection is not allowed.

D:\develop.TFS02\besharp>tf workfold /unmap /collection:https://tfs.codeplex.com/tfs/tfs02 /workspace:%COMPUTERNAME% D:\develop.TFS02\besharp
The option collection is not allowed.

D:\develop.TFS02\besharp>tf workfold /unmap D:\develop.TFS02\besharp
Unable to determine the workspace. You may be able to correct this by running 'tf workspaces /collection:TeamProjectCollectionUrl'.

D:\develop.TFS02\besharp>tf workfold /unmap /workspace:%COMPUTERNAME% D:\develop.TFS02\besharp
Multiple workspaces exist with the name T61PJWP.
Please specify the Team Foundation Server or qualify the name with the owner.

Workaround

The workaround is to

  1. start Visual Studio,
  2. unmap $/,
  3. recursively map $/ to D:\develop\CodePlex\TFS02,
  4. perform a get latest.

–jeroen

Via:

Posted in .NET, Development, Software Development, Source Code Management, TFS (Team Foundation System), Visual Studio 2010, Visual Studio and tools | Leave a Comment »

Many more event videos available at Channel 9 (was: PDC10 – view Microsoft PDC 2010 sessions on your PC)

Posted by jpluimers on 2012/08/28

Dang; I thought this had long left the posting queue, but somehow it ended in the drafts (:

Since then, many more event videos made it to Channel 9, including Build 2011, and TechDays 2012.

Anyway, here it is:

Microsoft’s PDC 2010 was held at the end of October 2010 in Redmond, WA, USA.

For the people that could not attend, it is very nice to view the sessions using the PDC10 player (it seems still people didn’t learn and start stripping the century parts from years again!).

Even if you are not using Visual Studio, .NET Azure or other Microsoft Technologies, there are a lot of interesting sessions showing the directions that Microsoft is taking.
Comparing that to what you do today is always a good thing to do: it helps you reflect, an important part of your personal development.

A few things I found interesting (in no particular order):

  • Asynchrony support in C# 5 and VB.NET 11 based on the Task Parallel Library
  • The choice to favour HTML 5 over SilverLight, even though Internet Explorer 9 and Microsoft’s HTML 5 authoring/development tools are far from ready
  • Azure reporting: is reporting the next big thing on clouds?
  • Offline versus online in the cloud world
  • NuPack – does it bring package management to the same level as Ruby or *nix?
  • XNA for XBox, Windows and Windows Phone

Enjoy!

–jeroen

Posted in .NET, .NET 4.5, C#, C# 4.0, C# 5.0, Channel9, Cloud Development, Database Development, Delphi, Development, HTML, HTML5, Mobile Development, SilverLight, SocialMedia, Software Development, Visual Studio 11, Visual Studio 2010, Visual Studio and tools, Web Development, Windows Azure, Windows Phone Development, XNA | 2 Comments »

Time to disable Java for a while: Zero-Day Season is Not Over Yet

Posted by jpluimers on 2012/08/27

Hmm, time to disable Java for a while:

Malware Intelligence Lab from FireEye – Research & Analysis of Zero-Day & Advanced Targeted Threats:Zero-Day Season is Not Over Yet.

–jeroen

Posted in *nix, Apple, Chrome, Google, Linux, Mac, Mac OS X / OS X / MacOS, Mac OS X 10.4 Tiger, Mac OS X 10.5 Leopard, Mac OS X 10.6 Snow Leopard, Mac OS X 10.7 Lion, MacBook, MacBook-Air, MacBook-Pro, Power User | 3 Comments »