RSSAmplifier

Blog

Cyclopedia Square

bryan-murdock.blogspot.comRSS feed ↗25 posts

Latest posts

Is this a game... or is it real? What's the difference?

People are absolutely obsessed and enamored by this new type of Artificial Intelligence (AI) we have. Generative AI. Large Language Models. Whatever you want to call them. When ChatGPT first came out it didn't seem that novel to me. I've played video games that seemingly conversed with me. I've chatted with ELIZA . But when I started playing with ChatGPT it was obvious that it was much better than…

My New Favorite Phone Game: termux

A lot of people when bored pull out their phone and play games. Games just don't do it for me for some reason. I mean, I played chess for a while, and recently I tried Shoot Bubble and 5 Dice (generic Yahtzee), but for some reason I always forget I even have them available and I end up just scrolling Twitter :-/ My feed is pretty good, if someone gets overly political or negative (usually its a…

Git Rebase Explained

Introduction Rebase is a helpful git command that can be used to turn a branchy two-headed version history into an easy to follow linear one. A linear history is much easier for a human eye to follow and a human brain to understand. Rebase is a very safe command to use, despite some fear that people have about it. This post should explain how rebase works and clear up any misunderstandings about…

My 2013 DVCon Paper and Poster

I just noticed that my 2013 DVCon paper and poster are no longer archived on the DVCon website. So, for my records at least, here they are: The poster: Poster: ASIC-Strength Verification in a Fast-Moving FPGA World The paper: ASIC-Strength Verification in a Fast-Moving FPGA World Apologies for the PDF of the paper, but converting it to html requires more time than I have at the moment.

Zmodem File Transfer With GNU Screen

I've been using screen as my serial terminal (as opposed to minicom or picocom) for a long time now. Today I had the need to transfer a file from my PC to the embedded device I was connected to with screen. Networking was not working, and a co-worker reminded me that zmodem was a way to transfer a file over the serial port. I googled for instructions on exactly how to use zmodem and I found stack…

Giving Bitcoin as a Gift

If you've been following along, you know I was considering giving bitcoin as a Christmas gift . I did end up giving bitcoin to friends and family for Christmas. I'm pretty happy with how it turned out. I went with the HD Paper Wallet solution, and so I wrote some python code to generate paper wallets . The code is open source, and instructions are in the README there on github. You'll probably…

Giving Bitcoin as a Gift, Initial Thoughts

'Tis the season and I'm thinking about how to give bitcoin as a gift, to non-technical people, without requiring them to do anything like create an account or download software in order to accept it. Paper Wallet Bitcoin paper wallets have been around a long time. The concept is simple. Generate a send/receive address pair (private/public key pair) and print them on a piece of paper. Basic…

Traffic in Little Cottonwood Canyon

This is my comment on the Utah Department of Transportation's plans to "to provide an integrated transportation system that improves the reliability, mobility and safety for residents, visitors, and commuters who use S.R. 210." This is long, but I have tried to order it in such a way that the most important points come first, so don't give up now. At least read the first 3 paragraphs, please.…

Fix for Cura's Ender 3 gcode

A child of mine finally asked for a 3d printer. I knew that if I tried to push it, no kid would be interested, so I didn't. But finally, one of them asked for one. We ordered the Creality Ender 3 that night from their website and some filament from Amazon. It all arrived a couple days later and we enjoyed the process of assembling it and then finally printing the gcode files that were on the SD…

Linux Environment Management: direnv does it all

Linux Environment Management: direnv does it all A few years back I wrote about different options for linux environment management . I recently learned about another option, direnv. I think I'm convinced that it is the only tool you need. Read this as if it's another section added to that previous post. Use direnv Straight from the direnv website : "direnv is an extension for your shell. It…

Effectively Internet Filtering in 2020

(To skip my rambling intro and get to the nitty gritties, search this page for, "After that long introduction") In college, back when the internet was young, I hated the clumsy ineffective internet filtering that was in place on campus. It often blocked sites that were perfectly fine, and did not catch all the sites of the type that they were trying to block. Fast forward 10 years or so and I saw…

How To Retroactively Annex Files Already in a Git Repo

UPDATE : With current versions of git, I no longer recommend git annex or git LFS unless you really need to store your large files on a separate server from your git repository. Just add your large files to git like any other file and when you clone, you can avoid downloading the full repository history with git clone --filter=blob:none and use git as normal. Table of Contents How To Retroactively…

Git Annex is Great

UPDATE : With current versions of git, I no longer recommend git annex or git LFS unless you really need to store your large files on a separate server from your git repository. For the simple use I describe here, just add your large files to git like any other file and when you clone, you can avoid downloading the full repository history with git clone --filter=blob:none and use git as normal.…

Millennium Discount Code

I promise I'm not turning this into a spam blog for my business (see the business twitter account for all my self-promotion), but I want to get the word out about early-adopter discount codes that I have made available. I'll start an MSD specific blog and continue promoting things there as well. The discount code is for $99 off, which is a free Self-support subscription. There are only 20…

MSD: A Red Hat-like business for Open Source EDA (Verilog, VHDL, etc.)

I have been working with commercial EDA tools (Verilog, VHDL, etc.) for years and always found them to be quite overpriced and frustrating. Whenever I bring up the idea of using open source tools I get responses just like I got when first brining up Linux in the workplace back in 2001. Things like, "you get what you pay for" and "it's only free if you don't value your time." Red Hat (and…

Playing With Pijul

I tried pijul out a while back, I can't remember how long exactly, and it was not ready for prime time. Today I tried it out again and I have to say, it feels pretty polished. I have a couple problems though. One is, how do I un-apply patches? What I really want is the git equivalent of doing a git checkout to go to an older revision (and from there build and test, or even just look around at the…

Fixing xref-find-references

I was annoyed that xref-find-references searched more than the files in the TAGS file (it seems to search everything below the top level directory of the TAGS file?) so I went looking for a fix. I found that apparently my emacs knowledge is out of date (the fact that it's xref now and not tags was my first clue). I couldn't find any way to customize xref-find-references . Instead I found people…

It Is Time To Replace Passwords With Keys

It is time to stop using passwords. The Troy Hunt article, Passwords Evolved: Authentication Guidance for the Modern Era just got passed around the office again and wow, what a mess we are in. Instead of passwords we should switch to using public-key cryptography like TLS and ssh use. "But people can barely manage passwords, there's no way they can manage keys!" Wrong. People can't barely manage…

Not Leaky, Just Wrong

Intel recently announced new tools for FPGA design. I should probably try to understand OpenCL better before bagging on it, but when I read, "[OpenCL] allows users to abstract away hardware-specific development and use a higher-level software development flow." I cringe. I don't think that's how we get to a productive, higher-level of abstraction in FPGA design. When you look at the progress of…

Facebook Should Split In Two

Facebook has done wonders to get people creating and consuming content on the internet. However, Facebook has grown to the point where it has no competition and is no longer innovating in ways that benefit us. Facebook should split into Facebook the aggregator and Facebook the content hoster. You could talk about a third piece that is Facebook the content provider, which is for providing things…

Quick Thoughts on Creating Coding Standards

Introduction No team says, "write your code however the heck you want." Unless you are coding alone, it generally helps to have an agreed upon coding standard. Agreeing upon a coding standard, however, can be a painful process full of heated arguments and hurt feelings. This morning I thought it might be useful to first categorize coding standard items before starting the arguments. My hope is…

SystemVerilog and Python

Design patterns in programming are when engineers find themselves writing the same code over and over to solve the same problems. Design patterns for statically typed object oriented languages (C++ and Java) were cataloged and enshrined in the famous book, " Design Patterns: Elements of Reusable Object-Oriented Software " by Erich Gamma, John Vlissides, Ralph Johnson, and Richard Helm. The authors…

Adventures in Arch Linux

I just installed Arch Linux on my 4th machine. It has been fun and painful. Painfully fun? I have learned a lot and that is always fun. There. I have loved using Ubuntu over the last several (eight, I think) years. Ubuntu is easy to install and most things Just Work. It's easy to find packages for most software I want to run, and there is lots of help on the internet for accomplishing whatever you…

Another SystemVerilog Streaming Example: Size Mismatch

I had a packed struct who's size was not evenly divisible by 8 (it was one bit short, in fact) and I had an array of bytes that I needed to stream into it. The extra bits in the array of bytes were not relevant, so I tried just doing this: my_struct = {>>byte{my_array_of_bytes}}; But my simulator complained that my_array_of_bytes was bigger than the destination (my_struct). It took me longer to…

Get xpra to work on Ubuntu 14.04

Xpra is like screen or tmux for X apps. There is a commercial app called Exceed on Demand and xpra seems to work very similarly to that. Xpra is a very nice alternative to VNC and performs a lot better than forwarding X over ssh. Here's how I got it to work using Ubuntu 14.04 as a server and windoze (is that joke getting old yet?) as a client. Xpra says you can run Mac and Linux clients as well,…