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

Archive for July, 2018

Need to check out which weather widgets I can get working for a really long period of time with a refresh every minute.

Posted by jpluimers on 2018/07/13

Need to check out which weather widgets I can get working for a really long period of time with a refresh every minute. [WayBackJeroen Pluimers on Twitter: “@Weerplaza ik heb via de widgets op https://t.co/DvF9tucAi9 een pagina voor mijn verstandelijk beperkte broer gemaakt op https://t.co/se9wAjJhaU Na maanden OK, gaan helaas de widgets van WeerPlaza daar niet meer goed. Komt het omdat de page-refresh (1x per minuut) te hoog is?… https://t.co/NX9XTj04Gq”

These will help me fix that:

–jeroen

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

PlasticSCM: seriously? Comment size too long (which means your checkin message is too long), and why can’t I request a code review?

Posted by jpluimers on 2018/07/13

Good job PlasticSCM! Imposing limits on what you can write. Not!

It is not actually the comment size, but the commit message length (naming things consistently is hard).

---------------------------
Error
---------------------------
Comment size is too long. Its current length is 2397, whereas the maximum allowed length is 1000
---------------------------
OK
---------------------------

This after I had a big fight where the PlasticSCM “Undo Unchanged” action is unreliable: after that, if you refresh, then diff some of the files they show as “idental”, nor nothing at all happens (Beyond Compare is if big help showing “files are binary the same”).

After the commit (which is actually called “Checkin” in the UI button, so far for naming things consistently), I cannot even request for a code review:

Finally I need to find out the cause of the below message when I click on “Checkin” (i.e. not Checkout):

---------------------------
Error
---------------------------
Can't perform a checkout in an edited xlink.
---------------------------
OK
---------------------------

/rant

–jeroen

Twitter threads:

https://twitter.com/TheRealMig_El/status/1017813424078802950

 

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

Ian’s Shoelace Site – Shoelace Knots – How To Tie Your Shoes

Posted by jpluimers on 2018/07/13

I never knew there were so many ways of lacing your shoes: [WayBackIan’s Shoelace Site – Shoelace Knots – How To Tie Your Shoes

Finally research has shown how they can get loose soo fast: [WayBackScientists unravel mystery of the loose shoelace | Science | The Guardian

via: [WayBack] Unravelling [yes, pun intended] the mysteries of the unknotting shoelace. – Lars Fosdal – Google+

–jeroen

 

Interesting app (knots 3d) and comments at https://plus.google.com/+JeroenPluimers/posts/Nv7teC8CUqY

Posted in LifeHacker, Power User | Leave a Comment »

How I made my own VPN server in 15 minutes | TechCrunch

Posted by jpluimers on 2018/07/13

People are (rightfully) freaking out about their privacy as the Senate voted to let internet providers share your private data with advertisers. While it’s important to protect your privacy,…

Interesting: easy setup allows for creating disposable VPN servers.

–jeroen

Posted in *nix, IPSec, Network-and-equipment, Power User, VPN | Leave a Comment »

CodeRage 8 replays: REST stuff

Posted by jpluimers on 2018/07/12

It seems I forgot to schedule this post, as it was still in the drafts.. So here it is for historic purposes. Likely a few links have died by now.

Last year I could not make it to CodeRage 8 as I was prepping for EKON 17 and ITDevCon 2013.

But there were some nice presentations, some of which I really wanted to see again.

So I was glad to have found the CodeRage 8 Replayshttp://www.youtube.com/playlist?list=PLwUPJvR9mZHiaYvH9Xr7WuFCVYugC4d0w.

Especially for these sessions as REST support is an under-marketed aspect of Delphi XE5:

And a few others as well:

–jeroen

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

The Relationship between Static Analysis and Continuous Testing – DaedTech

Posted by jpluimers on 2018/07/12

You need both, no matter what software development environment you use: [WayBack] The Relationship between Static Analysis and Continuous Testing – DaedTech

Via: [WayBack] The Relationship between Static Analysis and Continuous Testing – DaedTech – Marjan Venema – Google+

–jeroen

Posted in Development, Software Development | Leave a Comment »

Delphi TList.Grow and TStringList.Grow perform differently

Posted by jpluimers on 2018/07/12

Just as a reminder to self: the non-generic TStringList and TList grow way less aggressive than the generic TList:

  • TList.Grow and TStringList.Grow:
    • 4, 8, 12, 28, 44, 60, 76, 95, 118, 147, 183, 228, 285, 356, 445, 556, 695, 868, 1085
  • Generic TList growth via TListHelper.InternalGrow:
    • 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024

Sources:

–jeroen

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

“The login already has an account under a different user name.” – MSSQL

Posted by jpluimers on 2018/07/11

You get “The login already has an account under a different user name.” when you try to create a user that already exists.

In this case it was a statement somewhere in a database creation script having a statement like this:

exec sp_addlogin N'<<UserName>>', N'<<Password>>', @logonDatabase, @logonLanguage

What happened was that the <<UserName>> in the script already existed and was used to create the new user using sp_addlogin.

I know that this is deprecated, but the search above also shows it happen with other ways of adding users.

It had been a while since doing SQL Server, so this was a good time for me to find back the relation between [WayBack] SQL Server Logins and Users

These queries will help you identify which ones are currently in your database:

use CRM124TestJWP
go

select sl.name as LoginName
     , su.name as UserName
     , sl.dbname as DatabaseName
from sys.sysusers su
join sys.syslogins sl on sl.sid = su.sid

select sp.name as LoginName
     , sp.type_desc as LoginType
     , dp.name as UserName
     , dp.type_desc as UserType
     , sp.default_database_name as DefaultDatabase
     , dp.default_schema_name as DefaultSchema
from sys.server_principals sp
join sys.database_principals dp on dp.sid = sp.sid

Via: [WayBack] sql server – The login already has an account under a different user name – Database Administrators Stack Exchange

Read the rest of this entry »

Posted in Database Development, Development, SQL Server | Leave a Comment »

Delphi – pressing Ctrl-A on a TDBEdit was partially fixed in Delphi 10.2 Tokyo

Posted by jpluimers on 2018/07/11

[WayBack] QualityCentral 110308 – TDBEdit updates wrongly Datalink.Modified when Dataset being in Browse mode and [WayBack] QualityCentral 127300 – Closed Exception When Ctrl+A (select text) on TDBEdit have been partially fixed in Delphi 10.2 Tokyo under [RSP-16288] Bug after selecting all the text by pressing Ctrl+A in TDBEdit and pressing TAB – Embarcadero Technologies.

Since there is only manual syncing from Quality Portal to Quality Central, and only Quality Central is indexed by search engines, the public at large usually finds the Quality Central bugs.

Basically, the affected controls ([WayBack] TDBEdit, [WayBackTDBComboBox, [WayBack] TDBMemo, but not [WayBackTDBRichEdit – probably not needed as I could not reproduce the [WayBack] TClientDataSet based QC127300 attachment in Delphi 10.1 with TDBMemo or TDBRichEdit, though neither selected of these two all text, which 10.2 also fixes).

the .KeyPress methods now check for a Ctrl-A case like this:

    ^A:
      begin
        SelectAll;
        Key := #0;
      end;

and some of the .KeyDown methods have been tuned a little by setting Key := 0 when Edit returns false.

–jeroen

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

“Don’t access VCL from a background thread” – how to demo that?

Posted by jpluimers on 2018/07/11

When accessing the VCL from multiple threads at the same time: adopted from ...\DEMOS\THREADS\THRDDEMO.DPR

When accessing the VCL from multiple threads at the same time: adopted from …\DEMOS\THREADS\THRDDEMO.DPR

Great question a while ago:

[WayBack] “Don’t access VCL from a background thread” – how to demo that? – Primož Gabrijelčič – Google+

For me, the ultimate way why not to access the VCL from a background thread is the precursor of the official threads demo that ships from Delphi 2 to Delphi XE6 in ...DEMOS\THREADS\THRDDEMO.DPR. where you’d think the thread isolation would be in ...DEMOS\THREADS\ThSort.pas but actually is in ...DEMOS\THREADS\SortThds.pas.

The first public showing of that demo did not include main thread protection. It originates from a session at the the 1995 Borland Developers Conference where Ray Konopka showed the below code from Bob Ainsbury.

That session reminded why this joke [WayBack] Via the EKON20 sessions… – Jeroen Wiert Pluimers – Google+ was so funny:  “When Ray Konopka enters the room you have a Raize condition.“.

The question above also made me find back this reference to BorCon95 in San Diego:

Read the rest of this entry »

Posted in Delphi, Delphi 10 Seattle, Delphi 10.1 Berlin (BigBen), Delphi 10.2 Tokyo (Godzilla), Delphi 2, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi 3, Delphi 4, Delphi 5, Delphi 6, Delphi 7, Delphi 8, Delphi x64, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Delphi XE8, Development, Software Development | 2 Comments »