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
590
Shipping Secret Messages Through Barcodes
PyCascades 2018 talk
Karina Ruzinov
January 23, 2018
Tweet
Share
Other Decks in Programming
See All in Programming
XP, Testing and ninja testing ZOZ5
m_seki
1
180
ソフトウェア設計の実践的な考え方
masuda220
PRO
2
160
あなたの知らない「動画広告」の世界 - iOSDC Japan 2025
ukitaka
0
330
AccessorySetupKitで実現するシームレスなペアリング体験 / Seamless pairing with AccessorySetupKit
nekowen
0
210
Advance Your Career with Open Source
ivargrimstad
0
240
育てるアーキテクチャ:戦い抜くPythonマイクロサービスの設計と進化戦略
fujidomoe
1
150
ててべんす独演会〜Flowの全てを語ります〜
tbsten
1
220
Web フロントエンドエンジニアに開かれる AI Agent プロダクト開発 - Vercel AI SDK を観察して AI Agent と仲良くなろう! #FEC余熱NIGHT
izumin5210
2
300
GitHub Actions × AWS OIDC連携の仕組みと経緯を理解する
ota1022
0
220
AIエージェント時代における TypeScriptスキーマ駆動開発の新たな役割
bicstone
4
1.2k
(Extension DC 2025) Actor境界を越える技術
teamhimeh
1
190
半自動E2Eで手っ取り早くリグレッションテストを効率化しよう
beryu
6
2.4k
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Designing for humans not robots
tammielis
254
25k
GitHub's CSS Performance
jonrohan
1032
460k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
114
20k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Raft: Consensus for Rubyists
vanstee
139
7.1k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
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