Saturday, August 9, 2014

Let them be your heroes. #OSCON

Community Managers need to know heroes.

It is my second time to attend OSCON (open source convention)  by O'Reilly. There were many nice sessions, tutorials, funs, and after parties.



One of my favorite presentation is "Let them be your heroes" by Francesca Krihely (MongoDB).
It is an awesome talk. I have never thought to find heroes and nurture them in a community. But now I understand the importance of heroes as a community manager.
Get them connected with each other/Challenge them/Nurture them/Help them inspire future generations;
My diary written in Japanese is http://d.hatena.ne.jp/hyoshiok/20140808/p1

Sunday, December 15, 2013

Using Open Source Software at an Internet Company and Hacker Culture.

I made a presentation, "Using Open Source Software at an Internet Company and Hacker Culture" at Linux Enterprise Users Meeting held on December 11th, 2013 held by Linux Foundation.





Sunday, June 10, 2012

Building Facebook Application in five minutes

Yesterday (June 9th, 2012) I participated Heroku Junior Camp at Rakuten as a staff member. The workshop is designed for Junior Programmers to introduce software development using Heroku. We provided a large company meeting room and I was a beer bash master and drunk as usual ;-)


There were three groups, Java, PHP, and Ruby. I joined the PHP group led by Ando san, who is well known PHP hacker and the author of Candycane https://github.com/yandod/candycane

He introduce to make a Facebook application using Heroku. His presentation in Japanese can be found in his blog. http://blog.candycane.jp/archives/1496


I followed his explanation and click them. What you need is 1) github account, 2) heroku account, 3) Facebook account, that's it. You could make a Facebook application without any coding. very simple.

The application which I made in Five minutes is the following. It is a tutorial of Facebook application.
https://young-mountain-4321.herokuapp.com/

Enjoy building your own Facebook application.

Links: Heroku Junior Camp http://kokucheese.com/event/index/37851/
Togetter http://togetter.com/li/318199

Sunday, April 22, 2012

Using Apple product and Freedom


I am using Mac Book Air since last friday (April 13, 2012). Although I used Mac and Powerbook in early '90, it is the first Apple product in 21 century. I don't use iPod, iPhone, iTunes, iPad, nor any of Apple products.
Mac Book Air at Office

Last weekend I set up new Mac Book Air (mba, here after). By the way, it is a corporate computer so I don't pay it. I had wanted to make software development environment, so did google. I learned Xcode is popular tool. So I tried to download and install it.

You need Apple ID to download it. What is Apple ID? You need to register developer's site to install it. In order to register Apple ID, you have to provide your name, address, birth of date, telephone number and/or credit card number, and so on, to Apple, Inc. In order to register developer's site, you need to provide your Apple ID, affiliation, interests,  development OS, products information, many personal information to Apple, Inc.

I have a netbook which is built by Asus. When I started using it three years ago, I did not accept Microsoft agreement  which means that Windows were erased from my netbook and I didn't use Windows on it but I installed Ubuntu. So I have never provide my personal information to any companies, like Microsoft nor Asus.

I like free software. Because it is free. It means freedom like freedom of speech.

I was shocked that I have to provide my privacy to Apple, Inc. I just want to use this mba but if I want to use it, I have to pay my privacy. It is not free.

Now I understand Richard Stallman never uses Apple products.

Thursday, April 12, 2012

Lean Software Development, Leaders Workshop at Rakuten












Today we have a workshop led by Tom and Mary Poppendieck who are well known lean software development experts.

The workshop is in English without translators. As I wrote the previous blog, our company's official language is changing from Japanese to English.

There are good things and bad things without translators.

Bad things; you may have some difficulties to understand what Tom and Mary said. You may misunderstand them. It is very difficult to ask in English.
Good things; You don't need translators. The translation are expensive and sometimes wrong. Communication speed are much faster than having translators.

Poor English is better than translator's translation . You may disagree with me. But my belief is a dialog with poor English makes you clear and concise understanding between each other. Because you have to think about subject very clearly to translate your idea from Japanese (or your native language) to English. If you don't understand what you are talking, you can not translate it to English.

Anyway, Englishnization gives a lot of opportunities for us. I'm really exciting about this company's transformation.

One more thing. "It is easier to ask forgiveness than to ask permission". This is well know agile style or hacker way. I wrote a blog in Japanese. http://d.hatena.ne.jp/hyoshiok/20110205#p1
I learned this quote from Kawaguchi san and he learned from Hiranabe san who attended Mary's keynote speech about lean software development.

This is very exciting moment for me.

Sunday, April 1, 2012

Englishnization


Rakuten is known as a Giant EC company in Japan but it is not well known in the world. I am an employee of Rakuten.

Two years ago our CEO said "we will use English as a company's official language" when we had a weekly all company meeting on Monday morning.

Very few Japanese companies use English as an official language. Some of hardware manufactures such as Sony and Nissan are using English but their official language are still Japanese.

It is very radical decision. There is no other choice if a company wants to be a global company.

Two years ago many of us were not good at English and still struggled with it.

We have to pass an English examination. I had never took TOEIC (English examination) so I did not know if I had good enough skill. Fortunately I passed the examination.

Many meetings are running in English now and we get used to use English. Average score of TOEIC are increasing in this two years. We use English in our internal SNS. We can exchange our internal information not only Japanese employees but also non Japanese speaking employees in the world.

Last month we had an internal training by Jonathan Rasmusson at Rakuten. No translation was provided but many of us enjoyed it. Many questions was asked in English.

If we can use English, we can learn the leading edge technology.

Learning English is our great opportunities. English is the language of Internet and the global economy. We are learning the business of Internet services and it is very exciting thing.

Our experience of Englishnization will be a good role model of being a global. How do we change our language to English? I'm enjoying this experience.

Tuesday, March 20, 2012

Agile Do It!


Yesterday (March 19) I attended 'Agile Do It!'. The program is the following


  • Agile in Nutshell, Jonathan Rasmusson
  • Project Management of Game development, Yoshihisa Hashimoto (CTO, Square Enix)
  • Yahoo!, Rapid Software development, Onozawa (Yahoo!) and Takahashi (Yahoo!)
  • Scrum on DeNA, Kaise (DeNA), Oide (DeNA), Mori (DeNA)
  • Panel Discussion, Nishimura (Eiwa), Jonathan Rasmusson, Tachiki (Yahoo!), Takahashi (Yahoo!), Kaise (DeNA), Komai (DeNA), moderator Kakutani



All of the presentation except Jonathan are case study of each project. Many tacit knowledge were published and discussed. There were many scrum masters and we exchanged our experience.

I think this kind of meetup are very important and valuable. We can learn from each other and exchange our best practice, do/don't, good thing, bad thing and so on.

The after conference party was really good and I enjoyed so much. I would really appreciate DeNA who made the conference, speakers, and participants.

Sunday, March 18, 2012

long time no see.

Hi, how are you doing?

I have not wrote anything in this blog since 2009. But I have decided to start writing this blog again.

Enjoy.

Thursday, June 25, 2009

Debug Hacks, Table of Contents

Hi,

I've translated Debug Hacks table of contents into English.
Please feel free to ask me if you have any questions.

DEBUG HACKS,
english translation by Hiro Yoshioka
6/25/09

Table of Contents

Chapter 1 Introduction
1 what is a debug
2 road maps of debug hacks
3 hints of debug

Chapter 2 The Things you have to know before debugging
4 how to get core dump of a process
5 introduction of gdb
6 introduction of gdb, part 2
7 introduction of gdb, part 3
8 basic of Intel architecture
9 basic of stack
10 basic of parameter passing of function call (x86_64)
11 basic of parameter passing of function call (i386)
12 basic of parameter passing of function call (C++)
13 how to learn assembly language
14 mapping between source code and assembly code

Chapter 3 Getting Started Kernel Debug
15 how to read Oops messages
16 connecting serial console using minicom
17 getting kernel messages thru network
18 debug using SysRq key
19 getting kernel crash dumps using diskdump
20 getting kernel crash dumps using Kdump
21 how to use crash
22 getting kernel crash dumps using IPMI watchdog timer when a kernel freeze
23 getting kernel crash dumps using NMI watchdog timer when a kernel freeze
24 assembly language idiom in the kernel source code
25 assembly language idiom in the kernel source code, part 2

Chapter 4 Practice of application debug
26 application program aborts SIGSEGV
27 corruption of a back trace information
28 destroying memory by invalid access of an array
29 detecting invalid access using watch point of gdb
30 defects and faults of malloc() and free()
31 application stall (deadlock)
32 application stall (infinite loop)

Chapter 5 Practice of kernel debug
33 kernel panic (NULL pointer)
34 kernel panic (destruction of list data)
35 kernel panic (race condition)
36 kernel stall (infinite loop)
37 kernel stall (spin lock)
38 kernel stall (spin lock, part 2)
39 kernel stall (semaphore)
40 stall of real time process
41 slow down
42 high cpu load

Chapter 6 Debug Techniques
43 using strace to detect the cause of error
44 useful options of objdump
45 how to use Valgrind (basic)
46 how to use Valgrind (advance)
47 getting kernel internal status using kprobes
48 getting kernel internal status using jprobes
49 getting kernel internal status using kprobes (inserting probes)
50 getting kernel internal status using kprobes (inspecting variables)
51 getting value of a variable optimized out by a compiler using KAHO
52 debugging running linux kernel using systemtap
53 debugging running linux kernel using systemtap, part2
54 reading /proc/meminfo
55 /proc/PID/mem to read contents of memory
56 behavior and implementation of OOM Killer
57 fault injection
58 finding hidden bug in the linux kernel using a fault injection
59 init section of linux kernel
60 solving performance issues
61 getting information using VMware Vprobe
62 getting memory dump by XEN
63 understanding an implementation of a function call thru GOT/PLT
64 debugging an initramfs image
65 detecting a stall of a realtime process by RT Watchdog
66 check 64bit capability of intel x86 processor
The editor of Debug Hacks gave me the following description of this book in English. Thanks Ryoko Akaike

HIGHLIGHT

This explains the debug techniques fully under the long term development of Linux Kernel and application development process. This book covers the necessary preparation, its knowledge, quick finding tools of problems and how to solve them quickly by using the most useful techniques and tools. There are many examples to be used in the book. This book helps the Linux development engineers.

Mr. Yukihiro Matsumoto, creator of Ruby strongly recommends this book for the process of programming development.


DESCRIPTION

This book provides the feature of the debugging techniques of Linux development
Engineers.
The readers can :
- Know how to find the problems.
- Prepare for the knowledge to find the problems.
- Find the bugs of the system.
- Amend the problems.
- Get the useful techniques and tools.
- Get the most effective tools in the development stage.

Master the problem solving techniques by the detailed examples.

ABOUT THE KEY AUTHORS
Mr. Hirotaka Yoshioka
Dr. Kazuhiro Yamato
Mr. Naohiro Ooiwa
Mr. Toyo Abe
Mr. Shunsuke Yoshida

All engineers belong to Miracle Linux Corporation, which provides the Linux
System packages and its global consulting services of Linux to the various
Corporations in Japan.



Saturday, April 25, 2009

Debug Hacks

Debug Hacks is a book to introduce tips and tools for removing bugs. Debugging is one of time consuming process in the software development. However there is few books to describe debug.

Debugging is a kind of black art. We have never been taught in a class room. We need to have debug skill. Each programmer has own debug techniques but almost nobody try to describe their tips.

This is our challenge to describe the art of software debugging. The authors are linux kernel engineers of Miracle Linux Corporation (http://www.miraclelinux.com). I am one of the authors :-)

It covers from C/C++ application debugging to the Linux kernel debugging. We show the real world examples which we have fixed in our services.

Chapter 1 Warmingup, Chapter 2 Preparation for user land programs, Chapter 3 Preparation for kernel debugging, Chapter 4 Debugging for Application programs, Chapter 5 Debugging for Kernel Programs, Chapter 6 Various Tips and Tools.

This book covers GDB, strace, objdump, Valgrind, kprobes, jprobes, KAHO, systemtap, proc file system, oprofile, VMware vprove, fault injection, Xenand so on.

You will learn many tips to debug your programs.

Bad news is that it is written in Japanese. You may ask O'reilly Japan to translate this book to other languages, that is, English, Chinese, Korean, and so on.

Wednesday, March 11, 2009

YLUG (Yokohama Linux Users Group) and Kernel Code Reading Party

This memo is inspired by the blog written by Ted.
http://thunk.org/tytso/blog/2009/02/04/how-active-are-your-local-linux-users-groups/

Let me describe Yokohama Linux Users Group (YLUG).
http://ylug.jp (Many pages are written in Japanese)

More than 10 years ago, I was living in the Silicon Valley and worked for an RDBMS company as a RDBMS kernel engineer. My job was nothing related with Linux. It was 1998. Netscape opened the source code aka the Mozilla Project. Silicon Valley Linux Users Group had an offline meeting which hosted Marc Andreessen of Netscape who made this crazy idea on April, 1st of 1998. Marc said, "It is April, 1st, it is not April Fool but real." I know nothing about Open Source nor Bazaar model at that time.

I came back to Japan on the end of 1998. There were Linux bubble and many LUG (Linux Users Group) in Japan were established.

YLUG (Yokohama Linux Users Group) is one of LUG which was established in January of 1999. I joined YLUG. Mailing list was very active in those days. I asked an easy question to the mailing list. How does the linux kernel implement a system call? The answer was "int 0x80" and "read the source code." Hmm, I find/grep "int 0x80" and browse the code. I happened to think that it might be fun to read the code with YLUG members. It was a little bit bother to read the code by myself, but reading the code with colleagues may give us other insight. It might be fun.

So I set up an offline meeting to read and have a party. It was held April 28th, 1999 and more than 30 people joined it. It was *fun*. Many people said, let's have another one. Many who could not attend the meeting asked us to have another one. We have more than 90 times and almost once a month since then.

I named it "Kernel Code Reading Party."

Although, we have not read the code these days, Kernel Code Reading Party has two parts, 1) a speaker makes a informal technical seminar, 2) we have a beer party. We will have 10th anniversary and 100th Kernel Code Reading Party in this October or November time frame.

From Junior high school students to 50 something like me, from linux beginners to kernel hackers, audience are very wide.

YLUG's Kernel Code Reading Party is very active and we really enjoy it.

Someday Join Us.

Monday, March 9, 2009

Let's Get Startted

Hi,

okdt recommended me to write a blog in English. so here it is. Although, I have two blogs written in Japanese, I wish this page gave you something happened Open Source Communities in Japan.

My diary Someday in the Future (MIRAI NO ITSUKA 未来のいつか) http://d.hatena.ne.jp/hyoshiok/
My blog The Power of Dreams (YUME NO CHIKARA ユメのチカラ) http://blog.miraclelinux.com/yume/

Enjoy,