Interesting read: [WayBack] Setting Up a New Mac: Should You Migrate or Do a Clean Installation? | The Mac Security Blog
–jeroen
Posted by jpluimers on 2019/10/07
Interesting read: [WayBack] Setting Up a New Mac: Should You Migrate or Do a Clean Installation? | The Mac Security Blog
–jeroen
Posted in Apple, iMac, Mac, Mac OS X / OS X / MacOS, Mac OS X 10.4 Tiger, Mac OS X 10.5 Leopard, Mac OS X 10.6 Snow Leopard, Mac OS X 10.7 Lion, MacBook, MacBook Retina, MacBook-Air, MacBook-Pro, MacMini, macOS 10.12 Sierra, OS X 10.10 Yosemite, OS X 10.11 El Capitan, OS X 10.8 Mountain Lion, OS X 10.9 Mavericks, Power User | Leave a Comment »
Posted by jpluimers on 2019/10/07
Interesting: [WayBack] I am using Ubuntu 16.04 along with windows 10. I have encrypted my drives using BitLocker. Now my encrypted drives are not visible in ubuntu 16.04. But I want to access my encrypted drives using.
References: [WayBack] How to access BitLocker encrypted drive in Linux? This article introduces one way to access Bitlocker encrypted drive in Linux
via:
–jeroen
Posted in *nix, Power User, Windows | Leave a Comment »
Posted by jpluimers on 2019/10/04
Sometimes in a table, you want to have a key column where one of the rows sorts after Z (for instance having a total value further on).
The A-Z sort order sorts all non-letter ASCII characters in front of A-Z and a-z because [WayBack] Excel sorting is not in ASCII order – Microsoft Community, see ASCII Sort.xlsm – Microsoft Excel Online.
Using =NA() (which displays as #N/A ) is too visually intrusive (but works, see: [WayBack] Forcing an item to sort last in Excel [Archive] – Actuarial Outpost)
Luckily, putting in an Arabic character like 'ٴ works. You can even put it in front of normaal ASCII characters like in 'ٴ ----- which then displays it at the right (since Arabic is Right-to-Left) -----ٴ .
The character is high Hamza – Wikipedia; [WayBack] Unicode Character ‘ARABIC LETTER HIGH HAMZA’ (U+0674)
via:
–jeroen
Posted in Excel, Office, Power User | Leave a Comment »
Posted by jpluimers on 2019/10/04
[WayBack] Fastener Reference Cheat Sheets, by @pighixxx | #ManufacturingMonday
From pan flange to button washer, from socket cap to trim screw heads, not to mention threading types and drive head options, every workbench and workshop should have this fastener reference guide …
via:
–jeroen
Posted in Development, Hardware Development, LifeHacker, Power User | Leave a Comment »
Posted by jpluimers on 2019/10/04
Since I don’t do Excel visualisations often enough, I always forget the details on Pivot Charts, some links and tips below.
You can’t have enough axes
The tips below assume you can create a pivot table from an existing table (that already can contain formulas), then show you:
Creating graphs out of up and down time durations over time, aggregated by day.
Ideas for correlations that might matter:
First of all, I needed “day of month”, “day of week”, and “week number” so I could group by those. Based on Readable weekdays in Excel, you get formulas like these:
=DAY(B4)=WEEKDAY(B4) and =TEXT(B4;"dddd")=WEEKNUM(B4)Then I needed to split the duration of the state in distinct up/down durations. So I made a few formulas:
=("Up", A4) to have a boolean for up/down=("Up", A4) to have a boolean for up/down=IF(D4;C4;0)to split the up duration from the state duration=IF(NOT(D4);C4;0)to split the down duration from the state durationA pivot table could aggregate total up and down durations, but I wanted a measure of up ratio, so I needed a formula inside the pivot table itself.
Following the steps at [WayBack] Calculate values in a PivotTable Use different ways to calculate values in calculated fields in a PivotTable report in Excel 2010, I got to this one:
This aggregates nicely: drag it to the aggregates column, then change the aggregation to “Average”:
Posted in Excel, Office, Power User | Leave a Comment »
Posted by jpluimers on 2019/10/03
For my link archive:
If you use Threads or global Objects (which are created in the
initializationsection for example) You have to cleanup/shutdown them in theOnTerminateevent of the ISAPI Application. If You destroy/shutdown them in thefinalizationsection in a unit it could end up in a hanging application pool in IIS on shutdown/reuse and some windows event log entries.//addedprocedureDoTerminate;begin//free global objects and wait/terminate threads hereend;exportsGetExtensionVersion,HttpExtensionProc,TerminateExtension;beginReportMemoryLeaksOnShutdown :=true;CoInitFlags := COINIT_MULTITHREADED;Application.Initialize;Application.WebModuleClass := WebModuleClass;TISAPIApplication(Application).OnTerminate := DoTerminate;//addedApplication.Run;end.
Source [WayBack] How to properly cleanup/shutdown a Delphi ISAPI (which uses Threads) | Mathias Pannier programmiert
Related:
Worker Threads in Webbroker application may deadlock when you unload the application with IIS Admin. This then requires an IISReset which stops all other Web Applications.
I typically use a worker thread for logging in WebBroker applications. In the finalization of the unit containing the logging thread, I Destroy the Logger TThread object.
When the TThread.Destroy is called, it will call WaitFor if TThread.FFinished is not True. The WaitFor call will not return. To avoid this you need to delay the call to TThread.Destroy until TThread.FFinished is True.
This can be done by waiting until the DoTerminate method is called. See workaround.
(Note this problem has existed for many previous versions of Delphi)
–jeroen
Posted in Delphi, Development, IIS, Software Development | Leave a Comment »
Posted by jpluimers on 2019/10/03
On my Delphi research list:
[Window Title] Error [Content] Error creating form: Root class not found: "". [OK]
I think it has to do with form inheritance, but a quick glance didn’t raise any warning signs.
–jeroen
Posted in Conference Topics, Conferences, Delphi, Development, Event, Software Development | 1 Comment »
Posted by jpluimers on 2019/10/03
Interesting read: [WayBack] Ubiquity: The End of (Numeric) Error
Crunching numbers was the prime task of early computers. The common element of these early computers is they all used integer arithmetic. John Gustafson, one of the foremost experts in scientific computing, has proposed a new number format that provides more accurate answers than standard floats, yet saves space and energy. The new format might well revolutionize the way we do numerical calculations.
via:
–jeroen
Posted in Algorithms, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2019/10/02
Long read, worth it too: [WayBack] How to break a Monolith into Microservices
A guide to the common steps we’ve observed in breaking a monolithic application up into microservices
–jeroen
Via [WayBack] How to break a Monolith into Microservices https://martinfowler.com/… – Jeroen Wiert Pluimers – Google+
Posted in Development, Software Development, Systems Architecture | Leave a Comment »
Posted by jpluimers on 2019/10/02
I got an interesting question a while ago: should an application terminate (anonymous) threads or not?
Started.WaitFor might not return (which you cannot get around this because all overloads of the CheckThreadError are non-virtual)A problem is that a thread might not execute unless you call WaitFor before Terminate is called. The reason is that the internal function ThreadProc does not start Execute if the thread is already terminated.
The
ThreadProcin theSystem.Classesunit is an ideal place to set breakpoints in order to see which threads might start.Other useful places to set breakpoints:
TAnonymousThread.ExecuteTExternalThread.Execute
Execute not being called by ThreadProc is a bug, but it is not documented because QC is gone (taking the below entry with it), it is not in QP and the docwiki never got updated.
Given QC has so much information, I am still baffled that Embarcadero took it down.
Sergey Kasandrov (a.k.a. serg or sergworks) wrote in [WayBack] Sleep sort and TThread corner case | The Programming Works about this bug and refers to WayBack: QualityCentral 35451 – TThread implementation doesn’t guarantee that thread’s Execute method will be called at all .
The really bad thing are the WayBack: QualityCentral Resolution Entries for Report #35451 Resolution “As Designed” implying the design is wrong.
In his post, sergworks implemented the Sleep sorting in Delphi. Related:
- WayBack: Genius sorting algorithm: Sleep sort
- [WayBack] Reddit – 4chan: Sleep sort : programming
- [WayBack] 4chan: Sleep sort : programming
- [WayBack] Sorting algorithms/Sleep sort – Rosetta Code
- [WayBack] What is the time complexity of the sleep sort? – Stack Overflow
Note that application shutdown is a much debated topic. Best is to do as little cleanup as possible: your process is going to terminate soon anyway. No need to close handles or free memory: Windows will do that for you anyway. See for instance:
- [WayBack] The old-fashioned theory on how processes exit – The Old New Thing
- [WayBack] Quick overview of how processes exit on Windows XP – The Old New Thing
- [WayBack] Changes to power management in Windows Vista – The Old New Thing
- [WayBack] Now that Windows makes it harder for your program to block shutdown, how do you block shutdown? – The Old New Thing
- [WayBack] A process shutdown puzzle – The Old New Thing
- [WayBack] A process shutdown puzzle: Answers – The Old New Thing
- [WayBack] A process shutdown puzzle, Episode 2 – The Old New Thing
- [WayBack] Why does Internet Explorer not call DLL_PROCESS_DETACH on my DLL when I call ExitProcess? – The Old New Thing
- [WayBack] When DLL_PROCESS_DETACH tells you that the process is exiting, your best bet is just to return without doing anything – The Old New Thing
- [WayBack] Why can’t I delete a file immediately after terminating the process that has the file open? – The Old New Thing
- [WayBack] During process termination, the gates are now electrified – The Old New Thing
- [WayBack] How my lack of understanding of how processes exit on Windows XP forced a security patch to be recalled – The Old New Thing
- [WayBack] The old-fashioned theory on how processes exit – The Old New Thing
- [WayBack] Some reasons not to do anything scary in your DllMain – The Old New Thing
Related to waiting:
Related to executing:
–jeroen
Posted in Conference Topics, Conferences, Delphi, Development, Event, Multi-Threading / Concurrency, Software Development, The Old New Thing, Windows Development | Leave a Comment »