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

Archive for the ‘Development’ Category

GitHub – gamelinux/passivedns: A network sniffer that logs all DNS server replies for use in a passive DNS setup

Posted by jpluimers on 2020/07/15

Cool tool: [WayBackGitHub – gamelinux/passivedns: A network sniffer that logs all DNS server replies for use in a passive DNS setup via [WayBack] How to log all my DNS queries? – Unix & Linux Stack Exchange (thanks mxmlnkn!).

It listens on port 53 for DNS requests then logs them to a file on regular intervals aggregating similar requests.

Usage is simple:

Read the rest of this entry »

Posted in *nix, *nix-tools, Development, DevOps, Infrastructure, Linux, openSuSE, Power User, SuSE Linux, Tumbleweed | Leave a Comment »

SAFECode updates its guide on best secure software development practices – SD Times

Posted by jpluimers on 2020/07/15

Interesting to see is how much is not about actual coding, but of tooling, testing, processes, operations and mindset.

[WayBackSAFECode updates its guide on best secure software development practices – SD Times

PDF: [WayBack] SAFECode releases Fundamental Practices for Secure Software Development: Essential Elements of a Secure Development Life Cycle Program (Third Edition).

Table of Contents:

Page;Topic
 4; Executive Summary
 5; Introduction
 5;  Audience
 6; SAFECode Guidance and Software Assurance Programs
 7; Application Security Control Definition
 7;  Actively Manage Application Security Controls
 9; Design
 9;  Secure Design Principles
10;  Threat Modeling 
11;  Develop an Encryption Strategy
12;  Standardize Identity and Access Management
14;  Establish Log Requirements and Audit Practices  
15; Secure Coding Practices
15;  Establish Coding Standards and Conventions
15;  Use Safe Functions Only
17;  Use Code Analysis Tools To Find Security Issues Early
17;  Handle Data Safely 
20;  Handle Errors 
21; Manage Security Risk Inherent in the Use of Third-party Components
22; Testing and Validation
22;  Automated Testing
24;  Manual Testing
27; Manage Security Findings 
27;  Define Severity
28;  Risk Acceptance Process. 
29; Vulnerability Response and Disclosure
29;  Define Internal and External Policies
29;  Define Roles and Responsibilities
30;  Ensure that Vulnerability Reporters Know Whom to Contact 
30;  Manage Vulnerability Reporters
30;  Monitor and Manage Third-party Component Vulnerabilities 
31;  Fix the Vulnerability
31;  Vulnerability Disclosure
32;  Secure Development Lifecycle Feedback  
33; Planning the Implementation and Deployment of Secure Development Practices
33;  Culture of the Organization 
33;  Expertise and Skill Level of the organization 
34;  Product Development Model and Lifecycle
34;  Scope of Initial Deployment
35;  Stakeholder Management and Communications
35;  Compliance Measurement 
36;  SDL Process Health
36;  Value Proposition.
37; Moving Industry Forward
37;  Acknowledgements
38;  About SAFECode

–jeroen

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

“error: invalid object 100644” “git svn”

Posted by jpluimers on 2020/07/14

A while back, while using “git svn”, on a Windows system, I got [Archive.is“error: invalid object 100644” “git svn” – Google Search after statements like this:

# git svn rebase
error: refs/remotes/git-svn does not point to a valid object!
error: invalid object 100644 ac7df132f5bd7d639fc525f1f0204a546658d0c5 for 'Source/ToDoList/GX_ToDo.pas'
fatal: git-write-tree: error building trees
write-tree: command returned error: 128

# git svn fetch
error: refs/remotes/git-svn does not point to a valid object!
error: invalid object 100644 ac7df132f5bd7d639fc525f1f0204a546658d0c5 for 'Source/ToDoList/GX_ToDo.pas'
fatal: git-write-tree: error building trees
write-tree: command returned error: 128

In my case, regular git operations (like branching, committing, pushing, etc) worked fine, but git svn would fail.

One problem was that [Archive.is“error: refs/remotes/git-svn does not point to a valid object” – Google Search only returned one un-meaningful result: [WayBack] gist:87613 · GitHub.

Luckily, I had a backup (though it was from a while ago as that VM had not been in use for quite some time) which is the first part in [WayBack] Git FAQ – Git SCM Wiki: How to fix a broken repo?.

Since I was still interested finding out how to resurrect, just in case this happens at a time the backups do not go back far enough, I tried the steps below.

The very first fixing step is to ensure you can quickly restore things, or even better: operate on a copy of the broken pieces. On Windows, robocopy /mir is my friend for this, in Linux rsync -avloz (although on some systems, -z crashes).

TL;DR from the fixing steps

Find out what problems you have, and in which order to fix them. Otherwise you will break more stuff and take longer to fix it.

In this case, two things failed: one on the git side, and one on the git svn side. Since git svn depends on git, the best approach is to fix the git problem first, then the git svn thing.

Fixing this manually try 1

Read the rest of this entry »

Posted in CertUtil, Development, DVCS - Distributed Version Control, git, Hashing, md5, Power User, Security, SHA, SHA-1, SHA-256, SHA-512, Software Development, Source Code Management, Subversion/SVN, Windows | Leave a Comment »

Building a rudimentary battery backup for your USB powered devices (IoT, Raspberry, etc)

Posted by jpluimers on 2020/07/14

Malcolm Lewis [WayBack] came with these interesting pastes for a rudimentary battery backup servicing USB powered devices:

Since both expired, here is some more elaboration with Amazon.com links:

From the picture linked above (full one at the bottom of the post): a switch is missing from the parts list (:

Note that this is only the hardware parts, and no measurements of the voltage from the Raspberry Pi. So it is a battery backup, not a UPS.

For a UPS kind of functionality, you need more hardware (measure voltage to assess when to safely shut down, reset circuitry for when power comes up), and software (so the devices can shutdown).

Connections

After IRC chatting with Lewis (see his [WayBack] profile), this is how they should be connected:

  1. USB charger:
    1. OUT connector type A of USB charger cable
  2. Connections to the TP4056 battery charger (a nice video on this is at Charging a Lithium 18650 Cell using the TP4056)
    1. IN mini/micro USB from connector type B of USB charger cable
    2. BAT pins B+ and B- to the + and – of the 18650 battery holder
    3. OUT pins +/- to your LM2577 IN pins+/-
  3. 18650 battery holder
    1. IN pins +/- to the TP4056 BAT pins +/-
    2. One or two 18650 batteries
    3. Note
    4. Most of the wired “parallel” 18650 dual battery holders on non-USA Amazon sites are in fact serial (you see that in the comments, or by watching the wiring carefully), so better buy an unwired one!
  4. Connections to the adjustable LM2577 step-up converter having a max current of 3A
    (get one *with* voltage meter, as voltage meteres themselves are about half the price of the LM2577!)

    1. IN pins from the TP4056 OUT pins
    2. Adjust to slightly above 5V before connecting anything else!
    3. OUT pins +/- to the red/black pins of a connector A stripped micro USB cable
  5. USB powered device (like Raspberry Pi)
    1. Micro USB connector: connector B of the USB cable coming out of LM2577

If you want to measure both voltage and current, then a combined piece like Voltmeter Amperemeter Dual Digital Volt Amp Meter Messgerät 100V 10A is very convenient. Most of these do not come with schematics, so here is one:

Specs

Parts from Amazon.de

Media

There is a 6A module; though I’m not sure it is based on LM2577

Bad battery box example

–jeroen

Read the rest of this entry »

Posted in 18650, Batteries, Development, Hardware Development, Li-Ion, Power User | Leave a Comment »

Is WCF faster than ASP.NET Core? Of course not! Or is it?

Posted by jpluimers on 2020/07/14

Interesting:

How does WCF, a 13-year-old mega-abstraction framework hold up against the modern, lean, ASP.NET Core? You’d be surprised.

Source: [WayBackIs WCF faster than ASP.NET Core? Of course not! Or is it?

Via: [WayBack] Interesting read! – Ondrej Kelle – Google+

–jeroen

Posted in .NET, Development, Software Development | Leave a Comment »

linux – How do I use sudo to redirect output to a location I don’t have permission to write to? – Stack Overflow

Posted by jpluimers on 2020/07/09

Various ways are explained at [WayBack] linux – How do I use sudo to redirect output to a location I don’t have permission to write to? – Stack Overflow.

Some are for simple commands and can be a one liner (for instance using tee, or executing a secondary shell).

Others are more suited for longer command sequences.

–jeroen

Posted in *nix, *nix-tools, bash, bash, Development, Power User, Scripting, Software Development | Leave a Comment »

delphi – How to reset the download when the GetIt package manager fails? – Stack Overflow

Posted by jpluimers on 2020/07/08

Since GetIt is hardly, if at all documented, but has quite a few of problems, I will likely need to use this another time: [WayBack] delphi – How to reset the download when the GetIt package manager fails? – Stack Overflow

TL;DR:

Luis Navarro from Embacadero just explained to me:

Close the IDE, then delete the OmniThread folder from MyDocuments\Embarcadero\Studio\17.0\CatalogRepository After that, you have to edit the registry and delete also the Omnithread folder from HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\17.0\CatalogRepository\Elements

Related: [RSP-12387] GetIt does not reset the download when Delphi crashes whilst downloading. – Embarcadero Technologies

Via:

–jeroen

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

Virtual Machine Serial Console access | Blog | Microsoft Azure

Posted by jpluimers on 2020/07/08

Reminder to self: out of band access (some older Windows images need extra work; it works out of the box for Linux and more recent Windows images) [WayBackVirtual Machine Serial Console access | Blog | Microsoft Azure.

Related: [WayBack] Azure virtual machine serial console | Microsoft Docs Bi-Directional serial console for Azure virtual machines (aka.ms/serialconsolehelp).

Via: [WayBack] Microsoft Serial Console: how to fix a ‘broken’ cloud – Open Source Insider

–jeroen

 

Posted in Azure Cloud, Cloud, Cloud Development, Development, Infrastructure, Power User, Software Development, Windows Azure | Leave a Comment »

EDSAC Simulator

Posted by jpluimers on 2020/07/08

Cool historic stuff: [WayBack/Archive.isEdsac Simulator.

It simulates the 1949 built EDSAC computer.

Via: EDSCA Simulator – Computerphile (video below) which explains concepts like the mercury memory “tank” used for memory.

Related:

–jeroen

Read the rest of this entry »

Posted in Development, Hardware Development, History, Software Development | Leave a Comment »

Time to look back at the Spectre vulnerabilities.

Posted by jpluimers on 2020/07/07

About 2 years ago, over the course of almost a year, many Spectre vulnerabilities were found.

In November 2018, this lead many people disabling Hyper Threading: [WayBack] STIBP by default.. Revert?

This is a reminder to self to look back at Spectre to get a better historic feel for it.

Via: [WayBack] Work is being done on the Linux Kernel mailing list about further exploits of the Spectre Family of Exploits. The mitigations are bad – basically, you c… – Kristian Köhntopp – Google+

–jeroen

Posted in Development, Power User, Security, Software Development | Leave a Comment »