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 ‘Software Development’ Category

Actions on Google  |  Actions on Google  | Google Developers

Posted by jpluimers on 2018/01/02

Still on my research list (because: way too many other things to do and initially Google Home wasn’t available outside the USA*): [WayBack] Actions on Google  |  Actions on Google  |  Google Developers: Actions on Google lets developers build experiences for the Google Assistant.

via: [WayBack]  Get started now. This turns your Google Assistant into a Concierge with many contacts and colleagues who can help you to get things done… – Sebastian Mauer – Google+

–jeroen

* [WayBackCountry availability – Google Store Help via:

Posted in Android Devices, Development, Google, Power User, Software Development | Leave a Comment »

LAUNCHED https://uberpdf.org/

Posted by jpluimers on 2018/01/01

It is a lot (~300 megabyte compressed download!), but worth it.

Here are the links:

And the quote from [WayBack] LAUNCHED https://uberpdf.org/ … – Joe C. Hecht – Google+

LAUNCHED https://uberpdf.org/

337 MB of source and utils in 2,308 Files, 910 Folders before you build (not counting 3rd party source UberBuild downloads).

It’s a start, with much to come.It will get easier now that UberBuild is clean.

I will be updating the docs and website in the next few days.

Special thanks …

I already see room for improvement (such as a setup screen for extra compilers such as Delphi and Free Pascal to keep folks out of shell scripts and from hunting for help in the documentation).

–jeroen

Posted in *nix, C, C++, Delphi, Development, Linux, Power User, Software Development, Windows | 3 Comments »

jessie frazelle on Twitter: “Hire the people who will automate themselves out of a job, then just keep giving them jobs.”

Posted by jpluimers on 2017/12/31

This is what DevOps is all about: [WayBackjessie frazelle on Twitter: “Hire the people who will automate themselves out of a job, then just keep giving them jobs.”

I had seen the tweet before, but forgot to save it. Jonas Bandi reminded me of it at [WayBackWeekend Reader: End of Year Edition – reality-loop.

Jessie is doing great work. For instance, she developed and published contained.af, and nobody captured the flag yet: [WayBack] jessie frazelle on Twitter: «A year ago I made contained.af and it’s launched over 128,000 containers & no one has retrieved the flag».

The game runs in a container, gives you console access and has a bunch of questions. Still need to dig deeper in it, as it is a fascinating set-up. If you like to try it:

Wishing you a year where nobody captures your flags (:

–jeroen

via [WayBack] I just published my “Weekend Reader: End of Year Edition” – Jonas Bandi – Google+

Read the rest of this entry »

Posted in Agile, Cloud, Containers, Development, DevOps, Docker, Infrastructure, Kubernetes (k8n), LifeHacker, Power User, Software Development | Leave a Comment »

Senior Oops Engineer on Twitter <

Posted by jpluimers on 2017/12/31

A nice discussion followed on [WayBackSenior Oops Engineer on Twitter: “what’s a blockchain?” It’s like git but for destroying the environment.

It basically comes down to: can alternatives like git together with a set of rules and contracts to facilitate upstream pushing to a global order of changes be sufficient alternative to the very resource intensive “calculate proof of work to achieve consensus”.

The discussion is at [WayBack] »”what’s a blockchain?” It’s like git but for destroying the environment.«  – Kristian Köhntopp – Google+

References:

–jeroen

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

Delphi FMX TBitmapCodecManager.LoadFromFile calls TImageTypeChecker.GetType that returns ONLY predefined image types

Posted by jpluimers on 2017/12/31

Bugs happen: [WayBack] Did I miss something ? I’ve tried to add a custom image loader for FMX … TBitmapCodecManager.LoadFromFile calls TImageTypeChecker.GetType that returns ONLY predefined image types ! (gif, bmp, png, tiff, jpg) … – Paul TOTH – Google+

I’m not so much surprised by bugs, but what scares the heck out of me is that since about halfway October 2017, there are 900+ Reported issues with status Unresolved (i.e. no change to the issue after it got reported).

Before switching to half-year product release cycles, the yearly ones had an issue triage cut-off date of about 3-6 months.

Now back on yearly cycles, I don’t expect that to be much different.

Expecting a new release in the halfway March 2018 till beginning May 2018 time frame, and assuming the past being a good indication of the future, the window of processing issues is closing soon.

I really hope I am wrong and wish 2018 turns out to he a great Delphi year.

–jeroen

Sorry this post became victim to the “Missed Schedule” issue (I finally found out there is a ridiculous limit of 100 scheduled posts over which scheduling becomes unreliable; this limit used to be much much larger in the past).

Read the rest of this entry »

Posted in Delphi, Development, Missed Schedule, Power User, Software Development, WordPress | Leave a Comment »

Time to Grow Up: Counterproductive Security Behaviors That Must End // Speaker Deck

Posted by jpluimers on 2017/12/29

Good end-of-year re-reading (hopefully there is a video link by now) by Chris Eng (@chriseng) [WayBack] Time to Grow Up: Counterproductive Security Behaviors That Must End // Speaker Deck

via: [WayBackThats a decent keynote – G+ Kristian Köhntopp.

Read the rest of this entry »

Posted in Development, Infrastructure, Security, Software Development | Leave a Comment »

C# – All About Span: Exploring a New .NET Mainstay

Posted by jpluimers on 2017/12/28

Interesting new .NET feature already available for .NET 4.5, but much faster in future .NET versions: [WayBackC# – All About Span: Exploring a New .NET Mainstay

Documentation (only quoted first paragraph):

Span<T> is a new type we are adding to the platform to represent contiguous regions of arbitrary memory, with performance characteristics on par with T[]. Its APIs are similar to the array, but unlike arrays, it can point to either managed or native memory, or to memory allocated on the stack.

Further on in that document are the Design specifications.

Via:

–jeroen

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

Delphi: it is better to use ifndef rather than ifdef to keep the IDE working properly…

Posted by jpluimers on 2017/12/28

[WayBackDear diary, today I learned that it is better to use ifndef rather than ifdef if I want the IDE to keep working properly. I had a uses clause with an i… – Stefan Glienke – Google+

I promised to remind myself, so here it is (:

–jeroen

 

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

Idera / Embarcadero at least fixed some of their security issues…

Posted by jpluimers on 2017/12/27

Some security improvements

A long while ago I quoted [WayBack] Ideara / Embaracdero is flushing away user trust in their ability to do secure computing… – Jeroen Wiert Pluimers – Google+.

Since then they have fixed some of the issues:

  • EDN password reset email messages do not contain the plain text password any more
  • The https sites now have much better security certificates

Still, parts of their infrastructure run over http or use other insecure patterns.

Infrastructure and DevOps are hard, but an integral aspect of any company.

Hopefully, their most important new-years resolution is to improve on that.

AppAnalytics still down

I don’t hold my breath as [Archive.ishttps://appanalytics.embarcadero.com/ for more than a month now has been showing

503 Service Unavailable

No server is available to handle this request.

On the other hand: they have improved, so let’s keep our fingers crossed, and it had been running since 2015: [WayBack]Embarcadero Introduces AppAnalytics, the First Usage Analytics Service for Desktop, Mobile, and Wearable Applications

Disabling AppAnalytics in Delphi

There are three ways to disable AppAnalytics in the Delphi IDE to phone home (this is for Delphi XE8, change the version numbers accordingly):

That should at least get rid of the 30 second shut-down timeout in some Delphi versions while they try to post the usage data to AppAnalytics (thanks Uwe Raabe for this great tip!)

–jeroen

Related:

Posted in Delphi, Development, Power User, Security, Software Development | 5 Comments »

Valid reasons for having Delphi AnsiString on Mobile platform…not only for Internet but for Shaders also. //…

Posted by jpluimers on 2017/12/27

It’s too bad that you need workarounds to get ByteStrings working on mobile devices as there are APIs there (like shaders) that work best with them.

There was a nice discussion on this last year at [WayBack] I miss AnsiString on Mobile…not only for Internet but for Shaders also.// FMX.Context.GLES.pasconstGLESHeaderHigh: array [0..24] of byte =(Byte(‘p), … – Paul TOTH – Google+ based in this code example in the FMX library undocumented unit FMX.Context.GLES:

// FMX.Context.GLES.pas

const
  GLESHeaderHigh: array [0..24] of byte =
    (Byte('p'), Byte('r'), Byte('e'), Byte('c'), Byte('i'), Byte('s'), Byte('i'), Byte('o'), Byte('n'), Byte(' '),
     Byte('h'), Byte('i'), Byte('g'), Byte('h'), Byte('p'), Byte(' '), Byte(' '), Byte(' '), Byte('f'), Byte('l'),
     Byte('o'), Byte('a'), Byte('t'), Byte(';'), Byte(#13));

There are more than 500 places in the Delphi library sources that uses this construct and even more that do other fiddling (like [WayBackTEncoding.GetBytes) to get from strings to bytes.

I wonder if by now we still need the workarounds that Andreas Hausladen provides:

–jeroen

Posted in Conference Topics, Conferences, Delphi, Development, Encoding, Event, Software Development | 6 Comments »