HN Theater @HNTheaterMonth

The best talks and videos of Hacker News.

Hacker News Comments on
This Keyboard Shocks You if you Don't Type Properly

3DprintedLife · Youtube · 76 HN points · 0 HN comments
HN Theater has aggregated all Hacker News stories and comments that mention 3DprintedLife's video "This Keyboard Shocks You if you Don't Type Properly".
Youtube Summary
I built a Raspberry Pi powered keyboard that can identify your typing technique and shock you if you "pluck" (aka use one finger). Plus I added some blinding LEDs to prevent you from looking down. And added a touch-screen with some games to forcibly improve your typing speed. Oh and it uses a neural net because....buzz words! But also because it's really cool.

To top it all off, I'm sending this project to the one and only, MICHAEL REEEEEEEVES. He'll probably never actually use or show it, but hey it's the thought that counts right?

The project is fully open sourced and all files are here
https://github.com/DDeGonge/LearnToTypeBot

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

A huge thanks to all my Patreon Supporters!
- Mom & Dad
- Trent Waddington
- Nullun
- Barb
- Jake
- Amy
- Ayydan

If you'd like to support plus receive some exclusive perks, you can do so here!
https://www.patreon.com/3DprintedLife

Join the discussion on Discord! https://discord.gg/aWBAfk3

Follow me on Instagram and Twitter! https://www.instagram.com/3DPrintedLife_Official/
https://twitter.com/3DPrintedLife

Songs
The Battle of 1066 - Patrick Patrikios
Upbeat Party - Scott Holmes
Cipher - Electronic Light - Kevin MacLeod
Love Aside - Patrick Patrikios
Moons - Patrick Patrikios
Deep Mind - Jeremy Black

Chapters
0:00 - Intro
1:20 - Not Sponsored..
1:37 - The Plan
2:22 - Sensor Assembly Pt1
3:13 - Shock Test
3:55 - Why My Sensors Suck
5:18 - Sensor Assembly Pt2
5:59 - Neural Networkz
6:35 - Shocker Assembly
7:27 - LEDs
7:57 - DEMO TIME
10:27 - Outro
HN Theater Rankings

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this video.
Jan 29, 2021 · 76 points, 81 comments · submitted by zdw
mensetmanusman
This could be a platform.

‘Keyboard that shocks...

. if you argue with someone on the internet’

. if you are on facebook for more than 10 minutes’

. if you are about to send bank details to a scammer’

. if you are about to short GME’

m463
- if you try to back out of the shopping cart.

- if you dismiss the warranty upsell too quickly

  (have you noticed amazon has quietly BECOME best buy?)
- if you try to cancel your service

- continuously while reading the privacy policy.

jzer0cool
When programming y'all able to access all the bracket set <>()[]{} and special symbols !@#$....?/,., well without looking at the keyboard? I never gained proficiency to do that. And these days, I feel I use the backspace/delete key too often.
wodenokoto
Do you use US layout?

I’d say most of those very difficult on non-us (especially Mac!) and after I switched from Nordic keyboard to US I had a small epiphany about why we use the symbols we use in programming.

But honestly it doesn’t matter. I glance at the key it while typing. There is nothing wrong with that

luizfelberti
I'd second this. Switching to US ANSI layout (not US International layout) is like magic, I find it so much better that I always import my keyboards from the US, and only buy laptops if they have the US layout.

Brazil uses a national standard called ABNT2 (which I consider to be an awful format), but to my advantage, I find the way Macs do accentuation (at least for latin alphabets) to be quite sensible (alt+vowel), and get angry whenever I have to use Linux because it doesn't have "Mac accents"

For your case though, I think the Nordic alphabet might be trickier on the US layout, since it shares less common ground and there's a lot more to it

MauranKilom
I switch regularly between German and US keyboard layout (due to different physical keyboards and also having to communicate in different languages).

It is terrible that ( and ) are on the 8 and 9 keys in German layout and on 9 and 0 on US. It frustrates me to no end (add in how IDEs will auto-complete parentheses and I'm constantly lost in a complex decision tree of how to recover from being one key off) and I can't seem to build muscle memory well like this. The other symbol keys are also a wash. Particular offenders are y and z, ? and -, " vs Ä vs @, as well as + (who came up with the idea of requiring shift for that?!).

I just can't intuitively keep up with what layout is active and/or how to adjust my typing, even if it's always the same for the same application. Frequently I settle for "try one thing and correct if necessary". Obviously slows me down a lot.

Any suggestions welcome.

Asraelite
I have my keyboard set to UK Extended. It's able to do most diacritics, so I just stick to it even when typing German and other suitable languages, like French.

Umlauted vowels are done with AltGr+[ followed by the vowel. ß is done with AltGr+S. It's a tiny bit less ergonomic than having dedicated keys for these letters, but I consider the tradeoff worth it since the letters don't occur too frequently in German and I only need to memorize one keyboard layout.

I don't know if something similar is available for US layouts.

codethief
Of course there's only so much you can do if you're facing a (physical) US keyboard (as it lacks a key or two, compared to the German keyboard) but you could, at the very least, adjust its (virtual) layout so that it resembles the German one more closely. Of course this assumes that you're touch-typing and not looking at the keyboard because otherwise its labels might confuse you.

As for communicating in different languages, though, why do you feel the need to regularly switch between the German and US keyboard? IMO the German keyboard can do everything at least as well as the US one can (in terms of accents and so on), except for braces and brackets.

If the latter bother you (I know quite a few people who use the US keyboard for this reason): Why not adjust the second and/or third layer of your (German) keyboard layout and make braces and brackets more easily accessible? Same goes for any features that you might be missing.

A lot of people seem to be recommending switching to an entirely new (first-layer) layout while your issue could probably be fixed by:

1. changing the second and third layer

2. using that same layout everywhere, on both US and German keyboards.

type0
Get yourself an US ISO keyboard or US keycaps and then set up a modifier key combination for special characters, it's best if you have some extra keys dedicated for macros though.
yiyus
> suggestions welcome

I had a similar problem (Spanish and English keyboard share the () problem, and we have ñ where ; usually is, but Spanish keyboards are qwerty and not azerty). I switched to the US-international keyboard layout and use that to write in any language now. I find it a good compromise, although it's not perfect neither to write in Spanish nor to program/write in English.

Aerroon
The problem is that it's much more difficult to type the üöä needed for your other language.
CuriousSkeptic
Can mostly offer my sympathy. Have the same problem with the Swedish layout. Especially the fact that all systems seems to have their own placement of the | character is quite hard on me.

At the moment I’m trying to handle it my learning to code in the se-layout. Isn’t looking promising though, don’t think I’ll ever get used to the {} (it’s a bit curious that the Mac has the Swedish letters printed on the keys but not the other symbols you need)

I think when I finally give up on this I’ll try a en layout that lets you type the required umlauts and rings by combining instead.

mr_t
Never used it so far, but recently came across the NEO keyboard layout [1]. Unfortunately the website is in German only, but just looking at the interactive graphic should give you sufficient information how it looks like. The only German word you need to know to understand the graphic is „Ebene“, which means layer. What I find particularly interesting is „Ebene 3“, or „layer 3“ and the corresponding repurposing of the capslock key. Personally I definitely intend to try the NEO layout soon.

[1] https://neo-layout.org/

richardw
I use a keyboard called “programmer Dvorak” that makes those characters first-class citizens. You need shift for numbers. I can do the numbers fine but it took a while.

Not sure I’d recommend it though, need to learn normal Dvorak for use on other computers where you can’t install a keyboard.

I can’t look at the keyboard. If I do I’m instantly confused. And I can’t use a Dvorak view on mobile - just looks too different. Maybe I should try again...

StavrosK
I don't have 100% accuracy with the symbols in the numbers (except the parentheses), but am pretty good with them. Nowadays I've remapped the parentheses to left/right shift and the brackets to Tab+hjkl, so it's much easier.
lmilcin
My keyboard has no markings, except for the name of the manufacturer.

I have no trouble hitting any key on the keyboard without looking at it. I can lock eyes with you while you dictate and type the email you would dictate, perfectly (albeit not at the a normal dictation speed, I only type about 100WPM at most). I can fix errors as I type using backspace because I always know where I am and where I made a mistake.

The important part is learning this correctly.

I had fortune of going to school where for a single semester I had a course in typing documents on an electric typewriter, with a professional typewriting teacher.

Because it was so long ago I have trouble understanding not being able to type. I lay my hands on the keyboard and they just do it without me even thinking about it. I don't even know where keys are. If you ask me where a particular key is I can only point to handful of them. Otherwise I need to put my all fingers on the keyboard and think the key and then observe which finger goes where, and only then I know where the key is.

franklyt
On the flip side of this, I type at 130-140WPM and never learned to type “properly”. I use my index fingers.
aspyct
140wpm only with your index fingers? I'm gonna need a video of that :)
franklyt
You’re going to have to take my word for it, not much incentive for me to go through all of that to sate your doubts.
lmilcin
Let's do some calculation. 120-140WPM = 600-700 characters per minute or about 10-12 characters per second.

Even in ideal situation where consecutive characters fall are alternating between left and right hand, that gives 5-6 characters PER SECOND for a single finger to type.

This guy does it: https://www.youtube.com/watch?v=c9psfOxJysw

But it does not look comfortable or effortless at all.

Add to it that you have to look at the keyboard instead of comfortably focus on the screen, you are straining your hands, your eyes and your neck.

So you still loose.

It is a gimmick, there is no way you can work like this hour after hour, day after day, year after year. Most likely this is some kind top speed you can technically reach, but you will not be able to sustain.

franklyt
Your calculations are pretty fast and loose and involve heavy-weight assumptions.

I don’t look at the keyboard to type with two fingers (and my thumb, technically).

I can probably sustain 120 effortlessly. 130-140 if I’m comfortable.

I’ve been doing it for nearly two decades and haven’t had a problem.

lmilcin
How my calculations are loose if it is the numbers you have stated in your post? The rest is just a consequence.
thejellypen
I'm skeptical..
None
None
lmilcin
I think of myself as "mechanically challenged". No matter how much I train, I cannot break 100WPM while typing effortlessly. And this goes to other activities that require hands to be agile and precise like playing instruments, which I never was able to do well regardless of how much effort I put into it.

So I understand that there is a lot of people who are much more naturally agile with their hands.

But I still think learning to type properly has huge advantages. Even if you dismiss every other advantage (say you decide you don't need to type fast), I think it just feels extremely satisfying to be able to focus on anything you want while your hands just produce constant stream of characters on the screen in a flowing, effortless motion.

stevekemp
When I was a teenager my sisters went to typing classes on a weekend, and my parents insisted I go with them. I suspect I was mostly encouraged to make sure my parents had some free time alone, without the children, but it was definitely useful!

These days I can type 55-75 words per minute, and have no difficulty typing "blind".

Edit: Did a trivial online typing test, at typingtest.com, for a few minutes "Typing Speed 98 WPM, Accuracy 99 % Adjusted Speed 97 WPM" So better than I estimated!

terse_malvolio
Except when you look at videos of the world record level typists, they don't always type with 'proper' technique.
Arainach
Sprinting and marathon running have very different technique. Life (and a career involving computers) is a marathon, and that's what ergonomics is about.
jeppesen-io
And? Technique for any world leading performer has little to do with the average person. Whether it be typing or playing soccer

Also, there's the element of novelty and fun with this

Regardless, this would help the vast majority of users with an element of excitement

kkoncevicius
The idea that the "proper" touch typing technique is ergonomic is not unquestionable. I've read some forums about RSI and there were quite a few people stating they got RSI right at the time they started learning and using the proper touch-typing method.

It makes sense too. Without formal training your hands will assume comfortable positions on the keyboard and the writing technique will evolve to suit your hand size and your movements. This should be more ergonomic compared to strict rules, developed for type-writers, where you have to press each key with the same finger every time, and where typical programming keys (brackets, colons) are left to the smallest finger.

Arainach
What is comfortable initially is not guaranteed (or even likely) to be repeatable thousands of times. Look at weight lifting - if you ask an untrained person to lift a barbell or heavy bag the way that "feels natural", they'll probably lift with their back or do something else that would cause major problems if done repeatedly over the long term.
logbiscuitswave
Right? I don’t really use all my fingers most of the time. It’s pretty unorthodox. I can easily get 120+ WPM with pretty good correctness. I’m self taught so I just picked up something that worked for me at a young age and ran with it. I can be insecure about it sometimes but since it works well enough for me I haven’t had much motivation to “fix” it.
kemitchell
I noticed fairly recently that I often, but not always, type the letter "P" with my ring finger, rather than my little (pinky) finger. I'm still not sure whether that's adaptive or wrong.

Have you seen good resources on high-speed typing technique?

desmap
It's wrong but the p is on a very hard position for the right pinky. FWIW, p was the last letter I got right as a touch typist. It's not that the pinky is a weak finger--it can be trained to a very good level--it's really more the position of the p.
thom
I’ve just moved p down a row on most of my keyboards.
fireattack
I'm similar but worse, I basically type all the upper row with ring and middle finger only.
terse_malvolio
I spent more time than I'm proud of on this

- not looking at the keys

- minimize finger travel

- use all fingers

- deliberate practice

- chunking, words should be typed as a motion and not as a concatenation of letter movements

- ergonomics (flamewar-worthy content like split vs ergo keyboard and switches and keycap profiles)

colanderman
I don't think I use the pinky for any letter, only Enter and modifiers. Pinkies are weak.

If you allow your forearm to move, rather than keeping your fingers in a "home" position, you do not need to use pinkies to reach letters.

MaxLeiter
Get an ergonomic (probably split) keyboard and use your thumb for modifier keys. It’s meant to rotate all around unlike our pinkies.
thom
I’ve been using a couple of split keyboards over the last year and it’s slowed me down because I can no longer cross over the keyboard to type a letter with either hand. This means you sometimes have to use the same finger twice in a row which always feels inefficient to me.
colanderman
I am a self-taught typist from a young age. I type very fast (140 WPM? I forget) but my technique is totally non standard. I hold my hands/wrists at "natural" angles (as one would on a split keyboard), but on a standard keyboard. No "home row" for me. The letters in the middle of the keyboard are liable to be typed by either hand, depending on the word: I cannot use a split keyboard because of this. Thumb helps out with lower row sometimes. I can type single-handedly without much difficulty.

I credit this "technique" with not having developed any sort of keyboard-related RSI over 30 years of daily typing. Mice gave me terrible grip-related RSI after a decade (I now use a trackball), but not so with typing.

I assume I'm not unique in having stumbled naturally on this method. But it's not something I've ever seen taught, probably because it's not very "orderly".

Stratoscope
Keeping your wrists at a natural angle is very helpful for avoiding RSI and carpal tunnel injuries. I've been typing for 60 years and have never had these problems.

A while ago I posted some bad ASCII art of what we're talking about here:

https://news.ycombinator.com/item?id=20663540

The parent thread also has some good tips.

I do use the standard touch typing finger/key assignments, I just don't bend my wrists doing it.

rrauenza
I have the opposite problem. I started with hunt and peck as a kid and never learned a proper technique. I believe that caused me more problems...

Switching to proper touch typing was really hard because my adhoc method is so much faster... Until I become proficient.

During quarantine I acquired a kinesis which was interesting - typing "incorrectly" on it is difficult! It took me about a week or two to touch type on it without frustration ...and I find my hands have less rsi from it.

colanderman
I was exposed to typing lessons, which helped give me the idea that using all fingers and memorizing where keys are is important. I sort of stopped halfway and ran with it I guess.
klyrs
Interesting. I hold my left hand roughly on the home row, but like you, my right hand is at an odd angle. As a programmer, this seems very natural to me because I have rapid access to the brackets, parens, etc. without stretching my pinky. Coincidentally, I use a trackball too.
desmap
Would love to see a video of your typing style/you typing eg at monkeytype
colanderman
If I can figure out how to aim a camera at my keyboard I'll try to do so later today.
colanderman
Sorry for the terrible angle. The phone is hanging off my jacket. But this gives a good view of how my fingers share duty in the center of the keyboard: https://youtu.be/YH0YFJEcy0c

Apparently I misremembered my speed... Monkeytype tells me I average ~110 WPM. With one hand I get ~45 WPM.

desmap
Nice that you did this video and still a very nice speed. Every test is different re difficulty, so all good.
userbinator
I'm pretty much the same as you --- the best description of my method would be "closest available finger". I can type at ~150WPM for long periods of time without any strain or tiredness, can reach 200+ in short bursts, and have done over 50WPM with only the left hand.

However, one thing I've found that really affects typing speed and comfort is the key travel and actuation force; I think a "light, spongy, bouncy" feel is best. A light force reduces strain, sponginess is a good cushion, and the bounce helps speed up the return stroke. You can type a lot faster once you train yourself to not try to await any tactile feedback, but just "trust" that you've hit the keys and they've actuated.

colanderman
Agreed re: key feel. I learned on an Apple //e and still think that's ideal. MacBook keyboards are the worst for me... the constant tactile feedback I think creates a negative feedback response that overtrains my fingers, leading to weird typing mistakes. Switching back to a mechanical keyboard helped.
atoav
Thats why I like Cherry MX black switches (heavy accentuation force, linear without click). You can basically tap them very lightly and type without bottoming out.

I am a bass player, so my finger muscles are very strong and I a little more resistance others may prefer red or silver switches.

dataflow
How in the world do you type 50WPM with just the left hand? Do you practice the right hand side of the keyboard with your left hand?
colanderman
For me it's just like... my brain knows where the keys are, and my fingers know how to move to where they're needed. I do have to look when typing one-handed, but it's more to help "aim" that to search for where the keys are.
atoav
If you play the piano or guitar you and you are used to use the left hand in such a way, I suspect it is totally doable.
IggleSniggle
I am the same way. I always attributed it to early experiences learning to play the piano. The muscle memory is in your whole arm/hand/finger about the location, and the sequence of fingers is dependent on the sequence of keys that follow.
colanderman
Yep, I also learned to play piano around the same time I learned to type. They're very similar to me.
throw14082020
You undoubtedly make mistakes in the learning process, so this is actually a bad idea for learning.

This would scare you into looking at the keyboard, thus preventing you from actually learning. I type at ~100WPM (which is higher than average but im sure some of you are faster ;) ). I've learn new keyboard layouts (split, colemak), and the best way to learn is to not look at keyboard, and try to remember where the keys are (and constantly trying to type as fast possible [using muscle memory instead of memory], which makes even more mistakes).

dstick
I’ve heard this advice before but I find it really demotivating. I recently realized that I type with all 5 fingers on my left hand but hit 90% of the keys with my index finger on the right. I’m fast mind you - 90-100wpm blind as well. But for any prolonged stretches (10 minute+) it starts to hurt.

So a while back I started doing 10 minute a day typing exercises with Typing Academy to train my right hand. Whenever I did it blind it was just mistake after mistake after mistake. I felt so incapable. But when I started looking down I was able to correct myself and still use the right technique. Much better. I was slow. But slowly learning without frustration.

I guess my point is: crawl before you walk, walk before you run. The frustration made me quit, and that’s always worse than looking down and learning.

alpaca128
For me the issue solved itself when I started using my first columnar staggered ergo keyboard, meaning instead of having the key rows slightly misaligned for historical reasons it has a different height for each column of keys to accomodate the different finger lengths.

Doesn't sound like such a drastic change, but within minutes it will teach the user in what ways they've been typing incorrectly all along - and in what ways the standard keyboard layouts actually promote incorrect typing. It takes some time to get up to speed again, but nowadays I type using all fingers evenly ~95% of the time, simply because in contrast to the off-the-shelf design it makes correct typing far more comfortable while requiring quite some finger gymnastics to pull it off any other way.

Of course due to the different design it's not quite as flexible, for example it's not great for gaming and mainly shines when the mouse is used sparingly. But as I mainly work with text it's been a great experience for me.

dstick
Sounds good! And how’s the practical downside of working on a laptop / elsewhere? Do you carry that keyboard with you most times?
vitro
Slow is precise and precise is fast.
lmilcin
While you are correct on not looking at keyboard, trying to type as fast as possible is wrong way to learn it.

Just as with any instrument, you don't want to learn to play it as fast as possible, but rather first you learn it slow and correct and only then ramp up speed but only as long as that speed still feels almost effortless.

I have first learned QWERTY at school (yea, fun school...) but learned it the way you presented. Then couple of years later I decided to learn typing properly and re-learned with Dvorak. I used metronome initially and dropped it after couple of days.

akdor1154
Cool idea, obnoxious video though. I hate things that are geared at an audience with a five second attention span.
netsharc
Welcome to 2021, I'm wondering if he was 1 of the 2 kids shown in the beginning of the video, but yeah kid's probably 17 years old and playing with neural networks...

Nothing wrong with that, I'm just old and bitter.

Lemmih
I have a bad habit of pressing shift with the same hand I use to hit a character. Eg. I'd hit Shift_L + T (both left hand) instead of Shift_R + T (hand hand for T, right hand for Shift_R). I wish that was an easy way to configure my shift keys to only modify keys on the opposite side of the keyboard. It's kinda possible through xmodmap but it's a PITA to set up.
desmap
Use Autohotkey, it's not really a big thing, e.g.

<+t::return

function_seven
I use a QMK keyboard, and wrote some code for the firmware that would enforce this in the keyboard itself. "Naughty" combinations like you listed would just NO_OP instead of emitting a scan code.

It was frustrating as hell. Which, I guess is the point at first. But I got tired of it faster than I learned to balance the key presses.

I wonder if just a small beep or other subtle signal would work? Allow the wrong combo, but give the typist some feedback.

Ambroisie
Do you have a hosted version of that source code somewhere? I have been thinking about doing this with my own keyboard at some point.
function_seven
Okay this is wild. I went looking to see if I could find the file, and came up empty. I don’t know what I did with it. Then I started wondering if I really did do this or if I had done it in autohotkey instead.

So then I searched to see if somebody else had created one, and found this[1]

I wrote that!

So there’s my file. I don’t know if I made any improvements to it since posting that, since I can’t find it anymore. Let me know if you encounter any bugs.

[1] https://www.reddit.com/r/olkb/comments/8mxpdp/qmk_code_to_en...

janwillemb
Reminds me of the "share the pain" program by Microsoft: https://m.youtube.com/watch?v=Y9ttBt-4vWo
0x4a42
I see the potetnial for a VIM 101 course. :)
klodolph
This is something that would also be lovely for those people trying to learn musical instruments.

Without this component, programs like Rocksmith are a lot less valuable than they could be.

thom
I was trained to touch type by being addicted to IRC in the 90s. So if I want to type all lowercase with no symbols I’m like 150WPM but unfortunately slower with code.
walrus01
Somewhat reminds me of the Linux setup that will rm -rf your whole hard drive upon the first incorrectly formatted shell command. Now combine that with the electroshock keyboard...

https://qntm.org/suicide

__jf__
I’ve been using a “First Principles (tm)” branded keyboard for years. It has 3 USB plugs to satisfy its power req’s and delivers shocks when found out visiting Stackoverflow.
touisteur
Missed opportunity for Typing of the Dead accessory!
shultays
There is also "deldo":

https://youtu.be/D1sXuHnf_lo

(Slight nsfw)

mhh__
"All 14 checks failed" => Old Sparky
ogre_codes
I want one that shocks you whenever I push a button.
dylan604
I think that's the purpose of the button just to the left of the Alt key.
klyrs
Instead of pressing buttons, you bridge a pair of high voltage electrical contacts? Little risk of heart failure, if you type one handed and avoid ground... (don't take my advice, kids)
keehun
As a trumpet player, I've heard of a story where a young student kept having this one issue with a technique in how the right hand is used to push down on the valves and rigged his trumpet such that there would be pain involved if he kept doing that. His bad right-hand technique was fixed within the week, I heard.

In a less extreme version of this, trumpet teachers often have their students put a penny between the valve button and the fingertip because too many students unnecessarily lift up their fingers which causes the slightest of delays and unnecessary motion when depressing the valve next time.

frabert
Curious, I "suffer" from a similar problem regarding guitar playing: I tend to lift all the fingers I'm not currently using away from the fretboard as I play, which would make most guitar teachers recoil in horror I imagine. I never got away from this habit, but I can still manage to reach "decent" speeds, despite of this problem. No possibility of putting dimes between fingers and strings in my case, unfortunately!
HN Theater is an independent project and is not operated by Y Combinator or any of the video hosting platforms linked to on this site.
~ yaj@
;laksdfhjdhksalkfj more things
yahnd.com ~ Privacy Policy ~
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.