What an expert programmer should know about regex internals like DFA & NFA state machines

Kleene Star Closure courtesy of Wiki Commons

Like most programmers, I’ve been using simple regular expressions/pattern matching like “/^Foo(bar).*/” for years, but I admit when I need a complex one like a basic email checker:

Everything in software engineering has changed within a decade

Old technology
Photo by Ugi K. on Unsplash.

I was a hands-on technologist 20 years ago, turned to management ten years ago, and am now hands-on again as a consultant. I’m amazed by some changes and surprised by others. Here is a basic rundown of what almost caused my early demise.

Unix Is Back for the Developer (Silver Lining)

In the ‘80s and early ‘90s, a…

Step thru the process of building & training a custom NLP sentiment analyzer.

Could we apply sentiment analysis to Vulcans? Maybe not… Wiki Commons Photo [0]

Do Vulcans express sentiment without emotion? With the power of Machine Learning, we can find out. We shall evaluate famous Spock Quotes using this (yet another) basic guide to Natural Language Processing (NLP) and Sentiment Analysis (SA) methods.

“Once you have eliminated the impossible, whatever remains, however improbable, must be…

Coding tests, design tests, etc — a methodology for interviewing and evaluating software engineer hires

Photo by Serg Antonov on Unsplash

In his recent book Talking to Strangers, Malcolm Gladwell notes the science behind “gut feel” and how it is usually wrong. Judges in the…

Research, anecdotal, and personal experience claims teams of 3–8 are the best — but here is what I found

People meeting
Photo by Annie Spratt on Unsplash

I am not sure if he really said that, but he did say:

“If there are n workers on a project, there are (n²-n)/2 interfaces across which there may be communication…

The story behind the clever optimization and why it is now just folklore

Photo by ELLA DON on Unsplash

For those who haven’t heard of this code trick/optimization, the premise is, we need to do “1/√x” a whole bunch of times to render 3D graphics and cool shaders. …

Part 2 of the “Rust for Old People” Series

Photo by Dean Brierley on Unsplash — I need to spend that much more time on Rust….

Comments from my prior article Rust for Old People — mentioned how I did not really highlight any of the cool features of Rust. Thus I fired up the IDE again and dug thru countless Reddit, StackOverflow, and Quora forum threads to list and code up what I missed (which…

I spent $50 on my articles on Facebook Ads, and here is my ROI

Photo by Jp Valery on Unsplash

TLDR; the teaser image gives it away — no it did not work for me, but let me explain the process and analysis in more detail.


Like most writers, I want to expand my readership and figure out how to crack the Medium code. I suppose the key is to…

Media, anecdotal evidence, and hard research into the “geek syndrome” for Engineers — what’s the truth?

Photo by sebastiaan stam on Unsplash

One could argue about stereotypes like lawyers talk too much, doctors have God complex, bankers are jerks, CEOs are ruthless, and software engineers are weird! As a fellow engineer let me analyze this rude but semi-true stereotype.

Why Engineers may seem weird

Most professionals come from a variety of backgrounds while engineers are from a…

What I learned about building costs in Japan

Photo by Brett Jordan on Unsplash

Needless to say, people in Japan love new things — electronics, cars, and even houses. Most foreigners still have trouble with the idea of a “new house” and “old house” — but that is literally how its viewed and called in Japan. …

Doug Foo

Tech Manager by Day, ML Hacker by Night — founder: foostack.ai

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store