Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Shipping Secret Messages Through Barcodes
Search
Karina Ruzinov
January 23, 2018
Programming
0
570
Shipping Secret Messages Through Barcodes
PyCascades 2018 talk
Karina Ruzinov
January 23, 2018
Tweet
Share
Other Decks in Programming
See All in Programming
チームで開発し事業を加速するための"良い"設計の考え方 @ サポーターズCoLab 2025-07-08
agatan
1
440
状態遷移図を書こう / Sequence Chart vs State Diagram
orgachem
PRO
1
130
git worktree × Claude Code × MCP ~生成AI時代の並列開発フロー~
hisuzuya
1
590
チームのテスト力を総合的に鍛えて品質、スピード、レジリエンスを共立させる/Testing approach that improves quality, speed, and resilience
goyoki
5
940
PicoRuby on Rails
makicamel
2
130
AIと”コードの評価関数”を共有する / Share the "code evaluation function" with AI
euglena1215
1
170
Modern Angular with Signals and Signal Store:New Rules for Your Architecture @enterJS Advanced Angular Day 2025
manfredsteyer
PRO
0
230
Claude Code + Container Use と Cursor で作る ローカル並列開発環境のススメ / ccc local dev
kaelaela
10
6k
Railsアプリケーションと パフォーマンスチューニング ー 秒間5万リクエストの モバイルオーダーシステムを支える事例 ー Rubyセミナー 大阪
falcon8823
5
1.1k
Team operations that are not burdened by SRE
kazatohiei
1
320
ニーリーにおけるプロダクトエンジニア
nealle
0
870
テストから始めるAgentic Coding 〜Claude Codeと共に行うTDD〜 / Agentic Coding starts with testing
rkaga
13
4.9k
Featured
See All Featured
Scaling GitHub
holman
460
140k
We Have a Design System, Now What?
morganepeng
53
7.7k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
Bash Introduction
62gerente
613
210k
Speed Design
sergeychernyshev
32
1k
Become a Pro
speakerdeck
PRO
29
5.4k
For a Future-Friendly Web
brad_frost
179
9.8k
Why Our Code Smells
bkeepers
PRO
336
57k
Producing Creativity
orderedlist
PRO
346
40k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Transcript
Shipping secret messages through barcodes Karina Ruzinov Software Engineer @
Transfix
Logistics Point A ➡ Point B ✈
Lingo • Carrier: does the shipping of The Thing •
UPS, USPS, FedEx • Shipper: the creator of The Thing • Warby Parker, Five Guys, Nike
So…barcodes?
None
UPC Code39
How you too can read a (UPC) barcode Credit: http://barcode-labels.com/you-can-learn-read-barcode/
What you’re seeing
420112159361289697090020989867 What the carrier is seeing
420 11215 9361289697090020989867 The Identifier for Zip Codes My actual
zip code What the customer impatiently stalks
But how did the scanner know how to do this
None
Convert the electrical signal from the LED reading to a
digital representation First things first.
Image credit: carolinabarcode.com
None
11000101000 11000100010
Is the check digit correct? Before we proceed.
Convert to ASCII text based on decoder 11000101000 11000100010 =
40 = H = 41 = I
Output the final text Allows us to go from To
this
But how does this relate to Python
But before Python, ZPL! (Zebra Programming Language)
None
Python! (writing ZPL)
These are important
None
X,Y coordinates
None
None
A “tall” number
None
None
None
None
None
None
Shipping labels are fun and all, but what else is
out there? QR CODES!
Quick Aside...
Quick Response Code?! • Uses our of alphanumeric representation ->
integer -> binary map • Data is encoded in a zig zag fashion • Level of error correction impacts the quantity of data that can be stored within the QR Code • Masking to appease the scanner
But thankfully we have ZPL (+ Python)
None
Unintuitive ZPL we didn’t have to write Easy QR Code
call
None
How about a demo?
Takeaway • A lot is hidden in plain sight •
Why type something, when you can just scan it? • Barcodes are cool
Thanks! Questions? @kruzinov