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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Takayuki Matsubara
November 01, 2017
Programming
3k
2
Share
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
More Decks by Takayuki Matsubara
See All by Takayuki Matsubara
Rails Web Development with AWS Lambda
ma2gedev
0
340
Coding Challenge Advent of Code 2019
ma2gedev
0
160
Developer Experience in GraphQL Schema-first Development
ma2gedev
0
2.4k
Dependency Inversion Principle in Keyboard Firmware
ma2gedev
0
550
OSSの歩き方 / Walking with OSS
ma2gedev
10
2.6k
GraphQL 開発で必要になったこと / What we needed for GraphQL development
ma2gedev
0
1.3k
キーボードをカスタムしてプログラミング環境を良くした話 / Improved programming environment with customizing keybords
ma2gedev
0
1.4k
Translating "Erlang in Anger" with Erlang & Elixir community members
ma2gedev
0
2.9k
Dive into Elixir v1.6 Code Formatter
ma2gedev
1
200
Other Decks in Programming
See All in Programming
「OSSがあるなら自作するな」は AI時代も正しいか ── Build vs Adopt の新しい判断基準
kumorn5s
7
2.5k
AI時代のエンジニアリングの原則 / Engineering Principles in the AI Era
haru860
0
1.1k
サークル参加から学ぶ、小さな事業の回し方
yuzneri
0
160
ハーネスエンジニアリングとは?
kinopeee
13
6.9k
20260514 - build with ai 2026 - build LINE Bot with Gemini CLI
line_developers_tw
PRO
0
380
属人化しないコード品質の作り方_2026.04.07.pdf
muraaano
0
330
20年以上続くプロダクトでも使い続けられる静的解析ツールを求めて
matsuo_atsushi
0
140
Liberating Ruby's Parser from Lexer Hacks
ydah
2
2.6k
認証統合から始めるフロントエンドの機能単位開発 — マイクロサービス思想の適用
koukimiura
0
100
ふにゃっとしない名前の付け方 〜哲学で茹で上げる、コシのあるソフトウェア設計〜
shimomura
0
110
(Re)make Regexp in Ruby: Democratizing internals for the JIT
makenowjust
3
1k
運転動画を検索可能にする〜Cosmos-Embed1とDatabricks Vector Searchで〜/cosmos-embed1-databricks-vector-search
studio_graph
1
680
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
3.7k
The Curse of the Amulet
leimatthew05
1
12k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Statistics for Hackers
jakevdp
799
230k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
230
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
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