I wonder with the current memory pricing and amounts of memory that host machines have: is memory ballooning a thing from the past?
–jeroen
[Archive.is] Virtualization: What is memory ballooning? – Quora
Posted by jpluimers on 2018/02/02
I wonder with the current memory pricing and amounts of memory that host machines have: is memory ballooning a thing from the past?
–jeroen
[Archive.is] Virtualization: What is memory ballooning? – Quora
Posted in Hyper-V, Power User, Proxmox, Virtualization, VMware, VMware ESXi | 1 Comment »
Posted by jpluimers on 2018/02/02
Here’s how you can find out when your domain password will expire.
net user %USERNAME% /domain
It figures this out for the current logon domain (so it doesn’t work cross-domain) but it is a great help, especially when filtering out just the password information:
net user %USERNAME% /domain | findstr "Password"
This can be done in a more complex way with dsquery or adinfo that are tools to query
Posted in Power User, Windows, Windows 10, Windows 7, Windows 8, Windows 8.1, Windows 9, Windows Server 2000, Windows Server 2003, Windows Server 2003 R2, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server 2016, Windows Vista, Windows XP | Leave a Comment »
Posted by jpluimers on 2018/02/01
About a year ago, this company was incorporated: https://beta.companieshouse.gov.uk/company/10542519
; DROP TABLE “COMPANIES”;– LTD
[WayBack] ; DROP TABLE “COMPANIES”;– LTD – Overview (free company information from Companies House)
via: [WayBack] From the Trololo-Dept: https://beta.companieshouse.gov.uk/company/10542519 – Kristian Köhntopp – Google+
–jeroen
Posted in Database Development, Development, Power User, Security | Leave a Comment »
Posted by jpluimers on 2018/02/01
One day I must re-publish these papers:
Author Information
ID: 1454 First name: Jeroen W. Last name: Pluimers User name: Biography: Jeroen Pluimers has had a long history in software development ranging from high-level knowledge-based systems to low-level communcation. After discovering his love for teaching, he started one of the first Delphi consulting firms in Europe, and has been speaking at national and international conferences ever since. He presents on Delphi, C#, the Microsoft .NET Platform, and Linux. Jeroen is a Certified Delphi Developer and Borland Certified Instructor. Jeroen’s strength is in getting totally different technologies to work together. He likes to integrate different languages, platforms, frameworks, and databases. As a bug hunter and idea generator, Jeroen has contributed to many products such as Developer Express? Component Development Kit and Borland Delphi. In his free time, Jeroen plays percussion in a world-famous marching band. He also enjoys reading fine books and sampling foreign cuisines. Image not available
[WayBack] GetPublished – Author Information
From the referencing pages:
Intermediate paper for Delphi programmers starting to use Linux. It explains how to use and integrate Linux and Kylix with Windows and Delphi.�
As a Delphi developer, you will find C# easier to learn than you might have thought. Get a head start with this revealing presentation.�
This session describes COM, CORBA and SOAP, indicating what they share, what sets them apart, and how you can choose among them.�
This session provides a demonstration of ReCruit, including a discussion of its development and deployment process. ReCruit was built using Delphi and InterBase.�
–jeroen
Posted in BorCon, C#, Conferences, Delphi, Development, Event, SOAP/WebServices, Software Development | Leave a Comment »
Posted by jpluimers on 2018/02/01
Today is [WayBack] Check your backups Day! started by @CyberShambles in dedication of the @Gitlab outage on 20170201.
Please check your restoration process now. As people screw up and accidents happen (I know first hand from a client).
Why isn’t this date on January 31st? Long short story: the failure started that date, but restoration took most of 20170201. So February 1st it is.
Others will follow and GitLab wasn’t alone, as a few days before soup.io had to restore a 2015 database backup.
It all comes back to
Nobody wants backup.
Everybody wants restore.
which made it to the 2008 [WayBack] adminzen.org – The Admin Zen and has been attributed to various people including [WayBack] to Kristian Köhntopp and [WayBack] to Martin Seeger who told Kristian Köhntopp that it was coined by Sun’s Michael Nagorsnik at one of the early [WayBack] NuBIT. Martin was there; he knows (:
The oldest mention of the phrase I could find was in 2006 by Volker Bir at [WayBack] Spy Sheriff – so how do people get infected w/ this thing?.
Keeping clients in the loop
Since soup.io hosts their updates blog on their own platform, the restore resulted in the post prior to [Archive.is] Update after crash ;) – Soup Updates sort of ironically being the mid-2015 [WayBack] Give us your money! – Soup Updates. Usually dogfooding is a good thing though.
During such a downtime, it is crucial to stay in touch through alternative channels. Soup.io didn’t do a good job on their twitter account: they only announced the “update after crash”, not being down, why or progress.
They also deny the WayBack machine access to updates.soup.io because of [WayBack] robots.txt because how they redirect through /remotes, but luckily Archive.is doesn’t care about that and has less old updates.soup.io archived as recent as end of 2015.
GitLab did a much better job on their GitLabStatus account.
Postmortems and organisation culture.
Everybody can screw up, and usually a severe outage happens even when everybody tries to do the right thing. The only way to learn from it is to have [WayBack] Blameless PostMortems and a Just Culture – Code as Craft.
Posted in DevOps, Power User | Leave a Comment »
Posted by jpluimers on 2018/01/31
An interesting discussion on ARC and classic memory management in Delphi and ideas on hybrid ways: [WayBack] Which class memory management model would you prefer for Delphi? Or better, which one would fit better for your needs? – Malcon X Portela – Google+
–jeroen
Posted in Delphi, Development, Software Development | 9 Comments »
Posted by jpluimers on 2018/01/31
This article focuses on how an application developer can build a successful scalable enterprise application when he or she has only a local database or transaction system available. Availability is not addressed, merely scale and correctness.
I’m re-reading [WayBack] Life Beyond Distributed Transactions – ACM Queue as it such a great article.
Via: [WayBack] Pat Helland on scaling: If you are not willing to pay the cost of distributed transactions, what options do you have and what are the costs associated with this choice – Kristian Köhntopp – Google+
Executive Summary: embrace uncertainty. It can’t be avoided.
–jeroen
Posted in Design Patterns, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2018/01/31
Of the things not possible with generics in Delphi, I already wrote about Impossible: Property using Generics in Delphi.
Now it’s time to write about simulating a free function with generics as this is impossible:
function CreateManaged<T>(const value: T): IManaged<T>;
Usually I create a static record method for these, as records do not have VMT overhead, less RTTI overhead and I’ve been used to see records as helpers for other types long before helpers initially were introduced in Delphi 8 to extend classes..
Spring4D has an excellent example of such a record workaround in the Managed.New<T> commit:
type
Managed = record
public
class function New<T>(const value: T): IManaged<T>; static;
end;
...
class function Managed.New<T>(const value: T): IManaged<T>;
begin
Result := TManaged<T>.Create(value);
end;
It basically is a factory for classes implementing the IManaged interface.
In the mean time, Managed has been renamed to Shared but the above code shows my point.
–jeroen
Reference: [WayBack] Class Helpers documented in Delphi 2007, introduced in Delphi 8
Posted in Conference Topics, Conferences, Delphi, Development, Event, Software Development | 5 Comments »
Posted by jpluimers on 2018/01/30
Most sites explaining how to decompress an xz file mention you should use unxz from the xz utils toolbox.
Running unzx on Msc OS X requires the xz formula from homebrew:
$ brew install xz ==> Downloading https://homebrew.bintray.com/bottles/xz-5.2.2.mavericks.bottle.tar.gz ######################################################################## 100.0% ==> Pouring xz-5.2.2.mavericks.bottle.tar.gz 🍺 /usr/local/Cellar/xz/5.2.2: 91 files, 1.4M
–jeroen
Posted in Apple, Home brew / homebrew, Mac OS X / OS X / MacOS, macOS 10.12 Sierra, OS X 10.10 Yosemite, OS X 10.9 Mavericks, Power User | Leave a Comment »
Posted by jpluimers on 2018/01/30
A while ago, I found out that [WayBack] Toon Krijthe made a [Archive.is] Delphi 2009 syntax sample which is a great complement to the DelphiAST parser given that Borland/CodeGear/Embarcadero/Idera never published one in the 22+years that Delphi is alive.
–jeroen
Posted in Delphi, Delphi 2009, Development, Software Development | 6 Comments »