Bytes: Like any good doggo, ESLint might be a little overbearing

Bytes banner (Turn on images 😘)

Happy Fourth of July to those who celebrate and happy July 4th to those who don’t. This week, we’ve got our special Bytes Cocktail recipe, our class action lawsuit Airbnb developers, and a story all about how my life got flipped turned upside down.

Welcome to #107.


Will Smith Meme

Another framework???

There’s a new Fresh Prince

No, I’m not talking about the new TV series reboot that nobody asked for. I’m talking about Fresh – the new fullstack SSR framework…that nobody asked for.

Fresh was created by the Deno team (who raised a very fresh $21 million last month), and they just released a stable v1.0 of the framework last week. It’s built on top of Deno, and describes itself as a combo of “a routing framework and templating engine that renders pages on demand, on the server” using Preact and JSX.

So it’s basically Remix and Next.js and Astro and Hydrogen and RedwoodJS… but for Deno?

Well yes, but actually no. Fresh borrows a lot of features and concepts from those other frameworks, but it combines them in a unique way while adding some cool new features of its own – thanks to a healthy serving of magic Deno dust. Let’s zoom in:

  • Similar to Astro, Fresh uses the Islands Architecture to only ship JavaScript for components that actually require interactivity – it ships zero JS to the client by default.

  • It has file-system routing that’s very similar to Next.js and Remix-style form submissions.

  • Being built on Deno means that Fresh has first-class TypeScript support, doesn’t require configuration, and has no build step. So you’d never have to read another blog post about “How I reduced my build times by 13.7% in just 29 easy steps.”

Bottom Line: Ultimately, Fresh wants to make it super simple for you to use Deno and Deno Deploy™ to deploy your apps to the edge, so that you can easily build cool stuff and so that your company will eventually pay them lots of money.

And so far, they seem to be doing a good job.


Cursed Cookie

When you build your own chat app from scratch [sponsored]

Stream is the smartest way to build chat apps

Building a chat app from scratch in 2022 is like trying to make Pop-Tarts from scratch – overly complex and completely unnecessary thanks to glorious technology.

That’s because most developers just use Stream It’s the #1 chat-messaging and activity feed platform in the world – because it handles all of the mess that comes with building chat apps for you.

bUt WilL iT SCaLe? Don’t ask me, ask Match.com – they use Stream to let their 22 million members send each other heartfelt messages like, “You up?” every single day night. So next time you drunkenly message that person who ghosted you 7 months ago, you can thank (or curse) Stream for making it all possible.

CodePen, Imgur, SoundCloud and a bunch of other companies have built apps with Stream too. Chances are, you’ve already used Stream as a user without even realizing it 🤯.

Check out the free trial and I guarantee you’ll be shocked by how straightforward (and flexible) the API is.


Dog meme

Happy birthday, old boy

ESLint is still going strong

The OG JavaScript linter just turned 9 years old last week, which is roughly 63 in JS years (yes, that’s the same as dog years… feels right).

That’s a pretty impressive run for a tool that literally everyone uses. Like any good doggo, ESLint might be a little overbearing at times, but its heart is always in the right place. So let’s break out a new jar of peanut butter (down boy) and pay some respect to the Lint King.

How we got here: ESLint was created by Nicholas Zakas to torture you flag and fix common issues with your JavaScript code. Until 2019, it was more widely used than Babel or TypeScript, and it still gets 26 million weekly downloads today 🤯.

A big reason that it’s stayed so popular for so long is because of how easy it is to configure and create plugins for. In many ways, ESLint is responsible for kickstarting the JavaScript tooling revolution that’s still rolling today.

Here’s how it works under the hood:

  • ESLint is a compiler that parses your JavaScript into an AST and runs it through a bunch of plugins and rules.

  • Plugins are used to add functionality to ESLint (aka the band-aid React uses to help you understand hooks).

  • It then passes the output to your IDE or build tool in order to shame you for being bad at your job (it’s only yelling at you because it cares).

  • Finally, it does your job for you automatically fixes (some of) the flagged issues with the --fix 🪄 command

Bottom Line: There’s no denying that ESLint has made all of our lives exponentially better. However, if you’ve been emotionally scarred by the Airbnb ESLint config, you may be entitled to compensation! Tweet using the hashtag #AirbnbESLintPain to join our class-action lawsuit today.


Jobs

Full-Stack Developer Job for Health Applications

QuickBird is looking for a Full-Stack Developer working on medical/health applications in Munich, Germany. Our young, energetic team highly values great engineering and we enjoy making a positive impact. We provide re-location assistance. Our Stack: Backend with Node.js, Frontend with React, & JavaScript/TypeScript.

Senior or Staff Front-end Engineer - React (100% Remote)

Close.com is looking for 3 experienced individuals that have a solid understanding of React and want to help design, implement and launch major user-facing features. Close is a 100% globally distributed team of ~55 high-performing, happy people that are dedicated to building a product our customers love.


JS Quiz – Sponsored by Raygun

Raygun is the best tool for catching and resolving bugs before they crash prod. We use it at ui.dev and it’s been super helpful.

Given this array of tweets, how would you get the tweet that has an id of 3?

const tweets = [
  { id: 1, stars: 13, text: 'Turns out "git reset --hard HEAD^" was a terrible idea.' },
  { id: 2, stars: 87, text: 'Tech conferences are too expensive.' },
  { id: 3, stars: 51, text: 'Clean code is subjective. Optimize for deletion.' },
  { id: 4, stars: 19, text: 'Maybe the real benefit of open source was the friendships we made along the way?' },
]

Cool Bits

  1. TypeScript-JSON is a runtime type checker that gives you a 5x faster JSON.stringify() function with only one line of code. And if you’re looking to produce code 5x faster, we recommend the Bytes Cocktail: a 1-liter mason jar filled with equal parts Red Bull, Mtn Dew Code Red, and Fun Dip packets. (I like mine on the (pop) rocks.)

  2. CarbonQA provides QA services geared for dev teams. They’ll boost your team’s morale sky-high by… breaking your code repeatedly. But the good news is that you’ll never have to waste time on testing again. They work in your tools, talk with your team on Slack, and let your devs be devs. [sponsored]

  3. Next.js just released v12.2 and it’s a big one – stable versions of middleware and on-demand ISR, along with experimental versions of Edge SSR and Edge API routes. So much edge, so little time.

  4. Nolan Lawson wrote a great article about SPAs and MPAs in theory versus practice, in an attempt to bring a little nuance to that debate. I typically prefer the polarizing, 140-character hot takes that people spend 45 seconds writing while on the toilet, but to each their own.

  5. Sacha Greif wrote a reflection on 10 Years of Meteor as someone who lived through it (and wrote a popular book on it at the time). The good news is that we’ve all learned our lesson and no longer have any of our vital web infrastructure dependent on venture capital and its grow-fast-or-die-trying expectations, right? 🥲

  6. Jim Nielsen (Director of Design @ Remix) wrote an insightful post about Data flow in Remix and what makes their approach unique.

  7. Slack’s VP of Engineering spoke recently about reducing developer burnout by “avoiding crap like toil, re-work, and spending too much mental energy on bottlenecks.” But it turns out the best way to avoid those things would be to invent a time machine, go back to the late 2000’s, and prevent Slack from ever being created in the first place. She didn’t mention that for some reason.

  8. Devon Govett just announced that React Aria has new date and time pickers with some great features and functionality. Sounds cool Devon, but how exactly is that supposed to help us get back to 2009 Vancouver?


JS Quiz - Solution – Sponsored by Raygun

I know this was an easy one but it’s the Fourth of July and I gotta get this out so I can go watch a guy try to eat 76 hot dogs to celebrate my Country.

const tweets = [
  { id: 1, stars: 13, text: 'Turns out "git reset --hard HEAD^" was a terrible idea.' },
  { id: 2, stars: 87, text: 'Tech conferences are too expensive.' },
  { id: 3, stars: 51, text: 'Clean code is subjective. Optimize for deletion.' },
  { id: 4, stars: 19, text: 'Maybe the real benefit of open source was the friendships we made along the way?' },
]

const tweet = tweets.find((t) => t.id === 3)

console.log(tweet) // {id: 3, stars: 51, text: "Clean code is subjective. Optimize for deletion."}

Have a product you think our developers will love?
Advertise in Bytes

ui.dev icon youtube icon twitter icon

50 W Broadway Ste 333 PMB 51647 Salt Lake City, Utah 84101

Unsubscribe from Bytes

Older messages

Bytes: Hot Spec Summer is BACK

Monday, June 27, 2022

This week, we've got Hot Spec Summer, Shopify's Big H, and Bionicles fan fiction. Welcome to #106. Hot Spec Summer is back A tradition unlike any other Last week, we observed the only religious

Bytes: If it renders on the edge, it's time to pledge.

Monday, June 20, 2022

This week, we've got the Death Cab for Cutie of auth solutions, lessons from Daddy Warzucks, and nowhere to hide. Welcome to #105. We are fast. We are lean. We are French. The build tool coming for

Bytes: 15 badges earns you a waffle party

Monday, June 13, 2022

This week, we've got one IDE going to heaven, fifteen GitHub badges to earn a waffle party, and a million ways to be cruel. Welcome to #104. Welcome to the cloud, my son Is the cloud heaven? Last

Bytes: What do Air Bud and Angular have in common?

Monday, June 6, 2022

This week, we've got an Air Bud crossover for the ages, a new team-building drinking game, and a master plan for infiltrating the Vue Mafia. Welcome to #103. Was this a real movie, or did we all

Bytes: Twitter beefs between framework authors

Tuesday, May 31, 2022

This week, we've got a new way to feel something test your code, some bundler fan fiction, and the hardest diss of the 18th Century. Welcome to #102. My first (and last) testing conference Fact

You Might Also Like

LockBit Ransomware Developer Charged for Billions in Global Damages

Saturday, December 21, 2024

THN Daily Updates Newsletter cover The Data Science Handbook, 2nd Edition ($60.00 Value) FREE for a Limited Time Practical, accessible guide to becoming a data scientist, updated to include the latest

Re: My VPN recommendation

Saturday, December 21, 2024

Do you know when to use a VPN and what it does to protect your data? Any time you are connected to the internet, your information is at risk of being tracked or hacked. A VPN helps keep your surfing

📧 Scheduling Background Jobs With Quartz in .NET (advanced concepts)

Saturday, December 21, 2024

​ Scheduling Background Jobs With Quartz in .NET (advanced concepts) Read on: m​y website / Read time: 6 minutes The .NET Weekly is brought to you by: It's been a big year for API collaborations!

The Thrill Was Never There 🎸

Saturday, December 21, 2024

Takeaways from a punk-rock creator who says he doesn't like punk. Here's a version for your browser. Hunting for the end of the long tail • December 20, 2024 The Thrill Was Never There A famous

🎮 Smartphones Will Never Kill Dedicated Handhelds — 11 Stocking Stuffers for iPhone Owners

Friday, December 20, 2024

Also: How to Add a Smart Speaker to Your Home Assistant Setup How-To Geek Logo December 20, 2024 Did You Know The nursery rhyme "Mary Had a Little Lamb" is based on a true story. The girl in

Daily Coding Problem: Problem #1643 [Easy]

Friday, December 20, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Facebook. Given a 32-bit integer, return the number with its bits reversed. For example,

JSK Daily for Dec 20, 2024

Friday, December 20, 2024

JSK Daily for Dec 20, 2024 View this email in your browser A community curated daily e-mail of JavaScript news Empower Your Data Insights: Integrating JavaScript Gantt Chart into Power BI Syncfusion

Charted | America’s Top 20 Billionaires, by Wealth 💰

Friday, December 20, 2024

America's top 20 billionaires have a combined wealth of $2.7 trillion, as of December 2024. See how it all breaks down in this infographic. View Online | Subscribe | Download Our App Presented by:

My holiday AI reading list 🎄

Friday, December 20, 2024

plus, what's coming in 2025 ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Spyglass Dispatch: On to '25

Friday, December 20, 2024

Google's 'AI Mode' • Billionaires at Dinner • Nintendo's Switch 2 • Amazon's Bond Problem The Spyglass Dispatch is a newsletter sent on weekdays featuring links and commentary on