Goldblog

https://joshuakgoldberg.com/

I'm an open source maintainer in the TypeScript ecosystem.

フィード

記事のアイキャッチ画像
2022 In Review
Goldblog
Looking back at a pivotal year in my open source career.
3年前
記事のアイキャッチ画像
Binary Arithmetic in the TypeScript Type System
Goldblog
Just for fun, what if we represented binary values purely within TypeScript's logical type system?
6年前
記事のアイキャッチ画像
2024 Finances In Review
Goldblog
Breaking down the income streams and totals from my third year as a full-time independent open source maintainer.
7ヶ月前
記事のアイキャッチ画像
2023 Conferences In Review
Goldblog
Recapping the fantastic in-person conferences I attended in 2023.
2年前
記事のアイキャッチ画像
2024 In Review
Goldblog
Looking back at the accomplishments and goals from my third year as a full-time independent open source maintainer.
7ヶ月前
記事のアイキャッチ画像
2023 In Review
Goldblog
Looking back at my second year as a full-time independent open source maintainer.
2年前
記事のアイキャッチ画像
Compassionate Onboardings as Developer Documentation
Goldblog
How to use the energy of new employees to keep documentation up-to-date and useful.
5年前
記事のアイキャッチ画像
Configuring Markdownlint Alongside Prettier
Goldblog
Using the common markdown linter and disabling any rules that would intersect with dedicated formatters such as Prettier.
3年前
記事のアイキャッチ画像
Configuring ESLint, Prettier, and TypeScript Together
Goldblog
How I recommend getting your formatter, linter, and type checker to play together nicely.
2年前
記事のアイキャッチ画像
Contributing to a create-typescript-app Repository
Goldblog
A thorough guide through contributing to create-typescript-app or any repository scaffolded using it.
2年前
記事のアイキャッチ画像
Configuring ESLint, Prettier, and TypeScript Together: FAQs
Goldblog
How I recommend getting your formatter, linter, and type checker to play together nicely.
2年前
記事のアイキャッチ画像
Definitely Formatted
Goldblog
How we migrated the massive DefinitelyTyped repository from using a linter for formatting to the dprint formatter.
1年前
記事のアイキャッチ画像
Don't Write Bad Code
Goldblog
A mantra for constantly learning to keep myself writing at my best.
4年前
記事のアイキャッチ画像
TypeScript Contribution Diary: Filtering Out Types From JavaScript-Only Import Suggestions
Goldblog
Removing type-land entries from import completions that can't be used in value-only-land.
2年前
記事のアイキャッチ画像
Contributing to a create-typescript-app Repository: FAQs
Goldblog
FAQs for contributing to my create-typescript-app project or any repository scaffolded using it.
2年前
記事のアイキャッチ画像
I'm Moving Blogs!
Goldblog
Medium can eat it. I'm going open source with Gatsby!
6年前
記事のアイキャッチ画像
Hacking TypeScript's async/await __awaiter for jQuery 2's "Promises"
Goldblog
Manipulating the details of TypeScript's emitted code to wrestle jQuery 2's older asynchronous constructs to work with modern `async`/`await`.
8年前
記事のアイキャッチ画像
Full Time Open Source
Goldblog
I'm quitting my job to become a full time open source maintainer
4年前
記事のアイキャッチ画像
How I Attend a Conference
Goldblog
From attending a few dozen conferences and co-organizing one of my own, this is how I make the most of in-person event.
1年前
記事のアイキャッチ画像
How I Apply to Conferences: FAQs
Goldblog
Common questions and answers for my How I Apply To Conferences article.
3年前
記事のアイキャッチ画像
How I Apply to Conferences
Goldblog
From a hundred conference applications and thirty speaking roles, this is my process for submitting talks.
3年前
記事のアイキャッチ画像
How lazily instantiated classes reduced my game engines' reset times by half
Goldblog
Using lazily instantiated, dynamic classes instead of hand-written functions to reduce unnecessary work during loads.
8年前
記事のアイキャッチ画像
How to show RequireJS progress with NProgress
Goldblog
Using the popular NProgress library to visualize load progress on sites built on the AMD RequireJS loader
9年前
記事のアイキャッチ画像
Hybrid Linters: The Best of Both Worlds
Goldblog
Native speed for parsing and type checking is wonderful. I also want the huge benefits of writing lint rules in an ecosystem's primary language. Here's how I think we can have both.
5ヶ月前
記事のアイキャッチ画像
Switching a Jest Project from Babel to SWC
Goldblog
Speeding up and simplifying the transpiler configuration for a Jest project with Speedy Web Compiler (SWC).
4年前
記事のアイキャッチ画像
In Defense of 100% Unit Test Coverage
Goldblog
Or: How to suddenly anger everybody, everywhere!
7年前
記事のアイキャッチ画像
My Plans for 2025
Goldblog
How I'm going to make my 2025 impactful.
7ヶ月前
記事のアイキャッチ画像
My Plans for 2024
Goldblog
How I'm going to make my 2024 beautiful.
2年前
記事のアイキャッチ画像
My Plans for 2023
Goldblog
How I'm going to make 2023 awesome.
2年前
記事のアイキャッチ画像
Nature, Individuality, and Developer Empowerment
Goldblog
Applying learnings about how humans perceive forces of nature to how we understand code and organizations.
4年前
記事のアイキャッチ画像
No Unattainable Intelligence
Goldblog
In trying to make ourselves relatable, we reinforce the negative perception of intelligence gaps.
3年前
記事のアイキャッチ画像
Please Stop Sending Me Nested Dependency Security Reports
Goldblog
Security is important. Overusing report mechanisms for non-actionable noise is counterproductive.
1年前
記事のアイキャッチ画像
Why Open Source Pull Requests Can Take A While
Goldblog
Maintenance and development costs run both ways. Open source contributors and maintainers alike have to balance their finite energy and time resources within many constraints.
3年前
記事のアイキャッチ画像
Rust-Based JavaScript Linters: Fast, But No Typed Linting Right Now
Goldblog
Explaining why the speed gains from Rust linters aren't comparable to the full feature set of typescript-eslint.
2年前
記事のアイキャッチ画像
Six Months of Full Time Open Source
Goldblog
What it's like to quit your job and try to work on open source tooling full time.
3年前
記事のアイキャッチ画像
So You've Got A Gap In Code Coverage
Goldblog
This is my standard explainer for pull request reviews where changed lines aren't covered by unit tests.
6ヶ月前
記事のアイキャッチ画像
Seven Reasons Why Conversational AI is Dangerous
Goldblog
While AI systems such as OpenAI and ChatGPT can be helpful in certain situations, there are also significant risks associated with their use.
2年前
記事のアイキャッチ画像
Speeding Up Centered Part 1: 81 <iframe> Embeds
Goldblog
Improving a page's performance by over-eager loading most of its embedded content.
2年前
記事のアイキャッチ画像
Speeding Up Centered Part 3: Barrel Exports
Goldblog
Automating changes to module imports to overcome the build system not correctly tree shaking barrel exports.
2年前
記事のアイキャッチ画像
Speeding Up Centered Part 2: Hidden Embedded Images
Goldblog
Finding and removing giant unused assets hidden in marketing page to speed up that page's performance.
2年前
記事のアイキャッチ画像
Speeding Up Centered Part 4: Unused Code Bloat
Goldblog
Using Knip to automatically detect unused files and dependencies in the Centered repository.
2年前
記事のアイキャッチ画像
Split Out Unrelated Changes
Goldblog
This is a general explainer for pull request reviews where I think unrelated changes should be split into a separate PR.
8ヶ月前
記事のアイキャッチ画像
Speeding Up Centered Part 5: Emoji Processing
Goldblog
Finding and eliminating thousands of calls to recreate a giant regular expression in a popular open source emoji plugin.
2年前
記事のアイキャッチ画像
Standards Compliant Rickrolling
Goldblog
How to create an effective rickroll site with the Vimeo Player SDK despite modern web browser autoplay restrictions.
3年前
記事のアイキャッチ画像
The Cost of a Lint Rule
Goldblog
Explaining why deep work can be so difficult in open source.
1年前
記事のアイキャッチ画像
Team Construction Pitfalls
Goldblog
How misbalanced or poorly positioned teams restrict their developers in both the short and long term.
5年前
記事のアイキャッチ画像
The Blurry Line Between Formatting and Style
Goldblog
Why separating responsibilities between your formatter and linter isn't always clear-cut.
2年前
記事のアイキャッチ画像
Thoughts as a TSLint Maintainer
Goldblog
Maintaining TSLint was a wonderful mixed bag of shenanigans. Let's talk about it.
6年前
記事のアイキャッチ画像
TSLint to ESLint Part 2: tslint-to-eslint-config
Goldblog
Now that TSLint is being deprecated, let's look at how tslint-to-eslint-config converts your TSLint configuration to ESLint.
6年前
記事のアイキャッチ画像
TSLint to ESLint Part 1: Historical Context
Goldblog
Now that TSLint is being deprecated, let's look at the history of JavaScript and TypeScript linting.
6年前
記事のアイキャッチ画像
Try...Catch As Little As Possible
Goldblog
This is a general explainer for pull request reviews where a try...catch statement is used more than I think it needs to be.
9ヶ月前
記事のアイキャッチ画像
Type Parameters in the "Add Missing Function" Codefix
Goldblog
Corrects the missing function codefix to add type parameters when the function needs to be generic.
3年前
記事のアイキャッチ画像
TypeScript Contribution Diary: Tuple Types Indexed by a Type Parameter
Goldblog
Fixing a slight bug in how TypeScript resolves type elements of tuple types indexed by type parameters.
2年前
記事のアイキャッチ画像
Type System Game Engines
Goldblog
Just for fun, what if we crafted a board game purely within TypeScript's logical type system?
5年前
記事のアイキャッチ画像
TypeScript Contribution Diary: Allowing Code in Constructors Before `super()`
Goldblog
Allowing derived classes with properties to include code before `super()` call that doesn't touch `this`. A grand pull request three years in the making -- with cake!
3年前
記事のアイキャッチ画像
TypeScript Contribution Diary: Allowing Code in Constructors Before `super()` (Technical Overview)
Goldblog
More technical descriptions around allowing derived classes with properties to include code before `super()` call that doesn't touch `this`.
3年前
記事のアイキャッチ画像
TypeScript Contribution Diary: Improved Syntax Error for Enum Member Colons
Goldblog
A quick syntax parsing improvement for incorrectly formatted enums.
6年前
記事のアイキャッチ画像
TypeScript Contribution Diary: Improved errors for empty DOM interfaces
Goldblog
Glorious hardcoding of a better error message if someone forgets to include the 'dom' lib option.
4年前
記事のアイキャッチ画像
TypeScript Contribution Diary: Identifiers after Numeric Literals
Goldblog
How I made TypeScript's parsing of name characters after numbers conform to the ECMAScript specification just a bit more strictly.
7年前
記事のアイキャッチ画像
TypeScript Contribution Diary: Improved Errors on Invalid Variable Names
Goldblog
Improving the first error message emitted for invalid variable identifiers.
5年前
記事のアイキャッチ画像
TypeScript Contribution Diary: Trailing Type Parameters
Goldblog
How I contributed a change to TypeScript that allowed trailing commas in type parameter/argument lists.
8年前
記事のアイキャッチ画像
TypeScript Contribution Diary: Pretty Error Counts
Goldblog
How I helped add an 'errors summary' to TypeScript's command-line --pretty --watch mode.
7年前
記事のアイキャッチ画像
TypeScript Contribution Diary: // @ts-expect-error
Goldblog
Adding a new comment directive to the TypeScript compiler.
5年前
記事のアイキャッチ画像
useEffect Pet Peeve: Side Effects, Not Initialization
Goldblog
Explaining why using useEffect to initialize values is dangerous.
4年前
記事のアイキャッチ画像
Why Typed Linting Needs TypeScript Today
Goldblog
Typed linting is powerful but requires a full type checker to function well. Today, that means TypeScript. This is why we haven't found a suitable replacement yet.
1年前
記事のアイキャッチ画像
Why I'm Migrating from X to Bluesky
Goldblog
Twitter has been a core part of my web development career for over a decade. But Twitter's been replaced by the vastly inferior X. Here's why I'm finally ready to commit to Bluesky.
10ヶ月前
記事のアイキャッチ画像
You Probably Don't Need `eslint-config-prettier` or `eslint-plugin-prettier`
Goldblog
Explaining two popular Prettier integrations for ESLint, and why I avoid both of them.
2年前
記事のアイキャッチ画像
If I Wrote a Linter, Part 1: Architecture
Goldblog
This how I would architect a modern linter from scratch: focusing on built-in TypeScript support, a straightforward rule development experience, and deduplicating tooling.
4ヶ月前
記事のアイキャッチ画像
If I Wrote a Linter, Part 2: Developer Experience
Goldblog
This is how I would tailor the developer experience for a modern linter from scratch: focusing on end-to-end type safety, self-apparent configs, and native workspaces.
4ヶ月前
記事のアイキャッチ画像
If I Wrote a Linter, Part 3: Ecosystem
Goldblog
This is how I would steer a new ecosystem around a modern linter from scratch: emphasizing shared terminology, a plugin registry, and one-way compatibility layers.
4ヶ月前
記事のアイキャッチ画像
If I Wrote a Linter, Part 4: Summary
Goldblog
Summarizing the last three posts of ideas for a new linter, along with next steps for its Flint prototype.
3ヶ月前