With the huge dependency of Delphi on the LLVM project – basically none of their cross-platform support falls apart without LLVL – I wonder how much Embarcadero and their. mother company Idera contributed back to the LLVM project (which isn’t hard, see [Wayback/Archive] Contributing to LLVM — LLVM 20.0.0git documentation).
I tried these queries with remarkably few results:
More on the reason why I learned a few SQLite things soon, but for my link and documentation archive, below is what I learned.
Most commands use the database file C:\temp\History which has no extension as that is how I got the file in the first place (spoiler: it’s a Chrome browser History from one of my user profiles).
Alas, a lot of Embarcadero stuff is gone, some because of Idera not caring, others because as of Codegear, the team never was good at keeping infrastructure alive, nor cater for proper archiging at the Wayback Machine.
It is a standalone reasonably sized database browser for the single-process SQLite database (which is itself a file storage replacement for highly table structured data, see below).
With SQLite gaining more and more popularity in standalone application usage (you can even host it inside a web browser session!), I bump in it more often to fix things (more on that in a future blog post), which means that besides the standard console support in SQLite, having a versatile browser is really useful.
DB Browser for SQLite, or in short sqlitebrowser, fulfills that need better than I expected. It’s cross-platform so it works on Mac OS, Windows and Linux (and sort of on WSL2 on Windows, see links below).
Hopefully I can show you how I used it in future blog-posts. For now, and for my link archive, below are just some links to get started.
Oh and the comment: as always with files containing structured data that is randomly accessed you should be really careful when opening them over file-shares or virtual drives like cloud storage.
In the past, I used to modify /etc/sysconfig/named and add entries to the NAMED_CONF_INCLUDE_FILES setting, then run /usr/share/bind/createNamedConfInclude
to generate /etc/named.conf.include.
As of OpenSuSE 15.4, /usr/share/bind/createNamedConfInclude has become an empty file and NAMED_CONF_INCLUDE_FILES got removed and NAMED_INITIALIZE_SCRIPTS introduced.
So now I changed my playbooks to manually generate /etc/named.conf.include and include it form /etc/sysconfig/named.
Since I hardly perform these new installations, it took a few years for me to find out about this change. Upgrading existing systems somehow kept the generated file and included it.
Related links with quotes as it was hard to find out what changed and how to work around and I wasn’t the only one bump into issues:
Doet officieel geen LED en spaarlamp, maar schijnt meestal wel te werken. Hopelijk is dit een opstap voor schakelmateriaal wat altijd met LED en spaarlamp werkt.
Het grote voordeel van deze schakelaars plus bijbehorende functie-kapjes is dat ze tegelijk op IR+tijd en handmatig kunnen werken. Dus vanzelf aan/uit met IR+tijd, maar ook handmatig aan/uit zetten of combinaties.
The reason for searching was that I contemplated about buying a large iPad to use as combination of dual-screen and note reading during music performance/practice.
Lot’s of references by [Wayback/Archive] Parsia to great posts by [Wayback/Archive] Raymond Chen mainly on security issues that are not: there is only a vulnerability when you get from the other side of the outside of the airtight hatchway to the inside, not when you are already inside.
Arthur: But can’t you think of something?!
Ford: I did.
Arthur: You did!
Ford: Unfortunately, it rather involved being on the other side of this airtight hatchway—
Arthur: oh.
Ford: —that’s just sealed behind us.
I figured out how to run a SQL query directly against a CSV file using the sqlite3 command-line utility:
sqlite3 :memory: -cmd '.mode csv' -cmd '.import taxi.csv taxi' \
'SELECT passenger_count, COUNT(*), AVG(total_amount) FROM taxi GROUP BY passenger_count'
This uses the special :memory: filename to open an in-memory database. Then it uses two -cmd options to turn on CSV mode and import the taxi.csv file into a table called taxi. Then it runs the SQL query.
Instead of setting the mode with .mode you can use .import -csv like this (thanks, [Wayback/Archive] Mark Lawrence):
sqlite3 :memory: -cmd '.import -csv taxi.csv taxi' \
'SELECT passenger_count, COUNT(*), AVG(total_amount) FROM taxi GROUP BY passenger_count'