Create an account to track your progress and appear on leaderboards.
Format memorable quotes from a messy Rails World 2025 transcript using Vim.
78
1m 46s
148
No upcoming challenges scheduled yet.
Make your boss happy by cleaning up the log file. He's watching! đ
You made a clean JSON schedule for the kids' summer activities. But your wife doesn't know how to parse JSON. I know, crazy right? Who doesn't know how to parse a little JSON? Either way, fix this so your wife can take the kids to their activities on time
Typecraft's baby log has been mostly well-kept⌠until a sleep-deprived 3AM entry and a couple voice-to-text dictations gone wrong. Now the pediatricianâs email parser is rejecting the log due to "inconsistent formatting." Your task is to clean it up and convert it into CSV.
Your Rails logs are flooded with every request, but you only care about failed checkout calls (/api/checkout with status 500).
Wrap text at 40 characters and clean up this internal HR email before itâs forwarded to the CTO.
Collapse Git conflict blocksâand delete a 2022 ID hack.
Youâre preparing this data for a Very Serious Recruiter⢠who only wants: - The names of people who are "looking" for jobs - No emojis - All job titles uppercased
Typecraft is making courses now! But we're terrible at making lists. Help us make this list better, and make the best courses possible?
Sleep-deprived Chris, fueled by coffee and newborn cries, dumped the babyâs details into one chaotic line. Rescue his zombie-scribble and turn it into a proud, multi-line bullet list.
During this morningâs caffeine-fueled Scrum, we declared: âOur AI calls must be as neat as a baristaâs latte art.â Any call with multiple keyword args now gets its own line, wrapped in parenthesesâno more parameter chaos!
Itâs summer, and you only want to feature seasonal ice-cream flavors on the website. Given a CSV of every flavor, filter out only those marked âYesâ under Seasonal, convert their names to UPPERCASE, and sort them alphabetically. Use Vimâs global commands and simple editsâno heavy regex magic needed.
The familyâs summer plans are in chaosâa single semicolon-separated line of events out of order. Letâs split them into a bullet list and sort by date so Mom can stop yelling âWho planned August before July?!â before the road trip.
The kids have hijacked our family playlist with endless loops of Steveâs âLava Chicken.â Use Vim to delete every âLava Chickenâ entryâexcept one at the very end as a reward for enduring Momâs chill jazz and Dadâs rock ballads.
You (or an overeager teammate) dumped your Git aliases into ~/.zshrc without the proper alias prefix or surrounding single quotes. Before your shell breaks, letâs correct the syntax.
A new dev just joined the teamâand theyâre on Team Tab. Our codebase is littered in parts with these rogue tabs that are just an eyesore for everyone. Convert every leading tab to two spaces!
30 lines of messy CSV. Can you clean them all efficiently?
Formatting meltdown. Visual block to the rescue
Release imminent! Boss 'Captain Deadline' yells: 'SHIP IT OR WE SINK!' You have one bash script with markers: #DEV_ONLY and #PROD_ONLY. Rules: - #DEV_ONLY â comment out (add leading #). - #PROD_ONLY â uncomment (remove leading #). - Both â Prod wins (line stays active). Fix it in five minutes or suffer a 200-slide Lunch 'n Learn on our release process.
Two-line entries, shuffled by day. Time for macro magic.
The best PRs are ones with net negative lines! Letâs finally delete the cruft we deprecated months agoâgrab your Vim and letâs shred that technical debt!
New Challenge
Wednesdays at 10am ET
Total Participants
819 Vim Enthusiasts