Blog Posts

A
l
l
P
o
s
t
s
F
r
o
m
A
l
l
T
i
m
e

Search all 132 posts!

Why The Singularity Is Impossible — Or Rather, Why It's Just a Bad Word In General

Too many people not reading enough books and not understanding what they are arguing about.

Why LLMs Will Never Be AGI

The hype is unfortunately not real. A software engineer's — not humanities or philosopher's — take on the alphabet soup: LLMs, AI, AGI, and ASI.

Migrating The Wheel Screener's Twenty Thousand + LOC Legacy C# Codebase To A Shiny New Concurrent Two Thousand LOC Go Codebase

...and how it accomplishes the same number of tasks in a fraction of the time, with a fraction of the CPU load!

Valuable Enum Extensions in C#

Get a string representation of an enum value, and parse a string into an enum value.

Windows WPF via VM On Mac

Start developing and running WPF applications on a Mac in no time!

Goals for 2024

To be honest, I'm not quite as cheerful as I normally am this time of year, but I am definitely looking forward to spending some time with…

A Powerful Generic TypeScript Function for Generating Valuable RAG Texts

In a Nutshell: Given X, what’s the probability of Y occurring?

Create a Dockerized Go Application - With a Cron Job, Slack Messaging, and Test the Whole Thing

Docker, Golang, Cron Jobs, Slack messaging, AND Tests? Say no more, writing software doesn't get much better than this!

Craft a Stylish and Practical Developer Book with this LaTeX Template

Leverage the powers of LaTeX and impress readers with your next-level developer book — example repository included!

Goals for 2023

Late November: that quite time of year between a busy fall and the start of winter. A great time for reflection and future plans. Looking…

Custom React Hook: Use Color on Mouse Move

This powerful configurable hook returns a color based on the mouse's x and y coordinates.

Golang: A Powerful Generic Function to Make Any HTTP Request

This function handles any HTTP request you can throw at it!

Test Driven Development and The Full Testing Pyramid in React and React Native

Unifying Gherkin, Cucumber, Jest, Cypress, Detox for a one-stop full pyramid testing suite.

Using tsc as a Codebase Doctor

Introducing type-doc - a simple, opinionated tsc output parser

Not Sure What to Title This...

An Open Letter ⚠️ Language / rant warning in this one ⚠️ I'm struggling right now. I'm not sure if anyone needs to hear this (or even wants…

Get All Properties of a Type with this Fancy Utility Type

Introducing... PropertiesOfType!

Converting a UTC DateTime to string and back again for quality API design in C# / .NET!

A key design pattern when building proper APIs.

Braiding, Combining, Zipping, or Merging Arrays in C# Generically

A fancy technique for arranging API data.

Goals for 2022

Whew... this year has been insane. I truly can't believe the new year is in just a handful of days! As just a breif overview of everything…

A Production Ready Jest Setup for React Native - All Mocks

Every mock that you could possibly need is in this post.

React with TypeScript: Optional Props with Default Values

An Elegant Solution to a Common Problem

Converting a Large Create React App Project from JavaScript to TypeScript

The TypeScript Addiction I'm working on a large industrial react project, scaffolded by create-react-app. The project was started in 2018, j…

A Retrospective on Coil and Combating Network Effects

Results... less than stellar. 😞

Advanced TypeScript: A Generic Function to Merge Object Arrays

Another powerful generic function from the SaaS product archives.

Advanced TypeScript: A Generic Function to Update and Manipulate Object Arrays

Another fancy generic function of ultimate power!

I Applied to Five Senior Full Stack Software Engineering in Five Days

A rant on getting jobs in the software world, but then actionable training materials and questions.

A React Hook to Animate the Page (Document) Title and Favicon

Introducing react-use-please-stay: Animate the document title and favicon in your React projects with ease using this powerful hook!

Let's Build a Snazzy Animated Sticky Footer For GDPR Compliance!

Leveraging react-reveal, react-cookie, and Bootstrap styles.

Beware of CSV Copies in PostgreSQL Which Include a Primary Key!

Slow COPY commands got you down? Try without the primary key!

Import a File as a Raw String in Gatsby or React

...and how to create advanced code snippets with Gatsby or React!

Complex Color Patterns for Shell Prompts

Letter-level alternating colors for bash and zsh shells.

Analyzing Park and Rail (P+Rail) Parking Availability Across The Entirety of Switzerland

Both a big data analysis and a post-mortem critique of my participation in the START Hackathon.

Releasing Five Products in 2021, Part 1: The Wheel Screener

Insights from the frontlines of a SaaS product release: an advanced cash secured put (CSP) and covered call (CC) options screener.

I'm Launching Five Profitable Products In 2021!

The first has already been released and is profitable!

The Last Bitbucket Pipelines Tutorial You'll Ever Need: Mastering CI and CD

An incredibly powerful tool that saves time, headaches, and much more!

Extending React Standard Types to Allow for Children as a Function

Sorting or filtering child components? You've come to the right place!

Plug Time: Going Full Send on Teaching and Content Creation

Let's Do This! 🚀 2021 is my year! Uh oh, I should probably avoid that phrase... we all know what happened in 2020 with too many people…

Goals for 2021

Each year I set a set of goals or resolutions for the coming year, and also review and grade myself for the past year's goals. Here's that…

Data Challenge! Building a PBR Bottle Cap Card Deck!

How many brews must be cracked open to build a full deck of 52?

.NET, NGINX, Kestrel, and React with a Reverse Proxy on Linux Ubuntu

A bare-bones, 5 step tutorial.

My First Animated Blog Post!

I've been thinking of making these animated blog posts. They're gonna be BIG, with BIG DATA, and to help with that, I'm gonna be adding…

C# .NET Core and TypeScript: Using Generics and LINQ to Secure and Filter Operations on Your JSONPatchDocuments

Full stack: React with TypeScript frontend, .NET backend!

A Bit of Housekeeping: The Subscription Form is Back!

Neglecting a simple functionality.

React and TypeScript: Generic Search, Sort, and Filter

A step-by-step guide leveraging the awesome powers of TypeScript generics to implement reusable searching, sorting, and filtering.

Persist and Remember Page Scroll Position, i.e. window.scrollY Using React Hooks

An elegant React hook gets the job done!

Auth0, Expo, and React Native: Authorization Code Grant Flow with PKCE

One of the most devious software problems I've encountered in some time.

Back By Popular Demand: React + Redux + Shopify + TypeScript Boilerplate

Now with TypeScript: Strongly typed E-commerce for all!

Web Monetization - Using Coil and Uphold to Combat the Network Effect

Previously titled: "The Internet, Subscriptions, Big Winners, the Networking Effect, Makers & Creators, and Society Today"

Saving Images In Node.js: Using Fetch with arrayBuffer() and Buffer

A quick example on the hurdles of binary buffers in JavaScript!

Introducing the Full Stack Typing Boilerplate: Once You ORM, You Can't Go Back!

Featuring Typescript and Sequelize: share types between the front- and back- ends for ultimate development productivity.

Magento 2 IP Location Detection (GeoIP) and Store Context Control Using the ipstack API

A full code solution with example repository to get you started with international stores!

Error and Failure Free - Connecting Zapier and PostgreSQL

A Five-Step Tutorial as an Antidote to Incorrect Documentation

Goals For 2020

Though it's only the second year of doing this, I really enjoy this yearly review and will likely be doing it for the forseeable coming…

A Single Bash Command To Simultaneously Run and Compile a CSharp (.cs) File

Background: 2019 Advent of Code and Microsoft Troubles I've started the 2019 Advent of Code for this December! (This will be my first one…

NLP Champs is Dead, Long Live NLP Champs

It Was... Inevitable... Like many hobby programming things I get into, my interests burn bright, then fade out fast (hint - it's the INTJ wa…

Welp, I Did It. I'm Still a Freelancer.

Part II The promised post-mortem of Welp, I Did It. I Quit My Job. Some newer digital art of mine. Actually somewhat relevant to this story…

I quit Learning, Writing, and Being a Creative.

I had a sudden epiphany today. All this extra learning in the directions of software engineering, upping my graphic design and vector…

Data Challenge! Rendering All 32,767 Invaders!

This post is also published on Medium, if you prefer to read there, but it was posted here first. 😊 Results First, Technical Stuff Later I…

Goals for 2019

Every Dev's Doing It! Blogging about their goals for 2019, of course! I find that making goals works best for me, as they are more concrete…

Interesting Monopoly Probabilities (To Defeat your Relatives For the Holidays!)

Holiday Break = Monopoly (Logically) 😂 Ahhh, it's that :snowflake: time :snowflake: of year again - a break from work with lots of time…

New Data Tag

There's a new '#data' tag here on my blog, since I've realized a lot of my projects labeled with the '#dev' tag are more specifically data…

It's My Blog's Birthday!

Today is the exact Birthday Date of my Blog! If you go to my very first post, my 'Hello World - My First Post' post - you'll see the date is…

Oh The Horror! The Dreaded "WebpackError ReferenceError window is not defined"!

The Root Issue If you're reading this in 2018, 2019, and 2020, the statement shown next to that error is likely an npm module that hasn't…

Simple Actions You Can Take Right Now to Improve the Environment and Combat Climate Change

The motivation to write this post has come to me over the past few weeks as there has been another wave of scary environmental press from…

Jump to Web GUI Using SAPUI5 Or OpenUI5

Jumping to the Web GUI from a SAPUI5 app can be helpful, since it will keep your user all in the same app (their browser), and they won't…

Run an Existing Magento 2 App with Homebrew Apache on MacOS in 2018 / 2019

Originally published here, also published on Medium. So, I started working on a new Magento project with my boss this past weekend, and…

Want to Build a Blog Just Like This One? Now You Can!

If you've been wondering about how the internals of my blog are built and developed, you can now learn it from me, step by step, from my…

A Detailed Tutorial - Shopify's Storefront API + React + Redux

A Detailed Tutorial - Shopify's Storefront API + React + Redux

The Software Engineer's Social Contract

This is going to be an ongoing bullet point of some of my own personal guidelines as a Software Engineer. They probably relate to most other…

Dynamically Assigning and Retrieving Variables- Both Named and Structured in SAP ABAP

Dynamically Assigning and Retrieving Variables- Both Named and Structured in SAP ABAP

More Thoughts On Early Retirement, Financial Independence, and Making a Living That's Worth Living

I've been generating ideas for this post for quiet a while, namely from the depressing nonsense I've seen thrown around our very own…

How to Convert RAW16 to CHAR22 Material IDs in SAP EWM (and vice-versa)

How to Convert RAW16 to CHAR22 Material IDs in SAP EWM (and vice-versa)

Led Zeppelin Data Analysis for Lyric Generation and Inspiration

***Note: this post is mirrored on NLP Champs: https://nlp-champs.chrisfrew.in/led-zeppelin-data-analysis-for-lyric-generation-and…

Welp, I Did It. I Quit.

Thoughts of yet another full-time worker going full-time freelance / tinkerer / creative / nomad. ***Note: this post is mirrored on Medium…

Fully Automating Chrisfrew.in Productions - Part 4 of ??? - Building a Slack Bot

Slack Bot! You may have read Part 3 of my giant automation undertaking about. Maybe not. Anyway, near the bottom of Part 3, I discuss a mes…

Fully Automating Chrisfrew.in Productions - Part 3 of ??? - Building a GitHub Webhook Monitor

Background and Overview of this Technologically Amazing Accomplishment After a bit of thinking about my automation project, I settled on a…

Data Analysis and Pixel Art of Towns and Cities in Pokemon

Over the past few days, I've done some data analysis, scripting, and art with the 20 towns and cities from Pokemon Gold. The results were…

Fully Automating Chrisfrew.in Productions - Part 2 of ??? - Building a Node.js Server Monitor

In my attempt to automate my suite of websites, I wanted to build a simple Node.js server that monitors all my live sites, and sends me an…

Fully Automating Chrisfrew.in Productions - Part 1 of ??? - Roadmap and Links to Entire Process

Before I get into the description, you may be here just to get the links. Well, scroll no further: Part 1 of ???: This post. 😂 Part 2…

Warn SAP Users of Locked Objects Then Kill Their Session

SAP users lockin' up your objects? We're gonna write an ABAP report and run it as a batch job to :robot: Automatically :robot: get rid of…

Using Google Cloud's Text To Speech Machine Learning API

I'm torn most of the time about using Google Cloud APIs - on one hand, they are a group of some of the best APIs on the web today - the…

Some Tasty Bash Profile / Bashrc Commands To Make Your Life Better

This post is gonna get right to it - if you use machines that have a Bash terminal, you should build custom aliases to get around faster…

How to Create Posts That Reach the Top of the Front Page on Subreddits (And How I Created Two of Them for /r/wallstreetbets)

So, here are the two meme posts, in all their glory, the first of which is a Robinhood (albeit grim) Parody: Reddit Response: The second…

I Set Aside $1000 to Learn Options Trading

Whew. It's been over a month since my last post! This is mainly because of some of the projects I've been working on; so rest assured there…

Introducing My (New / Same?!) Company chrisfrew.in! (and how to change your DBA name)

Hello there! In March of 2018 I streamlined my business process from my old doing business as (DBA) startup, Siren Apparel (it's still…

How to be an American living in Austria and working in Liechtenstein

Hey, Want to be an American living in Austria and working in Liechtenstein? Look no further! This is a detailed how-to guide on applying and…

Colors For SAP Web IDE!

At some point, SAP took away my Monokai Color scheme from the SAPUI5 Web IDE! That is unforgivable... Don't worry - code to the rescue! I…

Calculating Activity Amounts for Production and Process Orders with SAP ABAP

Edit June 1st, 2018: There was ANOTHER issue with this code! There is something you need to add if you want to book custom goods movements…

Debugging ABAP Code with a SAP Shortcut - A Must-Have Tool!

This is a Must-Have Tool for any ABAP Developer! Did you ever find you wanted to debug something in SAP GUI right on a certain command or…

An NPM Christmas Easter Egg

No, It's not Easter for Christmas... It's a quick surprise for those celebrating christmas from npm! Simply issue npm xmas in your terminal:…

Dropdowns in Markdown README's!

HTML in Markdown!? Well, it's a little known fact (at least it was for me) that you can use native HTML tags are supported in Markdown…

How to Link to Lines of Code in a Github Repository!

This'll be a real short one; I just learned you can link to specific lines of code on GitHub! All you need to do is find your link to the…

My Laptop Stickers Arrived! Am I a Real Developer Now?!

Nothing shows others better that you are a humble, totally epic developer, than putting really cheap stickers on your really expensive…

My First and Final Statement on Bitcoin for this Blog

Lots of words have been thrown around Bitcoin recently. Tulip Madness. Silk Road. Ponzi Scheme. While this blog will (rest assured) remain…

Sending Windows Server Commands From SAP ABAP

Alright, let's do a bit of applied stuff today. For a long time, I had a ticket open for our IT team (I am likewise in the SAP team) for an…

A Toast to Full Stack Developers

Warning everyone - this is a bit of rant post - but I hope some of you will agree and we can turn the tables of a stubborn community a bit.…

Hello World - My First Post :)

I'll be writing here for sometime into the future now, though I'm not sure how often, as I'm rather busy with the work for NLP Champs and Sk…

-~{/* */}~-