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

“Invisible” T-Shirts & Hoodies by Reece Ward | Redbubble

Posted by jpluimers on 2015/06/26

Yet another T-Shirt friday one:

Invisible

Still wondering where the toolbox comes from, as it is not MacPaint nor a very early PhotoShop.

I think it is mimicked aft er the monochrome PhotoShop 2.5 edition.

–jeroen

via “Invisible” T-Shirts & Hoodies by Reece Ward | Redbubble.

“Invisible” T-Shirt

Posted in Fun, Geeky, Quotes, T-Shirt quotes | Leave a Comment »

Performance Considerations of Class Design and General Coding in .NET – CodeProject

Posted by jpluimers on 2015/06/25

The Performance Considerations of Class Design and General Coding in .NET – CodeProject article is a big peek into the content of the book Writing High-Performance .NET Code | Get the best performance out of your .NET code.

Both are highly recommended.

–jeroen

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

20 years ago today: Here’s a nickel kid. Go buy yourself a real computer.

Posted by jpluimers on 2015/06/24

An eternal Dilbert strip that is based on the tiny Here’s a nickel kid. Go buy yourself a real computer fragment from single.h:

#if _FP_W_TYPE_SIZE < 32
#error "Here's a nickel kid. Go buy yourself a real computer."
#endif

Read the rest of this entry »

Posted in *nix, ARM, Assembly Language, Delphi, Delphi 1, Development, Fun, Geeky, History, MS-DOS, Power User, Software Development, Windows, Windows 8.1, Windows 95, Windows NT, x86 | 2 Comments »

Aspect Oriented Programming in Delphi

Posted by jpluimers on 2015/06/24

I’ve been doing Aspect Oriented Programming (AOP) in .NET for a long while, mostly using PostSharp LAOS as that was the first AOP .NET library I encountered (5 years ago it became PostSharp 2.0, now it is already at its 10th anniversary!).

AOP allows you to perform separate of concerns (SoC) in your application, especially in the area of cross-cutting concerns like for instance logging, authorization, monitoring, etc.

It took a while in Delphi to allow for AOP, but the TVirtualMethodInterceptor (that introduced in Delphi 2010) can be used to do AOP (only for Virtual Methods, which is still way better than having no AOP at all).

The code requires a lot of manual labor. so I was glad that DSharp (a great library by Stefan Glienke – one of the leading Spring4D contributors) contains a nice wrapper around TVirtualMethodInterceptor so you can use AOP in an attribute based fashion.

Nick Hodges recorded a good introductory video on AOP in Delphi with slides and demo code:

Note that besides DSharp, also MeAOP and Infra provided support for AOP in Delphi, but these haven’t had updates since 2010.

Read the rest of this entry »

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, C# 6 (Roslyn), Delphi, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Development, Software Development | Leave a Comment »

`git init –bare`: to create a new git repository from an existing one (via: Stack Overflow)

Posted by jpluimers on 2015/06/23

I needed to get an existing Git repository to a client that had a tightened network. No SSH allowed, web proxy filtering out all sorts of sites and also performing a HTTPS man-in-the-middle to detect and reject all kinds of binaries, etc.

But we needed a public repository locally.

Which worked, thanks to pestrella, who answered about `bare` repositories to get my last steps correct:

In order to create a new Git repository from an existing repository one would typically create a new bare repository and push one or more branches from the existing to the new repository.

The trick is to know that server-side repositories are `bare` and client side repositories are `regular`. `bare` means the absence of a working copy on the server side.

I performed these steps:
Read the rest of this entry »

Posted in Development, DVCS - Distributed Version Control, git, Source Code Management | Leave a Comment »

The difference between https://google.com and https://encrypted.google.com? – Information Security Stack Exchange

Posted by jpluimers on 2015/06/22

There are differences between the encrypted Google search at https://encrypted.google.com and the ordinary HTTPS Google search at https://google.com:

Originally, the regular Google.com and http://www.Google.com usage was without HTTPS, and encrypted.Google.com was using HTTPS.

Even after HTTPS support was added to all Google subdomains there is still a difference in the referer handling: encrypted.Google.com is much safer.

–jeroen

via: encryption – What is the difference between https://google.com and https://encrypted.google.com? – Information Security Stack Exchange.

Posted in Google, GoogleSearch, Power User | Leave a Comment »

Learn to Kern T-Shirt | CMYBacon

Posted by jpluimers on 2015/06/19

Since it is T-Shirt friday, typography geeks will love:

Learn to kern

and

Will kern for food

–jeroen

Learn to Kern T-Shirt | CMYBaconWill kern for food

via

Posted in Fun, Quotes, T-Shirt quotes | 1 Comment »

2 More Old Micro Cornucopia issues on BitSavers from 1986 « The Wiert Corner – irregular stream of stuff

Posted by jpluimers on 2015/06/18

Almost two years ago, I wrote “the only issues missing are #28, #30 and #31.”. As of mid May any more:

All of them are from the 5th anniversary year.

–jeroen

via 2 More Old Micro Cornucopia issues on BitSavers from 1986 « The Wiert Corner – irregular stream of stuff.

Posted in 6502 Assembly, Assembly Language, BitSavers.org, C, C++, Development, History, Pascal, Software Development, Turbo Pascal | Leave a Comment »

Inversion of Control via constructor argument passing

Posted by jpluimers on 2015/06/18

Inversion of Control example video on YouTube: business class is not in control of the DAL.

It uses C#, but the code is so simple that every programmer should be able to get it.

Uses:

  • interfaces
  • parameter passing through constructor
  • moving control decisions out of the business class

Inversion of Control (IoC) can later be amended by Dependency Injection (DI), but IoC can easily without that be used very effectively without DI.

I wish the What is…? series had more than 1 episode, but Christian Richards does have some interesting series about game development.

–jeroen

via: duidelijk voorbeeld.

Posted in .NET, .NET 1.x, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, C#, C# 1.0, C# 2.0, C# 3.0, C# 4.0, C# 5.0, C# 6 (Roslyn), Development, RemObjects C#, Software Development, VB.NET, VB.NET 10.0, VB.NET 11.0, VB.NET 7.0, VB.NET 7.1, VB.NET 8.0, VB.NET 9.0 | Leave a Comment »

H.H. Polzer, bekend als Drs. P., rijmt eigen rouwadvertentie – via AT5

Posted by jpluimers on 2015/06/17

De advertentie is ondertekend door Drs. P. en geplaatst onder zijn echte naam H.H. Polzer. Het gedicht van de advertentie luidt:

Even uw aandacht graag!
Korte berichtgeving:
Ondergenoemde
Is niet meer in beeld –

Wat hier (behalve voor
Onbelangstellenden)
Hartelijk groetend
Wordt medegedeeld

–jeroen

via: Drs. P. rijmt eigen rouwadvertentie – AT5.

Posted in About, Fun, Quotes | Leave a Comment »