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
A Tale of a Happy Programmer
Search
Nugroho Herucahyono
September 26, 2013
Programming
0
150
A Tale of a Happy Programmer
Ruby programmers are happy programmers
Nugroho Herucahyono
September 26, 2013
Tweet
Share
More Decks by Nugroho Herucahyono
See All by Nugroho Herucahyono
Simply Distributed
xinuc
0
120
Choosing the right technology
xinuc
0
180
This Talk is so Meta
xinuc
1
130
Rails on Wiradipa - Jakarta.rb Februari 2012 - Hafiz Badrie Lubiz
xinuc
1
160
Why Ruby? - View from business aspect - Jakarta.rb Februari 2012 - Fajrin Rasyid
xinuc
1
350
Other Decks in Programming
See All in Programming
その面倒な作業、「Dart」にやらせませんか? Flutter開発者のための業務効率化
yordgenome03
1
130
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
170
AI Coding Meetup #3 - 導入セッション / ai-coding-meetup-3
izumin5210
0
3.3k
3年ぶりにコードを書いた元CTOが Claude Codeと30分でMVPを作った話
maikokojima
0
280
CSC509 Lecture 04
javiergs
PRO
0
300
Railsだからできる 例外業務に禍根を残さない 設定設計パターン
ei_ei_eiichi
0
910
CSC509 Lecture 03
javiergs
PRO
0
340
デミカツ切り抜きで面倒くさいことはPythonにやらせよう
aokswork3
0
240
monorepo の Go テストをはやくした〜い!~最小の依存解決への道のり~ / faster-testing-of-monorepos
convto
2
500
理論と実務のギャップを超える
eycjur
0
140
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
340
bootcamp2025_バックエンド研修_WebAPIサーバ作成.pdf
geniee_inc
0
110
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
620
Six Lessons from altMBA
skipperchong
29
4k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Designing for Performance
lara
610
69k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Transcript
@ Jakarta.rb 17 Oktober 2011
Who's talking? Nugroho Herucahyono programming since 12 years old ex
java programmer rubyist since 2006 twitter: @xinuc github: @xinuc
Works at Bukalapak
Disclaimer • This is my first jakarta.rb • Not a
technical talk • I'm really bad at public speaking • So, please bear with me
“a tale of a happy programmer”
I18n.locale = :id
“cerita tentang seorang programmer bahagia” err... - -”
Once upon a time
None
None
None
None
None
None
None
None
None
Maybe I did it wrong
None
None
None
class ThisIsAClassIDontReallyWantToNameButJavaMakesMe { public static void main() { System.out.println("Hello World");
} }
puts 'Hello World'
import java.io.File; import java.io.InputStream; // ... declare class, etc., then
... public byte[] justReadMeAFilePlease() { try { file = new File("my-file.txt"); fis = new FileInputStream(file); byte[] b = new byte[(int) file.length()]; fis.read(b); return b; } catch (Exception e) { e.printStackTrace(); } }
contents = File.read 'my-file.txt'
import java.util.Arrays; import java.util.Comparator; import java.util.Collections; import java.util.List; public class
SortList { public static void main (String[] args){ List<String> names = Arrays.asList("Nugroho", "Xinuc", "Herucahyono"); Collections.sort(names, new Comparator<String>(){ public int compare(String first, String second){ return (first.length() > second.length()) ? 1 : -1; } }); StringBuffer buf = new StringBuffer(""); String sep = ""; for(String name : names){ buf.append(sep); buf.append(name); sep = ", "; } System.out.println(buf.toString()); } } •
names = ["Nugroho", "Xinuc", "Herucahyono"] puts names.sort_by(&:length).join(", ")
I never knew that code can be this beautiful
Programming is fun again!!
None
I code ruby because it makes me happier – Silakan
di tweet
Does it mean that his life is perfect? No
Broken heart...
Sucky boss
Failing projects
Pivoting startups
None
None
Enjoy your jakarta.rb