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

Life in a post-database world: using crypto to avoid DB writes

Posted by jpluimers on 2015/11/05

Interesting: Life in a post-database world: using crypto to avoid DB writes.

For some security related operations, you only need smart use of HMAC, and no temporary database entries.

Thanks for the Jan Wildeboer referral to this.

–jeroen

Posted in Development, Hashing, Power User, Security, Software Development | Leave a Comment »

Programming is Gardening, not Engineering

Posted by jpluimers on 2015/11/04

Pragmatic Programmers Andy Hunt and Dave Thomas talk with Bill Venners about a gardening metaphor for software development, the reasons coding is not mechanical,and the stratification of development jobs.

Source: Programming is Gardening, not Engineering

Posted in Uncategorized | Leave a Comment »

Do not expose properties with writeable fields without a chance to react on the writes.

Posted by jpluimers on 2015/11/04

From a chat with a co-worker a while ago:

I’m not against properties. Just something against properties properties that are objects with writeable fields.

So even if you expose such a property as read-only, it can still get its writeable fields overwritten.

That is a pain when those are part of the state of the underlying object.

In other words: encapsulate your state changes.

Here we solved it by making

  • the type of the property immutable
  • the property writeable
  • react on state changes during the write

Proper encapsulation.

In this case it was a project mixing C# and Delphi, but you can easily apply the above to any language featuring classes and properties.

Another solution would have been to extend the type of the property so it can expose an event that fires during change. Much more convoluted.

–jeroen

Posted in .NET, C#, C# 1.0, C# 2.0, C# 3.0, C# 4.0, C# 5.0, C# 6 (Roslyn), Delphi, Delphi 10 Seattle, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Delphi XE8, Development, Software Development | 2 Comments »

c#: Lazy is not constrained to static contexts, instance field initialisers are – via: Stack Overflow

Posted by jpluimers on 2015/11/03

Lazy<T> is not constrained to static contexts.

Instance field initialisers cannot use instance references (but can use static references) as they run outside of the constructor.Though there are arguments for instance field initialisers too., I think this is a good reason to initialise fields inside the constructor: there you do have access to instance references (but should not call virtual instance methods or properties) which leads to another reason: consistency as field initialisers run in the opposite hierarchy order as constructors (incidentally causing this virtual method restriction).

Boy, that was a long sentence (:

–jeroen

via:

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, Software Development | Leave a Comment »

Fritz!Box VPN error messages – via: VPN mit der FritzBox :: network lab

Posted by jpluimers on 2015/11/02

VPN mit der FritzBox :: network lab has a nice walk through on how to set up non LAN-LAN VPN connections with Fritz!Box.

But the really cool thing is that they have a table of IKE (Internet Key Exchange) error messages.

Until now, I mainly had these errors, which thanks to the table now have a description:

Better than

Note: both are within the public IP range, so not in the ranges mentioned here: Identifying the address range of the IPv4 address for the Internet connection | FRITZ!Box 7390 | AVM International.

Maybe I should just use the Windows tools to setup the config: MarkusKirschmann.de – Blog » IKE-Error Ox1c.

–jeroen

via:

Their table:

Read the rest of this entry »

Posted in Fritz!, Fritz!Box, Network-and-equipment, Power User | Leave a Comment »

htc sensation screenshot – Google Search

Posted by jpluimers on 2015/11/02

HTC Sensation on Android 2.3.4, HTC Sense 3.0 and Software version 1.45.401.2. That a software update that came out in late August and early September. It’s possible to take a screen shot without rooting your phone. It’s just a little tricky; press power and menu home at the same time.Sep 7, 2011

In addition: you need to have an SD card inserted. My HTC Sensation forgets it has one every now and then after which you get no errors, just that taking screenshots don’t work any more.

–jeroen

Source: htc sensation screenshot – Google Search

Posted in Uncategorized | Leave a Comment »

SmartHalo – Turn your bike into a smart bike by CycleLabs — Kickstarter

Posted by jpluimers on 2015/11/01

Posted in Uncategorized | Leave a Comment »

Don’t Use JSON And XML As Internal Transfer Formats | Bozho’s tech blog

Posted by jpluimers on 2015/11/01

Fazit: use a pluggable streaming system that defaults to binary for internal transfers, but can switch to text based when researching issues.

Source: Don’t Use JSON And XML As Internal Transfer Formats | Bozho’s tech blog

Posted in Uncategorized | Leave a Comment »

Instrumental Profiling in Elements

Posted by jpluimers on 2015/11/01

For my link archive: RemObjects Instrumental Profiling in Elements

Posted in Uncategorized | Leave a Comment »

Real life* stress testing a complex server application (or why we really need FireBird 3.0) | Sleek Productions

Posted by jpluimers on 2015/11/01

I hope he continues posting about this, as this is an interesting start: Real life* stress testing a complex server application (or why we really need FireBird 3.0) | Sleek Productions

Posted in Uncategorized | Leave a Comment »