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,854 other subscribers

How to Extract a Number or Text from Excel with this Function

Posted by jpluimers on 2019/11/11

Lots of fuzz, but the formula towards the end worked:

=SUMPRODUCT(MID(0&A1,LARGE(INDEX(ISNUMBER(--MID(A1,ROW($1:$25),1))*
ROW($1:$25),0),ROW($1:$25))+1,1)*10^ROW($1:$25)/10)

Source: [Archive.isHow to Extract a Number or Text from Excel with this Function

More of those at [WayBack] Extract Only Numbers From Text String

–jeroen

Posted in Excel, Office, Office 2011 for Mac, Power User | Leave a Comment »

Incidents, fixes, and the day after – Booking.com Infrastructure – Medium

Posted by jpluimers on 2019/11/11

In larger teams, to handle Incidents, fixes, and the day after – Booking.com Infrastructure – Medium [WayBack] you escalate it through a set of carefully chosen phases.

  1. Starting the escalation
  2. Gathering the firefighters
  3. Going back to business
  4. Closing the escalation
  5. Working towards the permanent solution
  6. Postmortem retrospective

–jeroen

via: [WayBack] Incident Handling und der Tag danach (Booking.com) – – Kristian Köhntopp – Google+

Read the rest of this entry »

Posted in Development, DevOps | Leave a Comment »

Resize a table in Word or PowerPoint for Mac – Office Support

Posted by jpluimers on 2019/11/08

Why does it take forever for Microsoft Office suite programs to function the same across their various components and over operating systems. It has been like 2 decades and still sizing columns/rows in tables is a nightmare.

[WayBack] Resize a table in Word or PowerPoint for Mac – Office Support.

In my case PowerPoint: it is so different from Excel, and even different from Word, that it gives me headaches.

This is what PowerPoint 2011 could do; more recent versions are only marginally better:

PowerPoint

You can resize a whole table to improve readability or to improve the visual effect of your document. You can also resize one or more rows, columns, or individual cells in a table.

Do any of the following:

Resize a table

  1. Click the table.
  2. Rest the pointer on any corner of the table until Table Resize Cursor appears, and then drag the table boundary until the table is the size that you want.

Change the row height in a table

  1. Rest the pointer on the row boundary that you want to move until Horizontal split arrow appears, and then drag the boundary until the row is the height that you want.

    If you have text in a table cell, the row must be the same height or taller than the text.

Change the column width in a table

  1. Rest the pointer on the column boundary that you want to move until Vertical split arrow appears, and then drag the boundary until the column is as wide as you want.

    If you have text in a table cell, the column must be as wide as or wider than the text.

Change the row or column to fit the text

  • Rest the pointer on the column boundary until Vertical split arrow appears or the row boundary until Horizontal split arrow appears, and then double-click it.

Make multiple rows or columns the same size

  1. Select the columns or rows that you want to make the same size, and then click the Table Layout tab.
  2. Under Cells, click Distribute Rows or Distribute Columns.

    Tables Layout tab, Cells group

–jeroen

Posted in Office, Office 2011 for Mac, Power Point, Power User, Word | Leave a Comment »

20 Cool Command Line Tricks for Windows and macOS

Posted by jpluimers on 2019/11/08

After all these years in the field, I still learned new tricks from [WayBack20 Cool Command Line Tricks for Windows and macOS which I have rephrased:

Windows

1) View installed drivers: [WayBack] driverquery

2) Watch Star Wars in ASCII: [WayBacktelnet towel.blinkenlights.nl

3) Save folder trees to disk: tree (I had totally forgotten about this, probably because it leaves out a lot of directories and files)

5) Show your Wi-Fi password [WayBacknetsh wlan show profile SSID key=clear (replace SSID with your network name; use nets wlan show profile to view the network names)

7) Check your laptop’s battery health: [WayBack] powercfg /batteryreport which will be in ” and hit Enter to generate the report, then %HOMEPATH%\battery-report.html

8) View your Windows license key: wmic path softwarelicensingservice get OA3xOriginalProductKey [WayBack]

Mac OS X / macOS / however it is called now

1) Change the default screenshot type: [WayBackdefaults write com.apple.screencapture type JPG (you can also use JP2 (for JPEG2000), PDF, PNG, TIFF and others)

2) Get your Mac to speak to you: use say

3) Add a message to the login screen: sudo defaults write /Library/Preferences/com.apple.loginwindow LoginwindowText "your new text on the logon window" [WayBack]

4) Play Tetris and other classics: start emacs, then press Esc followed by X, type in tetris, pong, snake or solitaire (to exit emacs, press CtrlX followed by CtrlC). There are [WayBack] more emacs games.

5) Get a dictionary definition: run curl dict://dict.org/d:word (where word is what you are after) which uses the [WayBack] dict protocol

6) Keep macOS awake: [WayBack] caffeinate optionally followed by a -t## parameter where ## is the number of seconds to not sleep.

7) Show hidden files: defaults write com.apple.finder AppleShowAllFiles -bool TRUE; killall Finder or use this AppleShowAllFiles script which I had forgotten about writing in the first place.

10) Add Spaces to the Dock: defaults write com.apple.dock persistent-apps -array-add ‘{”tile-type”=”spacer-tile”;}’; killall Dock running the command as many times as you want spaces. To get rid of a space you’ve added, just drag them to the Trash.

–jeroen

via: [WayBack] 20 Cool Command Line Tricks for Windows and macOS http://flip.it/SvcQlu – Joe C. Hecht – Google+

Posted in *nix, *nix-tools, Apple, cURL, Power User | Leave a Comment »

55 Questions to Break the Ice Better than typical conversation openers like, “What do you do?”

Posted by jpluimers on 2019/11/08

via [WayBack] 55 Questions to Break the Ice Better than typical conversation openers like, “What do you do?” – Kevin Powick – Google+:

[Archive.is]WorkdayVoice: Jamil Qureshi: ‘Act Differently, Think Differently’ if You Want to Maximize Potential

Many are so obvious you hardly think about them when you could have used them.

–jeroen

Posted in LifeHacker, Power User | Leave a Comment »

Tech Debt by MonkeyUser

Posted by jpluimers on 2019/11/07

[WayBack] Tech Debt (by MonkeyUser: Software development satire) is one of the best images on Tech Debt I ever encoutered (via[WayBack] Tech Debt by @ismonkeyuser https://www.monkeyuser.com/2018/tech-debt – ThisIsWhyICode – Google+):

–jeroen

Posted in Agile, Conference Topics, Conferences, Development, Event, Software Development, Technical Debt | Leave a Comment »

UMass Amherst CICS Distinguished Lecture: Daniel Jackson (MIT) “Towards a Theory of Software Design”

Posted by jpluimers on 2019/11/07

A brilliant lecture, worth the 1+ hour watching: UMass Amherst CICS Distinguished Lecture: Daniel Jackson (Massachusetts Institute of Technology) “Towards a Theory of Software Design”

[WayBackTowards a Theory of Software Design

Abstract:  Engineers make things work reliably and efficiently; designers make them useful. In the development of buildings, for example, the civil engineer is concerned with the internal structural that prevents the building from falling down; the designer (i.e., the architect) is concerned with the aspects of the building (light, space, etc.) experienced by its users.

I like how his group tags these to a concept part:

  • name
  • purpose
  • sample uses
  • mechanisms
  • variants
  • misfits
  • related to

During the talk there are many examples from common usage patterns and especially misfits. They range from file-sharing (like dropbox), selection and selection application (files/folders, designer objects) via option selection to the tool we all hate and love: git (more on that tomorrow).

–jeroen

via: [WayBack] Interesting talk about software design. – Asbjørn Heid – Google+

Read the rest of this entry »

Posted in Development, Software Development | Leave a Comment »

How to convert a Delphi enum or set to a JSON value, with different specific values…

Posted by jpluimers on 2019/11/07

As I will probably need this one day: [WayBack] How does one convert a Delphi enum to a JSON value, with different specific values? – CHUA Chee Wee – Google+:

eg, TEnum1 = (test1, test2, test3)

TSomeClass.FEnum := test1;

When converted to JSON, I’d like to see maybe
{"Enum": "Value1"} instead of test1

and test2 to "Godzilla", test3 to "Tiburon"

The solution is in his repository: github/chuacw/EnumJson:

After initially suggesting to look into [Archive.is] Serializing User Objects – RAD Studio, he based his solution on a set of clever tricks circumventing Delphi compiler limitations and bugs:

Later he extended the solution to include sets in additions to enums: [Archive.is] Persisting enumeration and sets to JSON – Chee Wee’s blog: IT solutions for Singapore and companies worldwide (via [Archive.isMade my JSON interceptor demo public. Now you can save your enum and sets to JSON, with customized output to boot! – CHUA Chee Wee – Google+)

Clever!

Hopefully this got Lars Fosdal some ideas to solve [WayBackJSON in Berlin – Can I persuade TJSon to treat “params” as it was a string and not an object for the TJsonRPC class? – Lars Fosdal – Google+

Enums with Delphi

Enums with Delphi and their mapping is a repeating topic, see for instance [WayBack] What’s the easiest (ie., least coding) way to map an enum to a const string and vice versa? (Can attributes be used on enum values yet?) eg., type TMyColor… – David Schwartz – Google+

It shows how much the Delphi language is in need of language enhancements as right now there are way too many open source libraries struggling with the same issues each working around them or providing solutions in slightly different way.

Three things immediately come to mind:

  • the NameOf that – analogous to TypeOf – gets the name of an identifier as a string
  • expose all RTTI for all enum types (especially the ones with non-contiguous values or starting at another value than ordinal zero)
  • allow for attributes on enum values

Some examples of libraries providing enumeration support:

Some more thoughts from a different perspective: [WayBackWhat’s New in Edge Rails: Active Record enums

–jeroen

Read the rest of this entry »

Posted in Conference Topics, Conferences, Delphi, Development, Event, Software Development | Leave a Comment »

Software quality: economics of formality

Posted by jpluimers on 2019/11/06

Interesting read: [WayBackSoftware quality: economics of formality

At one time formal methods were thought to be the only hope for software development. That did not turn out to be the case.

Via: [WayBack] Software quality is better in practice than in theory. Formal methods improve software quality, but at a high cost that is sometimes worthwhile and some… – Jeroen Wiert Pluimers – Google+

Comment there:

Pedro Marcal:

+Jeroen Wiert Pluimers +John Cook , I think that when a code has been in service for even a short time, we can divide the code into two classes. The first is that part that has been executed at least once. The other code has never been executed. The latter code has an error rate that may be measured as a function of the language used. In the old days Fortean had a bug in every seven lines. C used to be 100 to 200 lines. We set up instrumentation to determine the number of lines tested in the first class and found that it was a linear function of the new bugs found. This was a good way to ensure a high quality code.

Related:

–jeroen

Posted in Agile, Code Quality, Development, Software Development | Leave a Comment »

Changing the order of TabSheets in a PageControl in Delphi – twm’s blog

Posted by jpluimers on 2019/11/06

Good to know this as the Structure View sometimes lets me down: modify the PageIndex position as it is less stable than the Object Treeview in Delphi 7 and below.

Via:

–jeroen

Posted in Delphi, Development, Software Development | Leave a Comment »