SlideShare ist ein Scribd-Unternehmen logo
1 von 158
Downloaden Sie, um offline zu lesen
Building a
keyboard
from
scratch Jesse Vincent
jesse@fsck.com
http://keyboard.io
@obra / @keyboardio
Wednesday, July 24, 13
Why?
Wednesday, July 24, 13
My boss
stole my
keyboard
Wednesday, July 24, 13
WARNING
WARNING
There are no more cat
pictures in this talk
Wednesday, July 24, 13
I couldn’t ïŹnd a
keyboard I wanted
Wednesday, July 24, 13
I tried
Wednesday, July 24, 13
So, you want to
make a keyboard?
Wednesday, July 24, 13
Tools you’ll need
Wednesday, July 24, 13
Soldering
Iron
http://www.amazon.com/dp/B000BRC2XU
$5+ ($86)
Wednesday, July 24, 13
Wire
cutter
$0.99
Wednesday, July 24, 13
Tools you’ll want
Wednesday, July 24, 13
Wire
cutter
http://www.adafruit.com/products/147
$7
Wednesday, July 24, 13
Solder Sucker
http://www.adafruit.com/products/148
$5
Wednesday, July 24, 13
Fine-tipped
tweezers
http://www.adafruit.com/products/422
$4
Wednesday, July 24, 13
Wire-wrapping
tool
http://www.amazon.com/dp/B006C43VJU
$13
Wednesday, July 24, 13
Multimeter
http://www.amazon.com/B000EVYGZA/
$20
Wednesday, July 24, 13
Hot Glue
Gun
http://www.amazon.com/dp/B0009XTPAO
$20
Wednesday, July 24, 13
Parts you’ll need
Wednesday, July 24, 13
Keyswitches
Wednesday, July 24, 13
Cherry MX
Keyswitches
http://www.cherrycorp.com/english/switches/key/mx.htm
$0.80/ea
Wednesday, July 24, 13
Key Caps
http://www.wasdkeyboards.com/87-key-cherry-mx-keycap-set.html
$37
Wednesday, July 24, 13
Don’t make
your own
Wednesday, July 24, 13
Wednesday, July 24, 13
26-30AWG
Enamel-insulated
magnet wire
http://www.amazon.com/dp/B0082CUQEI
Wednesday, July 24, 13
Rosin-core
Solder
http://www.amazon.com/dp/B008DEYEAW
$6
Wednesday, July 24, 13
Teensy 2.0
Microcontroller
http://www.pjrc.com/store/teensy.html
$16
Wednesday, July 24, 13
Arduino
Pro Micro
is also ok
https://www.sparkfun.com/products/11098
$20
Wednesday, July 24, 13
WARNING
WARNING
There is no more
Arduino in this talk
Wednesday, July 24, 13
MiniUSB
cable
$0
Wednesday, July 24, 13
Parts you’ll want
Wednesday, July 24, 13
$9
http://www.amazon.com/dp/B006C4ABR0
26-30AWG
Kynar-insulated
wire-wrapping
wire
Wednesday, July 24, 13
Jumper wires
http://www.adafruit.com/products/266
$7
Wednesday, July 24, 13
IN4148
Diodes
$12...for 500
http://www.digikey.com/product-detail/en/1N4148-T/1N4148DICT-ND/160623
Wednesday, July 24, 13
Parts you’ll make
Wednesday, July 24, 13
The case
Wednesday, July 24, 13
Design your own!
Wednesday, July 24, 13
14mm square holes
Wednesday, July 24, 13
3+ mm apart
Wednesday, July 24, 13
Top plate:
1.5 mm thick
Wednesday, July 24, 13
I designed
my ïŹrst
keyboards in
OmniGrafïŹ‚e
Wednesday, July 24, 13
14mm
14mm
3+mm
3+mm
Wednesday, July 24, 13
Prototype
with paper
Wednesday, July 24, 13
Use lasers
to cut out
the pieces
Wednesday, July 24, 13
Use CAD to
model the
weirder
stuff
Wednesday, July 24, 13
openscad
module key(x,y,rotation) {
translate([(x*key_spacing),(y*key_spacing),-0.01]) {
rotate(rotation) key_inner();
}
}
module key_inner() {
union() {
translate([0,0,-3.5]) key_support();
cube(size=[keyswitch_x,keyswitch_y,keyswitch_plate_thickness], center=true);
}
}
module key_support() {
difference() {
cube(size=[key_spacing-2,key_spacing-2,6], center=true);
interior_bevels();
}
}
Wednesday, July 24, 13
openscadmodule keyColumn(x,y) {
translate([(x*key_spacing),(y*key_spacing),0]) {
key(0,0);
key(1,0);
key(2,0);
key(3,0);
}
}
module hand() {
rotate([0,0,-9]) keyColumn(0.5,-0.05);
rotate([0,0,-13]) keyColumn(0.1,1.4);
rotate([0,0,-15]) keyColumn(-0.2,2.7);
rotate([0,0,-20]) {
keyColumn(-0.2,4);
keyColumn(0,5);
key(2.2,6);
key(3.2,6);
}
translate([165,24,0]) thumbKeys();
}
Wednesday, July 24, 13
Wednesday, July 24, 13
What didn’t I mention?
Wednesday, July 24, 13
Printed
Circuit Board
Wednesday, July 24, 13
You do know
how to design
and etch
PCBs right?
Wednesday, July 24, 13
Can you teach me?
Wednesday, July 24, 13
Putting it together
Wednesday, July 24, 13
Try the keys & keycaps
Wednesday, July 24, 13
Start Soldering
Wednesday, July 24, 13
Flat pin:
Connect Diode
Square pin:
Connect wire
Wednesday, July 24, 13
Wire-wrap the keys in each row
Wednesday, July 24, 13
http://en.wikipedia.org/wiki/File:Wire_Wrapping.jpg
Wednesday, July 24, 13
Solder the
diodes in
columns
Wednesday, July 24, 13
Why Diodes?
Wednesday, July 24, 13
Key Ghosting
Wednesday, July 24, 13
Credit: @pdcawley
Wednesday, July 24, 13
Credit: @pdcawley
Wednesday, July 24, 13
Credit: @pdcawley
Wednesday, July 24, 13
Credit: @pdcawley
Wednesday, July 24, 13
then trim
the terminal
wires
Wednesday, July 24, 13
Connect
them in
parallel
Wednesday, July 24, 13
Connect
the black
ends to
the keys
Wednesday, July 24, 13
Don’t
solder the
diodes to
each other
Wednesday, July 24, 13
You want the
wire-wrapping
wire
Wednesday, July 24, 13
Solder a wire to
each column
Wednesday, July 24, 13
Solder a wire to
each row
Wednesday, July 24, 13
Connect those wires to
the microcontroller
Wednesday, July 24, 13
Firmware
Wednesday, July 24, 13
Install avr-gcc
pjrc.com/teensy/gcc.html
Wednesday, July 24, 13
Install
Teensy
Loader
pjrc.com/teensy/loader.html
Wednesday, July 24, 13
ConïŹgure some
keyboard ïŹrmware
Wednesday, July 24, 13
github.com/humblehacker/keyboard
Wednesday, July 24, 13
% vi config.kspec
Wednesday, July 24, 13
Wednesday, July 24, 13
% make
Wednesday, July 24, 13
Wednesday, July 24, 13
Install your ïŹrmware
Wednesday, July 24, 13
Test your keyboard
Wednesday, July 24, 13
(This is why
you want a
multimeter)
Wednesday, July 24, 13
My experiences
Wednesday, July 24, 13
Mark 1 Keyboard
Wednesday, July 24, 13
shell from
ergodox.org
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Mark 2 Keyboard
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Mark 3 Keyboard
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Mark 4
Keyboard
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Mark 5
Keyboard
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Mark 6
Keyboard
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Mark 7 Keyboard
Wednesday, July 24, 13
Wednesday, July 24, 13
Mark 8
Keyboard
Wednesday, July 24, 13
Wednesday, July 24, 13
Mark 9 Keyboard
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
Wednesday, July 24, 13
What have I learned?
Wednesday, July 24, 13
Hardware is not scary
Wednesday, July 24, 13
3D printers are almost there
Wednesday, July 24, 13
Iterating on hardware
isn’t much harder than
iterating on software
Wednesday, July 24, 13
Patching hardware
is a lot harder
Wednesday, July 24, 13
Patching hardware
is a lot more satisfying
Wednesday, July 24, 13
Keyboards don’t
have to suck
Wednesday, July 24, 13
Make one
Wednesday, July 24, 13
...or nine
Wednesday, July 24, 13
What’s next?
Wednesday, July 24, 13
Figuring out a
mousing solution
Wednesday, July 24, 13
Learning about
PCB design
Wednesday, July 24, 13
Learning about
contract manufacturing
Wednesday, July 24, 13
Learning how to make
a Kickstarter video
Wednesday, July 24, 13
Questions?
Wednesday, July 24, 13
Thanks!
Jesse Vincent
http://keyboard.io
jesse@fsck.com /@obra
Wednesday, July 24, 13

Weitere Àhnliche Inhalte

Mehr von Jesse Vincent

K-9 Mail for Android
K-9 Mail for AndroidK-9 Mail for Android
K-9 Mail for AndroidJesse Vincent
 
P2P Bug Tracking with SD
P2P Bug Tracking with SDP2P Bug Tracking with SD
P2P Bug Tracking with SDJesse Vincent
 
SD - A peer to peer issue tracking system
SD - A peer to peer issue tracking systemSD - A peer to peer issue tracking system
SD - A peer to peer issue tracking systemJesse Vincent
 
Hacking your Kindle (OSCON Lightning Talk)
Hacking your Kindle (OSCON Lightning Talk)Hacking your Kindle (OSCON Lightning Talk)
Hacking your Kindle (OSCON Lightning Talk)Jesse Vincent
 
Beginning Kindle Hackery
Beginning Kindle HackeryBeginning Kindle Hackery
Beginning Kindle HackeryJesse Vincent
 
SD, a P2P bug tracking system
SD, a P2P bug tracking systemSD, a P2P bug tracking system
SD, a P2P bug tracking systemJesse Vincent
 
Prophet - Beijing Perl Workshop
Prophet - Beijing Perl WorkshopProphet - Beijing Perl Workshop
Prophet - Beijing Perl WorkshopJesse Vincent
 
Beijing Perl Workshop 2008 Hiveminder Secret Sauce
Beijing Perl Workshop 2008 Hiveminder Secret SauceBeijing Perl Workshop 2008 Hiveminder Secret Sauce
Beijing Perl Workshop 2008 Hiveminder Secret SauceJesse Vincent
 
A brief introduction to RTIR
A brief introduction to RTIRA brief introduction to RTIR
A brief introduction to RTIRJesse Vincent
 
An introduction to RTIR
An introduction to RTIRAn introduction to RTIR
An introduction to RTIRJesse Vincent
 
Prophet: a path out of the Cloud
Prophet: a path out of the CloudProphet: a path out of the Cloud
Prophet: a path out of the CloudJesse Vincent
 
Web 2.0 is Sharecropping
Web 2.0 is SharecroppingWeb 2.0 is Sharecropping
Web 2.0 is SharecroppingJesse Vincent
 
Hiveminder - Everything but the Secret Sauce
Hiveminder - Everything but the Secret SauceHiveminder - Everything but the Secret Sauce
Hiveminder - Everything but the Secret SauceJesse Vincent
 
Prophet - A peer to peer replicated disconnected database
Prophet - A peer to peer replicated disconnected databaseProphet - A peer to peer replicated disconnected database
Prophet - A peer to peer replicated disconnected databaseJesse Vincent
 

Mehr von Jesse Vincent (15)

K-9 Mail for Android
K-9 Mail for AndroidK-9 Mail for Android
K-9 Mail for Android
 
Perl 5.12.0
Perl 5.12.0Perl 5.12.0
Perl 5.12.0
 
P2P Bug Tracking with SD
P2P Bug Tracking with SDP2P Bug Tracking with SD
P2P Bug Tracking with SD
 
SD - A peer to peer issue tracking system
SD - A peer to peer issue tracking systemSD - A peer to peer issue tracking system
SD - A peer to peer issue tracking system
 
Hacking your Kindle (OSCON Lightning Talk)
Hacking your Kindle (OSCON Lightning Talk)Hacking your Kindle (OSCON Lightning Talk)
Hacking your Kindle (OSCON Lightning Talk)
 
Beginning Kindle Hackery
Beginning Kindle HackeryBeginning Kindle Hackery
Beginning Kindle Hackery
 
SD, a P2P bug tracking system
SD, a P2P bug tracking systemSD, a P2P bug tracking system
SD, a P2P bug tracking system
 
Prophet - Beijing Perl Workshop
Prophet - Beijing Perl WorkshopProphet - Beijing Perl Workshop
Prophet - Beijing Perl Workshop
 
Beijing Perl Workshop 2008 Hiveminder Secret Sauce
Beijing Perl Workshop 2008 Hiveminder Secret SauceBeijing Perl Workshop 2008 Hiveminder Secret Sauce
Beijing Perl Workshop 2008 Hiveminder Secret Sauce
 
A brief introduction to RTIR
A brief introduction to RTIRA brief introduction to RTIR
A brief introduction to RTIR
 
An introduction to RTIR
An introduction to RTIRAn introduction to RTIR
An introduction to RTIR
 
Prophet: a path out of the Cloud
Prophet: a path out of the CloudProphet: a path out of the Cloud
Prophet: a path out of the Cloud
 
Web 2.0 is Sharecropping
Web 2.0 is SharecroppingWeb 2.0 is Sharecropping
Web 2.0 is Sharecropping
 
Hiveminder - Everything but the Secret Sauce
Hiveminder - Everything but the Secret SauceHiveminder - Everything but the Secret Sauce
Hiveminder - Everything but the Secret Sauce
 
Prophet - A peer to peer replicated disconnected database
Prophet - A peer to peer replicated disconnected databaseProphet - A peer to peer replicated disconnected database
Prophet - A peer to peer replicated disconnected database
 

KĂŒrzlich hochgeladen

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

KĂŒrzlich hochgeladen (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 

Building a keyboard from scratch