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
Make it easy to input `|>`
Search
Takayuki Matsubara
November 01, 2017
Programming
2
2.9k
Make it easy to input `|>`
M3 Tech Talk #81 2017/11/01 #m3dev
I talked about how to input `|>` with just press one key.
Takayuki Matsubara
November 01, 2017
Tweet
Share
More Decks by Takayuki Matsubara
See All by Takayuki Matsubara
Rails Web Development with AWS Lambda
ma2gedev
0
310
Coding Challenge Advent of Code 2019
ma2gedev
0
140
Developer Experience in GraphQL Schema-first Development
ma2gedev
0
2.3k
Dependency Inversion Principle in Keyboard Firmware
ma2gedev
0
500
OSSの歩き方 / Walking with OSS
ma2gedev
10
2.6k
GraphQL 開発で必要になったこと / What we needed for GraphQL development
ma2gedev
0
1.2k
キーボードをカスタムしてプログラミング環境を良くした話 / Improved programming environment with customizing keybords
ma2gedev
0
1.3k
Translating "Erlang in Anger" with Erlang & Elixir community members
ma2gedev
0
2.9k
Dive into Elixir v1.6 Code Formatter
ma2gedev
1
180
Other Decks in Programming
See All in Programming
Go Conference 2025: Goで体感するMultipath TCP ― Go 1.24 時代の MPTCP Listener を理解する
takehaya
9
1.7k
Le côté obscur des IA génératives
pascallemerrer
0
140
技術的負債の正体を知って向き合う / Facing Technical Debt
irof
0
170
Introducing ReActionView: A new ActionView-Compatible ERB Engine @ Kaigi on Rails 2025, Tokyo, Japan
marcoroth
3
1k
CSC509 Lecture 03
javiergs
PRO
0
340
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
360
なぜGoのジェネリクスはこの形なのか? Featherweight Goが明かす設計の核心
ryotaros
7
1.1k
Railsだからできる 例外業務に禍根を残さない 設定設計パターン
ei_ei_eiichi
0
850
Android16 Migration Stories ~Building a Pattern for Android OS upgrades~
reoandroider
0
110
CSC305 Lecture 04
javiergs
PRO
0
270
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
170
After go func(): Goroutines Through a Beginner’s Eye
97vaibhav
0
390
Featured
See All Featured
Faster Mobile Websites
deanohume
310
31k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
20
1.2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Fireside Chat
paigeccino
40
3.7k
Scaling GitHub
holman
463
140k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
Navigating Team Friction
lara
190
15k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Code Review Best Practice
trishagee
72
19k
Transcript
Make it easy to input |>
Who am I? me |> name # Takayuki "Taka" Matsubara
|> job # Software Engineer |> work_at # M3, Inc. |> like # Ruby, Elixir and OSS |> twitter # ma2ge |> github # ma2gedev |> oss # PowerAssertEx, bundle-star, breadcrumble, # chrono_logger, faraday-encoding
Make it easy to input |>
Elixir's |> h"ps:/ /elixir-lang.org/ge2ng-started/enumerables-and-streams.html#the-pipe-operator
Example 1..100_000 |> Enum.map(&(&1 * 3)) |> Enum.filter(odd?) |> Enum.sum
h"ps:/ /elixir-lang.org/ge2ng-started/enumerables-and-streams.html
PROBLEM
Enter twice with Shi, key | and >
|> with 1 key !
ErgoDox
ErgoDox • Keymap is customizable • QMK(firmware) is OSS
None
h"ps:/ /www.massdrop.com/buy/infinity-ergodox
wai$ng... ☕
5 months later
None
! soldering ⾠
None
Finished!!
NEXT
Customize keymaps
h"ps:/ /input.club/configurator/
QMK h"ps:/ /github.com/qmk/qmk_firmware
Prepara&on for change $ git clone
[email protected]
:qmk/qmk_firmware.git $ cd qmk_firmware
$ cp -r keyboards/ergodox_infinity/keymaps/{default,your_own} # you can change keyboards/ergodox_infinity/keymaps/your_own/keymap.c
Add code to action_get_macro func+on // For Elixir pipe operator
case 2: if (record->event.pressed) { SEND_STRING ("|>"); } break; h"ps:/ /github.com/ma2gedev/qmk_firmware/commit/7f8e633f791a035e15ad27fd2584c2f8e248b165
Change KEYMAP array # you can change the place you
want to set KEYMAP(..., M(2), ...) h"ps:/ /github.com/ma2gedev/qmk_firmware/commit/7f8e633f791a035e15ad27fd2584c2f8e248b165
How to flash the firmware? h"ps:/ /github.com/qmk/qmkfirmware/blob/master/keyboards/ergodoxinfinity/readme.md
Completed! press_key |> infinity_ergodox # "|>"
Enjoy! M3 Tech Talk #81 2017/11/01 #m3dev @ma2ge
Resources • Infinity ErgoDox Ergonomic Keyboard Kit | Price &
Reviews | Massdrop h@ps:/ /www.massdrop.com/buy/infinity-ergodox • qmk/qmkfirmware: keyboard controller firmware for Atmel AVR and ARM USB families h=ps://github.com/qmk/qmkfirmware
Resources • Adding SUSHI key to my ErgoDox EZ -
yhara.jp h=p:/ /yhara.jp/ 2017/09/27/qmk-sushi-key • ErgoDox Advent Calendar 2016 - Qiita h=ps:/ /qiita.com/advent- calendar/2016/ergodox • MacbookPro15inchͰInfinityErgodoxʹϑΝʔϜΛম͘ - ਓੜͷՋ௵͠ h=p:/ /hidekingerz.hatenablog.com/entry/ 2017/10/04/231532