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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Karina Ruzinov
January 23, 2018
Programming
0
600
Shipping Secret Messages Through Barcodes
PyCascades 2018 talk
Karina Ruzinov
January 23, 2018
Tweet
Share
Other Decks in Programming
See All in Programming
どんと来い、データベース信頼性エンジニアリング / Introduction to DBRE
nnaka2992
1
240
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
710
TROCCOで実現するkintone+BigQueryによるオペレーション改善
ssxota
0
140
Claude Code の Skill で複雑な既存仕様をすっきり整理しよう
yuichirokato
1
310
CSC307 Lecture 15
javiergs
PRO
0
230
Go Conference mini in Sendai 2026 : Goに新機能を提案し実装されるまでのフロー徹底解説
yamatoya
0
530
オブザーバビリティ駆動開発って実際どうなの?
yohfee
3
740
PostgreSQL を使った快適な go test 環境を求めて
otakakot
0
450
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
260
Unity6.3 AudioUpdate
cova8bitdots
0
110
Agentic AI: Evolution oder Revolution
mobilelarson
PRO
0
110
AIとペアプロして処理時間を97%削減した話 #pyconshizu
kashewnuts
1
210
Featured
See All Featured
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
140
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.1k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
110
Why Our Code Smells
bkeepers
PRO
340
58k
Designing for Performance
lara
611
70k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.7k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
190
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
430
Discover your Explorer Soul
emna__ayadi
2
1.1k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
130
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
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