• Home
  • About
    • About The Coder
    • Language List
  • Code Rules
    • #1: Clarity Trumps Everything
    • #2: Source Code is for Humans
    • #3: Don’t Ignore Warnings
    • #4: Comment As You Go
    • #5: Always Use Parentheses
    • #6: Always Define Literals
    • #7: Never Repeat Yourself
  • CS-101
  • Python-101
  • Simple Tricks
  • Guestbook

The Hard-Core Coder

~ I can't stop writing code!

The Hard-Core Coder

Author Archives: Wyrd Smythe

Python Pi

14 Monday Mar 2016

Posted by Wyrd Smythe in Fun, Python

≈ 1 Comment

Tags

digits of pi, pi, Pi Day, Python code

For Pi Day I published a post on my main blog, Logos Con Carne. Here is the Python code behind the data generated in that post.

Continue reading →

Aside

Premium!

30 Wednesday Dec 2015

Posted by Wyrd Smythe in Blog

≈ Leave a comment

The Hard-Core Coder (blog) just went WordPress Premium. No more ads!

Hate — really truly deeply hate — the damn ads.

Happy Christmas and a Merry New  Year!!

State Engines, part 3

25 Wednesday Nov 2015

Posted by Wyrd Smythe in CS101

≈ 2 Comments

Tags

computer, computer code, computer programming, computer science, Python code, state engine, state table

In the first two parts of this series I’ve introduced state engines and taken apart a specific instance of an engine. Now it’s time to tie together the design idea with approaches to building a variety of such engines.

Because the programming logic is in the state table, the engine can be fairly generic. That means it’s possible to create a state engine framework you can reuse for a variety of applications.

Continue reading →

State Engines, part 2

11 Wednesday Nov 2015

Posted by Wyrd Smythe in CS101

≈ 2 Comments

Tags

computer, computer code, computer programming, computer science, Python code, state engine, state table

Last time I introduced state engines and state tables. I showed parts of a simple implementation of one in Python. It parsed the language introduced in Little Programming Languages. This post continues that, so be sure you’ve read that first article.

I got as far as the state table implementing the process, and that’s where this post picks up. I’ll also get into the SourceReader class that does the heavy lifting.

Continue reading →

State Engines, part 1

08 Sunday Nov 2015

Posted by Wyrd Smythe in CS101

≈ 2 Comments

Tags

computer, computer code, computer programming, computer science, Python code, state engine, state table

At one point in my career, the state engine (SE) was one of my favorite AWK hammers. At the time much of the work involved text processing or, in some cases, serial byte processing (which is not quite the same thing). That sort of thing is right in the wheelhouse for a state engine.

They are a very useful tool and an important part of any programmer’s toolkit.

Continue reading →

An AWK Hammer

31 Saturday Oct 2015

Posted by Wyrd Smythe in Stories

≈ Leave a comment

Tags

AWK, AWK hammer, AWK nail, Lotus 1-2-3

In the Unix world you sometimes hear someone mention an “AWK hammer” or an “AWK nail” — usually in reference to an unexpected, possibly suspect, way of using some tool. In that history repeats itself, in the corporate world, one might have (but never did) hear reference to a “Lotus 1-2-3 hammer.”

The implication is that someone has fallen in love with a particular tool and is using it everywhere. In particular it applies to a situation where using that beloved tool may not have been the ideal choice.

Continue reading →

LPL-1

23 Friday Oct 2015

Posted by Wyrd Smythe in Stories

≈ Leave a comment

Tags

computer language, language design, little programming language, LPL, programming language, syntax

Here’s the last of the oddball Little Programming Languages (for now). This one is a little like LPL-2 in using a three-part syntax (which turns out to be non-ideal). Unlike LPL-3, neither of these are particularly usable languages — more along the lines of being something a language designer amused himself with on a rainy afternoon.

A key goal in LPL-1 was to minimize the use of punctuation characters. No brackets or parenthesis to create syntax blocks. (Square brackets for array indexing and parentheses for expressions, but that’s it.)

Continue reading →

LPL-2

19 Monday Oct 2015

Posted by Wyrd Smythe in Stories

≈ Leave a comment

Tags

computer language, language design, little programming language, LPL, orthogonality, programming language, syntax

The language I showed you last time, in LPL-3, was a fairly reasonable one. This time I’m showing you a preposterous one no one would actually use. Worse, it turns out to be something of a failure due to weird holes left by the design goal of orthogonal single-syntax construction.

But that oddness helps us focus on what a programming language actually is, so it’s worth a peek. And maybe it’ll give you a laugh.

Continue reading →

LPL-3

12 Monday Oct 2015

Posted by Wyrd Smythe in Stories

≈ Leave a comment

Tags

computer language, language design, Lisp, little programming language, LPL, programming language, syntax

I’ll pick up with the language I began describing last time in a future post. Right now I want to pick up the thread of Little Programming Languages (LPLs) and use several examples to illustrate what underlies a programming language. (And as it turns out, these are “little” only in a certain sense.)

This first example, LPL-3, is Lisp-like and, because of that, is fairly orthogonal. Even better, it’s probably actually usable, although — like Lisp — it doesn’t have the cleanest syntax (languages like Python have really spoiled me).

Continue reading →

Little Programming Languages

06 Tuesday Oct 2015

Posted by Wyrd Smythe in Python, Stories

≈ Leave a comment

Tags

computer language, language design, Lisp, little programming language, LPL, programming language, syntax

One characteristic of the hard-core coder is a love of computer languages, programming languages in particular. Programmers of that ilk — of my ilk — collect new languages like merit badges. (I get a kick out of saying that I’ve programmed “from Ada to the Z-80!”)

The especially far gone of us also enjoy creating new languages (or in some cases, new dialects of XML). Lately I’ve been playing with a language design that follows a favorite theme: the single-syntax construction language.

Continue reading →

← Older posts
Newer posts →
Follow The Hard-Core Coder on WordPress.com

The Posts

  • This is Python! (part 12)
  • This is Python! (part 11)
  • This is Python! (part 10)
  • This is Python! (part 9)
  • This is Python! (part 8)
  • This is Python! (part 7)
  • This is Python! (part 6)
  • This is Python! (part 5)
  • This is Python! (part 4)
  • This is Python! (part 3)

The Topics

  • Blog (4)
  • CS101 (37)
  • Fun (39)
  • Interesting (5)
  • Opinion (12)
  • Python (73)
  • Stories (15)

The Month

April 2026
M T W T F S S
 12345
6789101112
13141516171819
20212223242526
27282930  
« Mar    

The Past

Posts

RSS Feed

Comments

RSS Feed

The Main Blog

Visit Logos con carne

Lots of wyrds... with meat!

The Author

Wyrd Smythe

Wyrd Smythe

The canonical fool on the hill watching the sunset and the rotation of the planet and thinking what he imagines are large thoughts.

View Full Profile →

Create a website or blog at WordPress.com

  • Subscribe Subscribed
    • The Hard-Core Coder
    • Already have a WordPress.com account? Log in now.
    • The Hard-Core Coder
    • Subscribe Subscribed
    • Sign up
    • Log in
    • Report this content
    • View site in Reader
    • Manage subscriptions
    • Collapse this bar