0ink.net Sitemap
Pages
- About
(posted 2024-12-20
)
# Welcome to 0ink.net.
![Picture 2023]({static}/images/2023/Alejandro_Liu_sm.jpg)
This is my personal web site.
...
- Privacy Policy
(posted 2024-12-20
)
## What is this Privacy Policy for?
This privacy policy is for this website [https://0ink.net/](https://www.0ink.net/)
and its sub-domains and governs the privacy of its users who choose to
use it. The policy sets out the different areas where user privacy is
concerned and outlines the obligations & requirements of the users,
...
Articles
- Fitbit reset
(posted 2024-12-20
, updated 2024-12-18
)
How to reset your Fibit Charge 5, 6 or Fitbit Luxe?
You can reset your Fitbit Charge 5, Charge 6, or Fitbit Luxe in 2 ways:
Soft reset: restart your Fitbit. You keep your data.
Hard reset: revert to factory setting. Your data is removed from your Fitbit.
...
- Python development tips 2024
(posted 2024-12-15
, updated 2024-11-22
)
Local install packages
Better debugging
Built-in exceptions
Adding site specific customizations
Constants
...
- Z-Wave Associations with Home Assistant
(posted 2024-12-01
, updated 2024-11-22
)
Introduction
Configuring associations
Setting associations
Removing associations
Last words
...
- Ansible Snippets
(posted 2024-11-15
, updated 2024-11-22
)
Bootstraping
Execution order
Create a file without external template
Creating inventory script
Writing ansible modules in sh
...
- Modifying VM configuration with libvirtd
(posted 2024-11-01
, updated 2024-11-22
)
The other day, I had to update a VM configuration managed via libvirt
from the command line. There are different ways to do this. The easiest probably
is to use the virt-manager application and use the GUI to modify things.
... virt-manager screenshot ...
...
- Comments enabled
(posted 2024-10-24
, updated 2024-11-22
)
Today I enabled comments on this blog.
You need to have an github account in order to make comment. This is because the
main audience for this blog is developers and this should cut down on the spam.
Comments are stored GitHub Issues using the Utterances comments widget.
I chose Utterances because:
...
- Tweaking HDMI dummies
(posted 2024-10-15
, updated 2024-11-22
)
Prepare EDID blob
Modify Kernel command line
Update initramfs
Reboot
Post boot EDID
...
- Docker in Docker
(posted 2024-10-01
, updated 2024-11-22
)
Introduction
Method 1: Mounting /var/run/docker.sock
docker.sock permission error
...
- Telekom Cloud CI/CD demo
(posted 2024-09-15
, updated 2024-11-22
)
Pre-requisites
Preparation
Base infrastructure
Notes
...
- Linux desktop default apps
(posted 2024-09-01
, updated 2024-11-22
)
User configuration
System-wide configuration
Additional files
References
...
- Linux Serial Consoles
(posted 2024-08-15
, updated 2024-11-22
)
Intro
Hardware
Null modem
Cisco style ports
...
- Adding a serial port to a QNAP TS-251D
(posted 2024-08-01
, updated 2024-11-22
)
I am using a QNAP TS-251D NAS. Because I would like to switch from QTS to
Alpine Linux I though it would be useful to enable the serial port.
The TS-251D has a built-in serial port that is already enabled and only needs to be
connected. For that you need a number of parts:
...
- 3D Printing updates
(posted 2024-07-15
, updated 2024-11-22
)
A quick guide to 3D printing materials
- UEFI boot on Raspberry PI
(posted 2024-07-01
, updated 2024-11-22
)
Introduction
Prepare SD card
Copy UEFI
UEFI boot
Adding grub
...
- Ansible Best Practices
(posted 2024-06-15
, updated 2024-11-22
)
This is a conversion from a presentation/pdf
by Tim Appnel.
I attached a copy here
too.
Roles and Modules
...
- hoses: enhanced socks5 tools
(posted 2024-06-01
, updated 2024-03-05
)
Introduction
Features
Where to find
Examples
...
- OpenSSH Certificate Authority
(posted 2024-05-15
, updated 2024-03-05
)
Intro
Creating CA
Configuring Hosts
Singing user public keys
Using certificates
...
- Why Ansible?
(posted 2024-05-01
, updated 2024-03-05
)
As part of an effort of standardising my home lab I decided to migrate my
ad-hoc configuration scripts into a more standard tool set. So I looked at:
puppet
chef
...
- OpenTofu
(posted 2024-04-15
, updated 2024-11-22
)
Introduction
Origins
Why use OpenTofu
Using OpenTofu
...
- Inetd like service with systemd
(posted 2024-04-01
, updated 2024-11-22
)
This is an example of a socket-activated per-connection service (which is usually referred to
as inetd-like service).
A thorough explanation can be found at 0pointer.de.
Define a socket unit
The key point here is to specify Accept=yes, which will make the socket accept connections (behaving like inetd) and pass
...
- Locking down SFTP
(posted 2024-03-15
, updated 2024-11-22
)
This is a small recipe to increase the security around a SFTP interface.
In the /etc/ssh/sshd_config file include the following settings:
Subsystem sftp internal-sftp
This configures the sftp subsystem to use the internal sftp implementation.
This is because inside the chroot, we usually will not have the normal
...
- Python GUI
(posted 2024-03-01
, updated 2024-11-22
)
After looking a multiple options of GUI programming under python I
eventually settled for tkinter. The main reason was that
tkinter is very ubiquitous and initially though the learning
curve wuld have shorter as I was very used to GUI programming using
TCL/TK. Turned out that what I known TCL/TK did not translate
...
- cisco bridging
(posted 2024-02-15
, updated 2024-11-22
)
This article is here as a reminder.
So, for testing, I needed to configure a
Cisco CSR1000V virtual router as a bridge. So I used a version 16 Cisco
IOS XE image. To make my life easier I used the "wizard" that runs the first
time to automatically configure bridgning. Ironically, this created an invalid
...
- Tunneling NFS over SSH
(posted 2024-02-01
, updated 2024-11-22
)
This recipe is for tunneling NFS traffic over SSH. This adds encryption
and Public Key authentication to otherwise insecure NFS traffic.
For this recipe to work, requires NFSv4. Earlier versions were
not tested, but I expect not all the functionality to work.
server configuration
...
- Optimizing shell scripts
(posted 2024-01-15
, updated 2024-03-05
)
Introduction
Input Data
Desired Output
Approach
Original Script
...
- Happy New Year 2024
(posted 2024-01-01
, updated 2024-11-22
)
Best wishes for 2024!
...
- IPv6 on 2023
(posted 2023-12-15
, updated 2024-11-22
)
This is a sequel to my article IPv6 blues.
Layout
Enabling forwarding
Configure networking
...
- libnss-db HOWTO
(posted 2023-12-01
, updated 2023-09-05
)
This mini-howto illustrate how to use libnss-db on a Ubuntu
Linux system.
Other installations should work to after adjusting package names and directory paths.
I myself use as a "serverless" lightweight user directory. Essentially, I mount the
db directory and the home directory from an NFS server.
Package installation
...
- Alpine Linux Custom Interface names
(posted 2023-11-15
, updated 2023-09-29
)
This article is a copy of this article
and shows how to rename/change name of a network interface.
Alpine Linux uses busybox mdev to manage devices in /dev. mdev reads /etc/mdev.conf
and according to mdev documentation one
can define a command to be executed per device definition.
The command which is going to be used to change network interface name is nameif.
...
- Alpine boot menu
(posted 2023-11-01
, updated 2023-06-03
)
This article is an update to my
Alpine Boot Switcher article.
Contents:
Preparing boot device
...
- Adding static routes in alpine linux
(posted 2023-10-15
, updated 2023-06-03
)
There are several ways to do this documented
in the alpine linux wiki.
My preferred way is to configure it in /etc/network/interfaces.
For example:
auto eth0
iface eth0 inet static
...
- New NacoWiki
(posted 2023-10-01
)
Release new version (3.2.1) of NacoWiki.
The following changes are included:
Added document properties
Added opts.yaml
API improvements
...
- Migrated to NacoWiki Albatros
(posted 2023-10-01
, updated 2023-09-29
)
This edition marks the migration of my Blog from
Pelican to NacoWiki Albatros.
This is a mostly transparent change. I wrote Albatros specifically
to migrate this web site from Pelican to a php based markdown
implementation. As such, it uses a slightly modified version
of the Pelican theme.
...
- File system encryption in Alpine Linux
(posted 2023-09-15
, updated 2024-11-07
)
This is similar to my previous article
Encrypting Filesystem in Void Linux
but for Alpine Linux
The point of this recipe is to create a encrypted file sytem
so that when the disc is disposed, it does not need to be
securely erased. This is particularly important for SSD devices
...
- CSS Tips
(posted 2023-09-01
, updated 2023-05-18
)
Style editor
Sending query string with PHP
Position sticky
Flexbox and Grid
...
- Local Startup
(posted 2023-08-15
, updated 2024-02-02
)
This is a method to control start-up of applications in a Linux Desktop session
that are run by a local default configuration, but can also be overriden by the user.
This is unlike the /etc/xdg/autostart which is mostly under the control of the
distro packager.
Aslo unlike the /etc/X11/profile.d directory, this runs inside the Desktop Session.
/etc/X11/profile.d gets started before the Desktop session is available.
...
- Pulse Audio control in python
(posted 2023-08-01
, updated 2024-02-02
)
I have been using a shell script to toggle pulse audio sinks for some time. It worked well enough for
switching output among several profiles on a single audio card. I recently upgraded
my set-up to new hardware. This hardware for some reason, reported the analog stereo output and
the digital HDMI output as different sound cards. So my patoggle script did not work well enough
anymore.
Since parsing the output of the pacmd in shell script was becoming a pain, I decided to re-write
...
- Global hotkeys
(posted 2023-07-15
, updated 2024-02-02
)
To make it easier to switch desktop environment I am using
a Desktop Environment independant hot keys configuration using
xbindkeys. This lets me use the same
keybindings on different Window managers and Desktop Environments.
This code can be found in github.
Included are the follwoing:
...
- XPrinterMgr
(posted 2023-07-01
, updated 2024-02-02
)
This is a small utility to manage a local printer(s) in
a home office setting.
It will show the state of the printer:
accepting or rejecting jobs
enable or disabled printing
...
- rsync filter rules
(posted 2023-06-15
, updated 2023-04-25
)
Rules
Simple include/exclude rules
Simple include/exclude example
Filter rules when deleting
Filter rules in depth
...
- Munin-tweaks
(posted 2023-06-01
, updated 2023-04-25
)
Small recipes to tweak munin configurations.
Overriding critical and warning levels
In the node configuration enter:
plugin.field_name.critical value
plugin.field_name.warning value
The plugin name can be found by clicking in the graph with the value
...
- Desktop Environments 2023
(posted 2023-05-15
, updated 2024-02-02
)
Around April 2023, I decided to look for a new Linux Desktop Environment for my
personal void linux. So I tried these distros:
lxqt: This is the one I eventually chose to switch to. I liked it that it
was very small and light, and very modular, almost like a kit that you assemble
yourself. Because I have thinking for some time that I would like to make my
...
- Personal thoughts on GUI programming
(posted 2023-05-01
, updated 2024-02-02
)
I have been programming for about 40 years. Going through a lot of different languages
and programming paradims.
Lately most of my programming is done in:
bash/shell script
Python
...
- NacoWiki
(posted 2023-04-15
)
A few months ago I extensibly modify picowiki and creeated NanoWiki.
After using NanoWiki for a few months, the code became somewhat of an
spaghetti mess. This has to do that picowiki was designed as a single
file, single class application with Plugin extension. Since every change went
to a single class this quickly became difficult to manage.
Additionally, I realized that "NanoWiki" was not a very good name as this
...
- Python Development 2023
(posted 2023-04-01
, updated 2023-04-25
)
Python development on Windows
Distributing Python scripts as single EXE or Directory
Installing netifaces on Windows
Documentation generation
...
- Raspberry Pi emulation with Qemu
(posted 2023-03-01
, updated 2024-02-02
)
The idea here is that we use a Desktop PC for developing/debugging
Raspberry Pi set-ups using qemu for emulating Rasperrby Pi.
qemu currently supports the following configurations:
Raspberry Pi Zero and 1A+ (armhf)
Raspberry Pi 2B (armv7)
...
- Home Assistant Wall Panel
(posted 2023-02-20
, updated 2023-01-11
)
For a while I was using TabletClock with old tablets. But
this has not been updated in a while. I was thinking of writing my
own version until I found WallPanel.
Essentially it is purposely built web-browser with special features which makes it
possible to use it to replaces TabletClock. Essentially, I could
replace TabletClock with a web-page showing the time and a weather
...
- RDP vs VNC
(posted 2023-02-10
, updated 2023-01-11
)
For years I have been using VNC for my remote desktop needs. This works
usually well enough. The features that I like are:
Basic set-up is easy
Desktop sessions are persistent
Can be used to view an actual X11.org desktop.
...
- QNAP Snapshots
(posted 2023-02-01
, updated 2024-02-02
)
I wrote a small tool to access QNAP snapshots from the Linux command line.
Pre-requistes:
Snapshots have to be enabled
You need a /share/netcfg containing the file:
...
- Docker on Void
(posted 2023-01-20
, updated 2022-12-24
)
This is a quick recipe to run Docker on void:
Make sure your system is up-to-date:
sudo xbps-install -Syu
...
- Home Assistant sensors
(posted 2023-01-10
, updated 2023-01-11
)
I finished migrating my VeraEdge to Home Assistant. I think after
using it for some time, I find Home Assistant far superior to the
VeraEdge in every way.
So, I took the time to mostly standardise my sensors which make things simpler to
manage/mantain.
As such, essentially I am only using 4 types of sensors:
...
- Happy New Year 2023
(posted 2023-01-01
, updated 2023-01-11
)
Best wishes for 2023!
This website is now 10 Years Old.
...
- Home Assistant RFXCOM Integration
(posted 2022-12-20
, updated 2022-12-15
)
RFXCOM RFXtrx
This integration is
to control RFXtrx devices. I am using to control Somfy blinds and KlikAanKlikUit
remotes.
Add integration: RFXCOM RFXtrx
...
- Home Assistant Behind Reverse Proxy
(posted 2022-12-10
, updated 2022-12-15
)
To set-up a reverse proxy I took the following steps:
configure DNS
get Letsencrypt certificates
Configure NGINX
Configure Home Assistant to trust the proxy
...
- Looking up docker image tags
(posted 2022-12-01
, updated 2022-12-15
)
This recipe is to check the tags defined for a specific Docker image
in docker.hub.
The basic API is at https://registry.hub.docker.com/v2
So the format is as follows:
https://registry.hub.docker.com/v2/repositories/{namespace}/{image}/tags/
Where:
...
- Home Assistant Large Clock
(posted 2022-11-21
, updated 2024-02-02
)
This recipe is my version of providing a "large clock" face in the
home assistant dashboard.
Enable serving local static files:
Create directory www in your config directory.
Restart home assistant.
...
- Home Assistant HTTP Based Authentication Backend
(posted 2022-11-11
, updated 2024-02-02
)
This recipe is to authenticate users using a web server providing
Basic HTTP authentication
for it users.
This is useful if you want to consolidate users/passwords in a single
system. So instead of managing users on Home Assistant you can
have all users managed from a central location.
...
- Moving to Home Assistant
(posted 2022-11-01
, updated 2024-02-02
)
I am busy moving away from my VeraEdge
installation to a Home Assistant running on a Raspberry Pi 4. This is
because it looks like the maker of the VeraEdge was bought and it is slowly being
phased out.
For this I am using the following parts:
...
- Markdown cheat sheet
(posted 2022-10-20
, updated 2022-10-12
)
This is intended as a quick reference and showcase. For more complete info,
see John Gruber's original spec
and the Github-flavored Markdown info page.
Headers
Source:
...
- Nanowiki
(posted 2022-10-10
, updated 2022-10-12
)
NanoWiki is a Wiki implementation based on picowiki.
I have been using SimpleNote for a number of years. It works pretty well
but somehow I was looking for:
Ability to include and render nice asciiart pictures
Organizes articles in a folder structure.
...
- X728 kit for Raspberry Pi 4
(posted 2022-10-01
, updated 2024-02-02
)
As part of my small project of movng my Z-Wave Hub to a Raspberry PI, I got an
X728 kit. This has:
UPS controller board
RTC circuit
...
- cuylib
(posted 2022-09-20
, updated 2024-02-02
)
This is a tiny library to implement Web server embedded editor.
You can find it in github.
Can be used either from haserl or directly from
a shell script.
Features:
...
- Photoprism
(posted 2022-09-10
, updated 2022-09-20
)
photoprism is a web based photo management application.
From its website:
PhotoPrism® is an AI-Powered Photos App for the Decentralized Web.
It makes use of the latest technologies to tag and find pictures
automatically without getting in your way. You can run it at home,
...
- SupervisorUI MF
(posted 2022-09-01
)
In a previous article, I updated a supervisorui project to work for me.
This updated version supervisorui-redone is essentially a PHP application
which is a different approach from the original supervisorui project
which was more of a JavaScript application with some helper functionality implemented
in PHP.
As such, I figured that I could probably fix the supervisorui code base
...
- Supervisorui REDONE
(posted 2022-08-25
)
Currently I am using docker containers to deploy applications. A number of those
containers make use of supervisord for managing processes. While
supervisord itself comes with a UI, it is unhandy for me because each
container is its own supervisord instance.
So I was interested in some software that would let me manage multiple
supervisord instances in a single page. Turns out that there
...
- voidlinux virtualization
(posted 2022-08-14
, updated 2024-02-02
)
This recipe is for setting virtualization on a voidlinux desktop.
Use this setup script to set things up on void linux.
Connecting to libvirtd
Note that virsh and virt-manager commands connect to different libvirtd
sessions by defauult.
virsh defaults to qemu:///session while virt-manager to qemu:///system.
...
- A couple of useful sites for development
(posted 2022-05-29
, updated 2023-04-03
)
Unicode
Can be useful for looking up unicode code points. Particularly
useful for looking up accented characters. Another interesting
use is for UI graphics characters.
Unicode search
Another site to search for unicode characters.
...
- Keyboard Mouse control
(posted 2022-02-13
, updated 2022-03-03
)
This comes in handy when working at a colo or someplace where you
don't have a mouse and then find yourself needing to use X11. Press
the following key combo:
Ctrl-Shift-Numlock
Now you can control the mouse pointer using the number pad. The
key bindings are:
...
- flatpak
(posted 2022-02-08
, updated 2022-03-03
)
Flatpak is a utility for software deployment and package management for
Linux. It is advertised as offering a sandbox environment in which users
can run application software in isolation from the rest of the system.
Flatpak was developed as part of the freedesktop.org project and was
originally called xdg-app.
Snap vs Flatpak
...
- My git release script
(posted 2022-01-12
, updated 2022-01-16
)
I always had issues remembering how to create releases.
So in order to standardise things, I wrote this script:
ghrelease
So whenever I am ready to release I would then just issue
...
- Meta Database
(posted 2022-01-10
)
So I was looking for a way to version control database schemas,
but I never found something that worked for me. I found all
these options that never seem to match what I wanted:
metabase
dbv
...
- lnbin
(posted 2022-01-10
, updated 2024-06-03
)
This is my lnbin script.
This is a program for managing symlink in a /usr/local/bin
directory. It is similar to stow, lndir, cleanlinks and
others.
The approach used by lnbin is based on Stow, and it is to install
each into its own tree, then use symbolic links to make its bin
...
- Linux Icons
(posted 2022-01-10
, updated 2022-01-16
)
A quick note on how to add icons to menus in a Linux desktop.
Create the icon image in: /usr/share/pixmaps.
png and svg (and maybe others) are supported.
24x24 seems to be a good size for menus.
...
- nas ops cmd
(posted 2022-01-05
, updated 2024-02-02
)
This is my op script.
This is stupidly simple script to elevate priviledges in order to
manage NFS shares on my QNAP NAS.
The idea is that NFS shares do squash-root so admin access is
disallowed through NFS. This gives a convenient way to issue
root level commands without using NFS but instead use ssh
...
- Linux stuff
(posted 2022-01-04
, updated 2022-01-10
)
Sudoers
Since sudo v1.9, it is possible to use the following
statements:
#includedir
@includedir
...
- Graphviz markdown extensions
(posted 2022-01-04
, updated 2022-01-10
)
I have enabled several extensions to my pelican website.
One that I wanted to include was graphviz. So, I searched
for one and while I found a few, they somehow, did not work for me.
So I wrote my own: mdx_graphviz.
It is quite straight forward. You just need to create blocks:
dot {
...
- Pelican Test page
(posted 2021-12-26
, updated 2024-02-02
)
shortcodes
mytags
Drawings
aafigure
...
- DVTM
(posted 2021-12-23
, updated 2022-03-03
)
The other day I found dvtm. Looking at it, it
looks very nice. It appeals to me because I am particularly
fond of text user interfaces.
At the end I choose not to use it because:
...
- Migration to Pelican
(posted 2021-12-22
, updated 2021-12-25
)
Finally got fedup with github pages and its jekyll
static site generator. Essentially things would break without
any particular reason and there would be nearly no way to
tell what went wrong. I addition, it was not easy to test
changes before making them public.
So I switched to pelican, essentially because it was
...
- Storing secrets in git
(posted 2021-12-22
, updated 2022-01-04
)
So I gave into the temptation to store "secret" data into
a git repository. Of course, to keep things
safer, I chose to use an encryption tool. So I tested:
git-crypt
git-secret
...
- Enable syslog with void
(posted 2021-12-21
, updated 2021-12-25
)
In void Linux, the default is without logging. Most
cases it is OK for desktop use.
If you want to enable syslog service in void,
you need to install:
socklog-void
Also to let your user have access to the logs, use:
...
- Stupid SSL tricks
(posted 2021-12-21
, updated 2021-12-25
)
Some hints and tips foor doing SSL related things:
Netcat for SSL
This command lets you connect to a SSL server (a-la netcat):
cat request.txt | openssl s_client -connect server:443
Creating self-signed certificates
This is a single command to generate a self-signed certificate:
...
- Linux Post Install tasks
(posted 2021-12-21
, updated 2021-12-26
)
These tips are for void linux as that is the distro
I am using nowadays.
mate tricks: change background from cli
dconf write /org/mate/desktop/background/picture-filename "'PATH-TO-JPEG'"
...
- My tale of IPv6 blues
(posted 2021-12-21
, updated 2024-02-02
)
My ISP provider is KPN. They recently enabled
IPv6 in my street. I was using before a IPv6 Tunnel Broker,
starting with SixXS and after they went out,
with Hurricane Electric. So naturally,
I decided to switch to KPN's native IPv6 service.
They provide a /64 prefix, which is reasonable. Would be better
...
- Replacing emacs...
(posted 2021-12-20
, updated 2021-12-26
)
So after over 30 years of using GNU emacs I have switched
to a more modern options.
So I am using:
Geany: For use in a Window environment (both X11 and MSWIN)
micro: For command line use
...
- Linux HDMI hotplug
(posted 2021-02-28
, updated 2024-07-12
)
Now in 2024 this is usually no longer needed.
A more current solution is:
https://github.com/phillipberndt/autorandr
The point of this article is to document I workaround that I came
...
- Alpine Boot switcher
(posted 2020-10-04
, updated 2024-02-02
)
I boot from a USB boot drive using UEFI. Because of the UEFI boot,
it just a matter of copying the files from the alpine
ISO to a USB thumbdrive VFAT32 partition. Partition may be set to
EFI (but this doesn't seem to be required).
Since I would like to switch between different alpine versions,
I wrote a script to let me have multiple alpine versions and
...
- PulseAudio hints and tricks
(posted 2020-10-03
, updated 2024-02-02
)
PulseAudio is nowadays the default sound system in many Linux
distributions. It lets you do a number of useful things.
PulseAudio comes with a handy command line utility pacmd to do a
number of things.
pacmd commands
...
- Getting the current proxy pac configuration
(posted 2020-10-02
, updated 2024-11-22
)
This is done using tcl for convenience. If you
do not have it installed you can download freewrap
executable and rename freewrap.exe to wish.exe or freewrapTCLSH.exe to
tclsh.exe.
Registry Key : HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\
REG_SZ AutoConfigURL = https://<your url>/proxy.pac
...
- Definiton of maturity
(posted 2020-04-06
, updated 2024-11-22
)
Maturity is:
The ability to stick with a job until it’s finished.
The ability to do a job without being supervised.
The ability to carry money without spending it.
And the ability to bear an injustice without wanting to get even.
...
- Using XScreenSaver Hacks with mate-screensaver
(posted 2020-03-19
, updated 2024-02-02
)
Here we explain how to use XScreenSaver EXCELLENT
screensaver hack collection with the MATE screensaver
applet.
Install xscreensaver and mate-screensaver
On my linux distribution this creates the following directories:
...
- nginx's auth_request_module howto
(posted 2019-05-10
, updated 2024-02-02
)
This article tries to supplement the nginx documentations
regarding the auth_request module
and how to configure it. In my opinion, that documentation
is a bit incomplete.
What is the nginx's auth_request module
The documentation for this module says, it implements client
...
- Python Virtual Environments
(posted 2019-05-01
, updated 2021-12-25
)
This is the least you need to know to get to use a Python virtual
environment.
What is a Virtual Environment
At its core, the main purpose of Python virtual environments is to
create an isolated environment for Python projects. This means that
each project can have its own dependencies, regardless of what
...
- Secure erase of disc drives
(posted 2019-04-20
, updated 2021-12-25
)
This article is about erasing disc drives securely. Specially for SSD
drives, writing zeros or random data to discs is not good enough and
counterproductive.
One way to do secure erase (for disposal) is to begin with an encrypted
disc. However, after the fact the following options are possible:
ATA Secure Erase
...
- Co-existing GLIBC binaries with Void-Linux MUSL edition
(posted 2019-04-10
, updated 2024-02-02
)
I am running void-linux at home with musl as the standard
C library.
While most things work well, there is a number of programs that
do not and must be using glibc counterparts.
To enable this I followed this guide here: Live switching Void Linux from glibc to musl.
To set-up:
...
- Calculate system availability
(posted 2019-04-01
, updated 2024-11-22
)
To calculate the availability of redundant systems you can
use this formula:
total_avail = 1-(1 - single_avail) ^ (number_of_nodes)
Nodes:
...
- Ad-Hoc rsync daemons
(posted 2019-03-20
, updated 2024-02-02
)
The other day I needed to copy a bunch of files between to servers
in my home network. Because of the volume I wanted to copy the files
without having to go through ssh's encryption overhead. So I
figured I could use netcat for the data transport.
To do that I wrote these short scripts.
Remote scripts
...
- Resizing Virtual Disks with virsh
(posted 2019-03-10
, updated 2021-12-25
)
I am currently using libvirt for managing my VMs. For virtual discs
I am using LVM2 volumes. On a regular basis I need to resize
these virtual discs, but not that often that I can do this from
memory. This is a short procedure to do this:
ls -l /dev/vgX/lvX # note down the major/minor numbers for later
lvextend -L +50G /dev/vgX/lvX # adding 50GB to this volume
...
- Z-Wave Associations with With Vera UI
(posted 2019-03-01
, updated 2021-12-25
)
I couldn't find any to the point documentation on how to do this,
so I am writing this.
The way I understand Z-Wave associations work is that once devices
are in the same Z-Wave network, a device can directly send
a command to another device without intervention of the Hub
or controller.
...
- Encrypting FileSystem in Void Linux
(posted 2019-02-28
, updated 2023-04-21
)
The point of this recipe is to create a encrypted file sytem
so that when the disc is disposed, it does not need to be
securely erased. This is particularly important for SSD devices
since because of block remapping (for wear levelling) data can't
be overwritten consistently.
The idea is that the boot/root filesystem containing the encryption
...
- Installing Void Linux
(posted 2019-02-19
, updated 2024-05-24
)
I made the switch to void linux. Except for compatibility
issues around glibc, it works quite well. Most compatibility
I have worked around with a combination of Flatpaks, chroots and
namespaces.
The high lights of void linux:
...
- My Linux Keyboard Shortcuts
(posted 2019-02-11
, updated 2021-12-25
)
In general we try to be similar to MS-Windows shortcuts.
Default bindings (in MATE)
Key
...
- Global Windows Keyboard Shorcuts
(posted 2019-02-10
, updated 2022-03-03
)
Common Window Management Shortcuts
Key
Action
...
- Third Party SimpleNote clients
(posted 2019-01-08
, updated 2024-11-22
)
An inventory of simplenote clients:
SimpleNote clients:
sncli
nvpy
notestack
...
- Docker on Alpine Linux
(posted 2018-09-22
, updated 2022-01-04
)
Alpine Linux Quick installation
See wiki For Alpine Linux > 3.8
Un-comment community repo from /etc/apk/repositories
apk add docker
rc-update add docker boot
...
- Alpine on OTC
(posted 2018-08-29
, updated 2022-01-04
)
These are just random thoughts nothing really was implemented.
Alpine Linux image
preparation: jq and other deps to /apks/x86_64
...
- Windows Account Lockouts
(posted 2018-07-19
, updated 2021-12-25
)
To prevent windows lockouts the following can be done:
Delete Internet Explorer browsing history
Run the following:
Open Start --> Search filed--> Type in Run --> rundll32.exe keymgr.dll, KRShowKeyMgr --> Delete
...
- Skipping grep when using AWK
(posted 2018-07-11
, updated 2021-12-25
)
Over the years, We've seen many people use this pattern (filter-map):
$ [data is generated] | grep something | awk '{print $2}'
but it can be shortened to:
$ [data is generated] | awk '/something/ {print $2}'
You (probably) don't need grep
Following this logic, you can replace a simple grep with:
...
- Naming Schemes
(posted 2018-07-04
, updated 2021-12-25
)
This web site contains list of names of different topics. This
can be used for naming schemes:
Naming Schemes
...
- Build a VR app in 15 minutes
(posted 2018-06-18
, updated 2021-12-25
)
In 15 minutes, you can develop a virtual reality application and run
it in a web browser, on a VR headset, or with Google Daydream.
The key is A-Frame, an open source toolkit built
by the Mozilla VR Team.
Test It
Open this link
...
- Set your google account to automatically delete
(posted 2018-06-17
, updated 2021-12-25
)
Want to share your family photos after your death, but take your
search history to the grave? All that and more is possible with
Google's Inactive Account Manager.
How You Can Control Your Information After Death
It's not nice to think about, but one day, you will die, along with
the keys to your online kingdom. And these days, those online accounts
...
- HTML Entities
(posted 2018-06-16
, updated 2021-12-25
)
(remember the ampersand at the start and the semi-colon at the end of each "tag")
| Á | Á |
| á | á |
| À | À |
| Â | Â |
| à | à |
...
- 3 Open Source Password Managers
(posted 2018-06-15
, updated 2021-12-25
)
Keep your data and accounts safe by using a secure open source
password manager to store unique, complex passwords.
Maintaining complex, unique passwords for each site and service you
use is among the most common pieces of advice that security
professionals provide to the public every year.
Yet no matter how many times it is said, it seems like a week doesn't
...
- How to encrypt linux partitions with LUKS
(posted 2018-06-14
, updated 2023-09-29
)
There are plenty of reasons why people would need to encrypt a
partition. Whether they're rooted it in privacy, security, or
confidentiality, setting up a basic encrypted partition on a Linux
system is fairly easy. This is especially true when using LUKS, since
its functionality is built directly into the kernel.
Installing Cryptsetup
...
- Open Source Alternatives to Visio
(posted 2018-06-11
, updated 2021-12-25
)
Need to create diagrams, flowcharts, circuits, or other kinds of
entity-relationship models? Microsoft Visio is without a doubt the
best software for that, but that doesn't mean it's the best choice
for you.
Visio may be the industry standard in the corporate world, but it
comes with a huge drawback: it's expensive ($299 for the standard
...
- 10 tips for making documentation crystal clear
(posted 2018-06-10
, updated 2024-10-22
)
So you've some written excellent documentation. Now what? Now it's
time to go back and edit it. When you first sit down to write your
documentation, you want to focus on what you're trying to say instead
of how you're saying it, but once that first draft is done it's time
to go back and polish it up a little.
One of my favorite ways to edit is to read what I've written aloud.
...
- Project Requirements
(posted 2018-06-07
, updated 2022-11-02
)
This is sometimes so true!
...
- Ascii Art Tools
(posted 2018-06-07
, updated 2021-12-25
)
Here are some resources dealling with ASCII art...
AsciiToSVG - PHP code
to convert ascii art into SVG.
AsciiFlow - Web App implement an ascii art
editor.
...
- 6 Cloud-Based Tools To Help You Build A Web App With Ease
(posted 2018-06-06
, updated 2021-12-25
)
In just a relatively short amount of time, building mobile apps has
transformed from a process that included lots of knowledge in
developing into something that almost anyone can do. Cloud-based tools
are quickly becoming the norm for app developers, and these are some
of the highest recommended tools, each one being ideal for certain
developers.
...
- So the server crashed
(posted 2018-05-17
, updated 2021-12-25
)
Now we have to re-create things...
...
- custom desktop ideas
(posted 2018-04-18
, updated 2021-12-25
)
fast boot
Window Manager
Snap windows to border/windows
...
- Retropie
(posted 2018-03-01
, updated 2021-12-25
)
DVD player
Bluetooth receiver
...
- using cachefiles on an Linux NFS share
(posted 2018-01-30
, updated 2021-12-25
)
If you often mount and access a remote NFS share on your system, you
will probably want to know how to improve NFS file access performance.
One possibility is using file caching. In Linux, there is a caching
filesystem called FS-Cache which enables file caching for network file
systems such as NFS. FS-Cache is built into the Linux kernel 2.6.30
and higher.
...
- VNC desktop
(posted 2017-11-12
, updated 2021-12-25
)
IDEA:
Client connects >
< server sends version string (Use 3.3 only)
Client replies with actual verison string >
< server sends security type; NONE
Client send ClientInit (shared flag) >
...
- SimpleNote/Markdown editor
(posted 2017-10-19
, updated 2021-12-25
)
We just load SimpleNote as a Desktop WebApp
Create first a basic markdown editor
styling
...
- Interesting wordpress plugins
(posted 2017-10-02
, updated 2021-12-25
)
restrict categories
access control by category
site member
user access mgr
paid members
...
- Rollback with YUM History Command
(posted 2017-09-21
, updated 2021-12-25
)
From 2daygeek.com
Server patching is one of the important task of Linux system administrator to make the system more stable and better performance. All the vendors used to release security/vulnerabilities patches very often, the affected package must be updated in order to limit any potential security risks.
Yum (Yellowdog Update Modified) is RPM Package Management utility for CentOS and Red Hat systems, Yum history command allows administrator to rollback the system to a previous state but due to some limitations, rollbacks do not work in all situations, or The yum command may simply do nothing, or it may remove packages you do not expect.
I advise you to take a full system backup prior to performing any update/upgrade is always recommended, and yum history is NOT meant to replace systems backups. This will help you to restore the system to previous state at any point of time.
n some cases, the hosted applications might not work properly or through some error due to recent patch updates (It could be some library incompatibility or package upgrade), what will be the solution in this case?
Get in touch with App Dev team and figure it out an issue creating library' and packages then do the rollback with help of yum history command.
...
- SeedBoxes
(posted 2017-09-20
, updated 2021-12-25
)
A seedbox is a dedicated server at a high speed datacenter with a
public IP address for the downloading and seeding of bittorrent files.
Persons who have access to a seedbox can download these files to
their personal computers at any time and from any place that has an
internet connection.
References:
...
- Centos Install notes
(posted 2017-07-12
, updated 2022-01-04
)
Set-up local.repo
yum installs:
nfs-utils autofs
@x11
@xfce
...
- android development
(posted 2017-06-24
, updated 2021-12-25
)
Android devs
Install JAVA
yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel
Install SDK Tools:
Download the sdk-tools zip from here
mkdir /opt/android
...
- Securing rsync on ssh
(posted 2017-06-01
, updated 2021-12-25
)
Reference: positon.org
You have 2 systems and you want to set up a secure backup with rsync + SSH of one system to the other.
Very simply, you can use:
backup.example.com# rsync -avz --numeric-ids --delete [email protected]:/path/ /backup/myserver/
To do the backup, you have to be root on the remote server, because some files are only root readable.
Problem: you will allow backup.example.com to do anything on myserver.example.com, where just read only access on the directory is sufficient.
...
- Desktop environments on Centos 7
(posted 2017-04-18
, updated 2021-12-25
)
These are commands to install different Desktop environments
on Centos7
Gnome
yum groupinstall 'GNOME Desktop'
KDE
yum groupinstall "KDE Plasma Workspaces"
...
- Telegram
(posted 2017-04-12
, updated 2021-12-25
)
Telegram is a messenger designed to overcome
the limitations of other messengers like WhatsApp or similar ones. It
is different and better than other messengers on more than one level.
A few of the important features that make it stand out among other
messengers are:
...
- Free Clipart sites
(posted 2017-04-11
, updated 2022-01-10
)
In 2014, Microsoft killed and buried Clipart
in the digital graveyard.
Clipart had outlived its usefulness as users relied more on search
engines than Microsoft' somewhat limited supply through the Office
suite.
Today' clipart needs to be modern, colorful, and less cartoonish. An
...
- Anti Roboto skills
(posted 2017-03-30
, updated 2022-11-02
)
Losing your job to robots is no longer a sci-fi fantasy.
Some estimates say, robots may take over more than five million jobs
across 15 developed countries. Machines could account for more than
half the workforce in places like Cambodia and Indonesia, particularly
in the garment industry.
While such information has led many people to seek out higher-tech
...
- stop procrastinating
(posted 2017-03-24
, updated 2022-11-02
)
We are all guilty of procrastinating from time to time--here's always
something more interesting than the work in hand. We usually think it's
no big deal, since deadline is our biggest inspiration, and we do our
best work when we're inspired. We may even joke about it.
However, procrastination is a massive waste of time as it turns out.
A survey in 2015 found that on average, a person loses over 55 days
...
- manage busyness
(posted 2017-03-24
, updated 2022-11-02
)
Former United States President Dwight Eisenhower was responsible for
putting together one of the most important yet fundamentally simple
to understand concepts in time management. Eisenhower's
Urgent/Important Principle is a tool to help decipher what tasks need
to be addressed more immediately than others. Anyone who uses the
principle will be better able to organize and orchestrate their
...
- Kivy
(posted 2017-03-19
, updated 2022-03-03
)
Today I want to briefly write about kivy. kivy is an
Python library intended for developing Mobile Apps. It is a
cross-platform library that runs on Android, iOS,
Linux, OS X and Windows. It is licensed under
the MIT, so it is free and open source.
Kivy is the main framework developed by the Kivy organisation, alongside with Python for Android,
...
- Mail Archiver ideas
(posted 2017-03-10
, updated 2021-12-25
)
We use it for receiving junk e-mails (i.e. for those times where we need an e-mail address for sign-up to a service).
E-mails are of the form:
[email protected]
TODO:
Extend postie:
...
- Fixed drive letters for removable USB sticks
(posted 2017-02-03
, updated 2021-12-25
)
If you use multiple USB drives, you've probably noticed that the drive letter can be
different each time you plug one in. If you'd like to assign a static letter to a drive that's
the same every time you plug it in, read on.
Windows assigns drive letters to whatever type of drive is available. This can be annoying
especially if you use backup tools or portable apps that prefer to have the same drive letter
every time.
...
- Portable Console
(posted 2017-01-25
, updated 2021-12-25
)
portable console
Set scrolling region:
printf "\033[1;24r"
Reset scrolling region:
printf "\033[r"
However, it is easier/better to do:
...
- Xnest
(posted 2017-01-24
, updated 2021-12-25
)
This trick lets you run X-Windows within an X-Windows session.
This is kinda like running VNC. It is useful for testing scenarios.
#!/bin/sh
Xnest :1 -name "Bla" -ac -geometry 800x600 &
sleep 1
export DISPLAY=:1
...
- CyberWorld 2017.1
(posted 2017-01-20
, updated 2022-01-04
)
Development
travis cordova build
...
- Side Load apps on Android TV
(posted 2017-01-10
, updated 2021-12-25
)
So we bough a Philips 50PFK6540. This is a 50" TV with
Ambi Ligh and
Android TV.
One of the things I wanted to do from the very start was to load my own APKs. This was not
possible until a recent (2016) update that enabled the "Install from Unknown Sources"
setting option.
...
- Building Signed APKs
(posted 2016-12-11
, updated 2021-12-25
)
Building signed APK's for Android is easy if you know what you
are doing.
This article goes over the preparation steps and the additional
build instructions needed to created signed APKs.
Preparation
First you need to have a keystore. Use this command:
...
- Archiving DVDs and CDs
(posted 2016-12-05
, updated 2021-12-26
)
Since now I have a Android TV I put away my HTPC and with that the capability to view DVDs or
listen CDs directly.
So I converted my entire CD and DVD library to media files and stored in my home NAS.
Since we are talking hundreds of DVDs and CDs, I was using some tools.
CD ripping
For CD ripping, pretty much everything can be done with abcde.
...
- Writing Safe Shell scripts
(posted 2016-11-23
, updated 2024-11-22
)
Writing shell scripts leaves a lot of room to make mistakes, in ways that will cause
your scripts to break on certain input, or (if some input is untrusted) open up security
vulnerabilities. Here are some tips on how to make your shell scripts safer.
Don't
The simplest step is to avoid using shell at all. Many higher-level languages are both
easier to write the code in in the first place, and avoid some of the issues that shell
...
- editor to replace emacs
(posted 2016-11-15
, updated 2021-12-25
)
At the end, I switched to geany
GUI
TextAdept
Bluefish Editor
editra
...
- MariaDB Quickest Quick start
(posted 2016-11-14
, updated 2022-01-10
)
This article outlines the bare minimum to get
a MariaDB or MySQL database up and running.
It covers a CentOS/RHEL and an ArchLinux installs.
Make sure your system is up to date:
...
- Jaxon: Call PHP classes from JavaScript using AJAX
(posted 2016-11-14
, updated 2021-12-25
)
Jaxon is an open source PHP library for easily creating Ajax web applications. It allows into a web page to make direct Ajax calls to PHP classes that will in turn update its content, without reloading the entire page.
Jaxon implements a complete set of PHP functions to define the contents and properties of the web page. Several plugins exist to extend its functionalities and provide integration with various PHP frameworks and CMS.
...
- Building chroots with yum
(posted 2016-11-14
, updated 2021-12-25
)
Building CHROOTs with Yum in a single command:
yum --releasever=7 --installroot=/chroot/jail2 -y install httpd
Will install httpd with all its dependancies. If you are on x86_64 and want a 32 bit chroot:
setarch i386 yum --releasever=6 --installroot=/chroot/jail32 -y install httpd
...
- My WordPress plugins
(posted 2016-11-07
, updated 2021-12-25
)
For my own purposes I have written a number of WordPress plugins.
S3Copy - Makes backup copies of your pictures to an S3
Compatible server. I use sirv.com myself. It also mangles tags so
files are server from the S3 bucket.
wptools - A collection of WordPress related functionality.
...
- vr starting points
(posted 2016-11-06
, updated 2021-12-25
)
vr boilerplate
threejs
vr chrome experimets
google cardboard
google cardboard
...
- Hosting WordPress on OpenShift
(posted 2016-10-29
, updated 2022-01-10
)
So I finally moved my WordPress web sites to OpenShift.
OpenShift is a cloud based Platform-as-a-Service offering from RedHat. And while there is a learning curve I would say that so far it works great.
My implementation is a fully cloud based solution. Makes use of the following services:
GitHub for code hosting
...
- CSR ideas
(posted 2016-10-14
, updated 2021-12-25
)
Work improvements
NFR
Javascript single page application
JS GUI
...
- game lists
(posted 2016-10-12
, updated 2021-12-25
)
Cybernator
Darius Twin
Another World | Out of this World
Front Mission Series
Strike Gunner
...
- JavaScript resources
(posted 2016-08-23
, updated 2021-12-25
)
Typescript
voxeljs
ige
More powerful github web pages
...
- Programming 2016
(posted 2016-06-06
, updated 2021-12-25
)
Programming 2016
GWT and GWT on Mobile and Java servlets
Generate Excel
http://www.gwtproject.org/overview.html
...
- Managing our personal finances
(posted 2016-05-22
, updated 2022-01-10
)
During my last vacation I wanted to move how we manage our personal
finances away from the ad-hoc spreadsheet that we had been using for
the past few years. I envisioned something server side, so I wouldn't
need to add software on my wife's computer. And initial quick run
through of server side software did not yield anything that interested
me. In general I could only find full accounting applications, which
...
- Starting with 3D Printing
(posted 2016-03-20
, updated 2022-03-03
)
So I finally tried my hand at 3D printing. Obviously I did not buy at 3D printer. These are either quite expensive or you need to assemble them yourself, which I don't think is in my capacity level.
To get started, you first need a 3D model to print. There are several 3D models available in Thingieverse, however I actually wanted to make my own model. After all, that is the whole point of 3D printing. Custom made parts/objects that can be printed as needed.
To create a 3D model you need some 3D modelling software. For my very first model I opted for TinkerCAD. This is software that runs on the cloud that lets you create your own 3D models. This is particularly interesting because you don't need to install anything on your computer and it would essentially run on anything where a web browser runs.
For a web based application, it is quite responsive and feature-full. You can use (like me) a facebook account to sign-in.
Models can then be downloaded as an ".stl" file (the format used by 3D printers) or send directly to 3D printing service such as 3D Hubs.
3D Hubs, is an online 3D Printing service which facilitates transactions betwen 3D Printer owners (Hubs) and people who want to make 3D prints. Printer owners can join the platform to offer 3D printing services while customers can locate printer owners to get their 3D models printed nearby.
...
- OpenShift notes
(posted 2016-03-10
, updated 2021-12-25
)
THIS IS FOR ARCHIVAL PURPOSES. THIS IS OUT-OF-DATE
backup OpenShift
openshift getenv(USER) from OpenShift php
ssh to {user}@{app-domain} gear snapshot > file
Run gear app
OpenShift migration further notes
...
- Windows administration from the command line
(posted 2016-02-02
, updated 2022-03-03
)
Windows system administration is very mouse driven and to reach
all tools you need to browse through Windows explorer.
If you are like me and prefer to log on a limited privilege account and use Runas to perform admin tasks, you can open these consoles with the .msc file names.
Here is a list of admin tools with their .msc file names.
domain.msc: AD Domains and Trusts
...
- Deploying Kerberos based SSO
(posted 2016-01-11
, updated 2021-12-25
)
This article goes over how to implement Single-Sign-On
on Linux. It goes over the integration around
the Kerberos service and the applications, like for example
FireFox.
Pre-requisites
...
- clipping ideas
(posted 2015-12-11
, updated 2021-12-25
)
Divide into
Work : Only visible to company and clients
Personal: Public/Private areas
...
- Let's Encrypt
(posted 2015-12-04
, updated 2021-12-25
)
This is a service that let's you get SSL certificates for HTTPS. These certificates are trusted by major browsers. See Let's Encrypt This is a barebones howto to get SSL certificates:
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
This contains the client software for let's encrypt.
./letsencrypt-auto certonly --manual
This will start by updating and getting any needed dependencies and then jump to a wizard like configuration to get this done. Follow the prompts and pay special attention on the prompt used to validate your domain. (You need to create a couple of folders and a file with the right content). Afterwards your certificates will be in:
...
- undup
(posted 2015-11-30
, updated 2021-12-25
)
So, after a long while, I wrote a new C language program. As usual,
the same things that I dislike about C programming popped up,
specifically the need for low level data structures and manual
memory management.
I did learn some new things:
...
- Markdown Javascript editors
(posted 2015-11-11
, updated 2021-12-25
)
VUE JS: Includes a Markdown editor example that allows edit with online preview next to it
Embeddable JS Markdown editor : Has a button to
preview
Editors that edit in preview-like mode
editor
...
- Picade Todo
(posted 2015-10-11
, updated 2021-12-25
)
key mappings
look up and label default mappings
...
- Centos7/RHEL7 FirewallD -- the least you need to know
(posted 2015-09-21
, updated 2021-12-25
)
This post is just a simple hints-tips to get something going with FirewallD without going into too much detail.
Checking if you are using firewalld:
firewall-cmd --state
...
- Raspberry Pi Thin Client
(posted 2015-08-17
, updated 2021-12-25
)
Thin Client project want to create a very low price thin client over
Raspberry Pi board! Microsoft RDC, Citrix ICA, VMWare View, OpenNX &
SPICE
RPITC
...
- Raspberry pi notes
(posted 2015-08-11
, updated 2021-12-25
)
raspberry pi shops
NL based
sos solutions
hackerstore
...
- Replacing Emacs with Atom
(posted 2015-07-24
, updated 2021-12-25
)
As an old UNIX guy I have been using
emacs for years.
So in a way, I am very comfortable with using it and most of keyboard
shortcuts. But, it really is an old animal and I have been thinking
that I should be moving to a more modern replacement to it for quite
...
- Online IDEs
(posted 2015-07-24
, updated 2021-12-25
)
If you want to move to the cloud and like to code like me, this is
kinda of a basic necessity.
This applies in particular to Chromebook users.
5 Best online IDEs
...
- Lifehacker App Guides
(posted 2015-07-24
, updated 2021-12-25
)
These two hyperlinks from Lifehacker are quite useful:
iPhone App Guide
Android App Guide
...
- Upload to OpenWRT
(posted 2015-07-11
, updated 2021-12-25
)
Base 64 decoding: coreutils-base64
#!/usr/local/bin/haserl --upload-limit=4096 --upload-dir=/tmp
content-type: text/html
<html><body>
<form action="<% echo -n $SCRIPT_NAME %>" method=POST enctype="multipart/form-data" >
...
- organizing notes
(posted 2015-06-11
, updated 2021-12-25
)
My Documents
DOCUMENTS
Project Folder
old
...
- Another Markdown Editor
(posted 2015-04-30
, updated 2021-12-25
)
This one is GitHubFlavored markdown...
markdown editor
...
- Web Links
(posted 2015-04-19
, updated 2021-12-25
)
Here a few web-links to interesting web apps.
It covers stuff about password security and checking if web sites
are down, etc etc.
Down For Everyone or Just Me:
If you're getting an error when visiting a certain site, it could be down or something could be wrong on your end. To see which
...
- Fiddle Markdown Tool
(posted 2015-04-18
, updated 2021-12-25
)
For a quick and simple Markdown Preview:
Fiddle
...
- Code Kingdoms
(posted 2015-04-17
, updated 2021-12-25
)
Code Kingdoms is targeted towards six- to 13-year olds and looks very
much like your everyday puzzle adventure game. Choose an animal, walk
around a kingdom saving animals through puzzles. The difference is
most of the puzzles require kids to use code elements to solve the
puzzles. At first this is through dragging-and-dropping code snippets,
but as they progress, kids will be typing in code themselves.
...
- Kerberos Client
(posted 2015-02-06
, updated 2021-12-25
)
This simple mini how-to goes over the configuration of a
linux system so it can use a Kerberos Realm server
for authentication.
Make sure you have the pam_krb5 rpm files installed. You can check this by running the rpm -qa | grep pam command and seeing whether the pam_krb5 rpm files are listed. If they aren't, you can typically download them in an update of the Linux or Unix operating system that you are running.
...
- HP Envy 4504 Set-up
(posted 2015-02-06
, updated 2022-11-11
)
I bought a HP Envy 4504. Overall I am happy with it. This is how
I configure it so I can use with Linux.
This mini howto applies to ArchLinux, void linux and Centos/RedHat distributions.
Installation
Archlinux:
cups, hplip, python2, sane
...
- RPMGOT
(posted 2015-02-04
, updated 2021-12-25
)
Software package download proxy
rpmgot is a simple/lightweight software package download proxy. It was designed to run on an OpenWRT router with some USB storage. So it is fully implemented as an ash script.
The basic idea has been implemented multiple times. For example refer to this article on a squid based implementation.
Unlike squid, which once you include all its dependencies can use up over 1MB of space just to install it, this software has very few dependencies.
The idea is for small developers running the same operating system version(s) would benefit from a local mirror of them, but they don't have so many systems that it's actually reasonable for them to run a full mirror, which would entail rsyncing a bunch of content daily, much of which may be packages would never be used.
rpmgot implements a lazy mirror something that would appear to its client systems as a full mirror, but would act more as a proxy. When a client installed a particular version of a particular package for the first time, it would go fetch them from a "real" mirror, and then cache it for a long time. Subsequent requests for the same package from the "mirror" would be served from cache.
...
- SSL Certificates
(posted 2015-01-06
, updated 2021-12-25
)
So it is is a more dangerous world out there. You can start securing web sites using self signed certificates. Another option is to:
Use CloudFlare. This will use a CF certificate from the CF CDN to the web site, while using a self-signed certificate between the CF CDN to your web server.
Use startssl
...
- Convert HTML to Markdown
(posted 2015-01-06
, updated 2021-12-25
)
These web sites convert to Markdown:
Mardownifier: Convert the given URL
to-markdown: Convert HTML snippets
turndown
...
- Raspberry Pi - Low cost CCTV
(posted 2014-09-13
, updated 2021-12-25
)
A good tutorial on creating a low cost surveillance camera using
the raspberry Pi camera module and one of thos fake surveillance
camera things.
Instructables has a good tutorial on creating a low cost surveillance camera.
Essentially makes use of a Pi, the Camera module and fitted into one of those inexpensive fake surveillance cameras.
...
- Raspberry Pi as a Stratum-1 NTP Server
(posted 2014-09-13
, updated 2021-12-25
)
This is something I found:
http://www.satsignal.eu/ntp/Raspberry-Pi-NTP.html
Essentially it requires pairing a Raspberry Pi with a
NTPI Raspberry Pi GPS addon board
...
- Incredible PBX for RasPBX
(posted 2014-09-13
, updated 2021-12-25
)
This is a link to IncrediblePBX for RasPBX. Looks like bundles to run Asterisk PBX'es on a Raspberry Pi. Neat.
...
- dev notes 2014
(posted 2014-06-26
, updated 2021-12-25
)
Replacment for Make and Autoconf:
MakeMe
(If you don't have root but have Android 4+ you can use the
command-line program adb from the Android SDK platform tools to make
backups via a desktop computer)
chromebook ides
...
- Resizing a Linux RAID
(posted 2014-06-04
, updated 2021-12-25
)
It is possible to migrate the whole array to larger drives
(e.g. 250 GB to 1 TB) by replacing one by one. In the end the number
of devices will be the same, the data will remain intact, and you will
have more space available to you.
Extending an existing RAID array
In order to increase the usable size of the array, you must increase
...
- Wi-Fi Sd Cards
(posted 2014-05-11
, updated 2021-12-25
)
My latest weekend project. Making a normal digital camera WIFI enabled.
With the Transcend Wi-Fi SD Card you can convert any digital camera into a Wi-Fi enable camera.
What I did here is to set it up so that it would automatically upload photos whenever I turn the camera on while at home.
The nice thing about this camera is that it runs a fully functional Linux environment within the card. The manufacturer was also nice enough to give you the opportunity to customize the card by running arbitrary shell scripts from the SD card itself.
My code is in github.
...
- Raspberry Pi Weekend project
(posted 2014-04-26
, updated 2021-12-25
)
So finally took the time to try out a Raspberry Pi. For this weekend project wanted to do something relatively simple.
Essentially, I wanted to recreate/enhance the functionality of a
TL-WR702N.
The TL-WR702N Nano Router is a neat device but being closed, can not be customized to what I wanted. It can be used in
the following modes:
...
- DVD archiving
(posted 2014-03-11
, updated 2021-12-25
)
This is my simple procedure for backing up my DVD movies:
Examine the DVD:
dvdbackup -i /dev/sr0 -I
Create a full backup:
dvdbackup -i /dev/dvd -o ~ -M
Creating an ISO:
...
- Private vs. Personal
(posted 2014-01-26
, updated 2021-12-25
)
In Microsoft Outlook has the option to tag e-mails with a sensitivity tag. Technically this is fairly meaningless. However sometimes I like to use them.
The confidential tag is quite self explanatory. I always confuse what is the difference between private and personal. So here is one possibility...
Personal information are things like preferences, political association, likes and dislikes.
Private information are things like bank account numbers. Stuff that you probably would like to keep secret.
...
- Cleaning-up Outlook Calendar
(posted 2013-12-23
, updated 2021-12-25
)
This is a procedure I go through at the end of the year
to clean-up my Outlook Calendar. Usually the Outlook
Calendar gets full of junk over time. So this is something
worth doing on a regular basis.
Procedure for Outlook 2007
...
- Chrome Kerberos Authentication
(posted 2013-12-02
, updated 2021-12-25
)
To config chrome to use kerberos authentication you need to start the application the following parameter:
auth-server-whitelist - Allowed FQDN - Set the FQDN of the IdP Server. Example:
chrome --auth-server-whitelist="*aai-logon.domain-a.com"
auth-negotiate-delegate-whitelist - For which FQDN credential delegation will be allowed.
...
- Deploying Chrome Extensions
(posted 2013-11-30
, updated 2021-12-25
)
The following links outline how to deploy Chrome extensions in a enterprise manner:
Installing Chrome Extensions
Other Deployment Options
Force Installing Extensions
...
- My Must Have Android Apps
(posted 2013-11-08
, updated 2021-12-25
)
This is a list of my favorite Android Apps:
Essentials
Barcode Scanner - Play Store F-Droid
Ghost Commander - F-Droid
F-Droid Alternative Application Manager. Usually Open source stuff with significantly less crap ware and ads.
...
- wp-cron and cron
(posted 2013-11-01
, updated 2021-12-25
)
Normal WordPress operation has a cron like functionality that runs scheduled tasks as users visit the blog.
It is possible to replace this with a standalone cron (like UNIX cron).
To disable the "webcron" (i.e. trigerring tasks as URLs are visited) add to your wp-config.php the following:
define('DISABLE_WP_CRON', true);
Then call this from cron:
...
- Using wget with given IP/vhost
(posted 2013-10-31
, updated 2021-12-25
)
This is one neat trick. For vhosts you can connect with an IP yet provide the right host name with the following:
wget http://1.1.1.1/ --header 'Host: www.example.com'
...
- Using a NAS200 as a Print server
(posted 2013-10-22
, updated 2021-12-25
)
Last weekend I had a small weekend project to move my All-In-One Printer/Scanner from my Xen host server to a spare NAS200 I had lying around. Since the NAS200 has a i486 compatible CPU, and I had been able to run a CentOS 5 distro before, I figure it would make a good server with low power consumption.
For that I updated my NASCC firmware so that it would boot a USB key, and update my CentOS image creation script. This worked well, I was able to boot CentOS without that much effort altogether.
I myself have an Epson Stylus CX5500 which unfortunately only comes with binary drivers. This was not much of a problem since the NAS200 has a i486 compatible CPU. I find this is relatively unique among different NAS models.
Alas, the performance was quite disappointing. I should be used to the NAS200 underperforming. But really, this was truly sad. I did not bother to test the printing, but I did try scanning with it. Running scanimage to scan a single page was taking over 15 minutes before I hit Ctrl+C.
It was an idea, but the results were so sub par. The only take-aways of this are:
...
- UNIX find with dates
(posted 2013-10-14
, updated 2021-12-25
)
-atime/-ctime/-mtime the last time a files's access time, file status and modification time, measured in days or minutes. Time interval in options -ctime, -mtime and -atime is an integer with optional sign.
n: If the integer n does not have sign this means exactly n days ago, 0 means today.
+n: if it has plus sing, then it means more then n days ago, or older then n,
-n: if it has the minus sign, then it means less than n days ago (-n), or younger then n. It's evident that -1 and 0 are the same and both mean today.
...
- Enable local file caching for NFS share on Linux
(posted 2013-10-07
, updated 2021-12-25
)
In Linux, there is a caching filesystem called FS-Cache which enables
file caching for network file systems such as NFS. FS-Cache is built
into the Linux kernel 2.6.30 and higher. In order for FS-Cache to
operate, it needs cache back-end which provides actual storage for
caching. One such cache back-end is cachefiles. Therefore, once you
set up cachefiles, it will automatically enable file caching for NFS shares.
...
- sdf.org
(posted 2013-09-30
, updated 2021-12-25
)
sdf.org
This one is an interesting site.
The Super Dimension Fortress is a networked community of free software authors, teachers, librarians, students, researchers, hobbyists, computer enthusiasts, the aural and visually impaired. It is operated as a recognized non-profit 501(c)(7) and is supported by its members.
Our mission is to provide remotely accessible computing facilities for the advancement of public education, cultural enrichment, scientific research and recreation. Members can interact electronically with each other regardless of their location using passive or interactive forums. Further purposes include the recreational exchange of information
concerning the Liberal and Fine Arts.
Members have UNIX shell access to games, email, usenet, chat, bboard, webspace, gopherspace, programming utilities, archivers, browsers, and more. The SDF community is made up of caring, highly skilled people who operate behind the scenes to maintain a non-commercial INTERNET.
...
- Driving Continuous Integration from Git
(posted 2013-09-22
, updated 2021-12-25
)
Testing, code coverage, style enforcement are all check-in and merge
requirements that can be automated and driven from Git.
If you're among the rising number of Git users out there, you're in
luck: You can automate pieces of your development workflow with Git
hooks. Hooks are a native Git mechanism for firing off custom scripts
before or after certain operations such as commit, merge, applypatch,
...
- Off site backup options
(posted 2013-09-19
, updated 2021-12-25
)
This is my working notes on doing off-site backups to the cloud.
Still trying to figure out where to keep Offsite backups.
These are the candidates:
...
- No Comment
(posted 2013-09-19
, updated 2022-11-02
)
This should require no explanation...
...
- Alarm Notification
(posted 2013-09-19
, updated 2022-01-10
)
This tutorial describes how to use the alarm manager to set alarms and how to use the notification framework to display them. In short, the sequence goes like this:
In an Activity AlarmManager.set is called with a PendingIntent containing a Uri.
When the alarm goes off, the Uri is called triggering a BroadcastReceiver.
In the BroadcastReceiver NotificationManager.notify is called with a PendingIntent.
When the notification is clicked, the Activity in the PendingIntent is started.
...
- DID vendors
(posted 2013-09-13
, updated 2021-12-25
)
So I have been researching DID vendors with limited success. So far my
leading candidates are:
Vendor
...
- Parsing JSON in Shell scripts
(posted 2013-09-06
, updated 2021-12-25
)
This can be simple by using jq.
This is a command line JSON processor. Here are a couple of examples of what can be done:
$ cat json.txt
{
"name": "Google",
...
- Yealink W52P
(posted 2013-08-28
, updated 2021-12-25
)
Yealink W52P
So I was looking to replace my analog cordless phones mainly because I wanted to have a centralized way to maintain phonebooks. Right now I have two cordless phone that I have to manually enter phonebook entries on the two handsets independently.
Initially I was thinking of getting small/cheap Android tablet and load it with a SIP soft phone. Trying with a couple of tablets I had was not very successful. On one hand my network topology did not work very well, on the other hand, the integration of the SIP soft phone with the directory and the other phone functions did not work as well as I expected.
So when I came across the W52P, I was initially attracted to the low price. Grandstream had a cheaper phone, but it did not have remote phonebooks. After checking the documentation of the W52P, I confirmed that it did have a remote phonebook functionality. So bought it and tried it out.
As a phone itself, it is about the same as the analog phones that it was replacing. The voice quality was pretty good.
...
- Grandstream GXP1400
(posted 2013-08-28
, updated 2021-12-25
)
Grandstream GXP1400
The other day I replaced an analog phone with a Grandstream GXP1400 IP phone. I think it is a great value phone. It is one of the cheapest I could find yet supports all the features I was looking.
Specifically I wanted a IP phone that could:
Have a remote phone directory
...
- Backing up GMail
(posted 2013-08-28
, updated 2021-12-25
)
The other day I found Gmvault.
Gmvault is an open source Gmail backup software written in Python.
This article provides a good overview on how it works (found it better than the Gmvault documentation):
How to back up and restore Gmail account on Linux
...
- BOX.com promotions
(posted 2013-08-26
, updated 2021-12-25
)
This is a good link to keep an eye on: box.com promotions
...
- Alternative to DynDNS
(posted 2013-08-23
, updated 2021-12-25
)
linuxaria blog article This article has a script how to use Dynamic DNS on afraid.org.
...
- assist
(posted 2013-08-22
, updated 2021-12-25
)
Assist is my archlinux scripted installation script.
https://github.com/alejandroliu/assist
By default it gives you a menu driven archlinux installation with supposedly sensible defaults.
It has command line hooks so that you can perform automated installs using bash scripts to customize it.
...
- SSH Tricks
(posted 2013-08-21
, updated 2021-12-25
)
A bunch of stupid SSH tricks that can be useful somehow, somewhere...
Forcing either IPv4 or IPv6
This is for the scenario that you know which specific protocol works
to reach a particular host. Usually good to eliminate the delay
for SSH to figure out to switch IP protocols. For IPv4:
ssh -4 [email protected]
...
- Running Windows on Linux for Free
(posted 2013-08-21
, updated 2021-12-25
)
Microsoft is now making available Windows VM image for testing Internet Explorer for free. You can find them at: Modern IE testing Currently the following versions are available:
Windows XP Professional SP3 + IE 6 or 8
Windows Vista + IE 7
Windows 7 + IE 8, 9, 10 or 11
Windows 8 + IE 11
...
- Remote VirtualBox
(posted 2013-08-21
, updated 2021-12-25
)
RemoteBox is a Remote VirtualBox UI. It is similar phpVirtualBox in that allows to manage VirtualBox remotely (on a potentially headless server). They differ in their requirements:
RemoteBox does not require much on the server, but you need to install it on the client.
phpVirtualBox only requires a browser and rdp viewer on the client, but requires a web server with PHP support on the server.
...
- IPv6 testing
(posted 2013-07-04
, updated 2021-12-25
)
When trying to get on-to the IPv6 Internet, here are a couple of links to do diagnostics:
http://www.subnetonline.com/pages/ipv6-network-tools/online-ipv6-ping.php
This actually contain generic network tools.
http://ds.testmyipv6.com/
Confirm if your browser is connecting through IPv6
...
- PingTool.org
(posted 2013-07-03
, updated 2021-12-25
)
Another short and sweet. This web site provides a number of on-line
tools. Useful for diagnosing problems when setting a home server.
http://pingtool.org/
...
- Web Backups
(posted 2013-07-02
, updated 2021-12-25
)
As usual with any IT system backups are important. This does not change when using a free shared hosting provider. Because it is free, one would argue it is even more important.
For my wordpress web site I used something called cli-exporter. It let's you create "Wordpress" export files from the command line so it can be run from cron. This is important because backups have to be automated.
In addition to that, I copy the backup files to an off-site location. I do this by copying files using WebDAV to a storage provider. I did this by writing a simple script and using the PHP library SabreDAV which makes writing DAV clients quite easy.
I myself don't mind using other people's Open Source code to do something. I was actually surprised that I was not able to find something that meet my criteria. However, thanks to the power of open source I was able to find something that fit the bill exactly.
To make things more interesting, because I wanted to keep backup files as compressed Zip archives, my backup scripts did not work in one of the web hosts that I was using. They did not have the zip extensions enabled. This is surprising considering is quite standard. Luckily I was able to find a pure PHP library pclzip.
...
- Mini-Howto: Setup proxy on Ubuntu
(posted 2013-07-02
, updated 2021-12-25
)
A quick and dirty mini-howto to setup a proxy on Ubuntu.
This is meant mostly for doing quick setup of a proxy
on a cloud environment.
Install Squid with the following command at the Linux command prompt:
...
- Using CloudFlare
(posted 2013-07-01
, updated 2021-12-25
)
So I have signed up 0ink.net to use the CloudFlare service.
CloudFlare is a reverse proxy service that is supposed to speed up and improve web server security.
This is done by:
globally distributed reverse proxy cache network
...
- Askozia Desktop Appliance
(posted 2013-07-01
, updated 2021-12-25
)
So last weekend finally had some time to work with a Askozia Desktop Appliance.
It actually arrived much earlier but without a Power Supply. Initially I though, "this is strange; I didn't know this supported PoE". (Power Over Ethernet). It turns out it didn't and there was a shipping mistake. After contacting the vendor, they sent me the required Power Supply.
Overall I think the product is quite nice. It has a very nice User Interface that is quite easy to use. Simple configurations are indeed very easy to set-up.
My feeling is that, as with any GUI, it usually trades user-friendly with expressiveness. So while I could configure most of the things I wanted from the UI, it did not support my home network topology fully.
Initially, I had a DMZ vs Home-LAN configuration, with the Askozia box in the DMZ. Because the separation between the DMZ and the Home-LAN was through the router, it considered all the IP phones (in the Home-LAN) on the other side of the NAT, so things did not work properly.
...
- CipherUSB
(posted 2013-06-24
, updated 2021-12-25
)
This is an interesting concept. Essentially is an Encryption dongle
that encrypts stuff between your PC and your USB mass storage device.
Addonics Product: CipherUSB.
...
- Upgrading pacman config files
(posted 2013-06-06
, updated 2021-12-25
)
So when upgrading software packages sometimes you need to merge changes. My recipe in archlinux is as follows:
Look for *.pacnew files.
Retrieve the original version (from /var/cache/pacman) from the old source package.
Use a 3 way merge tool between old version, current file and the pacnew file.
...
- libmspack
(posted 2013-06-05
, updated 2021-12-25
)
Recently I found this Open Source project. Apparently it recently
gained support to unpack Exchange Offline Address Book files. What
I don't know is after you unpack it, how would you use such a file.
Intriguing but apparently falls a little bit short. Probably would need
to try it out for myself to see how it works.
libmspack.
...
- atratus project
(posted 2013-06-05
, updated 2021-12-25
)
The other day I came across this project. Looks an interesting idea. It is a project that lets you run unmodified Linux binaries on Windows. It is more similar to WINE than to for example coLinux. While I conceptually I understand how it would work at a low level, I am curious how it works with dynamically link executables. This is something I would like to test out when I have time.
...
- Media Tips
(posted 2013-06-02
, updated 2021-12-25
)
This is an article about different media (and more specifically)
video files can be manipulated.
This is just for historical purposes as now almost everything can be
done using ffmpeg and the right options.
libmp4v2 contains:
...
- Diskless Archlinux
(posted 2013-06-01
, updated 2021-12-25
)
I am still to test this recipe
Server Configuration
First of all, we must install the following components:
A DHCP server to assign IP addresses to our diskless nodes.
A TFTP server to transfer the boot image (a requirement of all PXE option roms).
...
- OpenWRT web
(posted 2013-05-30
, updated 2022-01-10
)
Some useful tidbits to use when using the OpenWRT embedded web
server (uHTTPD).
Embedded Lua
uHTTPd supports running Lua in-process, which can speed up Lua CGI
scripts. It is unclear whether LuCI supports running in this embedded
interpreter. LuCI seems to work fine (if not better) with the embedded
...
- Program Documentation
(posted 2013-05-29
, updated 2021-12-25
)
So these are my ideas on how to document projects. There are three types of documentation types:
User guides
Targetted and end-users of the software and people who want a brief overview.
Man pages
Again targetted at end-users but also sysadmins. Usually to address a specific feature.
...
- Git Tutorials
(posted 2013-05-28
, updated 2021-12-25
)
Reference for Git tutorials
http://linux.yyz.us/git-howto.html
http://git.or.cz/course/svn.html
http://spheredev.org/wiki/Git_for_the_lazy
http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html
...
- Remote Bridging
(posted 2013-05-27
, updated 2024-10-23
)
Sometimes we need to connect two or more geographically distributed ethernet networks to one broadcast domain. There can be two different office networks of some company which uses smb protocol partially based on broadcast network messages. Another example of such situation is computer cafes: a couple of computer cafes can provide to users more convinient environment forr playing multiplayer computer games without dedicated servers. Both sample networks in this article need to have one *nix server for bridging. Our networks can be connected by any possible hardware that provides IP connection between them.
Connecting Two Remote Local Networks With Transparent Bridging Technique
Short description
In described configuration we are connecting two remote LANs to make them appearing as one network with 192.168.1.0/24 address space (however physically, presense of bridges in network configuration is not affecting IP protocol and is fully transparent for it, so you can freely select any address space). Both of the bridging servers has two network interfaces: one (as eth0 in our example) connested to the LAN, and second (eth1) is being used as transport to connect networks. When ethernet tunnel between gateways in both networks will be bringed up we will connect tunnel interfaces with appropriate LAN interfaces with bridge interfaces. Schematically this configuration can be following:
...
- Network wiring notes - 8P8C / RJ45
(posted 2013-05-27
, updated 2021-12-25
)
What you were probably looking forT568A/B (10-BASE-T and 100-BASE-TX):
With pin positions are counted from left to right with the contacts facing you (clip on the back) and pointing up (cable coming out the bottom):
Color (568B)
...
- Native Kerberos Authentication with SSH
(posted 2013-05-27
, updated 2021-12-25
)
This article is about integrating OpenSSH in a kerberos environment.
Allthough OpenSSH can provide passwordless logins (through Public/Private
keys), it is not a true SSO set-up. This article makes use of
Kerberos TGT service to implement a true SSO configuration for OpenSSH.
Pre-requisites
First off, you'll need to make sure that the OpenSSH server's Kerberos configuration (in /etc/krb5.conf) is correct and works, and that the server's keytab (typically /etc/krb5.keytab) contains an entry for host/fqdn@REALM (case-sensitive). I won't go into details on how this is done again; instead, I'll refer you to any one of the recent Kerberos-related articles (like this one, this one, or even this one). Just be sure that you can issue a kinit -k host/fqdn@REALM and get back a Kerberos ticket without having specify a password. (This tells you that the keytab is working as expected.)
...
- My new 0ink.net site
(posted 2013-05-27
, updated 2021-12-25
)
So one weekend went by and managed to finish up my 0ink.net web site. So now I have:
wordpress
For main content.
tt-rss
This is my answer to Google's shutdown of the Reader service.
...
- Mirroring a Gitorious repository to GitHub
(posted 2013-05-27
, updated 2021-12-25
)
There is nothing special with GitHub and
Gitorious here. This technique would work
exactly the same the other way around or with other servers.
In a nutshell
# Inital setup
git clone --mirror git://gitorious.org/weasyprint/weasyprint.git weasyprint
...
- Kerberos howtos
(posted 2013-05-27
, updated 2021-12-25
)
Kerberos is a network authentication protocol which works on the basis
of "tickets" to allow nodes communicating over a non-secure network to
prove their identity to one another in a secure manner. (Source
Kerberos_(protocol) )
Backups
Create backup:
...
- Emacs Cheat Sheet
(posted 2013-05-27
, updated 2021-12-25
)
Quick reference article for how to use Emacs. Yes, it is really
old skool!
Cursor Motion
...
- ArchLinux tips
(posted 2013-05-27
, updated 2022-03-03
)
A bunch of recipes useful for an ArchLinux system environment.
Mostly around system administration.
Custom Repos and Packages
In the repo directory, put all the packages in there.
repo-add ./custom.db.tar.gz ./*
...
- PHP notes
(posted 2013-05-23
, updated 2021-12-25
)
Notes on doing different things within the PHP language.
Object oriented introspection
property_exists(obj,prop_name)
method_exists(obj,method_name)
is_a(obj,'clas_name') or ($obj instanceof ClassName)
...
- Git recipes
(posted 2013-05-23
, updated 2024-10-23
)
Sharing repositories
setting git email per repository
A collection of small useful recipes for using with Git.
...
- Getting rid of DRM on e-books and videos
(posted 2013-05-22
, updated 2021-12-25
)
Instructions on how to remove DRM from E-Books and videos.
How to Remove DRM from Ebooks (and Back Up Your Library Permanently)
The easiest way to strip DRM from Kindle books (and Barnes and Noble, Adobe Digital Content, etc) is with the free ebook software Calibre, DRM removal plugins, and a copy of the Kindle desktop software (PC/Mac). These directions are for Kindle, but will work with Barnes and Noble, Adobe Digital Editions, and older formats. Here's what you need to do:
Download Calibre, the the plugins, and the Kindle Desktop software.
Unzip the contents of the plugin directory.
...
- Wordpress links
(posted 2013-05-21
, updated 2021-12-25
)
This article describes how you creeate hyperlinks within
Wordpress. There are a number of ways to do this, depending
on the configuration and the types of data we are linking to.
Linking Without Using Permalinks
This actually works whether or not Permalinks are active. Using the numeric values found in the ID column of the Posts, Categories, and Pages Administration, you can create links as follows.
Posts
...
- International Phonetic Alphabet
(posted 2013-05-21
, updated 2021-12-25
)
Phonetic Alphabet
1
2
...
- Makefiles
(posted 2013-05-20
, updated 2021-12-25
)
Some notes on GNU Make. I always have to look-up these in
the manual. Here now for my own convenience.
GNU Make automatic variables:
From http://www.gnu.org/software/make/manual/html_node/Automatic-Variables.html.
$@
...
- Issue Tracker
(posted 2013-05-19
, updated 2021-12-25
)
Use DVCS as backend (GIT)
Output html
markdown
Prefer perl/python
Mostly RO so to avoid merge conflicts.
...
- Cleaning up Google Calendar
(posted 2013-05-19
, updated 2021-12-25
)
Recipe for cleaning a google calendar.
Sign in to Google Calendar
Click on Calendar Settings (current version has this just above the list of personal calendars, under an arrow).
Click on "Delete" of the main calendar.
A confirmation dialog box appears telling you that that "This deletes all events on primary Calendar".
...
- Automatically adding systems to an AD domain
(posted 2013-05-19
, updated 2021-12-25
)
When using virtualisation it is very common to create template VMs
that can be cloned from. This makes deployment much easier than having
to install a new VM from scratch. Unfortunately, the cloned VMs lack
any Active Directory memberships and the VMs have to be manually
added to the AD domain. For automated deployment scenarios this is
less than desirable. This recipe intends to solve that issue in a
...
- SATA/IDE warm plug/unplug
(posted 2013-05-18
, updated 2021-12-25
)
This is for SATA and IDE interfaces that do not automatically detect added/removed devices.
Scanning for newly added discs:
echo "- - -" > /sys/class/scsi_host/host0/scan
safely removing a disk
echo 1 > /sys/block/sda/device/delete
...
- Icons
(posted 2013-05-17
, updated 2023-04-25
)
Finding icons:
iconfinder.
In 2023 I am using:
icons8
This allows to download icons in different formats, and also allows
you to do tweaks such as:
...
- On-line Web Authoring Resources
(posted 2013-05-16
, updated 2021-12-25
)
A collection of links for Web-Authoring. This focuses on using
Web (HTML and CSS) technologies directly and not through a
CMS like Wordpress.
http://www.webestools.com/
Free online tools, generators, services, scripts, tutorials.
...
- First steps...
(posted 2013-05-16
, updated 2024-10-22
)
So finally took the time to re-launch the 0ink web site. This time used more off-the shelf
software. So this site is just a another plain wordpress powered site.
Actually I have to thank my son for introducing me to wordpress.
What happened is that my son, who is only seven wanted to have his own web site. (Due to peer
pressure, kids these days...)
He has an Android tablet that he uses quite often. Since I knew that wordpress can be
...
- We are back...
(posted 2013-05-15
, updated 2021-12-25
)
After a long time in Limbo we are back with 0ink.net as a live
site.
...
- Local Perl packages
(posted 2013-05-15
, updated 2021-12-25
)
Determine what is the local PERL5LIB configuration:
LIB=$(
for d in `tr : ' ' <<<$PERL5LIB
do
if [ -w $d ] ; then
echo $d
...
- Linux Keyboard Tips
(posted 2013-05-13
, updated 2022-03-03
)
Miscellaneous hacks to use the keyboard under Linux.
Special Characters on X11
The compose key, when pressed in sequence with other keys, produces a
Unicode character. E.g., in most configurations pressing Compose e
``` produces é. Compose keys appeared on some computer keyboards
decades ago, especially those produced by Sun Microsystems. However,
...
- Bash Tips
(posted 2013-05-13
, updated 2023-12-09
)
Some bash one-liners:
echo ${!X*}
Will print all the names of variables whos name starts with X. To
output the contents of a variable so it can be parsed by
bash
...
- Keep e-mail private
(posted 2013-05-09
, updated 2021-12-25
)
This is a handy tip.
If you don't want to give out your real email address to register for
a site and don't want to go through the hassle of creating a spam
email address, just point your browser to
Guerrilla Mail
upon loading the page you'll have an automatically assigned email
...
- Git Workflows
(posted 2013-05-09
, updated 2024-11-22
)
Start working on a Topic Branch
Keep Topic Branch current
Merge a Topic Branch
Start working on a HotFix
Keep HotFix Branch current
...