RSSAmplifier

Blog

ces

ces.mataroa.blogRSS feed ↗22 posts

Latest posts

Failed Interview Experience #N

In a previous blog entry I had talked about an instance where I failed an interview for the first time, in the very first round, no less. That was when I was a newbie and so I can rationalize it away as sort of understandable. Fast forward about 25 years and brimming with overconfidence I managed to flunk an interview - again at the very first round - this one over a trivial coding problem. This…

romforth ported to the '3 cent' microcontroller

Jay Carlson blogged about the 3 cent microcontroller all the way back in 2019. In particular I liked this comment of his: "When you're working on a part with no peripherals, 1K of program memory, and 64 bytes of RAM, you are probably not going to the moon (that would require 70K of program memory and 2K of RAM YouTube ." Ok, so you cannot go to the moon, but can you at least get Forth running on…

Failed Interview Experience #1

Matt Godbolt's recent blog entry about using the population count instruction to count bits made the rounds on HN recently and I was reminded of an interview where I was asked to write the code to count bits and I didn't quite flunk it but failed anyway. This is my interview experience from almost ~30+ years ago when I had "only" ~2+ years of coding in C under my belt - but it included writing a…

romforth ported to the IBM 1130

romforth is a dialect of Forth which is meant to be easily portable. I recently completed the port of romforth to the IBM 1130 . The IBM 1130 holds a special place in Forth history since it was one of the earliest systems on which Chuck Moore , the creator of Forth prototyped his initial/first(?) version, all the way back in 1968. The IBM 1130 was in existence even before I was born so it was an…

Troubleshoot flashing Arduino from Ubuntu (as the `ubuntu` user)

TLDR{ Add the ubuntu user to the dialout group when connecting to an Arduino }TLDR My kid was learning to blink leds using an Arduino at a summer camp that he attended recently. He was interested enough to ask if I could buy him an Arduino kit so he could try things at home as well. We went window shopping at the local Micro Center (which opened fairly recently) and found that they did carry a…

Building binutils

The romforth project leverages binutils to assemble/link/disassemble code for various architectures. The way to build binutils for these different architectures is arcane and rather than subject folks who want to use romforth to that, I've created a repo called build-binutils which will build all of the binutils binaries that are needed by romforth . Using it is straightforward: just run make and…

Teaching my kid (and Chatgpt) about PIC (and pikchr)

I stay in an old home built in the 40's (probably remodeled in the 00's) and some of the electrical outlets don't work and so I thought I'd document the layout of the house and the locations of the outlets prior to calling in the electricians. I don't have any existing "documentation" about the house itself, no room layout blueprints, no wiring diagrams or even details about the plumbing or…

Turn photos into pdfs (and shrink them)

For the Indian "e-visa" application, the consulate wanted photos to be: uploaded as a pdf the pdf needed to be smaller than 300KB in size More recently, they have started accepting jpg/png as well but since I had to do all this research to figure this stuff out, I might as well document it all here in case I ever need it in the future again. Note: To get the photos (usually jpg/png) from the phone…

Copy photos from an Android phone using the CLI

The steps required are roughly these: Connect your Android phone to your laptop using a USB cable. Select "Transfer files" on the Android phone pop up that shows up On the laptop run the following in your shell (I'm using bash ): [ -d ~/phone ] || mkdir ~/phone ; jmtpfs ~/phone Note: I prefer jmtpfs over plain old mtpfs since I've seen fewer hangs with it. If your distro of choice does not have…

AI, know thyself

I've been using ChatGPT (and some of the other instantiations of the current crop of AI that are available for free, without a login) more and more recently, and one of the problems that I run into, with all of them, is what I'd classify as a lack of self awareness. I assume most of us are familiar with how the information we hold in our own heads can be classified. They can be split into 4…

Generating static binutils binaries (various archs) using zig + musl

In the romforth project I've created a "gradually implementable Forth" where you can follow a step wise approach to port Forth to any architecture of your choice. I've been using binutils for generating the assembler/disassembler/objdump binaries for the architectures for which I've already worked on a port. Recently while moving distros I needed to rebuild the binaries and decided that rather…

Gentoo + olvwm => Bye Ubuntu

In a previous blog entry I had gone into gory detail about selecting a distro to run on my ancient Toshiba laptop (which has just 256MB of memory). I have a laptop of similar vintage which will soon be reaching its 20'th birthday which I use for all of my internet access/browsing. It currently runs Ubuntu 16.04 and my attempts at "upgrading" it to newer versions of Ubuntu have all failed, stymied…

Linux From Scratch - with a little help from AI

In a previous blog entry I had discussed building a tiny linux distro and ended up with ~1 MB kernel + ~1.5 MB busybox initrd which worked fine for my purposes. While that was fairly quick and easy (and pretty barebones), I wanted to see how I would fare by following the standard Linux From Scratch instructions while tweaking things to meet the following requirements as well: stay small(ish) use…

Booting Gentoo livecd (liveGUI) into "Kiosk" mode

In a previous blog entry , I talked about booting the Gentoo ISO image directly from the disk, without using a CD/DVD or even copying the image to a USB stick. This is a followup to describe how to boot up Gentoo into a purpose built "kiosk" mode rather than the generic "KDE Plasma" GUI. I'm going to first show how to boot Gentoo with a "nox" option in the GRUB entry and then set up the .xinitrc…

Booting a Gentoo LiveCD ISO image from the disk

To boot an ISO image, in many cases you don't really need a CD/DVD or even a USB stick. A quick and easy way to checkout a new distro is to run it under a VM (via qemu/kvm or any of the other options) and if you like it, you can then just add a grub entry to be able to boot it up on baremetal directly from the hard disk. Here's a grub entry I added recently to boot the last Gentoo LiveCD ISO…

When your USB stick goes readonly and fails to mount

TLDR{ A USB stick that I used for backup suddenly turned readonly and failed to mount If it is still readable, make a backup first If it is an ext[2,3,4] fs, use the ro,noload options to mount it }TLDR I've been using a SanDisk 128GB USB stick as a backup device for ~5 years now. Recently it failed to show up when plugged in, so I had to scramble to see what went wrong. The annotated list of…

tlb : tinyconfig linux build

I wanted to run a bunch of VM's over the terminal (serial console) with minimal resource usage and decided to build a version of linux from scratch along with a build of busybox for the userland shell. Using the tinyconfig configuration to build the linux kernel (+ additions) and the defconfig configuration to build busybox, I was able to get a minimal but functional VM running under QEMU. The…

DAT Prep

DAT prep notes Links to official / info sites: https://www.ada.org/education/testing/exams/dental-admission-test-dat https://en.wikipedia.org/wiki/Dental_Admission_Test Wikipedia entry https://www.prometric.com/sites/default/files/ada/DAT/ Sample test https://www.youtube.com/watch?v=3Jiun8qLqco : 1 hr, 30 min video from ADA Some YouTube links for the DAT prep: First some overviews/perspectives:…

Restarting the work on documenting the family tree

Vavanty 1 did a huge amount of research to collect a vast amount of data about our family tree (starting from ~200 families to ~double that now). But for one reason or another, I didn't get around to collating all of it. I think the problem started when I needed to update the data after my Mom died. In the text file twf that I use to track all of this data, all that I had to do was add ",78" after…

Hello World

This is just a test of the markdown support on this website test automatic links <mataroa.blog> : doesn't seem to work test lists : works test italics : works test bold : doesn't seem to work - same as italics test bold italics : doesn't seem to work - italics again test numbered list item one : doesn't seem to work test numbered list item two : doesn't seem to work Test code blocks : works…

Distro (s)hopping for an ancient laptop

All of my laptops are probably vintage items now. The oldest one that I have and still use is a ~20 year old Toshiba Satellite (bought ~2003) with 256MB RAM and a 40GB disk. It came installed with Windows XP , but since I was working at Sun Microsystems at that time, I wanted to try Solaris on it and luckily I was able to dual boot it into Solaris 6 (or perhaps Solaris 8, don't remember exactly…

TWF : A DSL/flat file format to describe family trees

Pretty much everyone has drawn family trees - most children do it, probably as early as their kindergarten years and in most cases, for most people, it never progresses beyond that kindergarten level - usually, with just 3 layers in the tree : grandparents, parents and "me". Although I too have drawn those trees, I wanted to push beyond that to see how far up the tree I could climb and so that was…