Skip to content

Instantly share code, notes, and snippets.

💭
Travelling 🌴

Peter Mescalchin magnetikonline

💭
Travelling 🌴
Block or report user

Report or block magnetikonline

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@magnetikonline
magnetikonline / README.md
Last active Oct 15, 2019
VirtualBox create host-only interface and attached to VM.
View README.md
@magnetikonline
magnetikonline / README.md
Created Jun 3, 2019
Git correct a commit via --fixup
View README.md

Git correct a commit via --fixup

Initial commit state:

$ git log --oneline
733e2ff Second widget done
fb2f677 First widget done
ac5db87 First commit
@magnetikonline
magnetikonline / README.md
Last active Aug 20, 2019
Modify DHCP DNS servers for Optus supplied (Vividwireless) Huawei B315 4G modem.
View README.md

Modify DNS for Optus supplied Huawei B315 4G modem

The Huawei B315 modem supplied by Optus for the (now defunt) Vividwireless service is a workable but sadly rather crippled device, even down to the inabiilty to modify assigned DNS servers from it's DHCP server away from Optus DNS to something sane (Google DNS/Cloudflare/etc.).

This script should allow for the easy update of assigned DNS servers and has been tested with Google Chrome.

Usage

  • Log into router web UI (e.g. http://192.168.0.1).
  • From the same browser session, open the "web developer tools" pane.
  • Drop the contents of dnsmodify.js into Console area - modifying ROUTER_URI, PRIMARY_DNS and SECONDARY_DNS to suit.
  • Run the script, updated DHCP settings are pushed and modem will restart.
@magnetikonline
magnetikonline / README.md
Created Nov 20, 2018
GitHub pull request timeline toggle "force-pushed" events bookmarklet.
View README.md

GitHub pull request toggle "force-pushed" events bookmarklet

Since November 2018, GitHub have started to display forced push events to pull request page timelines. This bookmarklet will toggle display of these events if they are getting in the way of meaningful commits.

Add the code below as the URL of a new bookmark:

javascript:((d)=>{if(d.getElementById('nuke-fp')==null){let e=d.createElement('style');e.id='nuke-fp';e.innerHTML='.nuke-fp{display:none}';d.getElementsByTagName('head')[0].appendChild(e)}for(let e of Array.from(d.querySelectorAll('.discussion-timeline .discussion-item-head_ref_force_pushed'))){e.classList.toggle('nuke-fp')}})(document)

Tested with Chrome 70.0.3538.102.

@magnetikonline
magnetikonline / example.js
Last active Nov 14, 2018
JavaScript asynchronous generator and iteration example.
View example.js
'use strict';
async function* delayList() {
function delay(timeout) {
return new Promise((resolve,reject) => {
setTimeout(() => resolve(`dealyed for: ${timeout}ms`),timeout);
});
@magnetikonline
magnetikonline / README.md
Last active Oct 12, 2019
Python function to determine if a given IPv4 CIDR "fits" into another.
View README.md

CIDR fit

Python function to determine if a given IPv4 CIDR fits into another.

How cidr_fit(cidr_a,cidr_b) works:

  • For both CIDR's given:
    • Splits each CIDR in address and prefix size parts.
    • Converts the address part to a 32 bit binary string.
      • E.g. 192.168.0.1 becomes 11000000101010000000000000000001.
    • Cuts out everything after the prefix size.
      • E.g. 192.168.0.1/12 becomes 110000001010.
@magnetikonline
magnetikonline / README.md
Last active Jul 16, 2018
Gmail message retention/purge by label Google script.
View README.md

Gmail retention/purge by label Google script

A Google Apps Script which adds pseudo message retention-like policies against specific labels for a Gmail account.

How it works

  • Apps Script function is called automatically on a regular schedule.
  • Script iterates over a set of predefined message labels.
@magnetikonline
magnetikonline / README.md
Last active Nov 14, 2019
Add user ssh-agent as daemon to Ubuntu 18.04LTS server.
View README.md

Add user ssh-agent as daemon to Ubuntu 18.04LTS server

Create a new systemd user unit, which starts ssh-agent upon login to server. Will remain resident until the final session for the user has logged out.

Steps

  • Create /etc/systemd/user/ssh-agent.service.

  • Run the following commands (under your user account, not root) to install the systemd unit and start:

     $ systemctl --user enable ssh-agent.service
     $ systemctl --user start ssh-agent.service
@magnetikonline
magnetikonline / README.md
Last active Aug 28, 2018
Bash shift quirks.
View README.md

Bash shift quirks

When using the shift built-in, have noted this interesting behavior which I have been unable to find documentation for.

Update: the answer was right in front of me, if shift is called with a value greater than arguments available in $1 - $x then it will return with a non zero status - hence the script will halt (since I'm using set -e)!

Using the script test.sh, executed using arguments:

./test.sh apple orange banana
apple
You can’t perform that action at this time.