…
I like looking back at large time periods and the major events that happened during them. It’s useful to reflect back on what the most important happenings were, and to learn from any missed opportunities or mistakes. Let’s do that now for my 2024.
Biggest Notes
Out of all that happened in 2023,
Community Events
I switched from a participant-and-occasional-helper for community events to an active leader in 2024. 2024 saw the launch of two events:
- Boston TS Club: a monthly meetup for TypeScript developers in the Boston area
- SquiggleConf: “a conference for excellent web dev tooling” held yearly in Boston
I (co-)organized both because I wanted that type of event to regularly occur, and it that wasn’t yet. For both, I’m proud of and thrilled with how far they’ve come in less than a year.
Living Wage in Open Source
My earnings this year are pretty similar to 2023 Living Wage in Open Source. I took in a total income of roughly $60,000 for 2024, compared to $63,000 for 2023.
This is … fine. Not ideal. I was hoping to see my income grow, not fall slightly.
👉 I broke down my 2024 finances, goals, and hopes for 2025 in 2024 Finances in Review
Open Source Projects
??? What to put here?
Year-Long Goals
I’d mentioned yearly goals in My Plans for 2024 last year. Some of those goals had concrete objectives. Did I satisfy those objectives?
Status | Count | Percentage |
---|---|---|
Total | TODO | - |
✅ Hit | TODO | TODO% |
⏳ Partial | TODO | TODO% |
❌ Miss | TODO | TODO% |
TODO
The following sections go through each of the high-level goals.
Open Source
typescript-eslint
Objective | Status |
---|---|
Stable 8.0.0 | ✅ Released |
Establish performance improvements for v8 | ⏳ Project service released, but performance is unproven |
Committer Team Expansion | ✅ 2-3 new active committer team members added |
Documentation overhaul | ⏳ Done for all except Promises and examples |
ESLint
Objective | Status |
---|---|
Remain active as a team member | ⏳ Not consistently active |
Send high quality contributions | ⏳ Not consistently high quality |
ESLint
Objective | Status |
---|---|
Remain active as a team member | ⏳ Not consistently active |
Send high quality contributions | ⏳ Not consistently high quality |
create-typescript-app
Objective | Status |
---|---|
Simplify the template to have 20% fewer root-level files | ✅ From 24 to 19 |
Make migrating a customized single-project or monorepo repository a pleasant experience | ✅ It’s as good as it can be pending create |
Close out all the features I’d suggested through 2022 and 2023 | ⏳ Most, but not all, are resolved |
Spin out a general-purpose create package without losing features or usability | ⏳ Mostly completed by the second week of January |
Standalone GitHub Linter
Objective | Status |
---|---|
Make a stable lint experience for GitHub repositories | ❌ Not started |
TypeStat
Objective | Status |
---|---|
Rebrand, re-document, and stabilize TypeStat as a ts-lift monorepo | ❌ Prototyped, but not close to ready |
Create a ts-initialize project within ts-lift | ❌ Not started |
Create a ts-enhance project within ts-lift | ❌ Not started |
Personal Projects
emoji-blast (Emojisplosion)
Objective | Status |
---|---|
Rebrand and re-document Emojisplosion and its plugins as an emoji-blast monorepo | ✅ Released |
eslint-plugin-expect-type
Objective | Status |
---|---|
Achieve parity with DefinitelyTyped-tools | ⏳ Mostly |
Community Engagement
Conferences
Objective | Status |
---|---|
Give all excellent conference talks | ⏳ Mostly, I personally think? |
Give a conference talk once a month | ⏳ 7 talks across 5 months |
Blogging
Objective | Status |
---|---|
Publish at least one blog post every two weeks | ⏳ 16 posts out of 24 |
Publish at least one post in my personal blog every two months | ✅ 12 out of 6 |
Publish at least one post in the Learning TypeScript blog every two months | ❌ 2 out of 6 |
Publish at least one post in the typescript-eslint blog every two months | ❌ 3 out of 6 |
Boston TS Club
Objective | Status |
---|---|
Establish a smoothly-running monthly meetup | ✅ It’s happening, once a month |
Set up a solid organizing team | ✅ YES |
SquiggleConf 2024
Objective | Status |
---|---|
Successfully run without any major problems | ✅ It went great! |
Set up a solid organizing team | ✅ YES |
We were a definitive success our first year: approximately 135 attendees including staff and volunteers, a well-received talk lineup and out-of-conference events, and -best of all- no major calamities during the conference.
Personal
Health
Objective | Status |
---|---|
Eat healthy, balanced meals most days of the week | ⏳ Mostly, some months |
Reliably work out about three times a week | ⏳ Mostly, some months |
Personal Accountability
Objective | Status |
---|---|
Have confidence in the amount of work I’ve accomplished | ✅ Yes |
Feel good about the amount of work I’ve accomplished | ⏳ Somewhat |
Keep a permanent record of my todo list and day-to-day tasks | ⏳ The first ~2/3 of the year |
End each week at inbox zero and with no desk clutter | ⏳ The first ~2/3 of the year |
Give myself an informed performance review every three months | ❌ Not even once |
Closing Thoughts
When I worked at Microsoft, I’d occasionally hear a saying that jobs moved in cycles of three years. The first year you were learning the ropes, the second year you were getting stable, and the third you you finally knew what you’re doing. That’s how I feel about being an open source maintainer for three years: I kind of know what I’m doing now. It’s a pleasant surprise.
2024 was a ton of fun, but was very tiring. I touched on some burnout towards the end and missed some of the big goals I’d had for the year. I’m happy with what got done but can’t help but feeling disappointment that the rest is still pending.
Thanks again to all the awesome people who helped make my 2024 wonderful. I appreciate you all! ❤️🔥