Archive for the ‘Development’ Category
Posted by jpluimers on 2020/05/05
It has been mentioned a few times already, but for my link archive: [WayBack] GitHub – pleriche/FastMM5: FastMM is a fast replacement memory manager for Embarcadero Delphi applications that scales well across multiple threads and CPU cores, is not prone to memory fragmentation, and supports shared memory without the use of external .DLL files.
From the [WayBack] README.md:
Version 5 is a complete rewrite of FastMM. It is designed from the ground up to simultaneously keep the strengths and address the shortcomings of version 4.992:
- Multithreaded scaling across multiple CPU cores is massively improved, without memory usage blowout. It can be configured to scale close to linearly for any number of CPU cores.
- In the Fastcode memory manager benchmark tool FastMM 5 scores 15% higher than FastMM 4.992 on the single threaded benchmarks, and 30% higher on the multithreaded benchmarks. (I7-8700K CPU, EnableMMX and AssumeMultithreaded options enabled.)
- It is fully configurable runtime. There is no need to change conditional defines and recompile to change options. (It is however backward compatible with many of the version 4 conditional defines.)
- Debug mode uses the same debug support library as version 4 (FastMM_FullDebugMode.dll) by default, but custom stack trace routines are also supported. Call FastMM_EnterDebugMode to switch to debug mode (“FullDebugMode”) and call FastMM_ExitDebugMode to return to performance mode. Calls may be nested, in which case debug mode will be exited after the last FastMM_ExitDebugMode call.
- Supports 8, 16, 32 or 64 byte alignment of all blocks. Call FastMM_EnterMinimumAddressAlignment to request a minimum block alignment, and FastMM_ExitMinimumAddressAlignment to rescind a prior request. Calls may be nested, in which case the coarsest alignment request will be in effect.
- All event notifications (errors, memory leak messages, etc.) may be routed to the debugger (via OutputDebugString), a log file, the screen or any combination of the three. Messages are built using templates containing mail-merge tokens. Templates may be changed runtime to facilitate different layouts and/or translation into any language. Templates fully support Unicode, and the log file may be configured to be written in UTF-8 or UTF-16 format, with or without a BOM.
- It may be configured runtime to favour speed, memory usage efficiency or a blend of the two via the FastMM_SetOptimizationStrategy call.
Read the rest of this entry »
Posted in Delphi, Development, FastMM, Software Development | 6 Comments »
Posted by jpluimers on 2020/05/05
Since I one day need to do some Vue.js with TypeScript:
–jeroen
Posted in Development, JavaScript/ECMAScript, Scripting, Software Development, TypeScript, Vue.js | Leave a Comment »
Posted by jpluimers on 2020/05/05
A large part of my work is not how to search blindly, but how to actually find things, assess what parts of them are useful, then use the bits that are.
A big reason for writing this blog in the first place, is find back the stuff that worked so next time the search is easier.
So, share the CSSTWP information from [WayBack] Certified Stealing Sh*t That Works Practitioners if you like:
|
 |
|
Certified Stealing Sh*t That Works Practitioners
|
| CSSTWPs have come to value: |
|
Trying new things |
|
over sticking with what we know |
|
|
Trusting experience |
|
over third-party certification |
|
|
Learning from peers |
|
over training courses |
|
|
Choosing effective practices |
|
over MethodologyBrand™ allegiance |
|
|
If you agree then… |
|
Tweet #CSSTWP |
|
|
What are other people saying? |
|
Tweets by csstwp |
|
|
If you agree then… |
|
Tweet #CSSTWP |
|
Via [WayBack] I’m a proud Certified Stealing Sh*t That Works Practitioner. Are you? #CSSTWP – Marjan Venema – Google+ (who is an excellent coach).
–jeroen
Posted in Agile, Development, LifeHacker, Power User, Software Development | Leave a Comment »
Posted by jpluimers on 2020/05/05
Interesting insights from [WayBack] Andreas Twitter: “I was joking about #Delphi’s splash screen to be shown later so Embt can claim that it finishes much faster now. Today my Internet was down and guess what I had to “witness”. Seattle: 22 sec splash screen time Tokyo: 2 sec splash screen time Sounds fantastic, but…… https://t.co/FGtnJQZDyc”:
- in earlier versions part of the copy protection (WinVerifyTrust calls) were done after the splash screen was visible and now they are done before.
- That the WinVerifyTrust call took so long was because Windows (not Delphi) wanted to check for revoked certificates in the first WinVerifyTrust call (due to the missing only-cache flag) and my router seems to not like it if the modem doesn’t have a connection/link to the provider
- consider using FILE_FLAG_DELETE_ON_CLOSE so that if the IDE is killed during its start (debug session when you see that you forgot something and want to abort) doesn’t wait ~3 minutes or more until the lock is lifted
More relevant links based on the above:
Via [WayBack] Anyone else saw the video on this Andreas Hausladen post? – Cesar Romero – Google+ where I found this observation interesting:
My vm installs have zero net on by default, host only lan, lan only, and internet provided on demand. I’m noticing a lot of differences in the splash screens of 10.2.2.2.2, often lacking registration confirm info (making me nervous).
–jeroen
Read the rest of this entry »
Posted in Development, Software Development, The Old New Thing, Windows Development | Leave a Comment »
Posted by jpluimers on 2020/05/04
Cool. [WayBack] Black Thread Design | Convert 3D models to GLTF:
GLTF is the up and coming superstar of 3D model formats – you can even display it on the Facebook news feed. Use this tool to convert from various formats to GLTF using the three.js exporter
All Java Script based: [WayBack] three.js / examples.
Via:
–jeroen
Read the rest of this entry »
Posted in Development, JavaScript/ECMAScript, Scripting, Software Development | Leave a Comment »
Posted by jpluimers on 2020/05/04
Often, hotspots only allow http/https traffic. Other traffic – like SSH – is blocked. Nowadays, fewer hotspots block that, but too many still do.
So it can be worth a while to route your SSH server through HTTPS (I don’t like Web-based SSH that much as terminal emulation in browsers isn’t that well yet, but that seems to change rapidly, more on that in the “Further reading” section below).
After some background reading at apache – Tunnel over HTTPS – Stack Overflow, here are a few links that help you do it:
You need:
- An internet connected Apache server (eg. with IP address 10.1.2.3)
- A FQDN that points to this IP address (eg. ssh.yourdomain.com)
- A virtual host configuration in Apache for this domain (eg. /etc/httpd/conf.d/ssh.yourdomain.com.conf)
- A configuration to adapt ssh to use the HTTP tunnel
Read more at DAG: Tunneling SSH over HTTP(S) and SSH over SSL, a quick and minimal config..
Steps:
- Test of it works at all
- Edit your local ~/.ssh/config file to redirect SSH to HTTPS
Read more at Using SSH over the HTTPS port · GitHub Help.
Using Putty and an HTTP proxy to ssh anywhere through firewalls | Me in IT.
the Digital me: SSH Tunneling Proxy using Putty on Windows and Linux (Unblock YouTube / Orkut / Facebook).
Tunneling SSH through HTTP proxies using HTTP Connect – ArchWiki.
HTTP Tunneling – ArchWiki.
Running SSHD on port 443.
Not all proxy configurations and hotspots support this. But it might be worth a look: SSH Over Proxy.
SSH plugins for browsers:
Web based SSH:
–jeroen
Posted in Communications Development, Development, Encryption, HTTP, https, HTTPS/TLS security, Internet protocol suite, Power User, Security, SSH, TCP | Leave a Comment »
Posted by jpluimers on 2020/05/01
It is easy to replace the halogen bulbs in IKEA track lighting systems like IKEA SANSA or IKEA LINA by LED bulbs (Sansa uses 5.3mm spaced MR16 fitting compatible with both GX5.3 and GU5.3 bulbs, I think LINA uses the same): [WayBack] SM2YER Goran’s Homepage.
There are many other fittings; [WayBack] LED fitting welke moet ik kiezen? | Lampfittingen overzicht has a good list, mentioning these:
- E14
- E27
- GU10
- MR11 (which has slightly thicker pins than G4 and GU4)
- G4 and GU4
(with varying pin thickness)
- G5.3, GX5.3, GU5.3
(with varying pin thickness)
- G6.35, GX6.535, GY6.35, GZ6.35
(with varying pin thickness)
- MR16
- G9
- GU10
- AR111
The problem is the power supplies. They do not like the low wattage, or even burn with low wattage. Two solutions:
- Use at least one 10W bulb, or
- Use a 12V power supply from a laptop or other device that delivers far less power.
Fitting references:

--jeroen
Posted in Development, Hardware Development, IKEA hacks, LifeHacker, Power User | Leave a Comment »
Posted by jpluimers on 2020/04/30
Based on [WayBack] version control – How do I do an initial push to a remote repository with Git? – Stack Overflow, this is what I do:
On the server
mkdir my_project.git
cd my_project.git
git --bare init
On the client
mkdir my_project
cd my_project
touch .gitignore
git init
git add . git
commit -m "Initial commit"
git remote add origin youruser@yourserver.com:/path/to/my_project.git
git push --set-upstream origin master
The last one is important, especially when you have multiple remotes.
Some servers allow you to skip the server part, as they run them automatically when pushing a new repository from the client.
This can be both an advantage and a disadvantage, for instance when you have typos when adding the remote.
–jeroen
Posted in Development, DVCS - Distributed Version Control, git, Software Development, Source Code Management | Leave a Comment »