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

Fr0sT-Brutal/awesome-delphi: A curated list of awesome Delphi frameworks, libraries, resources, and shiny things. Inspired by awesome-… stuff.

Posted by jpluimers on 2016/08/08

Fr0sT-Brutal/awesome-delphi: A curated list of awesome Delphi frameworks, libraries, resources, and shiny things. Inspired by awesome-… stuff.

Just read it. It’s great!

If you want it on a one-pager with comments in mouse-over: Delphi by Anton Frost | ZEEF

–jeroen

via: Baoquan Zuo commenting at What do you think is the greatest Delphi freeware/open source plugin/framework of all time? – Nick Hodges – Google+

Posted in Delphi, Development, Software Development | 1 Comment »

So I accidentally broke a Skype messaging bot.. – Album on Imgur

Posted by jpluimers on 2016/08/05

Cool:

// config/db.js
module.exports = {
    url : 'mongodb://localhost/acquisition'
}

Source: break-a-skypebot.js

–jeroen

via:


// config/db.js
module.exports = {
url : 'mongodb://localhost/acquisition'
}

Posted in Development, JavaScript/ECMAScript, Scripting, Skype, Software Development | Leave a Comment »

Graphical emoji are killing Unicode

Posted by jpluimers on 2016/08/05

Unicode is about Glyphs that are used in writing. Have you ever seen the emoji on the right being written like this?

This has been bothering me a while and gets worse over time.

According to: Microsoft just changed its toy gun emoji to a real pistol:

Looks like Microsoft and Apple may not be on the same page about firearm emojis afterall. Right after Apple changed its gun emoji to a water pistol in iOS 10, Microsoft replaced its toy pistol emoji with an actual revolver.

While Apple and Microsoft have gone back to edit their symbols, Google continues to use a pistol in Android keyboards and doesn’t appear to have plans to change this. None of the companies in question have adjusted their knife, sword, bomb, poison and coffin emojis, so… ¯\_(ツ)_/¯

When vendors start prescribing how emojis must look like (influenced by all sorts of emotions) without the user allowing to choose (via a font – that’s what fonts are for!) how they look then it invalidates the whole Unicode principle:

Unicode is a computing industry standard for the consistent encoding, representation, and handling of text expressed in most of the world’s writing systems.

These emoji aren’t text and should be gone from the Unicode standard before they can do more harm.

Will the next step be that vendors define their own colours for certain characters in fonts? For Windows Times New Roman A becomes red, B green, C yellow, but in Courier New we’ll permute these colours and all Operating Systems and Versions will do different random colour choices.

–jeroen

via:

Posted in Development, Encoding, Opinions, Software Development, Unicode | Leave a Comment »

bash – How can I convert tabs to spaces in every file of a directory? – Stack Overflow

Posted by jpluimers on 2016/08/05

Kev:

Try the command line tool expand.

expand -t 4 input >output

Chrono Kitsune:

And for those systems that don’t use the GNU Core Utilities, you have a decent chance of expand being installed since it is standardized by The Open Group’s Single Unix Specification. See Issue 6, which is from 2001, though some updates were applied, hence the year of publication being 2004: expand

–jeroen

via bash – How can I convert tabs to spaces in every file of a directory? – Stack Overflow.

Posted in *nix, *nix-tools, bash, bash, Development, Linux, openSuSE, Power User, Scripting, Software Development, SuSE Linux | Leave a Comment »

on code quality: Can we automate everything? | CommitStrip – Blog relating the daily life of web agencies developers

Posted by jpluimers on 2016/08/03

Repeated because it is the most important aspect of software development.

automating everything

automating everything

–jeroen

via: Can we automate everything? | CommitStrip – Blog relating the daily life of web agencies developers.

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

TDD: all unit tests passed.

Posted by jpluimers on 2016/08/02

TDD via Dave Hulbert on Twitter: “Yay, all unit tests passing! http://t.co/ax2uxPsZqv”.

Dave Hulbert on Twitter:

Dave Hulbert on Twitter: “Yay, all unit tests passing! http://t.co/ax2uxPsZqv”.

 

Posted in Agile, Development, Fun, Software Development, Unit Testing | Leave a Comment »

Is there any way to get the modal Search and IDE Insight back? – via G+

Posted by jpluimers on 2016/07/28

I’ve quotes two of the G+ comments as they perfectly reflect my point of view: the non-modal search and IDE Insight – introduced somewhere after XE3 – are a dork to use.

I’m doing more Delphi work lately and these being non-modal seriously hinder my work (and it gets progressively worse on a 3K or 4K monitor).

In my book: why implement a feature to emulate the competition when you do it so badly?

So: are there any experts around that bring back the old search and IDE Insight behaviour back?

Asbjørn Heid, Oct 5, 2015: 

+Marco Cantù I’m pretty sure I’ve mentioned it before, but hey:

  • The new edit field cannot be placed in a position which does not require significant eye-focus change to read. This means it is significantly more cumbersome to use, as focus must be transferred to some “out of sight” area. In addition one does not get the same instant feedback that the IDE did register your F6 keypress. The old one was “in your face” instantly when you pressed F6, so no need to take your eyes off the form you’re designing, and it left no doubt about F6 being registered or not.
  • The dropdown list with suggestions that pops up when you type is much more difficult to read than the list in the old one, both due to positioning (thanks to the above) and due to length until it’s heavily constrained by input.
  • From what I recall, the new edit field does not behave the same when invoked repeatedly, requiring more keystrokes to get the same effect compared to the old. I haven’t used XE3 in ages though so I don’t recall the specifics anymore, just that the new feels more clunky to use.

That’s just off the top of my head. Yes I still use it, but not nearly as much as I did, and when I do it’s one to two orders of magnitude slower to use compared to the old one. Not because it searches slower, but because of the issues described above.

David Heffernan, Oct 5, 2015: 

+Marco Cantù I second what +Asbjørn Heid  said. When I press F6 now, I never know where to put my eyes. In XE3 a dialog popped up which took my attention.

Similarly for the non-modal search, although somehow I’m more used to the modern version now.  When compared with VS though the Delphi search is very lacking. The great thing about the VS search is that it gives live feedback on which text in the edit window match the text in the search window. If Delphi would do that it would make an immense difference. It’s definitely worth spending some time in VS using their search facility. And indeed in other IDEs / editors.

There was a lot of negative feedback on both of these changes when they were released. Surely Embarcadero noticed that.

–jeroen

via: F6 or [Ctrl] + .  does not open IDE Insight on DX. What am I missing?…

Posted in Delphi, Delphi 10 Seattle, Delphi 10.1 Berlin (BigBen), Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Delphi XE8, Development, Power User, Software Development | 2 Comments »

At the MathWorks headquarters Source: http://redd.it/3bl5m1 #matlab…

Posted by jpluimers on 2016/07/28

In hindsight, what they should have done when ZEROBASEDSTRINGS were introduced (yes, Delphi XE4):

Matlab and zerobasedstrings Matlab and zerobasedstrings

–jeroen

via: At the MathWorks headquarters Source: http://redd.it/3bl5m1 #matlab….

Posted in Delphi, Delphi 10 Seattle, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Delphi XE8, Development, Software Development | 1 Comment »

Push a new local branch to a remote Git repository and track it too – Stack Overflow

Posted by jpluimers on 2016/07/27

Just what I needed: Push a new local branch to a remote Git repository and track it too – Stack Overflow But watch the comments to this answer:

Answer:

In recent versions of Git (1.7.0 and later), you can checkout a new branch:

git checkout -b <branch>

Edit files, add and commit. Then push with the -u option:

git push -u origin <branch>

Git will set up the tracking information during the push.

Daniel Ruoso / Dan

Comments:

  • git push -u was introduced in Git 1.7.0 (2010-02-12). – Chris Johnsen Jun 4 ’11 at 4:16
  • Would you be kind enough to elaborate? Some git commands do more than one thing, and I’m not sure what origin and mynewfeature refer to. Is mynewfeature a branch name? Is origin a shortcut for a full remote repo url? Also what does the -u flag do? – Costa Mar 6 ’14 at 21:16
  • @Costa ‘origin’ is the name of default remote in Git repository. ‘mynewfeature’ here is branch name. -uis short for --set-upstream—for what it does and why it’s needed I wouldn’t mind some explanation, too. :) – Anton Strogonoff Mar 9 ’14 at 6:07
  • It’s also worth noting that if you have an existing tracking branch already set on the branch you’re pushing, and push.default is set to upstream, this will not do what you think it will do. It will try to push over the existing tracking branch. Use: git push -u origin mynewfeature:mynewfeature or dogit branch --unset-upstream first. – void.pointer May 19 ’14 at 18:07
  • I still needed to ‘git branch –set-upstream-to origin/remote’ in order for ‘git status’ to correctly report my branch status with respect to the remote branch. – Paul Whipp Jul 4 ’14 at 1:17
  • For people using Git from Visual Studio: Actually this is that “Publish Branch” in Visual Studio does. After executing git push with -u parameter i can finally see my branch as published in VS UI. – Puterdo Borato

 

–jeroen

Posted in Development, DVCS - Distributed Version Control, git, Software Development, Source Code Management, Visual Studio 2013, Visual Studio 2014, Visual Studio 2015, Visual Studio and tools | Leave a Comment »

C#, XSD.exe, xsd2code and generating nullable fields+properties from an XSD with and without Specified fields/properties

Posted by jpluimers on 2016/07/27

It comes down to these cases for XML elements having maxOccurs="1" (which the default for maxOccurs):

  1. adding nillable="true" will convert from a regular type to a nullable type.
  2. adding minOccurs="0" will add boolean …Specified properties in the generated C# for each element.
  3. you can have both nillable="true" and minOccurs="0" in an element which gets you a nullable type and a …Specified property.

Note I’m not considering fixed or default here, nor attributes (that have use instead of minOccurs/maxOccurs, but do not allow for nillable) nor larger values of maxOccurs (which both xsd.exe and xsd2code regard as unbounded).

From the above, XML has a richer type system than C#, so in XML there are subtle a differences between:

  1. an explicit nil in the XML element
  2. the XML element being absent
  3. the XML element being empty.

Hopefully later more text and examples to show how to actually work with this.

Delphi related to minOccurs:

Note that xsd2code.codeplex.com (unlike XmlGen#) has at least two forks at github:

From the specs:

–jeroen

Posted in .NET, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, C#, C# 2.0, C# 3.0, C# 4.0, C# 5.0, C# 6 (Roslyn), Conference Topics, Conferences, Development, Event, Software Development, XML, XML/XSD, XSD | Leave a Comment »