SlideShare uma empresa Scribd logo
1 de 158
Baixar para ler offline
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 find 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 first
keyboards in
OmniGraffle
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
Configure some
keyboard firmware
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 firmware
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

Mais conteúdo relacionado

Mais de 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
 

Mais de 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
 

Último

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 

Último (20)

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 

Building a keyboard from scratch