Worked for 18.9s
It seems that I'm unable to download the necessary dataset to find
words where the 5th letter is "X" due to a temporary network issue.
Let's try an alternative approach by using a predefined list of common
English words.

McKeever A And B Quick Tour
2025-03-10 15:36
McKeever Cross Country Ski Trail is about 12.5 miles (20km) from our house. Yesterday my wife and I went there and skied the main A loop. We’ve been having thaw/freeze cycles and we went there when the snow would be sensibly forgiving but not yet mushy and filled with puddles. I wondered if I could do the whole A loop just double poling. That means there is no help from engineered friction on your skis keeping you from sliding backwards. This is what the pros are doing these days for long "classic" races like the Vasaloppet. These dudes can do this at 25kph for 90km (here is an example of what that looks like).
Yesterday I confirmed that, yes, I could complete this course with frictionless skis. Today I went back. This time early in the day before the heat softened up the tracks. This was a very different experience! It was ridiculously fast and also filled with debris exposed from the melt off. It was pretty sketchy really and I’m relieved I had the skill to pull it off.
I had thought about doing the C loop too but it has at least six more very steep crazy drops and I was getting a bit nervous about the condition of the trail. Still, for A and B, this will probably be the fastest I ever get around them since any faster would be very hard to keep it together. If you watch the video, you’ll see several times I come very close to getting hit in the face with an unborn baseball bat still growing in its tree.
This was definitely one of my most exciting half hours on skis and I’m glad I got it on video!
Oh, in the video I mention that I saw a wolf on my way to go skiing. You can see him in the distance crossing the road from right to left. This was taken between my garage and my mailbox.
Blueberry Ridge Skate Skiing
2025-03-08 20:04
I drove through the snowy forest to a Nordic ski area about 10km south of Marquette that I’d never been to. Blueberry Ridge is one of the very few in the UP that I know of which are groomed for skate skiing. Michigan Tech trails, ABR trails, Rapid River, and Valley Spur are the others I know about. While I suspect there are a few more hiding in obscurity that’s the whole UP. Compare with the four Nordic skiing trail systems that are definitely groomed for skating in just Breckenridge, CO. So until I get my own grooming solution in place (or winter weather returns to the Lake Michigan shore of the UP and I can go to Rapid River) if I want to skate ski, it’s a bit of a drive.
But it was worth it! I quite enjoyed Blueberry Ridge. While it had only 6 or 7 km of groomed skating track, that’s enough. The terrain was gentle rolling which is ideal for skate skiing; if you want to slog up ridiculously steep grades, any skis on any trails (or Alpine slopes!) will do.
I skied 20km total there today and once I knew the layout fairly well, I was able to take some video of km 12 through 20. So I was pretty tired but still, it shows the general idea. My average pace of 15.7kph was quite a bit slower than I am on rollerskis (I shoot for 20kph), but still not bad for snow and it is my fastest and longest outing this year.
Mya Skijoring
2025-03-02 22:34
It turns out that Chihuahuas do not suffer from the kinds of overheating that huskies can have problems with. This was a nice day (2025-03-02) in the West Hiawatha Forest, UP, MI.
Milestones Of Creating Artificial Minds
2025-02-18 12:35
Just as a little test, I gave my Meilleur Ami Robot this prompt:
Can you give me a list of words where the 5th letter is X?
I was surprised to get this nonsense.
Ok, so much for multimodal approaches right now. Recognizing its failure it carried on, presumably using its real language model.
Worked for 9.9s
The word "affix" has the 5th letter as 'X'. This list is based on a
small sample of common English words. If you have a specific
dictionary or larger word list in mind, feel free to share it!
What a weird answer. That’s it — nothing else. It did think of one, but why only one? That’s certainly not a list. And those run times — yikes!
Compare that with a very different approach.
grep ^....x $WORDS
On my computer, that produced words like these: admixture, annex, beaux, bisexual, borax, calyx, codex, deluxe, detox, detoxification, galaxy, helix (helixes too which is actually in M-W), inbox, index, infix, intoxicant, intoxicate, latex, Linux, monoxide, nonexempt, nonexistence, nonexistent, obnoxious, paroxysm, peroxide, phlox, preexist, relax, relaxant, relaxation, relax, telex, and, yes, affix was there too.
In all, with variants for plurals and adverbs etc, the Unix Way™
generated 145 words in 16.4 milliseconds. Another important
distinction between the approaches is that if there is correct word in
my word list (e.g. WORDS="/usr/share/dict/words"
), this command will
find it with reliability you can bet your life on. I did get some
spurious Roman numbers (hallucinations?) but that’s on me and my
corpus, not the algorithm.
The point of today’s sermon isn’t to laugh at the fail cases of the hyped LLM AIs. I actually think we’re at the end of the era where a query like this will fail. I have already seen multimodal approaches do a very credible job of producing a satisfactory answer.
What I really want to focus on is where we’re at in history and how to put modern chatbots into proper perspective. To do that, let’s look at another word grep found — and used — regexp.
This is short for "regular expression". Wikipedia says this about the motivation for regular expressions:
Regular expressions originated in 1951, when mathematician Stephen Cole Kleene described regular languages using his mathematical notation called regular events. These arose in theoretical computer science, in the subfields of automata theory (models of computation) and the description and classification of formal languages, motivated by Kleene’s attempt to describe early artificial neural networks.
By modern standards things were in the early stages, but make no mistake, back in the middle of the 20th century those early computer science pioneers were absolutely thinking of how they could replicate a human mind. (Read Vonnegut’s 1952 book Player Piano which is a banger, as is my review).
But the human mind is a pretty big topic. In 1951 computer scientists were wondering what miracles could they squeeze out of a machine if they just added a thousand more vacuum tubes (here is an example).
They’re called "computers" because the first really good party trick the "thinking" machines did was "to compute" things. But giving that some thought, people like Alan Turing realized that computing things was quite a powerful trick indeed, one which could generalize to all kinds of mischief.
Just the ability to add numbers together was a huge relief for the technical people whose uniquely human brains were needed to "do math". What regular expressions were useful for was to match strings of text. While the ability to match strings may seem mundane and uninteresting today, it was another huge step in giving machines abilities that previously only human minds had. The labor that pattern matching has eliminated (which took the form of manually filing physical paper in physical furniture called filing cabinets, and everything even remotely like that) has been profound.
Serious pattern matching came along right around the time that "modern" programming did which also allowed a lot of work involving complex decision trees and repetitive actions to be completely automated with all errors eliminated when they were attributable to human inattention and fatigue. Compilers were profoundly important to getting machines to do things that only human minds formerly did.
I think that programming in general adequately covers "expert systems" which were hyped as AI but, come on, they were just programming. Or worse, just hype — an important cautionary lesson!
I feel like the next really serious thing to hit was machine learning. A good way to think of what that (technically) means is to imagine a computer program so complicated that you need a computer’s help to work on it. You’re kind of writing a simple little program which will be able to crunch a lot of numbers and automatically generate a more complicated program that does what you really want. Once people got their head around machine learning, all kinds of creative approaches were tried with sporadic enough success to keep the hype level high and the funding flowing.
I feel like the next big development in getting computers to do stuff that only human thinking could do came from games. No, not chess. Chess was just a flashy example of good programming that made people stop and think about what stopping and thinking really meant.
(One of these is a computer and one is a human — can you tell the difference? Of course you can.)
It was increasing graphics demands for video games that led to dedicated hardware that didn’t care about anything but generating pretty pixels. There were a lot of pixels and they were relatively independent of each other. The big computer science development here was parallelization. Sure, everybody knew that parallelizing things was a pretty good algorithmic trick, but only with dedicated hardware did people really get serious about it. It is probably the most gruesome and difficult area of computer science.
Parallelization is also evident in another very big development which allowed evidence of all human thought to be rounded up and effectively collected in one place — the internet. Without web crawling I don’t think we’d have the kind of informational mass needed to create the simulation of a well informed human mind. How much data can be used, should be used, and is used to simulate a human mind is a totally different big and interesting question.
All the great hardware meant to render great games provided massive opportunities for efficient computational parallelism. It was discovered that neural networks could take advantage of this parallelism quite nicely. Neural nets also turned out to be a strangely effective algorithm. Being named for something in human brains probably gave this math nerd technique an AI hype boost too. Almost everybody studying AI quickly dropped the machine learning approach they’d been working on and jumped on the neural network bandwagon which was turning out to be a real winner.
With all those super smart CS nerds working furiously on trying everything possible with neural networks, we finally get to the current miracle of how good large language models are (or as Andrej Karpathy wrote in 2015 The Unreasonable Effectiveness of Recurrent Neural Networks; in 2017 I wrote about it too). Today modern LLMs extend that work and have produced results that have rightly astonished people with their extreme literacy.
But is extreme literacy really the correct measure of our species' glory? Or even more ridiculous, is extreme literacy the apotheosis of "intelligence"? Intelligence, you’ll do well to recall, is a concept we invented, but badly enough that we can’t even properly define it. Pretty sus.
I think it’s valuable to look at the true major developments that have transformed machines from clockworks to possessing very eerie abilities to impersonate human minds. It reminds us that there is not a magic heaven called "intelligence" and that maximizing it leads to utopia. Human intelligence turned out to be more than arithmetic; it was not looking something up in a card catalog, not playing checkers, not even playing chess, not following a set of rules, nor is it putting a bunch of tokens together in a startlingly plausible sequence of what appears to be human text.
I’m sure LLMs will contribute to the philosophical discussion of what it means to be human, conscious, sentient, and other words like that that LLMs could come up with better than I could (extending a text sequence is literally its one hit song). But for now it is sufficient to understand that LLMs are not "human level intelligence" any more than the one who beat Kasperov at chess was. They’re doing some very remarkable parlor tricks to be sure, but not losing sight of the big picture will help us make good use of this miraculous new tool.
If you can do that, then you might better understand the value of going back in time to really shine a light on the true milestones of computing machinery doing its best to "think" like a human. When using computers today, if you know the answer you seek was considered a harbinger of "AI" back when it was completely solved in 1952 (after which everyone forgot how hard and special that skill used to be), well, you can put that to use. You can ask modern LLMs to do things like generate a regular expression for you, to use that old technology with knowledge and cleverness you probably don’t really have. It’s like using an LLM to teach you valid chess rules but using a chess engine to actually evaluate good moves or solve chess puzzles.
This is what is meant by the "multimodal" approach where these LLMs are summoning outside help. In my example, the LLM was (I asked it) actually writing a little Python program in the background instead of using regular expressions. It turns out that in this case, not only did I know the methodology/syntax for the superior solution, but I knew to use that solution, even when it wasn’t being taken advantage of by this particular LLM today. It turns out that I can be multimodal too!
That’s an example of human skill that’s still competitive at some technical things. I suspect a lot of that will be fading but I do think it’s valuable, maybe more than ever, to learn something about some of the overly complicated "good" technology of the past (regular expressions, unix, assembly language programming, C programming, etc.) because today if you know "enough to be dangerous", with LLM help, that may be enough for success!
Fake Jobs
2025-01-15 10:11
The US Bureau Of Labor Statistics publishes a report that tries to assess labor demand. For example, as of January 7, they say that there were 8.1 million US job openings.
This report also accounts for hires, which the same report lists as 5.3 million. Go ahead and stop here and spend five seconds thinking about this: 8 million job ads and 5 million people hired.
One possibility is that this data collection time period is seeing a massive growth in employment opportunities (i.e. presumably there were 5 million job ads in the last report). This is almost certainly not the case. Here’s a chart from the same source showing that openings are indeed way higher than hires (and separations, which do roughly track).
So what’s going on? The answer is fake job ads. Ghost jobs.
Here are some reasons I suspect this is being done.
-
Companies, especially startups and other investment seeking firms, want to give the impression that they are growing. By appearing to ramp up for the big situation the CEO has been talking up, the investment is more likely to pour in allowing that CEO to handsomely cash out. Department managers also may post bogus openings to appear busy and justify funding. They certainly want to be able to immediately spend funding if it is allocated.
-
Companies may have budgetary schemes or growth targets that try to hire in some structured way. They might list the openings even if they don’t exactly have the funds to currently make the hire. Sort of a wishlist approach.
-
Sometimes companies are indeed shorthanded but not by much. They can simply overwork their current labor force. But if they just tell the those workers, "Oh hey, we’re getting really busy these days but, no worries, we’ll just overwork you to the greatest extent possible," that will probably backfire. Instead they can tell the current workforce, "We’re going to hire tons of people to help you out! Because we’re totally on your side and looking out for you. Isn’t that great?" Only it’s not because they’re lying — or at best they have no real motivation to incur unnecessary expense by following through with hiring.
-
Sometimes an employee is desperately needed, an opening is posted, and hastily filled. But the company knows this hire is suboptimal. They’d really like a better candidate to come along and take the job. That can’t happen unless the job ad stays up. Another variant is that they are trying to build a network of consulting or freelance workers without broadcasting as much to current employees, competitors, and/or stakeholders.
-
In the tech world, promising candidates are often given ridiculously difficult tests. I have personally witnessed this from the hiring side where the test consisted of especially thorny technical conundrums that the company was facing. They were basically hoping to use the free labor of the applicants to make technical progress. If I have seen this personally we probably should consider that this is a thing. I have taken many such tests as an applicant that seemed strangely difficult and specific to the "hiring" company’s product.
-
Companies may post ads as a kind of survey of the labor market. How many people are interested in working for them is an indication of how much worse they can treat their current workforce. They can try various recruitment platforms to figure out which is best at generating good candidates. During mergers and acquisitions and relocation plans the planners may want to know what kind of labor force they can marshal. By stockpiling specific resumes over time, the company can have a direct access to a pool of candidates when they finally are really ready to hire.
-
These days, creepy data harvesting should be the default assumption for pretty much everything you do, including applying for a job. By preying on the natural desperation of job seekers, all sorts of unreasonably detailed data on regular people can be collected by shitty operations and used for the same nefarious purposes data like this usually is.
-
A company might cite "restructuring" as a reason that everyone will be changing jobs but really they’re cutting head count. I once worked for a large research group that did this. They made job listings for everybody and told everyone they needed to reapply for the new positions. I was one of the people who got rehired as advertised but about half the people didn’t get rehired and about half of those were replaced by new people. Note that those new people were hired based on a four to one ratio of job ads to actual hires. Like magic, cutting ten people shows up as hiring forty!
-
I suspect companies may sometimes post job ads to deceptively signal that they are ramping up some activity. For example, I remember seeing a lot of job ads for Apple’s autonomous car program. They may have actually had a program or they wanted to simply gauge its feasibility and/or generate shareholder enthusiasm and/or strategically induce competitors to do something. In the tech world especially, it is common to see reports citing job ads as an indication of what the company is up to.
-
Decades ago when I first tried to get hired by a factory that exports PhDs to hang in Chinese offices, I had many very strange experiences. The most flagrant was a job interview for a "programmer" position where they brought me in to interview with a group of five people. Immediately something seemed off when they started describing the role — it was a Windows Server job requiring heavy knowledge of Windows, more Windows, exotic Windows, and only Windows. Not at all what the job ad said, e.g. no programming. Eventually I reached in my bag and pulled out a resume, slid it across the table and said, "Did you guys actually get a chance to have a look at my resume? Do you realize that I’m a Linux expert? I know nothing about Windows." The stupid look on their faces was surreal. They carried on with the "interview" while I sat there thinking what the fuck is wrong with these people? Later after working at the university for many years, I was able to reflect on that experience and understand it. It turns out that the university has very explicit hiring practices. Let’s say you’re the principal investigator for the "Collects Data In Excel" Lab. You have in mind a friend or relative or, most commonly, a grad student slave already in the lab doing the job for free and who is about to be released if you don’t give them some compensation. You know exactly whom you want/need to hire. Not so fast! The university requires you to avoid cronyism and nepotism by interviewing N (something between 5 and 10) other candidates. It is obvious exactly how this will turn out. An "ideal" other candidate for the Excel job would be the Linux guy who conspicuously avoids mentioning Excel anywhere on his resume. I’ve had a couple of other interviews like this. It seems most likely to happen when there is a big group all present at the interview, as if it’s a validating internal performance of some kind and I’m just a prop: "See how fair and reasonable we are to consider high quality outside talent? Unfortunately, he’s a weird Linux guy. That’s why when I promote Bob Sycophant to the job it will be totally merit based." At the other end of the professional spectrum, I suspect unions are another source of this kind of thing.
What should we make of this situation? Well, the main thing is to realize that if you’re looking for a job, you should figure that nearly half of the postings you see are problematic and probably should be considered spurious. I think some industries are worse than others — tech is very, very bad. This insight also hints that you should be putting in an extra 40% more job applications than you had planned on. This takes the form of applying for other jobs even while you have a job — you know, just to see if they’ll hire you and for how much. Clearly this chicanery is reasonable as the companies themselves are setting this standard of conduct.
Fortunately at this time I personally don’t have to worry about this problem. But there is a related problem I do have to worry about and that is fake recruiters. Look, if you’d like me to work for you doing something you think I’d be a good fit for, yes. The answer is yes, I’ll do it. Unless you’re setting kids on fire, I don’t even care what the job is or how much it pays. I’m basically a terrifically good sport and I pretty much will do anything for anybody who thoughtfully concludes that I’d make a valuable contribution to their team.
But! Here’s the thing — if you don’t know me and never even looked at my website or especially if you didn’t even look at my resume, well, then no, you have no sensible basis to believe I’d be of any value to you. In other words, if you simply used a key word search and are now sending out requests to "hop on a call" to the thousands of people who came up in the results, well, that’s not recruiting — it’s spam.
It’s bad enough for those who are proactively looking for a job that a huge percentage of the job listings are bullshit. But even when you’re minding your own business "recruiters" will be constantly badgering you with the verisimilitude of recruiting while being categorically bogus. I have yet to have one respond sensibly to my response question "Why me?" They seem to not even understand the question. It is not a valid answer to say, "Uh, but this is a job listing and it contains some words in it that are also in your profile." As if I — a computer expert — couldn’t find literally eight million such postings myself.
I get it. Resumes are boring and reading them sucks. The rare times a resume is interesting and exciting is if you personally need to hire an exotically skilled person who is describing such qualifications therein. How might we improve on mostly illiterate (its always "hop on a call") middlemen running keyword searches? Well, I know somebody who doesn’t mind reading! Somebody who can read resumes all day and still catch every typo! Not only that, they can also generate a custom text explaining sensibly why they’ve chosen to reach out to you for this job opportunity.
The funny thing is that being able to see the cure to both of these problems (fake job ads and fake recruiters) is exactly the kind of exotic skill that should be pretty valuable these days. And yet our current system of making markets for labor is completely blind to such skill. I’m sure some techbros are hoovering up VC loot to, ostensibly, make this happen but it’s already embarrassing for all involved that the transition from a natural lack of intelligence in recruiting to an AI approach has not already happened.

For older posts and RSS feed see the blog archives.
Chris X Edwards © 1999-2025