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

Archive for the ‘Development’ Category

Links to various Visual C++ Redistributable Packages for Visual Studio downloads (arm/x64/x86 when available)

Posted by jpluimers on 2018/01/17

Link archive so I know how to get the 64-bit ARM, 32-bit Win32/x86 and 64-bit Win64/x64 downloads for the Visual C++ Redistributable files.

Note the various names of pages and files Microsoft uses.

–jeroen

Posted in C++, Development, Software Development, Visual Studio C++ | Leave a Comment »

Changing component class at run-time on demand for older Delphi versions need a bit more magic than you’d expect

Posted by jpluimers on 2018/01/16

Just in case I ever need to do heavy Delphi 2007 magic to change the component class of an object instance:

[WayBack] Quite unusual compiler behaviour (for older compilers) as seen here:http://stackoverflow.com/questions/41181767/patching-instance-class-requires-base-… – David Heffernan – Google+

References:

–jeroen

Source: Quite unusual compiler behaviour (for older compilers) as seen here: http://…

Posted in Delphi, Delphi 2007, Development | Leave a Comment »

What happens when a huge number of people share a single grocery store loyalty card? – The Old New Thing

Posted by jpluimers on 2018/01/12

[WayBack] What happens when a huge number of people share a single grocery store loyalty card? – The Old New Thing

An interesting discussion in the comments besides this interesting article observation:

What messes up their data analysis is when two people with different lifestyles swap cards. The system sees that somebody who used to buy yogurt and bulk brewer’s yeast is now buying potato chips and frozen pizzas, and it can’t figure out what is going on.

–jeroen

Posted in Cloud, Development, Fun, Infrastructure, LifeHacker, Software Development, The Old New Thing, Windows Development | Leave a Comment »

Is the era of management over? | World Economic Forum

Posted by jpluimers on 2018/01/12

Hopefully the next few years will finally show what the incremental software development and evolutionary management has been trying to advocate since the late 1950s and 1970s: hierarchies do not work and purpose works better for the vast majority than being in a triangle.

The first slide below is from Thoughtworks who has been doing these changes for several decades now.

Traditional hierarchies are giving way to more open and creative workplace cultures.

[WayBack] Is the era of management over? | World Economic Forum

That’s the only way to cope with complexity as talent dilutes in growing organisations.

Via:

–jeroen

Posted in Agile, Development, LifeHacker, Power User, Software Development | Leave a Comment »

badssl.com

Posted by jpluimers on 2018/01/11

I wish I had bumped into this when it got released in 2015: [WayBackbadssl.com hosted in the cloud and maintained by two people from Google and Mozilla.

Where ssllabs.com is for checking server-side certificates, this one is for checking clients against many, many (did I already write MANY?) server side configurations both good (with a varying set of security settings like cyphers and key exchanges) and bad.

One of the bad ones is expired.badssl.com which your clients should not be able to connect to without throwing a big error.

Sources are at [WayBack] GitHub – chromium/badssl.com: Memorable site for testing clients against bad SSL configs.

Before using, please read their

Disclaimer

badssl.com is meant for manual testing of security UI in web clients.

Most subdomains are likely to have stable functionality, but anything could change without notice. If you would like a documented guarantee for a particular use case, please file an issue. (Alternatively, you could make a fork and host your own copy.)

badssl.com is not an official Google product. It is offered “AS-IS” and without any warranties.

–jeroen

Posted in Communications Development, Development, HTTP, https, Internet protocol suite, Security, Software Development, TCP, TLS, Web Development | Leave a Comment »

19 Tips For Everyday Git Use

Posted by jpluimers on 2018/01/11

Great set of tips; I’ve included to intro and ToC here so it’s easier for me to find, but all the details are at [WayBack19 Tips For Everyday Git Use. For each paragraph, the ToC lists the relevant command. The article itself also contains some very insightful animated images of which I included one below to get an impression.

Read the rest of this entry »

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

Reminder to self – Fiddler for OS X Beta

Posted by jpluimers on 2018/01/11

Reminder to self: [WayBackFiddler for OS X Beta as it’s been on my list since about a year ago: Fiddler for OS X Beta « The Wiert Corner – irregular stream of stuff.

Note that reading the cerficicates can be done in a more simple way for the Current version of Mono:

/Library/Frameworks/Mono.framework/Versions/Current/bin/mozroots --import --sync

I forgot in which version the Mono installer has Current linked to the most recently installed Mono version but it works well.

Executing should then be somethig like this:

/Library/Frameworks/Mono.framework/Versions/Current/bin/mono ~/bin/fiddler-mac/Fiddler.exe

I expect quite some bit of trouble decrypting HTTPS [Arvhive.is] as that was troublesome on Windows in the early Fiddler days as well.

In case of trouble, there is always Fiddler IdeasCustomer Feedback for Fiddler by Telerik . Add a new product idea or vote on an existing idea using the Fiddler by Telerik customer feedback form via [WayBackTsviatko Yovtchev: “@jpluimers @ericlaw https://t.co/lRNXC88M1b is our feature suggestion/issue tracker portal. Fiddler itself notifies on new versions.”

Back to the reminder: [WayBack] Fiddler for OS X Beta.

Direct download https://telerik-fiddler.s3.amazonaws.com/fiddler/fiddler-mac.zip.

Downloading Fiddler for OS X Beta…

If your download does not start, please [WayBackclick here to retry


Getting started

  1. If you don’t have the Mono framework installed on your Mac

    Please download it from [WayBackhttp://www.mono-project.com/download/#download-mac and install it. If you already have it installed, ensure you’re running the latest version.

  2. If you just installed Mono

    Please open Terminal and type in:

    /Library/Frameworks/Mono.framework/Versions/<Mono Version>/bin/mozroots --import --sync

    (The Mono framework has its own trusted root certificates store. Currently (at mono version 4.2.4) this store remains empty after installing Mono on OS X. Fiddler uses the certificates in this store to validate the certificates of the websites visited. So you need to populate this store with a set of commonly trusted root authorities to avoid getting constant certificate warnings from Fiddler. The mozroots tool imports trusted authorities from the Mozilla LXR. )

  3. Extract fiddler-mac.zip to a folder you have write access to.

    It is recommended that the full path to Fiddler install folder does not contain any Windows path illegal characters. (At present it is possible that some Fiddler functionality, e.g. various file exports or Fiddler Script won’t handle such paths.)

  4. Open Terminal and navigate to the folder you extracted to in step 3.

  5. Type mono Fiddler.exe in Terminal.

To further understand the benefits and limitations of Fiddler for OS X please visit [WayBackthis blog post.

–jeroen

Posted in Development, Fiddler, Software Development, Web Development | Leave a Comment »

xs:choice element to C# – Google Search

Posted by jpluimers on 2018/01/10

Some links via xs:choice element to C# – Google Search.

I need them one day to better understand xsd:choice mapping to C# for both XSD and WSDL usage.

I have the feeling that the WSDL and XSD importer are trying to be smart, so for instance when you have multiple choices that come down to a common basic type like a derivation from xsd:string, it makes to two properties: a C# enumeration to select the type and a C# string value for the content referencing the enumeration through a XmlChoiceIdentifierAttribute.

–jeroen

Posted in .NET, C#, Development, Software Development | Leave a Comment »

Delphi: playing Chimes.wav as an external file or embedded WAVE resource in Delphi XE5.

Posted by jpluimers on 2018/01/10

As a by-effect, this article seems to one of the few that shows where Delphi uses the .dres file extension introduced around Delphi XE.

Recently I had to play some notification sounds in a Windows Delphi application where the application deployment should be as easy as possible: preferable copying the EXE around.

Playing a sound file seems easy, especially if it is a [WayBackWAV file: just use the [WayBack] PlaySound or the (older) [WayBack] sndPlaySound API functions.

But if you start searching on the internet, you see lots of curious implementations for playing WAV resources through sndPlaySound.

The actual implementation is really really easy though, just make sure you follow the steps right and nothing can go wrong.

[WayBack] The full source code is on my BeSharp.net repository, here is how to to it step by step:

The steps depend on the MMSystem unit, so most of the code translates back to [WayBack] Turbo Pascal for Windows (yes, the 16-bit Pascal days when the MMSystem unit was introduced) with the exception of the SND_SENTRY flag.

The thing that more recent Delphi versions made a lot easier is embedding WAV files as WAVE resources, more on that further on. Read the rest of this entry »

Posted in Borland Pascal, Delphi, Delphi 2, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi 3, Delphi 4, Delphi 5, Delphi 6, Delphi 7, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Development, Pascal, Software Development, Turbo Pascal | Leave a Comment »

Damned ! var Comp : function(const s1, s2: string): Boolean; begin if CheckB…

Posted by jpluimers on 2018/01/10

One of my main gripes about lots of RTL/VCL/FMX code: conventions are often lacking.

Which means one of the below functions starts with Ansi (but does a Unicode operation) and the other has the parameters in reverse.

var 
  Comp: function(const s1, s2: string): Boolean;
  begin 
    if CheckBox1.Checked then 
      Comp := ContainsText 
    else 
      Comp := AnsiStartsText;
  end;

–jeroen

source: [WayBackDamned ! var Comp : function(const s1, s2: string): Boolean; begin if CheckB… – Paul TOTH +

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