Need to find/create a Delphi compatible version of Messagepack or BSON.
–jeroen
Posted by jpluimers on 2013/07/25
Need to find/create a Delphi compatible version of Messagepack or BSON.
–jeroen
Posted in .NET, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, C#, C# 2.0, C# 3.0, C# 4.0, C# 5.0, Delphi, Delphi XE2, Delphi XE3, Development, Software Development | 4 Comments »
Posted by jpluimers on 2013/07/24
For Visual Studio 2010 and up (including Visual Studio 2012), the VersionInfo extension will check if you have the latest service pack, update and hotfixes installed.
Of course you can manually check the List of available VS2010 hotfixes, or follow the lists maintained by Terje Sandstrom:
But installing the Visual Studio 2010/2012: Version and update information tool is much easier.
–jeroen
Posted in .NET, Development, Software Development, Visual Studio 11, Visual Studio 2010, Visual Studio and tools | Leave a Comment »
Posted by jpluimers on 2013/07/23
Ever since I started .NET programming after .NET Beta 1 Arrived in 2001, I found that many people struggle with the relation between assemblies and namespaces.
So I was glad that I posted this answer about 2.5 years ago on StackOverflow. Below is the slightly edited form:
People are easily confused by the namespace/assembly thing, as it decouples the concept of where your code is physically located (the assembly) and how you reference it:
- logically reference is by using the namespace
- physical reference is by referencing the assembly
I usually explain the relation using the word contribute:
- An assembly can contribute to multiple namespaces.
For instance, theSystem.Data.dllassembly contributes to namespaces likeSystem.Data(e.g. the classSystem.Data.DataTable) andMicrosoft.SqlServer.Server(e.g. the classMicrosoft.SqlServer.Server.SqlContext).- Multiple assemblies can contribute to a single namespace.
For instance both theSystem.Data.dllassembly and theSystem.Xml.dllassembly contribute to theSystem.Xmlnamespace.
Which means that if you use theSystem.Xml.XmlDataDocumentclass from your project, you need to reference theSystem.Data.dllassembly.
And if you use theSystem.Xml.XmlDocumentclass, you need to reference theSystem.Xml.dllfrom your project.(the above examples are .NET 4.0, but likely hold for previous .NET versions as well).
Danny Thorpe explained the concept of namespace and internal really well, so I won’t go into detail about those.
Ever since I started .NET courses 10 years ago, I draw a table explaining assemblies and namespaces like this:
| Assembly | Namespaces it contributes to | ||
|---|---|---|---|
| ↓ | System.Data | Microsoft.SQLServer.Server | System.Xml |
| ↑ Example classes | |||
| System.Data.dll | DataTable | SqlContext | XmlDataDocument |
| System.Xml.dll | — | — | XmlDocument |
–jeroen
Posted in .NET, .NET 1.x, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, .NET CF, C#, C# 1.0, C# 2.0, C# 3.0, C# 4.0, C# 5.0, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2013/07/22
I always forget this one:
The keyboard shortcut for resizing all columns in a report-mode (also known as Details mode) list view control to fit the current content width is Ctrl+Num+. That’s the + key on the numeric keypad.
–jeroen
Posted in Keyboards and Keyboard Shortcuts, Power User, Windows | Leave a Comment »
Posted by jpluimers on 2013/07/21
Some Buffalo WLAE-AG300N links:
–jeroen
Posted in Power User, WiFi | Leave a Comment »
Posted by jpluimers on 2013/07/20
Bitsavers published 2 new Logitech PDFs:
Who didn’t have a Logitech mouse back then?
I had the C7, various MouseMans, and a few more modern mice. Why not all mice? I developed RSI in the DOS era, ending up with TrackPoints and more recently Apple touchpads)
I remember the Logimouse C7, not because it was from Logitech, but because it was available from so may OEMs. Long before Logitech built OEM mice for Apple, they were founded in Apples, Swizerland.
The cool thing: the Programmers Toolkit had examples in Modula-2. I used that as a base to write quite some Turbo Pascal code for mouse handing.
Oh: Bitsavers does have a Logitech Modula-2 PDF online too for quite some time. I mentioned that in More Old Micro Cornucopia issues on BitSavers from 1987 and 1988.
–jeroen
Posted in BitSavers.org, Development, History, Pascal, Power User, RSI, Software Development, Turbo Pascal | Tagged: c7, cornucopia, logitech mouse, modula 2 | Leave a Comment »
Posted by jpluimers on 2013/07/19
Wow, I thought WPS always required a button press on a device.
It appears it doesn’t on many device, and cracking therefore is way to easy: How to Crack a Wi-Fi Network’s WPA Password with Reaver.
–jeroen
Posted in Power User, WiFi | Leave a Comment »
Posted by jpluimers on 2013/07/18
I bumped into the below answer that I gave a while (what is 4 years in a developer’s life ) on StackOverflow.
It is about Delphi Design Patterns. Sepcifically the Factory Pattern, and explains how virtual constructors implement it.
They are one of the 3 corner stones on which the component based Delphi form designer and object inspector are built:
So here it goes: Read the rest of this entry »
Posted in Delphi, Delphi 1, Delphi 2, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi 3, Delphi 4, Delphi 5, Delphi 6, Delphi 7, Delphi 8, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Development, Software Development | 6 Comments »
Posted by jpluimers on 2013/07/18
A while ago, I wrote about .NET/C# duh moment of the day: “A char can be implicitly converted to ushort, int, uint, long, ulong, float, double, or decimal (not the other way around; implicit != implicit)”.
There is another duh moment having to do with the various C# operators like += which is being described as being
a += bis equivalent to
a = a + b
You might think that this also holds:
a += b + cis equivalent to
a = (a + b) + c
But Eric Lippert has explained this is not the case: it is equivalent to:
a = a + (b + c)
In his explanation, he also shows the confusion can get you very surprising results if you mix string, chars and ints in the expression: depending on the statement and ordering, you either concatenate characters, or add ints to characters.
He also recommends you should not do concatenation: either use String.Format, or StringBuilder. I totally agree with that.
Recommended reading!
–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 »