FullStack Bulletin

Subscribe
Archives
July 15, 2024

🤓 #381: Reverse Engineering TicketMaster's Rotating Barcodes

Randomness In JavaScript, Scale a Database, The Magic of Clip Path, Path To A Clean(er) React Architecture, Accessible sortable list, Batman.css

View this email in your browser

Logo

Hello,

Welcome to issue #381!

In this issue, we have an excellent collection of curated full-stack content to keep you informed and inspired! The first article is fascinating to me since I also found myself trying to hack TicketMaster's new digital tickets. The first version was quite naive, you could just remove the floating bar from the DOM and take a screenshot of the barcode. Now the barcode is regenerated every 15 seconds and the author of the article needs to go into a much deeper rabbit hole to fully reverse engineer how the ticket works and how to avoid the invasive TicketMaster mobile app. It's a fascinating reading that will teach you about bar codes, bearer tokens, and OTP codes, so definitely recommended!

I won't spoil the rest of the content here and let you discover it for yourself!

— Your editor, Luciano

“Any sufficiently advanced technology is equivalent to magic“

— Arthur C. Clarke , Author

Reverse Engineering TicketMaster's Rotating Barcodes (SafeTix)

Reverse Engineering TicketMaster's Rotating Barcodes —  “Screenshots won’t get you in”, but Chrome DevTools will (if you know where to look)! This article might look like a bit of off-topic, but I loved to read how the author used web technologies to reverse engineer how TicketMaster's new rotating barcode works. I personally hate as well how this new ticketing system tries to lock users down to one proprietary solution which does not help the users. If you are also into barcodes and content encoding you'll surely find this read quite fascinating. Read article

Exploring Randomness In JavaScript — How much random is a random number generation in JavaScript? Ben Nadel compares the randomness of Math.random() vs crypto.getRandomValues() in terms of randomness and performance. Read article

System Design: How to Scale a Database — Have you ever wondered how big websites with hundreds of thousands of users scale their databases? This article discusses 8 different techniques commonly used to scale databases to insane levels! Read article

The Magic of Clip Path — clip-path is often used for trimming a DOM node into specific shapes, like triangles. But what if I told you that it's also great for animations? Read article

Path To A Clean(er) React Architecture: Domain Logic — The unopinionated nature of React is a two-edged sword. On the one hand, you get freedom of choice. On the other hand, many projects end up with a custom and often messy architecture. This article is the seventh part of a series about software architecture and React apps where we take a code base with lots of bad practices and refactor it step by step. In this article, you will learn where to put all the small functions that often end up in utility files using the domain layer. Read article

Exploring the challenges in creating an accessible sortable list (drag-and-drop) — The Accessibility team at GitHub considers drag-and-drop a “high-risk pattern,” often leading to accessibility barriers and a lack of effective solutions in the industry. They developed a solution for a more accessible sortable list, which they refer to as "one-dimensional drag-and-drop". Read article

Batman-Comic.CSS — Move aside, TailwindCSS, the next best CSS utility-class library, is already here, and it's all about web development... and comics. Because the caped crusader makes everything better! Check out this awesome CSS library that allows you to make Batman comics! Why wouldn't you want to do that?! Read article

Python Crash Course, 3rd Edition: A Hands-On, Project-Based Introduction to Programming

by Eric Matthes

Python Crash Course, 3rd Edition: A Hands-On, Project-Based Introduction to Programming

You'll start by learning basic programming concepts, such as variables, lists, classes, and loops, and practice writing clean code with exercises for each topic. You'll also learn how to make your programs interactive and test your code safely before adding it to a project. You'll put your new knowledge into practice by creating a Space Invaders-inspired arcade game, building a set of data visualizations with Python's handy libraries, and deploying a simple application online. As you work through the book, you'll learn how to:

  • Use powerful Python libraries and tools, including pytest, Pygame, Matplotlib, Plotly, and Django
  • Make increasingly complex 2D games that respond to keypresses and mouse clicks
  • Generate interactive data visualizations using a variety of datasets
  • Build apps that allow users to create accounts and manage their own data, and deploy your apps online
  • Troubleshoot coding errors and solve common programming problems

Buy on Amazon.com

Buy on Amazon.co.uk

Buddy, what about checking these ones before you go? 🤔

  • Rye: project and package management solution for Python
  • Script Integrity
  • Sneaky React Memory Leaks: How the React compiler won’t save you
  • Serverless AI Inference with Gemma 2 using Mozilla's llamafile on AWS Lambda
  • Flexbox Layouts
  • Moving from Express to Fastify
  • Learn Suspense by Building a Suspense-Enabled Library
  • Which (AWS) load balancer should you use? (podcast)

👋 That’s all for this week. See you next Monday!

Greetings from your full stack friends Luciano & Andrea

🙌 Support us

If you enjoy FullStack Bulletin, consider sharing this newsletter with your friends and colleagues.


If there's something we can improve, let us know!


You can also sponsor the next issue!

Website iconTwitter iconMastodon icon

Copyright (C) 2024 FullStack Bulletin. All rights reserved.
*|IFNOT:ARCHIVE_PAGE|*

FullStack Bulletin is a FREE weekly curated newsletter for ambitious full stack developers. We sift the internet for builders, covering frontend, backend, databases, DevOps, and architecture to find what truly matters. Expect practical picks, clear takeaways, and fresh ideas that cut the noise, sharpen your skills, and fuel your creativity so you can put them to work right away.

*|END:IF|*

Our mailing address is:
*|IFNOT:ARCHIVE_PAGE|**|HTML:LIST_ADDRESS|**|END:IF|*

Want to change how you receive these emails?

You can update your preferences or unsubscribe

Don't miss what's next. Subscribe to FullStack Bulletin:
Powered by Buttondown, the easiest way to start and grow your newsletter.