Archive for the ‘Software Development’ Category
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 »
Posted by jpluimers on 2018/01/03
I copied the tables from [WayBack] Memory 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.ullTotalVirtual – MEMORYSTATUSEX.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 »
Posted by jpluimers on 2018/01/02
I totally missed the passing of Michael Scott Kaplan some 2 years ago, so a belated R.I.P. is in place.
Obituary for Michael Kaplan, Michael Scott Kaplan, 45, passed away Wednesday, October 21, 2015, in Redmond, WA, after a brave battle with MS for 25 years. He was a lead software developer for Microsoft.
Source: [WayBack] Michael Kaplan Obituary – Berkowitz-Kumin-Bookatz | Cleveland Heights OH
Michael was the leading source on i18n, L10N, Unicode, sorting, normalisation and other things having to do with languages, representations and writing.
Besides that he was a really nice guy of which I enjoyed his MSDN materials.
Other people enjoy that too, so I’m glad his writings have been archived: [first archive.is, second archive.is, WayBack] Sorting it All Out: Archives
Here are some additional links:
More on miloush.net:
Read the rest of this entry »
Posted in Ansi, Development, Encoding, internatiolanization (i18n) and localization (l10), Software Development, The Old New Thing, UTF-8, UTF8, Windows Development | Leave a Comment »
Posted by jpluimers on 2018/01/02
Sometimes your Atom installation gets so unstable that the quickest solution is a reinstall. For that you need to get a list of user-installed packages, then re-install them.
On Windows your Atom Package Manager apm is here (but not in the path), where the first is version specific and the latter the most recent version:
%LOCALAPPDAT%\atom\app-1.18.0\resources\cli\apm.cmd
%LOCALAPPDATA%\atom\bin\apm.cmd
On Mac OS X, it is here and in the path:
/usr/local/bin/apm
/Applications/Atom.app/Contents/Resources/app/apm/node_modules/.bin/apm
Save your packages:
apm list --installed --bare > package-list.txt
Install packages:
apm install --packages-file package-list.txt
For my own memory, the settings folders:
- Windows:
%USERPROFILE%\.atom
- Mac OS X:
~/.atom
–jeroen
via:
Posted in atom editor, Development, JavaScript/ECMAScript, Node.js, Power User, Scripting, Software Development, Text Editors | Leave a Comment »
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 »
Posted by jpluimers on 2017/12/31
This is what DevOps is all about: [WayBack] jessie 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 [WayBack] Weekend 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 »
Posted by jpluimers on 2017/12/31
A nice discussion followed on [WayBack] Senior 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 »
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 »