Blog

Will Faught

October 2023

The Modern Gaming Litmus Test

Things to avoid in modern games.

Design Lightweight RPG mechanics Loot Skill trees Monetization Battle passes Microtransactions Season passes Reviews High professional review scores and low customer review scores Reviewers couldn’t cover certain content under embargo Reviewers couldn’t show their own recordings under embargo Reviewers didn’t have access to all ports under embargo Reviewers didn’t have enough time under embargo Technology Day-one DLC DLC released within six months of game release DRM on PC that impacts performance On-disc DLC Unnecessary online connection is required Dark patterns Accidental purchases: It’s easy to accidentally spend money without confirmation or ability to undo or refund the action.

gaming world

Will Faught

3 minutes

How Unicode Country Flags Work

How do you encode politically-contentious country flags?

Benjamin Esham: Version 6.0 of the Unicode standard, released in October 2010, added support for emoji. Aside from the classics like 😃 (SMILING FACE WITH OPEN MOUTH), 👍 (THUMBS UP SIGN), and 💩 (PILE OF POO), the standard also included several national flags like these: 🇺🇸 🇩🇪 🇬🇧 🇯🇵 🇮🇹 In fact, the standard included every national flag, and in a way that won’t require the standard to be changed when new countries come into being.

technology unicode

Will Faught

1 minute

September 2023

Bad Unicode Assumptions

All the ways in which you’re wrong about Unicode.

Unicode is much more complicated than it seems.

technology text unicode

Will Faught

1 minute

One Chance

The game that lets you play it only once.

Wikipedia: One Chance is a Flash game developed by Dean Moynihan and released on Newgrounds on December 2, 2010. It has been frequently cited in video games literature as an interesting and moving use of permadeath mechanic (permanent death). In the game, the player controls a scientist who has created a cancer-attacking “cure”; when it is released in a gas form it begins to cause the extinction of all life by unexpectedly targeting all living cells, rather than just cancer cells.

games world

Will Faught

1 minute

August 2023

Server-To-Server Authentication Schemes

A tour of motivations, techniques, strengths, and weaknesses.

Latacora: Modern applications tend to be composed from relationships between smaller applications. Secure modern applications thus need a way to express and enforce security policies that span multiple services. This is the “server-to-server” (S2S) authentication and authorization problem (for simplicity, I’ll mash both concepts into the term “auth” for most of this post). Designers today have a lot of options for S2S auth, but there isn’t much clarity about what the options are or why you’d select any of them.

authentication encryption macaroons mtls servers technology

Will Faught

3 minutes

July 2023

RED Metrics

Metrics for understanding request-driven program performance.

Tim Yocum, writing for InfoWorld: The RED method is a monitoring methodology coined by Tom Wilkie based on what he learned while working at Google. RED is derived from some best practices established at Google known as the “Four Golden Signals,” developed by Google’s SRE team. […] RED stands for rate, errors, and duration. These represent the three key metrics you want to monitor for each service in your architecture:

metrics microservices red technology

Will Faught

4 minutes

Don’t Use JWTs

Use session tokens instead.

Raja Rao, writing for Redis: There are many in-depth articles and videos from SMEs of companies like Okta talking about the potential dangers and inefficiencies of using JWT tokens[1]. Yet, these warnings are overshadowed by marketers, YouTubers, bloggers, course creators, and others who knowingly or unknowingly promote it. If you look at many of these videos and articles, they all just talk about the perceived benefits of JWT and ignore the deficiency.

json jwt redis sessions technology

Will Faught

1 minute

Dopamine Nation

The numbers of how things affect the release of dopamine.

Matthew Vere summarizes the book Dopamine Nation by Anna Lembke: The neurotransmitter dopamine plays a crucial role in the brain’s reward processing, with studies showing that it contributes more to the motivation for rewards than to the pleasure of receiving them. For a rat in a box, chocolate increases the release of dopamine by 55%, sex by 100%, nicotine by 150%, cocaine by 225%, and amphetamines, the active ingredient in speed, meth, MDMA, and Adderall (used to treat ADHD and narcolepsy) by 1000%.

addiction dopamine sex world

Will Faught

1 minute

Data-Driven Software Interviews

Software interviews suck, but they don’t have to.

Thomas Ptacek: The software developer job interview doesn’t work. Companies should stop relying on them. The savviest teams will outcompete their peers by devising alternative hiring schemes. Years from now, we’ll look back at the 2015 developer interview as an anachronism, akin to hiring an orchestra cellist with a personality test and a quiz about music theory rather than a blind audition. Being good at navigating hiring processes requires a basket of skills that isn’t correlated with job performance.

hiring interviews software technology

Will Faught

1 minute

What Happened In 1971?

Lots of things got worse.

The short answer: The end of the Bretton Woods system on August 15, 1971.

economics world

Will Faught

1 minute

March 2023

Open Letter To Pause AI Experiments

All of a sudden, the consequences of technology are a problem.

An open letter signed by people who are upset they aren’t personally pioneering the AI frontier, and want to stall the head start of others until they can catch up or even figure out what to do about it: Contemporary AI systems are now becoming human-competitive at general tasks,[3] and we must ask ourselves: Should we let machines flood our information channels with propaganda and untruth? Should we automate away all the jobs, including the fulfilling ones?

ai technology

Will Faught

2 minutes

February 2023

The Strenuous Life

Theodore Roosevelt on success.

Theodore Roosevelt in his speech The Strenuous Life on April 10, 1899: I wish to preach, not the doctrine of ignoble ease, but the doctrine of the strenuous life, the life of toil and effort, of labor and strife; to preach that highest form of success which comes, not to the man who desires mere easy peace, but to the man who does not shrink from danger, from hardship, or from bitter toil, and who out of these wins the splendid ultimate triumph.

inspiring life quotations theodore roosevelt

Will Faught

1 minute

The Man In The Arena

Theodore Roosevelt on critics.

Theodore Roosevelt in his speech Citizenship in a Republic on April 23, 1910: It is not the critic who counts; not the man who points out how the strong man stumbles, or where the doer of deeds could have done them better. The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood; who strives valiantly; who errs, who comes short again and again, because there is no effort without error and shortcoming; but who does actually strive to do the deeds; who knows great enthusiasms, the great devotions; who spends himself in a worthy cause; who at the best knows in the end the triumph of high achievement, and who at the worst, if he fails, at least fails while daring greatly, so that his place shall never be with those cold and timid souls who neither know victory nor defeat.

inspiring life speeches theodore roosevelt

Will Faught

1 minute

January 2023

The Benefits Of Gratitude

What they are, and how they work.

Robert Emmons on how gratitude benefits us: The social benefits are especially significant here because, after all, gratitude is a social emotion. I see it as a relationship-strengthening emotion because it requires us to see how we’ve been supported and affirmed by other people. Indeed, this cuts to very heart of my definition of gratitude, which has two components. First, it’s an affirmation of goodness. We affirm that there are good things in the world, gifts and benefits we’ve received.

gratitude health mind psychology world

Will Faught

2 minutes

December 2022

Save Will

The blurb for my old blog.

I found the blurb for my old Blogger blog: There’s a condition that afflicts many innocent, hard-working people around the world every day. Its victims suffer from light sensitivity, disorientation, lethargy, sleep deprivation, and depression. There is no cure, but some drugs temporarily alleviate its symptoms. Many people manage to live somewhat normal lives through proper treatment. I’m referring, of course, to waking up before 9:00 AM, which I had to do all this week and expect to continue doing until my body gives out.

blog life

Will Faught

1 minute

November 2022

No One Owes You Anything

A letter written by a father to his daughter about his most important truth.

Harry Browne, in a letter to his daughter on Christmas: It’s Christmas and I have the usual problem of deciding what to give you. I know you might enjoy many things — books, games, clothes. But I’m very selfish. I want to give you something that will stay with you for more than a few months or years. I want to give you a gift that might remind you of me every Christmas.

advice christmas daughter harry browne libertarianism life

Will Faught

1 minute

September 2022

Always Change, Never Finish

An interview with an Agile Coach.

Part 1: Part 2: Some gems: They were posted one “sprint” apart. 🤣 “It’s really Waterfall with meetings every two weeks.” “That’s Greg. His birthday is on day 2 of sprint 7.” “We don’t even define requirements until after production.” “I lost my job because I’m a horrible developer. Now I’m an Agile coach.” “Always change. Never finish.” “Folks who don’t have anything valuable to add deserve meetings.” “I’m so used to it, I don’t even hear the Waterfall.

agile methodology scrum software technology

Will Faught

1 minute

The Mythical Corset Oppression

It turns out that women know what they’re doing when they dress themselves.

Videos “I Grew Up in a Corset. Time to Bust Some Myths. (Ft. Actual Research)” “How Victorian Men Taught Us to Hate Corsets: The Biggest Lie in Fashion History” “how actresses talk about wearing corsets in movies” “if people in the future talked about bras the way we talk about corsets” “period drama costume designers these days” “curb your corset stereotypes” “Reacting to Vogue’s ‘Everything You Need to Know About the Corset’ cause we haven’t suffered enough.

corset myth oppression world

Will Faught

1 minute

May 2020

Shortage Of COBOL Programmers

Alicia Lee, writing for CNN: On top of ventilators, face masks and health care workers, you can now add COBOL programmers to the list of what several states urgently need as they battle the coronavirus pandemic. In New Jersey, Gov. Phil Murphy has put out a call for volunteers who know how to code the decades-old computer programming language called COBOL because many of the state’s systems still run on older mainframes.

cobol coronavirus technology world

Will Faught

3 minutes

October 2019

Startup Culture: Values Vs. Vibe

Chris Moody on what part of company culture is actually important: I’ve been fascinated by different company cultures for as long as I can remember (maintaining culture is also a hot topic at our CEO Lunches each month) and I’m frequently asking entrepreneurs to describe the culture of their companies. Over time I’ve come to realize that when you break down culture descriptions you’ll often find a mix of two components: values and vibe.

culture startup

Will Faught

1 minute

August 2019

Wi-Fi 6 Is Coming

Looks like a new version of Wi-Fi is on the horizon: Wi-Fi 6, or 802.11ax. Better for network capacity and small device battery life.

tech

Will Faught

1 minute

March 2019

Early BotW Players Know What’s Up

This is so spot on.

games life zelda

Will Faught

1 minute

Why Dependent Haskell Is The Future Of Software Development

I’m really interested in dependent types, and hope this comes to fruition!

coding haskell

Will Faught

1 minute

Suburban Sprawl Is Unaffordable

Will Faught

December 2018

“8 Common Mistakes That Get Developers Fired”

Andrew McDermott: A tech employee, who I’ll call Alan, was watching anime porn at work. Not satisfied with simply watching it, he decided it was time to start printing his porn — on a color laser printer, no less. He printed it on transparencies which, as it turns out, weren’t compatible with the laser printer. They melted inside the printer. Alan has just ruined a very expensive new printer. Then to make matters worse, he takes the printer apart in a misguided attempt to try and fix things himself.

coding

Will Faught

1 minute

November 2018

Steve Jobs On Product Deterioration

Steve Jobs explains why a company’s product deteriorates as it becomes more successful. Via Reddit.

Will Faught

1 minute

The Math Of Software Engineer Contributions

Michael Church on the “math” of software engineer contributions in an organization: Teams, in general, have four categories into which a person’s contribution can fall: dividers, subtracters, adders, and multipliers. Dividers are the cancerous people who have a broad-based negative effect on productivity. This usually results from problems with a person’s attitude or ethics– “benign incompetence” (except in managers, whose job descriptions allow them only to be multipliers or dividers) is rarely enough to have a “divider” effect.

coding management

Will Faught

2 minutes

October 2018

Why GitHub Added Management

Melissa Mittelman on why GitHub added management to its workforce: While the old times created a strong sense of camaraderie, employees didn’t know who to direct questions to, either about uncomfortable confrontations with colleagues or about their own performance. “Without even a minimal layer of management, it was difficult to have some of those conversations and to get people feeling like they understood what was expected of them, and that they were getting the support that they needed in order to do the best work,” says Avalos, who’s since been promoted to chief business officer, the only C-level position besides CEO.

coding holacracy management

Will Faught

1 minute

The Problems With Holacracy

Vladimir Oane explains holacracy: Holacracy is a system designed to move companies away from rigid corporate structures and toward decentralized management and dynamic composition. As envisioned, under a holacracy teams largely self-organize, and individuals operate with a fair amount of autonomy. Ideally, this puts work at the forefront and lets a company’s organizational structure support that work, rather than the other way around. As Tom Thomison, a partner at HolacracyOne — the company teaching this system — puts it, “Nothing gets in the way of the work.

coding management

Will Faught

2 minutes

How Scrum Goes Awry

Robin Message on how Scrum goes awry: The Product Owner in a scrum is typically someone from the business or product side of the business. They are not there to advocate for technical priorities; and indeed, this is fair enough, because someone needs to advocate for business and customer value. Scrum intends them to be “responsible” and “accountable” for the product backlog, and therefore to work with others to create backlog items, but in practice, they are typically the sole person creating the backlog.

agile coding scrum

Will Faught

2 minutes

The Two Faces Of The Agile Manifesto

Robin Message on the mismatch between the parts of the agile manifesto concerned with technical craft and those concerned with project management: So, to summarise, almost every method and technique that was represented at the Agile manifesto was concerned with technical craft. XP is a methodology for software development, and as such, seven of the twelve practices are about how the software is written (pair programming, TDD, continuous integration, refactoring, simple design, system metaphor, coding standards).

agile coding scrum

Will Faught

1 minute

Google’s Management Upheaval

James Whittaker on Google’s reaction to Facebook becoming more valuable to advertisers than Google: Larry Page himself assumed command to right this wrong. Social became state-owned, a corporate mandate called Google+. It was an ominous name invoking the feeling that Google alone wasn’t enough. Search had to be social. Android had to be social. You Tube, once joyous in their independence, had to be … well, you get the point. Even worse was that innovation had to be social.

coding management

Will Faught

2 minutes

Valve Humiliated Your Corporate Culture

Michael Church on the self-organizing employees of Valve: The game company Valve has gotten a lot of press recently for, among other things, its unusual corporate culture in which employees are free to move to whatever project they choose. There’s no “transfer process” to go through when an employee decides to move to another team. They just move. This is symbolized by placing wheels under each desk. People are free to move as they are capable.

coding

Will Faught

1 minute

Open Allocation Is Tech Companies’ Only Real Option

Michael Church on open allocation: When open allocation is in play, projects compete for engineers, and the result is better projects. When closed allocation is in force, engineers compete for projects, and the result is worse engineers. When you manage people like children, that’s what they become. Traditional, 20th-century management (so-called “Theory X”) is based on the principle that people are lazy and need to be intimidated into working hard, and that they’re unethical and need to be terrified of the consequences of stealing from the company, with a definition of “stealing” that includes “poaching” clients and talent, education on company time, and putting their career goals over the company’s objectives.

coding

Will Faught

2 minutes

Big Macs Vs. The Naked Chef

Joel Spolsky: But the rules and procedures only work when nothing goes wrong. Various “data-backed Web site” consulting companies sprouted up in the last couple of years and filled their ranks by teaching rank amateurs the fourteen things you need to know to create a data-backed Web site (“here’s a select statement, kid, build a Web site”). The last line cracked me up. The moral of the story: Beware of Methodologies.

agile coding

Will Faught

1 minute

Good Agile, Bad Agile

Steve Yegge: Up until maybe a year ago, I had a pretty one-dimensional view of so-called “Agile” programming, namely that it’s an idiotic fad-diet of a marketing scam making the rounds as yet another technological virus implanting itself in naive programmers who’ve never read “No Silver Bullet”, the kinds of programmers who buy extended warranties and self-help books and believe their bosses genuinely care about them as people, the kinds of programmers who attend conferences to make friends and who don’t know how to avoid eye contact with leaflet-waving fanatics in airports and who believe writing shit on index cards will suddenly make software development easier.

agile coding

Will Faught

1 minute

Keep Your Commits Atomic

Sean Patterson: Commit each fix or task as a separate change Only commit when a block of work is complete Commit each layout change separately Joint commit for layout file, code behind file, and additional resources Invaluable advice for keeping a sane commit history.

coding git

Will Faught

1 minute

How To Write A Git Commit Message

Chris Beams: A project’s long-term success rests (among other things) on its maintainability, and a maintainer has few tools more powerful than his project’s log. It’s worth taking the time to learn how to care for one properly. What may be a hassle at first soon becomes habit, and eventually a source of pride and productivity for all involved. In this post, I am addressing just the most basic element of keeping a healthy commit history: how to write an individual commit message.

coding git

Will Faught

1 minute

Scrum Disempowers Developers

A reply to someone saying someone else had a bad experience with Scrum because they did Scrum wrong: That sounds ridiculously similar to people hanging on to communism/socialism: “the principles are sound, it just hasn’t been implemented as intended”. Except, just like communism, Scrum has never and will never be implemented “as intended” because that’s contrary to our collective evolutionary gifts, and against a developer’s desire to find satisfaction in good craftsmanship.

agile coding scrum

Will Faught

1 minute

March 2018

Current Year

but it’s const final static private abstract unsigned int CURRENT_YEAR = 2018 LOL.

coding

Will Faught

1 minute

Wirth, Oberon And Simplicity

The use of self-compilation speed as a benchmark seems like a great way to target and then maintain a balance between complexity and the performance benefits of optimizations in a compiler. Complex optimizations where the cost of optimization in terms of code complexity, outweigh the benefits of faster binaries could be clearly recognised with such a metric. An interesting idea for seeing the tradeoffs between compiler design/implementation complexity and speed.

coding go oberon

Will Faught

1 minute

Life Of A Go Infrastructure Maintainer

Hyrum Wright: Given enough use, there is no such thing as a private implementation. That is, if an interface has enough consumers, they will collectively depend on every aspect of the implementation, intentionally or not. This effect serves to constrain changes to the implementation, which must now conform to both the explicitly documented interface, as well as the implicit interface captured by usage. We often refer to this phenomenon as “bug-for-bug compatibility.

Will Faught

1 minute

What I Learnt From Building 3 High Traffic Web Applications On An Embedded Key Value Store.

Anthony Alaribe: Firstly, a NoSQL key value store is fast, much faster than a comparable relational database. Its speed comes from its simplicity. A key value database stores a data record using one primary key. The key means the record is uniquely identifiable, and can be directly accessed. Other than this, it’s up to the developer to architect any more complexity in accessing data. I love the Dark Side meme.

coding go performance

Will Faught

1 minute

January 2018

The Naming Of Hosts

The other day I was thinking about how many RFCs there are, and how likely it is that someone has actually read them all and understands how all Internet technologies work. Then I ran across this, and was enlightened.

coding internet rfc

Will Faught

1 minute

December 2017

Finding The Meaning Of Journey In Its Music

If you ever wondered what Journey was all about, this is the best you’re going to find. The ending blew my mind. So great.

games journey

Will Faught

1 minute

October 2017

“Super Mario Run’s 200 Million Downloads Didn’t Result In ‘Acceptable Profit’ For Nintendo”

Nintendo’s first mobile game, Super Mario Run, was enormously popular — but that doesn’t mean it was a success for the company. During its most recent earnings report, Nintendo revealed that Mario Run has been downloaded 200 million times, 90 percent of which came from outside of Japan. However, Nintendo says that despite these big numbers, the game has “not yet reached an acceptable profit point.” While Nintendo didn’t reveal any specifics with regards to conversion rates, a big sticking point for many with Super Mario Run was its comparatively large price point; it’s free to download, but requires a one-time fee of $9.

Will Faught

1 minute

The Icon Journey

icon vscode

Will Faught

September 2017

Golang Interfaces With One Method Can Now Be On One Line

Sweet.

go

Will Faught

1 minute

My First Golang Contribution

Sniff. I’m just so proud.

Will Faught

1 minute

August 2017

Potential Half-Life 3 Plot Outed By Series Writer Marc Laidlaw

Half-Life 3, gaming’s greatest unicorn, may finally be with us—albeit in text form. Marc Laidlaw, the now retired lead writer of the Half-Life series, has published what appears to be a summary of the plot of Half-Life 3, or Half-Life 2: Episode 3, entitled “Epistle 3.” This pretty much clinches it for me that it isn’t being worked on. Thanks to Mark Laidlaw for giving us fans some kind of closure.

Will Faught

1 minute

π