Sourcehut Android Gradle Continuous Integration

Introduction to Sourcehut

Sourcehut is my git hosting platform of choice. Sourcehut offers a continious integration platform called builds.sr.ht. Here is how to setup build.sr.ht to compile android projects with gradle.

Secrets

Before we begin, we need to create the android-sdk-license build secret. This file will tell the android build service (gradle in this guide) that you have agreed to all the required licenses for the dependancies upon which your project depends.

Software Freedom and Scholarship: Reproducible Research

Reproducibility is a critical feature of science. The chaotic features of nature contribute to artifacts in our measurements, but these errors can be mitigated by taking more measurements 1. The subsequent trials can reveal the random variation, and hint at the true quantity being sought.

Reproducibility is no guarantee of correctness. It will never indicate if the correct thing is being measured, or if it's even important. It does, however allow for more reliable results in science.

[Read more]

Why you will regret putting your creative works on Instagram, Linkedin, Facebook, etc

content protection xkcd

Source: xkcd.com

License: Attribution-NonCommercial 2.5 Generic (CC BY-NC 2.5)

I often have friends recommend me their art pages or creative works that solely exist on the corporate social media websites:

  • instagram
  • medium
  • facebook
  • tumblr
  • wix

If you care about discoverability and long term viability of your online presence, creating your own website is better in every way.

The common criticism against creating your own website is that it's a lot of work for something that these corporate platforms provide for free. Creating your own website is like buying a house, using corporate social media is like renting. Like house ownership gives you autonomy in your life, owning your own webspace gives you creative freedom.

[Read more]

MSE312 One Degree of Freedom Pick and Place Robot

Abstract

The MSE312 term project required teams to design, build and control a pick and place arm to rotate 180◦ pick up a metal puck and rotate 90◦ to drop the target. Mechanical design, electrical and protection circuitry, control system and integration aspects were designed and evaluated for the ultimate goal of the system to perform the required task in the fastest time possible while being robust and reliable.

MSE428 Project Demo Mario Kart

This summer, I took a course called MSE428: Design of Mechanism. It was a challenging course but in the end I got to build an automaton.

An automaton (ɔːˈtɒmətən; plural: automata or automatons) is a self-operating machine, or a machine or control mechanism designed to automatically follow a predetermined sequence of operations, or respond to predetermined instructions. - wikipedia

For our automaton, we chose to tell the humilating story of losing first place in mario kart to someone that just got the bullet bill item. The shafts and supporting structure was 3d-printed.

[Read more]

How to fix youtube sub feed

Youtube has been tearing apart the sub feed for a couple of years now. Things like: videos not appear in chronological order, terrible general layout, and enhancing difficulty it takes to get to the youtube subfeed1. In this post, I will be explaining how to make a better youtube sub feed.

Introducting RSS

RSS (Rich Site Summary; originally RDF Site Summary; often called Really Simple Syndication) is a type of web feed which allows users to access updates to online content in a standardized, computer-readable format2.

Fix qutebrowser high cpu usage

I love qutebrowser for its vim keys but I found that qutebrowser's cpu usage was too high. Indeed, the cpu usage reached 80% on my sandy bridge i7 laptop when I had one archwiki tab open. To fix the high cpu usage, I disabled software rendering. Here are the steps I followed:

  1. Open qutebrowser
  2. Type in :set
  3. Look for qt.force_software_rendering and set the option to false
  4. Restart qutebrowser

Keep in mind that if you use Nouveau drivers you must have software rendering enabled and this fix will probably not work for you.

[Read more]

Patch NPT For Ryzen CPU Arch Linux

Note: This patch has been merged with upstream. Simply update your archlinux machine and npt should just work.

The new npt patch allows you to enable npt on ryzen cpus and get native performance in a virtual machine. Please be advised that this patch is not mainline and may cause other problems. As always, make backups.

For this procedure we will be using the Arch Build System so that pacman will manage all of the files and so we can rollback a kernel by looking into /var/cache/pacman/pkg/ and using pacman -U.

[Read more]

Matrix

I recently installed a matrix (synapse) on the server. It has encryption, high quality image uploads, bots, and all the data is stored on my own server. In order to use the chat service:

  1. Message me to make you an account

  2. Go to riot

  3. Press custom server

    Home server URL: https://momi.ca:8448

    Leave identity server URL as https://vector.im

  4. Enter the username and password I gave to you

  5. When you join a room with encryption, you will be asked to accept keys. For now, tell everyone that you’re signing in from a new device and tell them to accept the keys.

[Read more]