The Application 👋 The Snobol/Spitbol web application discussed below can be found at snobol.dev The Motivation SNOBOL4 stands out as one of the most fascinating historical programming languages I’ve encountered. Developed at Bell Labs in the 1960s, SNOBOL4 quickly proved to be more captivating than the original research project it was created to support. SNOBOL4 is unlike any other language. It…
Dual degrees in Computing Science and Actuarial Mathematics Working towards MBA with focus on analytics and operations First computer was a Zenith Heathkit (Z-248) around 1987 First ‘programming’ computer: Dell XPS T600 (600MHz + 512MB RAM) Current computer: HP EliteBook 840 G10 (i7-1370P + 64GB RAM) Back-end programming: C++, TypeScript (Bun), Snobol/Spitbol Front-end programming:…
The Application 💥 Feed your next fragging addiction at The Necropolis The Motivation The built-in server browser in Q3 is rather primitive… in fact, it hardly works anymore. It’s also not threaded, so you can’t even browse the servers unless you tell it to stop searching first. Brutal! Finally, the desktop applications that were once used to find servers (think GameSpy) are now…
Pre-Requisites To compile the FLTK library and use it within Windows… Visit WinLibs and download the latest GCC toolchain (UCRT runtime is the modern choice). Visit FLTK and download fltk-1.x.x-source.tar.gz. Extract with 7zip. 💡 Once WinLibs is extracted, ensure the full path to ming64/bin is in your PATH environment variable in Windows. It’s a good idea to test in a command prompt…
After exploring at least ten different programming languages with serious effort in the course of my career, there’s only been one that I feel fit all my needs. And even more shocking, is that literally nobody uses it. I’d suspect the current pool of users world wide is no more than thirty individuals based on the essentially dead mailing list (yes, newsgroups), IRC chat (yes,…
Recently I bought a new video card that came out only a few months ago, but to use it I required a much newer kernel than what Debian stable provided. These are my notes for how I went about building the latest kernel and installing the latest firmware. It is something that sounds intimidating but is really not hard at all. Installing local system pre-reqs for compiling sudo apt-get install git…
Quick reference notes I compiled for rebuilding and re-inserting vmmon and vment into the kernel; which has to be done everytime you upgrade your kernel. This is required when you get a message such as the below: Could not open /dev/vmmon: No such file or directory. Please make sure that the kernel module `vmmon' is loaded A major frustration when you usually least expect it! But not to worry, it…
Purchase from Chipnetics: Chipnetics store Purchase from Tindie: Tindie store RGB Compiz is a premium VGA to Component (YPbPr) convertor board for easy connectivity of VGA devices to consumer televisions - in particular, CRT displays. It also features a 3.5mm-to-RCA audio pass through for enhanced compatibility with our line of DSUB gaming dongles, OSSC, and other 3.5mm audio devices. RGB Compiz…
My quick reference guide on setting up and configuring a Docker container. Includes some notes on Azure Docker, too! The motivation behind experimenting with Docker and Azure was myself attempting to get custom exectuables to be called when new files arrive in a Azure Storage Container. Thought was that when a new file appears, there may be a mechanism to trigger an executable within a Docker…
Quick reference notes I compiled for setting up a virtual machine in Microsoft Azure. Deploy Azure VM Virtual Machines -> Create -> Azure Virtual Machine Be weary of SSH public key vs Password option, and what is better suited. Other options are fairly self-explanatory If SSH public key, be sure to same .pem file, and move to ~/.ssh/azureuser on dev machine. Afterwards, * on Blade -> Reset…
The Githhub repository for this project can be found here. Binance Futures CLI Trading A repository of small utilities that will help in trading futures on the Binance brokerage platform, using command line interface tools. Project Motivation Futures trading in cryptocurrency is fast-paced; especially when trading with leverage. The market, as any experienced trader knows, is highly volatile and…
Purchase from Tindie: Buy DreamBaby DreamBaby is a compact and efficient Sega Dreamcast AV Multi-out to DSUB (with 3.5mm audio-output) adapter to output 15Khz (240p) and 31Khz (480p) video. The DreamBaby is unique in that it can output both RGBHV, and RGBs, by using a sync combiner circuit. The Hsync and Vsync are taken directly off the Dreamcast GPU with Csync generated from these signals. This…
This is an entry-level article for developers to share with their non-programmer colleagues in a corporate environment, as both a tutorial and learning experience. In particular, I intend it for developers who wish to adopt usage of their CLI (command-line interface) programs amongst end-users, but require their end-users to have some pre-requisite knowledge. Having a basic understanding of how to…
The Githhub repository for this project can be found here. vfltk V wrapper for FLTK. As FLTK is written in C++; V must utilize a C wrapper for ease. The work cfltk is one such wrapper, which can be found here To use vfltk; you must build from the above project: libcfltk.a, libfltk.a [Required] libfltk_forms.a, libfltk_gl.a, libfltk_images.a [Optional, depending on how you use FLTK] Author…
The Githhub repository for this project can be found here. Doctools - Document Analytics Doctools are a collection of utilities for extracting plain-text from proprietary Microsoft Doc/Docx files; such that the resulting plain-text output can be used for. Diff operations (finding what has changed) - useful when tracking was not turned on in Word. Grepping / regex; and joining with other data sets…
The Githhub repository for this project can be found here. Primavera XER Tools A repository of small utilities that will help in analyzing the project schedules (.xer files) output by the scheduling software “Oracle Primavera”. These command-line utilities can be ran manually, or integrated into an automated-process/work-flow. In general these utilities follow the UNIX philosophy much…
The Githhub repository for this project can be found here. Pval - PDF and CDF Utility Pval is a utility for generating a PDF (probability density function) and CDF (cumulative distribution function) from a data-input file. It is a two-pass utility, such that the output on the first execution can be bootstrapped into the utility to generate “p-values” (i.e. P10, P50, P90); where the…
Pre-Requisites Download both the open source flasher utility and the pre-compiled binary file (firmware) below. Download the ESP8266 Flasher utility Here. Download the pre-compiled firmware (.bin) file Here. If you’re interested in the source to these files, they can be found on github: Source for ESP8266 flasher utility Here. Source for Rama GBSC firmware Here. Reflash Instructions In…
The Githhub repository for this project can be found here. Pivotdude Pivotdude is a utility to pivot data from an input file in a user-desired way. Pivotdude can be ran manually, or integrated into an automated-process/work-flow. In general it follows the UNIX philosophy much as possible. Note: This is the converse-utility of the tool unpivotdude, which can be found here Project Motivation We can…
The Githhub repository for this project can be found here. Unpivotdude Unpivotdude is a utility to unpivot data from an input file in a user-desired way. Unpivotdude can be ran manually, or integrated into an automated-process/work-flow. In general it follows the UNIX philosophy much as possible. Note: This is the converse-utility of the tool pivotdude, which can be found here Project Motivation…
For in stock items, refer to Tindie where all our products are sold. USA shipping (via USPS): 7-10 days Canada shipping (via Canada Post): 7-10 days Intercontinental shipping (via Asendia or APC): 30-60 days Alternatively if you’d like to be directly invoiced or don’t feel like signing up on Tindie, please drop me an email jeff at chipnetics dot com. Let’s Talk Shipping and Legal…
Purchase from Tindie: Tindie store What is it? A variant of the Rama GBSC as described Here Features Rear facing SCART input, so all your cabling can be at the rear of unit. Front facing DSUB/Component video input. Toggle between SCART and DSUB/Component input with a slide switch. Texas Instruments LM1881 sync separator and cleaner.[*] Rear facing RCA coaxial audio output (from the SCART audio).…
Purchase from Tindie: Buy PlayBaby PlayBaby is a compact and efficient PlayStation AV Multi-out to DSUB (with 3.5mm audio-output) for your PlayStation 1 and 2; to output 15Khz (240p) and 480i/480p video. On PlayStation 2 systems, this adapter will automatically handle both: RGBs [composite sync 240p games] RGsB [sync-on-green (SoG) 480p games] There is no human intervention required, the adapter…
At the beginning of January 2021 I set out to do my first Kickstarter project, which aimed to extend the GBS-Control video upscaler hardware with refined design and multiple inputs. Much of the Kickstarter writeup is repeated here, but I also outline some lessons learned inline with the article. It didn’t dawn on me until after the Kickstarter, that this is very likely the only 4-port…
Currently, Neo Geo AES systems are extremely expensive, and the barrier of entry into the world of Neo Geo is prohibitive for most. Herein is a kit to make your own Neo Geo console from original MVS boards. This kit will work with Neo Geo MVS boards with model number MV1C. The Neo Geo Slammer kit is unique in that it supports Super Nintendo controllers in place of Neo Geo controllers, making it…
I’ve been in an admittedly slow process of consolizing a Neo Geo arcade board (MV1C model), and one thing I quickly realized is that the price of original Neo Geo controllers is staggering - and if I really was going to pay full price for controllers I may as well go all-in and buy a home version of the console itself and call it a day. So one of the obstacles to overcome is to find an…
Purchase from Tindie: Buy SyncBaby SyncBaby is a compact and efficient SNES AV Multi-out to VGA D-Sub (with 3.5mm audio-ouput) for your Super Nintendo to output 15Khz (240p) RGB. Finally, no more poor quality, clunky, unshielded, leaky capacitor SCART cables; convert your SNES output to shielded VGA connection right away! Some features of this board: Onboard power filtering through decoupling…
This product has been replaced by the GBSC Apogee. Read about it Here. Purchase from Tindie: Tindie store What is it? An improved GBS8200 RGB to VGA converter board. These boards are mediocre quality in their original design; but with the included modifications, they compete with the legendary ‘Micomsoft Framemeister Mini’ for around 10% of the cost! This modified design includes: Rear facing…
Purchase from Chipnetics: Chipnetics store Purchase from Tindie: Tindie store SyncSlayer II is a premium SCART to RGBHV adapter with terminal posts for Vsync, Hsync, Csync, RGB and Audio left and right channels. It utilizes the ISL59885 by Renesas (note: the original SyncSlayer used the LMH1980 chip by Texas Instruments). For those who are interested, the ISL59885 datasheet is here The external…
If you’re late to the world of programming, now is the best opportunity for entry. While a deep understanding of programming is definitely not necessary to do data analytics, having a familiarity of the tools available is beneficial if you are looking to take your analytics to the next level. It’s also important to have some understanding of the tools available, and their differences, so that if…
Preamble It’s no secret that successful projects are the products of well defined contracts between the Owner and Contractor. However, often overlooked is how much value a contract has in project analytics, particularly in regards to stakeholder alignment and data engineering, such that owners can apply new industry methods to telling the story of where projects are headed. While it is difficult…
There has been tremendous push for Python, R, Scala, and Matlab in Data Science. And while I definitely see values in all these tools, I specifically feel as if there is nothing truly groundbreaking going on here. I was very happy to see this book on shelves, that appears to feels the same way I do. The sub-title is what stuck out to me: facing the future with time-test tools.
Convert STL into Fusion 360 Model Importing a STL model into Fusion 360 usually results in many faces that aren’t easily workable. Quick bullets on how to correct this. Insert–> insert mesh. Navigate to STL Will get pink model, which means dealing with a mesh body. To merge faces, keep design history off. So, right click on root of project and “Do not capture design…
I²C uses only two bidirectional open collector or open drain lines, Serial Data Line (SDA) and Serial Clock Line (SCL), pulled up with resistors. Typical voltages used are +5 V or +3.3 V. I won’t go into much detail on what I²C is, there is reams of information online about it; but here are some good articles if you need a background: Wikipedia The ‘Bus Pirate’ is a universal bus interface…
This is the firmware used in the Sweet15 device which you can read about here. The current code was written in BASCOM-AVR, and I used the built in debugger along with a Saleae Logic analyzer to compare the real world output with that of a Super Nintendo. I debugged the tar out of this thing to get the timings hopefully near perfect. You can program the BASCOM code easily onto a ATTINY2313 with the…
The Sweet15 is a retro gamer’s dream, especially for those who are always on the hunt for modern monitors that support 240p, otherwise known as 15khz… or 15.734264Khz if you’re a die-hard fan of gaming! I created it as I was always buying up older monitors, rushing home to hook them up, and then finding out they don’t support 240p. Bummer! Easily portable and powered by a button cell…
Preamble Sure, it’s always an option to run Windows XP in a Virtual Machine, but it doesn’t really feel authentic. There is a nice peace when working directly in a dedicated Windows XP system; in particular, speed. Most applications consume less than 20MB of RAM, there is not too many services running in the background, and social media / OS tracking is not existent. But frankly, it…
QRG on install of davfs in Debian for mounting Webdisks (the type in CPanel on webhosting) DAVFS related installs apt-get install davfs2 Add in /etc/fstab https://webdav.example:port/path /mnt/webdav davfs uid=username,noauto 0 0 Where username is the owner of the mounted file system. It may be a numeric ID or a user name and only root can mount a uid different from the mounting user. Note that…
It’s not broadcasted by Microsoft, but it is possible to embed a single Power BI page into a website by extending the generated iframe embed you can get from the Power BI publisher. Potential benefits: Lay a Power BI visual inline with other reporting elements (html bullets, lists, etc). Focus reader attention to a specific page in your report. When you’re in the Power BI publisher…
Download Intel Sata RAID/AHCI storage driver floppy In device manager change existing IDE ATA/ATAPI controller: If you do not already see “Standard Dual Channel PCI IDE Controller” in the list do the below: open IDE ATA/ATAPI controllers (click on +) right click the first Intel controller listed select “Update driver…” select “No, not this time, Install from a…
The default Visual Studio settings when you create a new project are fairly asinine. A lot of noise is generated during compilation, and files that you really don’t need are always polluting critical folders that you often navigate. Some of the options I immediately change are shown below. It’s almost best to create a single empty project with your preferred Visual Studio settings…
QRG on enabling and disabling a secondary monitor from the command line. I ran into issues when trying to run Steam with two active displays. It appears (at time of writing) that the Steam client is hardcoded to output to display co-ordinates 0x0 and (unfortunately) ignores whatever display is marked as default. In the case of my setup I have one display stacked directly above the other, so the…
QRG on install of Dymo LabelWriter 4XL, CUPS, and QZ-Tray on Debian Linux. DYMO related installs apt-get install printer-driver-dymo CUPS related installs apt-get install cups cups-bsd libnss3-tools libnss3-tools is neccessary for certutil, which qz-tray relies on. cups-bsd includes lpr, for command line printing. Don’t install lpr via apt directly as it is the non-bsd version that…
Basic initial setup of OPL on PS2 This tutorial assumes you already have SAMBA (smb) running, refer to my tutorial here if not. FreeDVDBoot Here Latest OPL build Here OPL Manager (managing your game collection on Samba) Here For PS1 compatibility You need these additional tools Latest POPSTARTER ELF file (for PS1) Here POPS_IOX.PAK Official Sony emulator of the PlayStation (PS1) for PlayStation 2…
Downloads Typical TinyCore Downloads 64bit and ARM Ports Basic initial setup of TinyCore Default Password Default pass is “piCore” Once the SSH keys generated, run the filetool to backup the keys. filetool -b Expand the install partition TinyCore will only flash into a very small amount of MB on the SD Card, leaving the rest of the partition void. The second partition, mmcblk0p2 is a…
This is a relatively simple thing to do in Excel, even though the value-added is huge and it sounds like something that would generally be difficult. Potential benefits: Send re-occuring updates of key metrics from spreadsheets, via SMS at click of a button Implement “IF” conditional statements to show certain data if they breach a threshold or target value Easy to build out natural…
For some reason I found an absurd lack of explanations online on why certain resistors must be used on video signal lines (VGA, Scart, BNC, etc). People give a value with no real proof, so I’ve made a few notes and discoveries which I can share. The most important things to know: Don’t get hung up on phrases like “Coax cable 75 Ohm terminated”… it doesn’t mean…
This is a concept design for a VGA line doubler that I’ve wanted to build for a while now. I’m putting my notebook rumblings on here for future reference, or if anyone wants to extend upon these ideas. A line doubler has long been a goal of mine but requires a fair amount of mental thought. Commercial line doublers are insanely expensive, so building a low latency one would be…
Configure your Raspberry Pi with gPhoto to automatically upload your dSLR photos to your website or cellular device I can’t get enough of taking photos, but the major buzzkill is having to remove a SD Card and put it into the computer and import photos into Lightroom. It’s practically a necessary evil when on the road. But when “in the lab”, it feels a little bit ridiculous. I’ve made a pretty…