androidVNC and Linux

Have you been away from your PC and wished you could login and start a job or view a file? Do you run Linux on your PC and use an Android phone? If you answered yes to these questions, you came to the right place. In this article, you’ll see how to connect to and control your Linux PC from anywhere in the world using your Android phone. Required Software On your Linux PC, install the following packages using your distro’s package manager: ...

October 12, 2024 · 6 min

TigerVNC on Linux

Virtual Network Computing or VNC makes it possible to remotely access the graphical desktop environment of another machine. There are a number of projects out there that implement the VNC protocol. Typically, these projects provide two applications: a VNC server and a VNC client. The remote target machine runs the VNC server program. A VNC client instance connects to the target’s VNC server. The client application is a GUI application that renders the graphical display of the remote target. The image below illustrates the concept: ...

October 10, 2024 · 4 min

rsbot

Are you a fan of the MMO RuneScape? Are you not a fan of the grinds RuneScape subjects its players to? If you answered yes to these two questions, it’s likely botting has crossed your mind. Put aside that botting is against the game’s rules. Creating a scriptable bot that can avoid RuneScape’s bot detection system presents a number of interesting technical problems. This article explores the creation of a rudimentary bot: an auto clicker bot. ...

September 5, 2024 · 9 min

Cellular Textures

The article “Making Cellular Textures” gives a good description of how you would go about generating textured images like the ones shown below. The authors’ descriptions and pseudocode provide the basis for the implementation of a CLI texture generator. This article describes such a tool and its performance when generating a number of different textures. Texture Parameters The goal of the tool is to generate a texture as a MxN grayscale PNG. The program exposes five key parameters that control the look of the output image: ...

August 22, 2024 · 5 min

ffmpeg Video Editing Hacks

ffmpeg is a powerful command line tool for processing video and audio files. ffmpeg can do just about anything you can imagine with media files. The trouble is in understanding how to invoke the program correctly. There are a few options that require some Linux and multimedia expertise to get right. This article covers a couple handy ffmpeg hacks that have made much of the audio/visual content on this website possible. The commands presented here are MP4 centric. That said, you can modify most of the commands to work with alternative formats (for example, WebM). ...

July 15, 2024 · 4 min

Ulam Spiral

The Ulam spiral is a graphical depiction of a set of prime numbers devised by the mathematician Stanislaw Ulam. To quote the Wiki, it’s constructed by writing the positive integers in a square spiral and specially marking the prime numbers. The outcome is a square with distinct diagonal, horizontal, and vertical lines. This post will walk through the development of a Ulam spiral visualization tool. Creating a Ulam Spiral Take a look at the 4x4 Ulam spiral below: ...

May 2, 2024 · 8 min

Caesar Cipher

The Caesar Cipher (CC) is a classic symmetric key algorithm dating back to the time of Julius Caesar. If you are new to cryptography, the Caesar Cipher is a great first crypto algorithm to learn. This post will walk through the details of implementing a CC encrypt/decrypt function. You’ll then get a look at the internals of a CC code cracker. Algorithm Description There are four key ingredients to a Caesar Cipher: ...

April 9, 2024 · 10 min

An Interview with Shared Pointers

Have you implemented a shared pointer class in C++? If you have, did you do it in an interview setting? You might be familiar with the STL shared_ptr and the fact that many implementations of shared_ptr use reference counting to manage the lifetime of a dynamically allocated object. That said, if you’ve never thought about or tried to actually implement the concept itself, doing so in an interview is a tall order. This article walks you through the implementation of an interview grade SharedPtr class. ...

March 9, 2024 · 7 min

Linux Kernel Development Using QEMU

This article gives an overview of how to setup a Linux kernel development environment that leverages QEMU. Why should you bother with this setup? Here are the highlights: Make changes to core kernel code or modules without the risk of loading buggy kernel code onto real hardware. Up the speed of the edit, build, run cycle while developing kernel code. The ability to test code across different architectures (for example, aarch64, x86_64, etc.). What’s QEMU? According to Wikipedia: ...

February 20, 2024 · 8 min

The Sierpinski Triangle

Do you remember when you first learned about recursion? The thought triggered a memory from an old CS101 Java course. The textbook had some fractal triangle thing made with only 20 lines of code. At the time, it was a confusing 20 lines of code. A quick search on Google for “fractal triangle recursion” led straight to the Sierpinski triangle. A Sierpinski triangle generator with an ncurses visualization is a fun afternoon project. ...

February 7, 2024 · 6 min