The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 2,953 other followers

Archive for March 5th, 2020

Some tools useful for analysing PDF documents

Posted by jpluimers on 2020/03/05

A while ago, I wanted to analyse the difference of some PDF documents: why they had suddenly grown to twice their size.

[WayBack] Jeroen Pluimers en Twitter: “dat genereren kun je overigens zien als je dezelfde downloads doet, maar dan een fikse periode uit elkaar.‚Ķ”

There are quite a few tools on [WayBack] Browse Internal PDF Structure РSuper User and [WayBack] Best tool for inspecting PDF files? РStack Overflow, including:

They also made me discover [WayBack] GitHub Рpipwerks/PDFObject: A lightweight JavaScript utility for dynamically embedding PDFs in HTML documents documented at [WayBack] PDFObject: A JavaScript utility for embedding PDFs 

This particular case

The quickest way to analyse these for me was [WayBack] PDF Object Browser based on [WayBack] GitHub Рbrendandahl/pdf.js.utils: PDF.js Utility Files which is also the foundation of [WayBack] Test PDF Creator.

It runs in your web browser as local JavaScript, so it is pretty OK to load a PDF file into it: it does no “phone home”.

In this case, for generating PDF files with the same content, ABN AMRO added five Type 3 fonts of which one font was not used at all, and two others used to be Type 1 fonts.

Type 1 fonts (wikipedia)

Type 1 (also known as PostScript, PostScript Type 1, PS1, T1or Adobe Type 1) is the font format for single-byte digital fonts for use with Adobe Type Manager software and with PostScript printers. It can support font hinting.

It was originally a proprietary specification, but Adobe released the specification to third-party font manufacturers provided that all Type 1 fonts adhere to it.

Type 1 fonts are natively supported in Mac OS X, and in Windows 2000 and later via the GDI API.[2] (They are not supported in the Windows GDI+, WPF or DirectWrite APIs.)

Type 3 fonts (wikipedia)

Type 3 font (also known as PostScript Type 3 or PS3, T3 or Adobe Type 3) consists of glyphs defined using the full PostScript language, rather than just a subset. Because of this, a Type 3 font can do some things that Type 1 fonts cannot do, such as specify shading, color, and fill patterns. However, it does not support hinting. Adobe Type Manager did not support Type 3 fonts, and they are not supported as native WYSIWYG fonts on any version of Mac OS or Windows.

So far for optimised PDF rendering…

Being in software development for this long, I am constantly reminded that¬†The inmates are running the asylum – Wikipedia. I can definitely recommend reading “The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity”, by Alan Cooper:


Posted in Development, EPS/PostScript, PDF, Power User, Software Development | Leave a Comment »

Multi-parameter FreeAndNil plus InitialiseNil methods – interesting code ceremony reduction by David Heffernan

Posted by jpluimers on 2020/03/05

I’m probably getting a truckload of anti-FreeAndNil¬†folks over me, but there are cases this comes in useful, so having an overloaded version cutting down code ceremony makes sense:¬†[WayBack] interface – Avoiding nested try…finally blocks in Delphi – Stack Overflow

Which means I need to update my type safe FreeAndNil one day.

This should be relatively straightforward, given that David published a python generator for his Delphi code [WayBack].


Via: [WayBack] Interesting approach by David Heffernan (*1) to the nested try..finally blocks because of multiple object creations: Overloaded InitializeNil and FreeA… – Thomas Mueller (dummzeuch) – Google+

Read the rest of this entry »

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

Abilities that makes you a better developer ‚Äď Hacker Noon

Posted by jpluimers on 2020/03/05

If we have passion for what we do, why not try to be a better professional every day?

Source: [WayBack]¬†Abilities that makes you a better developer ‚Äď Hacker Noon

That is an interesting, but very hard question which very few people around me are afraid of trying to answer.

I think the hardest part for most developer isn’t the tech/science bits as usually they have a natural feel for natural science and formal science related topics (which I’d rather not call STEM).

I’ve a hard time to remember the STEM acronym because it means “vote” or “voice” to since I’m Dutch, and equally hard the . Also I really dislike the term “hard science” as “soft sciences” are very hard for me. So lets stick with natural science and formal science.

So if you are a developer and trouble motivating yourself to learn new things in the mathematics, algorithms & data structures, databases, computer architecture, operating systems and networks, then you will have a really really hard time.

I can understand it is tougher to motivate learning about English (and other languages), paradigms & design patterns, teamwork, or to put it in a broader perspective the human side of affairs. Those however are the areas that do not come “natural” for most developers and are in effect the ones most developers need to work on most to improve.

Doing that will make it a lot easier to work with people around you.

For myself, I still have to grow a lot in those areas even though I already have. Having originated as nerd/geek/introvert or however you want to call that direction, my natural habitat is still a silent place with little distraction with some relatively quiet people around me that help me keep focus and force me in the rhythms that are good for me. But I’ve learned to speak for large groups, write (not just posts) and have many other nice social interactions.

That growth brings so much joy and makes work so much nicer, that the effort and persistence keeps being worth every minute I put in.

Via:¬†[WayBack] Cesar Romero (@cesarliws) on Twitter: “Abilities that makes you a better developer”



Posted in About, Agile, Development, Personal, Software Development | Leave a Comment »

%d bloggers like this: