Archive for the ‘Software Development’ Category
Posted by jpluimers on 2023/08/31
Someone pointed me to the answer of [Wayback/Archive] open source – What are the legal considerations when forking a BSD-licensed project? – Software Engineering Stack Exchange byΒ [Wayback/Archive] Earlz (question by [Wayback/Archive] Thomas Owens):
The common thing I see to handle this is basically using some kind of version control and when a file is changed by a large amount, adding a copyright header.
For instance, in OpenBSD I believe they follow a convention like this:
--top of file--
[copyright header of recent "major" editor]
[copyright header of previous major editor]
[copyright header of creator]
(where copyright header is BSD license or whatever)
This handles the copyright issue for the most part. Basically anytime a major edit is done on a file, a copyright header will be added. Major is subjective, but usually involves more than trivial refactoring or porting.
Which meant that some copyrights had to be updated atΒ [Wayback/Archive] Update copyrights Β· Issue #37 Β· jpluimers/fritzcap Β· GitHub
–jeroen
Posted in Development, Open Source, Software Development | Leave a Comment »
Posted by jpluimers on 2023/08/29
Often the power is in the combinations of tools.
Read until the epilogue…
Prologue
In this case, I needed to be able to query the JSON results of calls to REST services from the command-line so I could process them in Batch files.
Since I could not find anything readily available, I originally Originally I opted for theΒ PowerShell command-line scripting tool, as that ships with recent Windows versions and can re-use anything that .NET brings. But though [Wayback/Archive] .NET has built in JSON serialization support, there is [Wayback/Archive] no querying support in it.
Then I thought about Delphi, as it [Wayback/Archive] too has a built-in JSON parser, but even the well known [Wayback/Archive] JSON SuperObject library has no query support.
Back to .NET, which – like Delphi – has a well known and respected third party JSON library as well: [Wayback/Archive] NewtonSoft JSON aka JSON.netΒ and that one [Wayback/Archive] does have support for querying JSON with the SelectToken function.
That’s the fundament of the rest of this article, with the potential to be used in a cross-platform as well.
So no need for a plan B.
Read the rest of this entry »
Posted in *nix, *nix-tools, .NET, Batch-Files, Conference Topics, Conferences, Development, Event, JavaScript/ECMAScript, jq, JSON, Power User, Scripting, Software Development, Windows, Windows Development | Leave a Comment »
Posted by jpluimers on 2023/08/29
If you haven’t done so already, then enable 2FA for your GitHub account now:Β This will be a requirement in 2 weeks time.
The 2FA/MFA possibility started about half a year ago with [Wayback/Archive] Raising the bar for software security: GitHub 2FA begins March 13 – The GitHub Blog
You can have various means of 2FA, which al start with a choice between:
After completing either of those those, you can view/download a set of backup codes, and you can add more factors to your Multi-factor authentication setup up to these:
Read the rest of this entry »
Posted in 2FA/MFA, Authentication, Development, DVCS - Distributed Version Control, git, GitHub, Power User, Security, Software Development, Source Code Management | Leave a Comment »
Posted by jpluimers on 2023/08/24
For my link archive: [Wayback/Archive] Bruce Tate on Twitter: “What’s the most unique feature of your favorite programming language?” / Twitter
From the languages that I have been using most:
It was a kind of follow-up on his earlier tweet that also sparked nice responses at [Archive] Bruce Tate on Twitter: “What is a #programming technique or construct that other people like but you think is overused?” / Twitter.
In my respons I phrased my decades long pet peeve [Archive] Jeroen Wiert Pluimers on Twitter: “@redrapids OOP: inheritance over composition. This leads to deep hierarchies that eventually nobody understands.” / Twitter.
Whereas with OOP (object-oriented programming) one should use composition over inheritance, often the reverse is true.
Actually my take can be generalised into two directions as these hierarchies:
- often crowd a single namespace, so: crowding namespaces is bad.
One does see this outside the Object Oriented realm a well.
- often have many levels of indirection, so: overdoing indirection is bad
One does see this outside the Object Oriented realm a well, just not as pronounced.
–jeroen
Posted in .NET, C#, Conference Topics, Conferences, Delphi, Development, Event, JavaScript/ECMAScript, Pascal, Scripting, Software Development | Leave a Comment »
Posted by jpluimers on 2023/08/23
I want to improve my WordPress blogging experience especially since most of the pages I link also have two extra links of the archived pages in the Wayback Machine and Archive.is.
The WordPress Press-This bookmarklet does not always cut it. It is slow too as it does a POST request to the WordPress site which then renders a new page.
It is also highly minified, so below are some links that will hopefully allow me to research it further to see if I either could improve it for my own workflow, or need to start from scratch.
I want to figure out:
- what the values of the
v= version parameter were (I know about v=8 and v=4, there are likely more)
- which commits were involved
- can I get more information (like summary, first heading or first paragraph of a page too)
- what techniques are used for opening new windows/tabs
TODO: make diffs of the various versions
–jeroen
Posted in Bookmarklet, Development, JavaScript/ECMAScript, Power User, Scripting, SocialMedia, Software Development, Web Browsers, Web Development, WordPress, WordPress | Leave a Comment »
Posted by jpluimers on 2023/08/22
TL;DR:
javascript:{h=location.href;open('https://archive.is/?run=1&url='+encodeURIComponent(h));location.href='https://web.archive.org/save/'+(h)}
Read the rest of this entry »
Posted in Bookmarklet, Development, JavaScript/ECMAScript, Power User, Scripting, Software Development, Web Browsers, Web Development | Leave a Comment »
Posted by jpluimers on 2023/08/18
Hoping I can still use the Twitter API to perform thousands of requests: [Wayback/Archive] Burninator Sec: Twitter Removed the Blocked Account Export – Let’s Put it Back!
I dug around in the Data Archive and eventually found block.js, which is a JSON object of all the blocked accounts in their ideas. From there you can write a quick Python script to use the Twitter API to resolve all of those IDs to usernames.
Related: [Wayback/Archive] How to download your Twitter archive and Tweets | Twitter Help.
Via [Wayback/Archive] twitter export blocklist – Google Search and
Read the rest of this entry »
Posted in Development, Python, Scripting, SocialMedia, Software Development, Twitter | Leave a Comment »
Posted by jpluimers on 2023/08/17
A while ago I wrote about Figuring out the open network connections for processes ran by python, which explained the TL;DR:
pidof python | tr " " "\n" | xargs -r -n 1 lsof -i -a -e /run/user/1001/gvfs -p
Now I needed thread information as well, so below two examples using ps and pstree. I won’t explain the pidof and xargs stuff here as that was already covered in the above blog-post and I found out that ps already has a built-in way to filter on process name.
The ps solution uses the H, -L or -T argument to show the threads:
Read the rest of this entry »
Posted in *nix, *nix-tools, bash, Development, lsof, Power User, ps, Scripting, Software Development | Leave a Comment »