[WayBack] Tech Debt (by MonkeyUser: Software development satire) is one of the best images on Tech Debt I ever encoutered (via[WayBack] Tech Debt by @ismonkeyuser https://www.monkeyuser.com/2018/tech-debt – ThisIsWhyICode – Google+):
–jeroen
Posted by jpluimers on 2019/11/07
[WayBack] Tech Debt (by MonkeyUser: Software development satire) is one of the best images on Tech Debt I ever encoutered (via[WayBack] Tech Debt by @ismonkeyuser https://www.monkeyuser.com/2018/tech-debt – ThisIsWhyICode – Google+):
–jeroen
Posted in Agile, Conference Topics, Conferences, Development, Event, Software Development, Technical Debt | Leave a Comment »
Posted by jpluimers on 2019/11/07
A brilliant lecture, worth the 1+ hour watching: UMass Amherst CICS Distinguished Lecture: Daniel Jackson (Massachusetts Institute of Technology) “Towards a Theory of Software Design”
[WayBack] Towards a Theory of Software Design
Abstract: Engineers make things work reliably and efficiently; designers make them useful. In the development of buildings, for example, the civil engineer is concerned with the internal structural that prevents the building from falling down; the designer (i.e., the architect) is concerned with the aspects of the building (light, space, etc.) experienced by its users.
I like how his group tags these to a concept part:
During the talk there are many examples from common usage patterns and especially misfits. They range from file-sharing (like dropbox), selection and selection application (files/folders, designer objects) via option selection to the tool we all hate and love: git (more on that tomorrow).
–jeroen
via: [WayBack] Interesting talk about software design. – Asbjørn Heid – Google+
Posted in Development, Software Development | Leave a Comment »
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 oftest1
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:
TEnumInterceptor<T>
from [Archive.is] Data.DBXJSONReflect.TJSONInterceptor
and put the conversion logic in thereTEnumInterceptor<T>
because of a compiler limitation and bugData.DBXJSONReflect.JSONReflectAttribute
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.is] Made 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 [WayBack] JSON 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 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:
Some examples of libraries providing enumeration support:
TEnum
class with static methodsTEnumeration
class with static methodsEnum.Wrapper
unit with various records mimicing .NET behaviour based on David’s workSome more thoughts from a different perspective: [WayBack] What’s New in Edge Rails: Active Record enums
–jeroen
Posted in Conference Topics, Conferences, Delphi, Development, Event, Software Development | Leave a Comment »