• 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

Abusing #define in C

19 Friday Nov 2021

Posted by Wyrd Smythe in Stories

≈ 2 Comments

Tags

code clarity, computer code, computer programming, defined values, readable code

When I was a callow young programmer learning the ropes and enjoying the sheer power of the C language, I got a bit carried away with the macro pre-processor’s ability to let you redefine the language.

As much fun as that is, and as much as it can make your source code look cool, it’s a really bad idea. At some point the folks in comp.lang.c read me the riot act about it, and they were right.

Continue reading →

The Blessing of Unicode

15 Monday Nov 2021

Posted by Wyrd Smythe in CS101

≈ 4 Comments

Tags

strings, text, text file, Unicode, UTF-8

Computers process numbers using arithmetic and logic (which amount to the same thing). Processing text, however, requires at least two levels of abstraction. Firstly, a definition of a textual atom — informally a character. Secondly, a definition of a textual unit — typically called a string. A string is an ordered list of characters.

Therein lies a whole field of computer science. From a practical point of view, implementing text has become much easier with Unicode. Different character sets was one of the more awful aspects of dealing with text. (Remember CP-1252?)

Continue reading →

A Simple DL Parser

10 Wednesday Nov 2021

Posted by Wyrd Smythe in Fun, Python

≈ 4 Comments

Tags

computer code, language design, little programming language, Python code, recursive descent parser

Last time I introduced a general Definition Language (DL) I created for defining structured information. The end goal was an extension of DL, called Data Definition Language (DDL), intended for defining memory and file formats. It was intended for tools that examine that data, allowing them more knowledgeable output than a raw hex dump.

I mentioned that DL has been on my mind lately, and as it turns out I spent the day yesterday writing a DL parser in Python.

Continue reading →

Data Definition: DL and DDL

07 Sunday Nov 2021

Posted by Wyrd Smythe in Stories

≈ 4 Comments

Tags

computer languages, language design, little programming language

A long, long time ago I came up with a simple something I called Definition Language (DL) and an extension of that I called Data Definition Language (DDL). This was before XML (let alone JSON) became popular, and DL and DDL turned out to be somewhat akin to those.

My intention was a configuration language that would allow a data-dumping tool that knew the structure of the data it was dumping. Debuggers can sometimes do that in context. I wanted a tool that could do that with any file format given some DDL config file. (These days I’d probably just use XML.)

Continue reading →

Always Implement toString

02 Tuesday Nov 2021

Posted by Wyrd Smythe in CS101

≈ 9 Comments

Tags

code clarity, computer code, computer languages, computer programming, Java, Python code, readable code, toString, __str__

Although I’m categorizing this one as really good advice, rather than as a rule, I think it should be viewed as basically a rule. I think it should be a rule in any object-oriented language that supports it natively (Java and Python, for example).

The advice (rule of thumb, say) is to always create a useful implementation of toString when you create a class. It makes your development and maintenance life ever so much better.

Continue reading →

Playing with Polynomials

01 Monday Nov 2021

Posted by Wyrd Smythe in Fun, Python

≈ 4 Comments

Tags

computer code, math, Python code

I haven’t put nearly the energy into this blog as I have my main blog, Logos Con Carne. My intentions are good, but I never seem to get around to posting here. (It’s certainly not due to lack of interest.)

In an attempt to get more in the habit, I thought I’d write about some simple fun I had recently with a class for calculating polynomials. It was inspired by a lesson from a set of really fun Python tutorial YouTube videos.

Continue reading →

Tabs or Spaces?

19 Tuesday Oct 2021

Posted by Wyrd Smythe in CS101

≈ 1 Comment

Tags

code clarity, computer code, computer programmers, readable code, space character, tab character, text file

There are many issues that divide programmers: operating systems and editors being two huge ones. I’ve worked on too many platforms to care much about the first one, but I’m a lifelong gvim user.

One of the lesser dividing issues involves the crucial source coding choice: Tabs or Spaces? The issue is both less and more important these days. Less because editors are very capable; more because Python is popular.

Continue reading →

Thinking Ahead

05 Friday Feb 2021

Posted by Wyrd Smythe in CS101

≈ Leave a comment

Tags

Computer Language magazine, computer programmers, computer programming

I’ve been going through my old Computer Language magazines, and man have things changed since 1984. It’s a fascinating trip through the early days of personal computing.

I was reading an article about using dates in an application and was struck by the prescience of one bit.

Continue reading →

Brian Kernighan: Successful Language Design

04 Monday Jan 2021

Posted by Wyrd Smythe in Interesting

≈ Leave a comment

Tags

computer language, language design, programming language

I very much enjoyed this one-hour talk by Brian Kernighan:

He’s absolutely right about small languages. Doing a big one is hard to get right.

My Python App Framework

03 Saturday Oct 2020

Posted by Wyrd Smythe in Python

≈ Leave a comment

Tags

computer code, Python 101, Python code

For me, Python modules seem to divide into two basic classes: library modules and application modules. The former contain basic building blocks, but the latter has top-level routines the operating system invokes when it runs the application.

Today I thought I’d post about the application framework I use for all apps.

Continue reading →

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

The Posts

  • This is Python! (part 6)
  • This is Python! (part 5)
  • This is Python! (part 4)
  • This is Python! (part 3)
  • This is Python! (part 2)
  • This is Python! (part 1)
  • Tk Calculator App Extra
  • Python Prefix Calculator App
  • Python Tk Calculator App
  • Tk Windows in Python

The Topics

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

The Month

February 2026
M T W T F S S
 1
2345678
9101112131415
16171819202122
232425262728  
« Jan    

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