I write about

    Using Git bisect to find out when a bug was introduced!

    Using Git bisect to find out when a bug was introduced! ----Simplified explanation---- Here's how to use git bisect , step-by-step! Step 1: Find a commit where things were working. ... Step 2: Find a commit where things are not working. ... Step 3 - N: Use git bisect to find the problem commit. ... Step 4: Get back to a working state. Using Git bisect to figure out when... [Read More]

    How to ignore files only locally in git?

    How to ignore files only locally in git? I have automated tests running everyday, and the issue is that those tests make necessary changes to certain files depending on which test is running. This becomes a problem when I have to report the changes in the repo, as this will report untracked changed, which means I have to ignore certain files such that local Git doesn't report changes in them specifically.... [Read More]

    How can I merge two or more Git commits into one[locally and remote]?

    How can I merge two or more Git commits into one[locally and remote]? You can do this fairly easily without git rebase or git merge --squash. In this example, we'll squash the last 3 commits. If you want to write the new commit message from scratch, this suffices: git reset --soft HEAD~3 && git commit If you want to start editing the new commit message with a concatenation of the... [Read More]

    Repurpose Old Smartphones for Home Automation by Turning Sensors into Signals [Paper]

    Repurpose Old Smartphones for Home Automation by Turning Sensors into Signals [Paper] Abstract: This paper proposes an approach to building a low-cost offline home automation or appliance automation by means of re-purposing old and unused smartphones by means of exploiting low-level sensors such as an accelerometer, microphone, GPS, and temperature. It takes information about the surrounding environment through the low-level sensors from a smartphone's sensor(s) and uploads it directly to... [Read More]

    Diagnosing LAN Speeds

    Diagnosing LAN Speeds After having network issues/degradation while trying to access a work server, I had to diagnose the network the server is connected to. I had to set myself on a mission - and after realising that the seems to be very limited tools for such things, I stumbled upon 'iperf'. Iperf is a command-line tool used in the diagnostics of network speed issues, it measures the maximum network... [Read More]

    How to stop Jenkins CI build by extract a value from a JSON endpoint in bash using Curl

    How to stop Jenkins CI build by extract a value from a JSON endpoint in bash using Curl Curl the URL to get the JSON response and pipe it to the python tool. The python code will extract the value mapped to the given key (number in this case). machine='dbelab04' machineport=8080 jobname='mkat_fpga_tests_4k' buildnumber=$(curl --silent -X POST http://$machine:$machineport/job/$jobname/lastBuild/api/json?tree=number | python -c 'import json,sys;obj=json.load(sys.stdin);print obj["'number'"]';) curl -X POST http://$machine:$machineport/job/$jobname/$number/stop Note: the above... [Read More]

    How to make Git commit to trigger a job/build in Jenkins CI

    How to make Git commit to trigger a job/build in Jenkins CI In this blog post I will show you how to configure a post commit hook on Git that notifies a Jenkins CI server about repository changes. This means that whenever a new commit is pushed to the Git repository, the cURL command line tool will be launched to initiate a Http request telling Jenkins to trigger a job.... [Read More]