The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • 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

Chrome on Mac OS X keeps all old versions it ever installed…

Posted by jpluimers on 2018/01/08

Like many, I’m a digital packrat. Somehow all your storage space somehow becomes full over time. But sometimes that’s not because just you are a digital packrat. Applications can be digital packrats too.

Chrome is such an example as on Mac OS X it will keep every prior version filed under /Applications/Google Chrome.app/Contents/Versions. In my case GrandPerspective showed it as one big blob of close 20 gigabyte. Which is odd as the download itself is was slightly short of 20 gigabyte of Chrome versions.

There are various ways to clean up this by script, but I find the easiest to do this in Finder:

  1. From Grand Perspective, right click the entry, then choose “Reveal in Finder”
  2. In Finder, right click the entry, then choose “Show Package Contents”
  3. In Finder, with the expanded “Contents” folder, browse to the “Versions” folder and expand it.
  4. From Finder, delete unwanted versions.

–jeroen

References:

Posted in Apple, Power User | Leave a Comment »

1984 and (IT) (in)security – lots of Spectre / Meltdown links

Posted by jpluimers on 2018/01/07

Over the last few days I’ve collected a lot of Meltdown and Spectre links at 1984 and (IT) (in)security – Google+.

Most of them provide links to what happened this, year, but a few are also on the path leading to these vulnerabilities. In the links you will also find the affected architectures and patches by various vendors which I have tried to summarise below.

In the link collection, I’ve tried to keep the number of hops to the actual sources as short as possible (as many have re-shared original) links but still attribute to the first one I got the link from.

Since the WordPress “Press-This” functionality is limited, even after all these years, so for now it will be a one-time link dump; filling in more of the archival WayBack and Archive.is links and adding more context will hopefully come later.

I will try to keep links roughly in chronological order (please post a comment where I goofed up) and I hope to find some time to have a “most important” or “summary” list eventually.

A few notes first

Remember:

  • There are 2 hard problems in computer science: cache invalidation, naming things, and off-by-1 errors.

    via: [WayBackTwoHardThings There are only two hard things in Computer Science: cache invalidation and naming things — Phil Karlton (bonus variations on the page)

  • Caching is the root of all evil.

List

Read the rest of this entry »

Posted in Power User, Security | Leave a Comment »

Private keys in software from Blizzard, Electronic Arts, Microsoft, and the German Federal Bar (Bulletproof TLS Newsletter Issue #36)

Posted by jpluimers on 2018/01/07

In the blast of Spectre and Meltdown, don’t forget that humans still goof up: [WayBackPrivate keys in software from Blizzard, Electronic Arts, Microsoft, and the German Federal Bar (Bulletproof TLS Newsletter Issue #36).

Luckily enough people keep an eye on these too.

Via:

–jeroen

Posted in Power User, Security | Leave a Comment »

Animation problems in Delphi Tokyo 10.2 update 2? Check bug RSP-19525

Posted by jpluimers on 2018/01/07

If you run into animation problems in Delphi Tokyo 10.2 update 2, then read [WayBack] … In particular I cannot use the use the animation to change the tab in a TabControl… – Raffaele Miola – Google+.

It is likely that  RSP-19525 (10.2 Tokyo Release 2 breaks Animation under Android – App hangs).

Some temporary fixes that might help you are here:

I think that for cross platform and especially mobile development means you need to use tools from vendors that live and breathe that, by constantly showing they master these subjects for instance having good apps in the app stores and examples that are regularly updated to the ever changing field.

I really wonder what the rest of the Delphi community thinks about that.

–jeroen

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

“simply” hold the refresh button and then tap on Request Desktop Site – How to Use WhatsApp on iPad

Posted by jpluimers on 2018/01/05

… simply hold the refresh button and then tap on Request Desktop Site. The page should refresh and you should be redirected to web.whatsapp.com and you should be looking at a QR code on the screen of your iPad.

If you know it’s “simply”.

Source: How to Use WhatsApp on iPad

–jeroen

Posted in Apple, iOS, iPad, Power User | Leave a Comment »

Fixing PowerPoint Annoyances: When I double-click a .pps/.ppx file, the PowerPoint icon appear on the taskbar…

Posted by jpluimers on 2018/01/05

From [WayBack1. Presenting Your Presentation – Fixing PowerPoint Annoyances [Book]:

PowerPoint Opens Minimized

THE ANNOYANCE: I can’t get my presentation to open properly when I double-click it. I can see the PowerPoint icon on the taskbar, but it won’t maximize or restore. How can I view the presentation?

THE FIX: Your slide show is set to display on the secondary monitor, which is no longer attached to your computer. Open PowerPoint from Start → Program Files and select File → Open to open your presentation. Then select Slide Show → Set up Show and choose “Display slide show on primary monitor.”

–jeroen

Posted in Office, Power Point, Power User | Leave a Comment »

Record helpers can do wonders for code clarity.

Posted by jpluimers on 2018/01/04

A few people recently discovered the beauty of record helpers:

Record helpers can help any value type (which includes enumerated types) so you can add functions to enumerations.

Class helpers can help class types.

There are no interface helpers and likely won’t be there for a long while.

–jeroen

Posted in Conference Topics, Conferences, Delphi, Development, Event, Power User, Software Development | 2 Comments »

Delphi inner scoping is undefined. Please Embarcadero/Idera, come up with a formal language definition for Delphi

Posted by jpluimers on 2018/01/04

[WayBack] Hi there, this is pure curiosity only; but this compiler behaviour seems odd to me. What do you think?… – Agustin Ortu – Google+

The problems start when you prefix the outer class which you have to when using inner consts ([WayBack] Oh nice. Feel free to QP. Fails at least in Delphi XE8. … – Jeroen Wiert Pluimers – Google+).

The big problem in both cases is a formal language specification. The lack of a formal language specification makes it very hard to predict the effect of use cases or generate them for testing.

So this post is yet another request: Please Embarcadero/Idera, come up with a formal language definition for Delphi.

Read the rest of this entry »

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

Raspberry Pi | RTAndroid

Posted by jpluimers on 2018/01/03

Raspbyerry Pi 3 are very versatile. Not just for your light weight Linux installation or Windows 10 IoT, but also for Android experimentation.

On my research list is [WayBackRaspberry Pi | RTAndroid:

Raspberry Pi 3 This page provides a device-specific tutorial for installing RTAndroid on the Raspberry Pi 3 Model B. Single-board computing devices

It’s an Android 7 (codenamed Android N, now Android Nougat) distribution with Raspberry Pi images (nowadays Raspberry Pi 3, but should run on older as well). Which means you do not have to upgrade your phone to use more recent versions of Android to program against.

–jeroen

via: [WayBackFixed by Code: Running Delphi applications on Raspberry Pi 3 and [WayBackA bit of ravings: https://fixedbycode.blogspot.dk/2016/12/running-delphi-appl…

Posted in Android, Development, Mobile Development | Leave a Comment »

mappings between counters, structure and Task Manager columns – Memory Performance Information (Windows)

Posted by jpluimers on 2018/01/03

I copied the tables from [WayBackMemory Performance Information (Windows) as even Microsoft managed to let information “disappear” for EOL products (the en-US version already “disappeared”):

System Memory Performance Information

The following table associates memory object performance counters with the data returned by the memory performance functions in the MEMORYSTATUSEX, PERFORMANCE_INFORMATION, andPROCESS_MEMORY_COUNTERS_EX structures, and with the corresponding information displayed by Task Manager.

Memory object counter (unless otherwise noted) Structure Task Manager Performance tab for Windows Server 2008 and Windows Vista Task Manager Performance tab for Windows Server 2003 and Windows XP
Available KB MEMORYSTATUSEX.ullAvailPhys andPERFORMANCE_INFORMATION.PhysicalAvailable Subtract usage value shown in Memorygraph from Physical Memory (MB): Total Physical Memory: Available
None MEMORYSTATUSEX.ullTotalPhys andPERFORMANCE_INFORMATION.PhysicalTotal Physical Memory (MB): Total Physical Memory: Total
Committed Bytes PERFORMANCE_INFORMATION.CommitTotal System: Page Filefirst value (in MB) Commit Charge: Total
Commit Limit MEMORYSTATUSEX.ullTotalPageFile andPERFORMANCE_INFORMATION.CommitLimit System: Page Filesecond value (in MB) Commit Charge: Limit
Free & Zero Page List BytesWindows Server 2003 and Windows XP:  This performance counter is not supported. None Physical Memory (MB): Free Not applicable
None PERFORMANCE_INFORMATION.CommitPeak None Commit Charge: Peak
None PERFORMANCE_INFORMATION.HandleCount System: Handles Totals: Handles
None MEMORYSTATUSEX.ullAvailPageFile None None
Pool Nonpaged Bytes PERFORMANCE_INFORMATION.KernelNonpaged Kernel Memory: Nonpaged Kernel Memory: Nonpaged
Pool Paged Bytes PERFORMANCE_INFORMATION.KernelPaged Kernel Memory: Paged Kernel Memory: Paged
Pool Paged Bytes + Pool Nonpaged Bytes PERFORMANCE_INFORMATION.KernelTotal Kernel Memory: Total Kernel Memory: Total
Processes (Objects object) PERFORMANCE_INFORMATION.ProcessCount System: Processes Totals: Processes
Thread Count (Process(_Total) object) PERFORMANCE_INFORMATION.ThreadCount System: Threads Totals: Threads
Cache Bytes + Sharable pages on the standby and modified lists PERFORMANCE_INFORMATION.SystemCache None System Cache
Cache Bytes + Modified Page List Bytes + Standby Cache Reserve Bytes + Standby Cache Normal Priority Bytes + Standby Cache Code BytesWindows Server 2003 and Windows XP:  Except for Cache Bytes, these performance counters are not supported. None Physical Memory (MB): Cached Not applicable

 

Process Memory Performance Information

The following table associates process object performance counters with the data returned by the memory performance functions in the MEMORYSTATUSEX, PERFORMANCE_INFORMATION, andPROCESS_MEMORY_COUNTERS_EX structures, and with the corresponding information displayed by Task Manager.

Process object counter Structure Task Manager Processes tab for Windows Server 2008 and Windows Vista Task Manager Processes tab for Windows Server 2003 and Windows XP
Handle Count None Handles Handles
Page File Bytes PROCESS_MEMORY_COUNTERS_EX.PagefileUsage Commit Size for all processes except the System process. For the System process, Page File Bytes is always 0. VM Size for all processes except the System process. For the System process, Page File Bytes is always 0.
Page File Bytes Peak PROCESS_MEMORY_COUNTERS_EX.PeakPagefileUsage None None
Pool Nonpaged Bytes PROCESS_MEMORY_COUNTERS_EX.QuotaNonPagedPoolUsage NP Pool NP Pool
Pool Paged Bytes PROCESS_MEMORY_COUNTERS_EX.QuotaPagedPoolUsage Paged Pool Paged Pool
Private Bytes PROCESS_MEMORY_COUNTERS_EX.PrivateUsage Commit Size VM Size
Thread Count (Process(<image name>) for the specified image) None Threads Threads
Virtual Bytes MEMORYSTATUSEX.ullTotalVirtualMEMORYSTATUSEX.ullAvailVirtual None None
Virtual Bytes Peak None None None
Working Set PROCESS_MEMORY_COUNTERS_EX.WorkingSetSize Working Set (Memory) Mem Usage
Working Set Peak PROCESS_MEMORY_COUNTERS_EX.PeakWorkingSetSize Peak Working Set (Memory) Peak Mem Usage
Working Set – PrivateWindows Server 2003 and Windows XP:  This performance counter is not supported. None Private Working Set Not applicable
None PROCESS_MEMORY_COUNTERS_EX.QuotaPeakNonPagedPoolUsage None None
None PROCESS_MEMORY_COUNTERS_EX.QuotaPeakPagedPoolUsage None None
None MEMORYSTATUSEX.ullAvailPageFile None None
None MEMORYSTATUSEX.ullTotalPageFile None None

 

–jeroen

Posted in Development, Software Development | Leave a Comment »