Posted by jpluimers on 2019/01/17
Every time he finds a new compiler use, I’m all like “wow!”. This time [WayBack] Stefan Glienke – Google+: One of these rare moments when the compiler positively impresses me found a new way to make single responsibility principle easier to attain by using a class helper to resolve interface delegation.
In the comments are a few nice tidbits on what the compiler emits in order to implement interface delegation and reference counting.
–jeroen
Posted in Delphi, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2019/01/17
Cool stuff if you want to make your own WOL devices out of spare parts.
From old to new:
They can be woken up by anything sending magic WOL packets, including Raspberry Pi (which cannot be woken up by them, though you could use a Whack-on-LAN for that).
Basically the Raspberry Pi cannot be woken up with WOL because of a few reasons:
- The ethernet chip is connected over USB so it cannot pass the WOL result further on.
- If it could, there still is no BIOS to process the WOL result.
- When it is halted but has power, the CPU isn’t active. The GPU is, but cannot process the WOL.
It can be a WOL server though: [WayBack] Raspberry Pi As Wake on LAN Server: 5 Steps (with Pictures)
–jeroen
Posted in Development, Ethernet, Hardware Development, Network-and-equipment, Power User, Raspberry Pi, Wake-on-LAN (WoL) | Leave a Comment »
Posted by jpluimers on 2019/01/17
If you dare using Delphi 10.3 Rio instead of waiting for Update 1 to stabalise (and hopefully speed up things), you might want to try the development snapshot of [WayBack] IDE Fix pack for Rio – Page 2 – Delphi Third-Party – Delphi-PRAXiS [en] that got released last week (thanks Andy!):
A new development snapshot of IDE Fix Pack for 10.3 Rio is available.
The Win64 (DCC64) and Android (DCCAARM) compiler patches should now work as excepted.
Changes:
- Added: Support for Delphi 10.3 Rio
- Added: Fix for TStringList.IndexOfName bug (RSP-21633)
- Added: Fix for access violoation in the Welcomepage JScript9.dll binding
- Added: TCustomListBox.ResetContent is skipped if the handle isn’t created yet
- Added: DFM Streaming optimizations
- Added: FillChar uses Enhanced REP MOVSB/STOSB cpu feature if available for large sizes.
- Added: Enabled CPU LOCK string assignment optimization for local variables
- Added: -Oe (experimental optimizations) and -x-cgo compiler option extension (Remove of some unneccessary push/pop operations)
- Added: Expression Evaluator allows array access to pointers even if the type wasn’t declared with {$POINTERMATH ON}
- Added: New compiler option extensions: -x–compileonly, -x–reslist, -x–depfile, -x–unitstats
- Added: More performance optimization for the DCC64 compiler
- Added: TStringBuilder.SetLength optimization [RSP-19178]
- Added: TStrings.GetDelimitedText optimization
- Fixed: Packages with duplicate units may not have caused a fatal compiler error.
IDEFixPackD103Reg64.7z
fastdccD103vDev.7z
Related:
–jeroen
Posted in Delphi, Delphi 10.3 Rio (Carnival), Development, Software Development | 4 Comments »
Posted by jpluimers on 2019/01/16
A while back I wrote on Generating a million sequential numbers on the fly in a Firebird query – some solutions and speed measurements.
SQL Server has different features and performance characteristics so here are some links on doing similar things in SQL Server:
As always: if performance is important, measure before starting to optimise!
Via: [WayBack] sql – All hour of day – Stack Overflow
–jeroen
Posted in Database Development, Development, Firebird, SQL, SQL Server | Leave a Comment »
Posted by jpluimers on 2019/01/16
With the advent of WebSockets, it looks like TCP tunnels over HTTP/HTTPS are gaining more ground and I need to put some research time in them.
Some old to new links:
CONNECT requests are not supported by many HTTP proxies, especially in larger organisations, so chisel and crowbar have a much bigger chance there.
And of course there is SoftEtherVPN/SoftEtherVPN: A Free Cross-platform Multi-protocol VPN Software. * For support, troubleshooting and feature requests we have http://www.vpnusers.com/. For critical vulnerability please email us. (mail address is on the header.).
However, that is a VPN solution which is much broader than just a single TCP tunnel. You can so similar things with OpenVPN, but over HTTP/HTTPS, also requires CONNECT:
SoftEtherVPN seems to be more versatile though. I blogged about that before, but back then didn’t have needs for it yet. VPN over HTTPS: Ultimate Powerful VPN Connectivity – SoftEther VPN Project.
–jeroen
via: [WayBack] VPN through only http – Server Fault answer by [WayBack] neutrinus
Posted in Communications Development, Development, HTTP, https, Internet protocol suite, Network-and-equipment, OpenVPN, Power User, TCP, VPN, WebSockets, Windows-Http-Proxy | Leave a Comment »
Posted by jpluimers on 2019/01/16
I need to document this properly later, but here are some links I used when fiddling with iframe elements:
A few things I learned:
- You can either put the iframe elements in different divs then arrange the divs, or put a different ID on each iframe and arrange the iframe. In either case you will need a
float: left; in your style and a width: 100vw in the div around all your frames.
- Be aware that
100% isn’t 100% out of the box: default browser styles have a margin around your page and a border around an iframe.
So you will need to fiddle with margin and border-width inside your styles for body and iframe. Easiest is to set them to none or 0.
- Viewport width/height works easier for me than raw %.
- For one-off situations, I like the good old meta refresh over fiddling with JavaScript.
–jeroen
Posted in CSS, Development, HTML, Web Development | Leave a Comment »
Posted by jpluimers on 2019/01/15
Interesting library with ditto command-line tools: [Wayback/Archive] oath-toolkit / oath-toolkit · GitLab.
It allows you to perform all sorts of OAUTH operations from your code or terminal window including generation and verification of OAUTH tokens through [WayBack] OATHTOOL.
Which allows you to do TOTP “zero fucktor” authentication. [WayBack/Archive] Zero Fucktor Authentication – Kristian Köhntopp – Google+: [WayBack] Zero Factor Authentication – The Isoblog.
The project has it’s home at [WayBack] OATH Toolkit, but the repository has done some traveling and for now ended up at GitLab: [Wayback/Archive] oath-toolkit / oath-toolkit together with the web-site source [Wayback/Archive] oath-toolkit / website.
Edit 20230917
Read the rest of this entry »
Posted in Development, Power User, Security, Software Development | Leave a Comment »
Posted by jpluimers on 2019/01/15
Though the Google Calendar UI does not support EXRULE and EXDATE to exclude certain slots (via dates or rules) from recurring events.
The API supports them: [WayBack] Google Calendar API, RRULE and EXDATE – Stack Overflow
–jeroen
Posted in Communications Development, Development, Google, GoogleCalendar, HTTP, Internet protocol suite, Power User, REST, TCP | Leave a Comment »