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

Archive for 2019

How to convert a Delphi enum or set to a JSON value, with different specific values…

Posted by jpluimers on 2019/11/07

As I will probably need this one day: [WayBack] How does one convert a Delphi enum to a JSON value, with different specific values? – CHUA Chee Wee – Google+:

eg, TEnum1 = (test1, test2, test3)

TSomeClass.FEnum := test1;

When converted to JSON, I’d like to see maybe
{"Enum": "Value1"} instead of test1

and test2 to "Godzilla", test3 to "Tiburon"

The solution is in his repository: github/chuacw/EnumJson:

After initially suggesting to look into [Archive.is] Serializing User Objects – RAD Studio, he based his solution on a set of clever tricks circumventing Delphi compiler limitations and bugs:

Later he extended the solution to include sets in additions to enums: [Archive.is] Persisting enumeration and sets to JSON – Chee Wee’s blog: IT solutions for Singapore and companies worldwide (via [Archive.isMade my JSON interceptor demo public. Now you can save your enum and sets to JSON, with customized output to boot! – CHUA Chee Wee – Google+)

Clever!

Hopefully this got Lars Fosdal some ideas to solve [WayBackJSON in Berlin – Can I persuade TJSon to treat “params” as it was a string and not an object for the TJsonRPC class? – Lars Fosdal – Google+

Enums with Delphi

Enums with Delphi and their mapping is a repeating topic, see for instance [WayBack] What’s the easiest (ie., least coding) way to map an enum to a const string and vice versa? (Can attributes be used on enum values yet?) eg., type TMyColor… – David Schwartz – Google+

It shows how much the Delphi language is in need of language enhancements as right now there are way too many open source libraries struggling with the same issues each working around them or providing solutions in slightly different way.

Three things immediately come to mind:

  • the NameOf that – analogous to TypeOf – gets the name of an identifier as a string
  • expose all RTTI for all enum types (especially the ones with non-contiguous values or starting at another value than ordinal zero)
  • allow for attributes on enum values

Some examples of libraries providing enumeration support:

Some more thoughts from a different perspective: [WayBackWhat’s New in Edge Rails: Active Record enums

–jeroen

Read the rest of this entry »

Posted in Conference Topics, Conferences, Delphi, Development, Event, Software Development | Leave a Comment »

Software quality: economics of formality

Posted by jpluimers on 2019/11/06

Interesting read: [WayBackSoftware quality: economics of formality

At one time formal methods were thought to be the only hope for software development. That did not turn out to be the case.

Via: [WayBack] Software quality is better in practice than in theory. Formal methods improve software quality, but at a high cost that is sometimes worthwhile and some… – Jeroen Wiert Pluimers – Google+

Comment there:

Pedro Marcal:

+Jeroen Wiert Pluimers +John Cook , I think that when a code has been in service for even a short time, we can divide the code into two classes. The first is that part that has been executed at least once. The other code has never been executed. The latter code has an error rate that may be measured as a function of the language used. In the old days Fortean had a bug in every seven lines. C used to be 100 to 200 lines. We set up instrumentation to determine the number of lines tested in the first class and found that it was a linear function of the new bugs found. This was a good way to ensure a high quality code.

Related:

–jeroen

Posted in Agile, Code Quality, Development, Software Development | Leave a Comment »

Changing the order of TabSheets in a PageControl in Delphi – twm’s blog

Posted by jpluimers on 2019/11/06

Good to know this as the Structure View sometimes lets me down: modify the PageIndex position as it is less stable than the Object Treeview in Delphi 7 and below.

Via:

–jeroen

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

Fast Good Cheap

Posted by jpluimers on 2019/11/06

You want a Fast, Good, and Cheap project?

Make your choices at [WayBackFast Good Cheap

–jeroen

via: [WayBackWeekend Reader 2017.48 – reality-loop / [WayBack] I just published “Weekend Reader 2017.48” – Jonas Bandi – Google+

Read the rest of this entry »

Posted in Development, Software Development | Leave a Comment »

Next up: TPDFPrinter and TPDFCanvas Expect a high paced (and easy) update cy…

Posted by jpluimers on 2019/11/05

For my link archive: [WayBack] Next up: TPDFPrinter and TPDFCanvas Expect a high paced (and easy) update cycle for Ultra, with a constant stream of new goodies! Zero hassles – it … – Joe C. Hecht – Google+

–jeroen

Posted in Delphi, Development, PDF, Power User, Software Development | Leave a Comment »

The Channel9 programming languages guys to watch: Eric and Erik

Posted by jpluimers on 2019/11/05

When watching the episodes of Eric and Erik,

They both worked on the C# team, but have lots of experience designing and developing other languages.

Their views of the languages, teams and companies that make software today is enlightening as basically more and more companies should be software companies but forgot they are.

I’ve been advocating this to both large and small companies since the mid 1990s and by now you see the people getting it are having a blast.

When you look at the language leve, you clearly see how slowly progress is made and how far most languages are behind. I think both the JVM, CLR, LLVM and JavaScript are the foundations to base on but that tooling is still very much in its infancy.

–jeroen

via Stefan Glienke pointing me to Checking In: Eric Lippert – On Compiler Evolution, Designing C# and Blogging | Checking In with Erik Meijer | Channel 9

Posted in Development, Software Development | Leave a Comment »

When whas the global FormatSettings variable deprecated?

Posted by jpluimers on 2019/11/05

Reminder to self to check out when [Archive.isFormatSettings global variable of type [WayBackTFormatSettings was deprecated as it was only documented as of Delphi 2010 but available much much earlier.

–jeroen

via [WayBackdelphi – Is there a consistent global FormatSettings variable availabe? – Stack Overflow

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

How can I view a file in the @plasticscm webUI? I tried from changeset view, but clicking on a file does nothing. When looking in the Chrome developer tools, I see an error 500 which is not surfaced to the UI.…

Posted by jpluimers on 2019/11/04

For my history: [WayBack] Jeroen Pluimers on Twitter: “How can I view a file in the @plasticscm webUI? I tried from changeset view, but clicking on a file does nothing. When looking in the Chrome developer tools, I see an error 500 which is not surfaced to the UI.…

Images:

–jeroen

Read the rest of this entry »

Posted in Development, PlasticSCM, Source Code Management | Leave a Comment »

Meeting Ticker – the real cost of a meeting visualised

Posted by jpluimers on 2019/11/04

Ever figured out how costly meetings are?

Show the [WayBackMeeting Ticker during a meeting and be amazed after filling in just a few fields:

Of course it is open source: github/tobytripp/meeting-ticker

And I also found who originally referred me to it: [WayBack] Weekend Reader 2017.48 – reality-loop

–jeroen

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

Netgate SG-3100 is an ARM based pfSense Firewall Appliance

Posted by jpluimers on 2019/11/04

By now I should have had plenty of time to try out an ARM based pfSense multi-WAN router like the [WayBack]  Netgate SG-3100 is an ARM based pfSense Firewall Appliance.

So this is a reminder for myself to write down more detailed experiences than the summary at [WayBack]Netgate SG-3100 pfSense Security Gateway Appliance.

It is in the Mikrotik price range, but each time I use those I bump into mysterious RouterOS issues that only I seem to have.

–jeroen

via:

Read the rest of this entry »

Posted in Internet, Network-and-equipment, Power User, routers | 1 Comment »