วันจันทร์ที่ 26 ตุลาคม พ.ศ. 2558

Cohesion VS Coupling

ในชีวิตการทำงานจริง การพัฒนาออกแบบ Software ระบบหนึ่งขึ้นมา คงไม่ได้มีเพียง File เดียว หรือ Method Main อย่างเดียวแน่ๆ เหมือนตอนที่เรียนอยู่ในมหาวิทยาลัย โดยการทำงานจริงนั้น เราต้องแบบระบบงาน Software ที่ทำอยู่ออกมาเป็น Module หรือ Component ต่างๆ และท้ายที่สุดได้ Class Diagram แต่เมื่อออกแบบเสร็จแล้ว เราจะมั่นใจได้อย่างไรว่า Code ที่เราออกแบบนั้น ไม่มีการทำงานที่ซับซ้อน หรือมีโครงสร้างที่ซับซ้อนมากเกินไป จนทำให้ในอนาคตเมื่อมีการแก้ไข Code นั้นแล้วอาจจะทำให้กระทบไปทั้งระบบ แล้วเราจะมีวิธีจัดการอย่างไงให้สามารถลดความซับซ้อนของระบบได้ ผมขอแนะนำแนวคิด 2C ได้แก่ Cohesion และ Coupling

Cohesion คือ อะไร ?
Cohesion คือ การบอกถึงความสอดคล้องกันของการทำงานในหน่วยใดๆ เช่น ถ้าเรามองในมุมของ Coding ในระดับ Class ความสอดคล้องกันของ Class นั้น หมายถึง Method การทำงานต่างๆที่ควรจะเป็นไปในทางเดียวกัน
เช่น Class ของรถยนต์ ควรมีการทำงานเฉพาะของรถยนต์้เท่านั้น
Class ในการจัดการ Export ไฟล์ Excel(.csv) ต้องความมีการส่วนของการสร้าง File CSV การแปลงข้อมูลชนิดต่างๆ ให้เหมาะสมกับไฟล์ (.CSV) เท่านั้น ไม่ใช่มี Method ในการ Validate เข้ามาเกี่ยวข้อง เป็นต้น
แล้วทำไมเราต้องทำให้เกิดความสอดคล้อง (Cohesion) หละ ?
เพราะ เราต้องการจัดกลุ่มของการทำงานให้เป็นหมวดเดียวกัน ให้อยู่ใน Class เพื่อให้ง่ายต่อการ Maintain และการเพิ่มเติมการทำงานในอนาคต
ลองมองง่ายๆ ถ้า Code Export Excel (.CSV) มันมีการทำงานกระจายไปหมดทุก Module ถ้าเปลี่ยน Requirement ที = งานเข้า
ชนิดของ Cohesion จากแย่ที่สุด ไป ดีที่สุด
  • Coincidental Cohesion(แย่ที่สุด): กิจกรรม หรืองานต่างๆ ถูกนำมาจัดกลุ่มรวมกันใน Module โดยไม่มีความสัมพันธ์กันเลย เราอาจจะเรียกว่าเป็น “Utilities” class หรือ Util Class ก็ได้
    ตัวอย่าง: Class A ที่ Method สำหรับ Connect DB และ Export File
  • Logical Cohesion: กิจกรรม หรืองานต่างๆ ถูกนำมาจัดกลุ่มรวมกันใน Module เดียวกัน โดยดูจากปัจจัยอย่างใดอย่างหนึ่ง เช่น Input หรือ Output เป็นต้น แต่ธรรมชาติของการทำงานของมันจะไม่เหมือนกัน
    ตัวอย่าง: Class B ที่จัดกลุ่ม Method สำหรับ BackFile และ Export File ไว้ในกลุ่มเดียวกัน เพราะ มีการเขียนไฟล์ออกมาเป็น Output เหมือนกัน
  • Temporal Cohesion : กิจกรรม หรืองานต่างๆ ถูกนำมาจัดกลุ่มรวมกันใน Module เดียวกัน เนื่องจากเวลาการทำงานเกิดขึ้นพร้อมๆกัน
    ตัวอย่าง: Class C จัดกลุ่มสำหรับดึงค่า config, ดึงข้อมูลผู้ใช้ล่าสุด และสร้างที่เก็บ Log File
  • Procedural Cohesion : กิจกรรม หรืองานต่างๆ ถูกนำมาจัดกลุ่มรวมกันใน Module เดียวกัน เพราะเนื่องจากมีขั้นตอนของการทำงานที่แน่นอน
    ตัวอย่าง: Class D จัดกลุ่ม Method สำหรับตรวจสอบสิทธิไฟล์ และ การเปิดไฟล์ มารวมกัน
  • Communicational/informational cohesion : กิจกรรม หรืองานต่างๆ ถูกนำมาจัดกลุ่มรวมกันใน Module เดียวกัน เพราะมีการจัดการกับข้อมูลตัวเดียวกัน
    ตัวอย่าง: Class E จัดกลุ่ม Method InsertStudent, EditStudent, DeleteStudent และ ListStudent รวมกัน เพราะมีการยุ่งกับข้อมูลเดียวกัน คือ ข้อมูลของนักเรียน(Student)
  • Sequential Cohesion : กิจกรรม หรืองานต่างๆ ใน Module โดย Output ที่ได้จากนั้น อาจจะเป็น Input ของอีกกิจกรรม หรืองาน อื่นๆ
    ตัวอย่าง: Class F จัดกลุ่ม Method GetCommissionRate กับ Method GetTotalPrice มารวมกัน เพราะ Method GetTotalPrice ต้องใช้อัตรา Commission จาก Method GetCommissionRate
  • Functional Cohesion(ดีที่สุด) : กิจกรรม หรืองานต่างๆ ใน Module มีหน้าที่ทำงานเพียงอย่างเดียว
    ตัวอย่าง: Class G มีหน้าที่การทำงานอย่างเดียว คือ การ Connect Database
ระบบที่ดีความออกแบบให้มี Cohesion สูง (งานที่เหมือนกัน ควรอยู่ในกลุ่มเดียวกัน)
Coupling คือ อะไร ?
Coupling คือ ระดับความเกี่ยวข้อง หรือ พึ่งพากันของ Module ต่างๆในระบบ  ซึ่งระบบที่ดีควรออกแบบให้ Module ต่างๆเป็นอิสระจากกันมากที่สุด ถ้าเรามองในมุม Coding คือ การทำให้ Object ต่างๆ มีการอ้างอิงกันน้อยที่สุด เท่าที่จะเป็นไปได้ เพราะ
  • ถ้ามีการเปลี่ยนแปลงโครงสร้างใดๆขึ้นมา ย่อมส่งผลกระทบให้กับ Object อื่นๆ ที่อ้างอิงถึงด้วย หรือ เรียกว่า ripple effect
  • เกิดการ Reuse Code ได้ยาก เพราะมี Component ที่เกี่ยวข้องกันเยอะ
  • Test Code ได้ยาก เพราะมี Component ที่เกี่ยวข้องกันเยอะ
ตัวอย่าง Class A มีการดึงข้อมูลราคาหุ้นจาก Web Service และ Class B มีหน้าที่ในการหา Market Value ของ Portfolio ถ้า Class A มีการเปลี่ยนแปลง โดยเพิ่ม Parameter เข้าไป จะส่งผลให้ Class B ต้องเพิ่ม Parameter เข้าไปด้วย
ถ้า Object มัน Coupling สูง จะเกิดอะไรขึ้น ลองไปอ่าน YO YO Effect ในการ Coding ดูนะครับ นี่ก็เป็นตัวอย่างนึงของการพัฒนาระบบ OOP ที่ Code มีความพึ่งพากันสูงมากๆ จนเกิดปัญหาครับ
ชนิดของ Coupling จากแย่ที่สุด ไป ดีที่สุด
  • Procedural programming
    • Pathological couple(Content coupling) Module หนึ่ง เข้าไปแก้ไข Module อีกอันได้ เช่น การเข้าไปแก้ไขตัวแปร
    • Global coupling(Common coupling) แชร์ข้อมูล Global ร่วมกัน เช่น UserID ที่ใช้งานอยู่ปัจจบัน
    • External coupling : Module แต่ละขึ้นอยู่กับข้อมูลที่มาจากภายนอกระบบ ที่จาก WebService หรือ Text file ที่มี format เฉพาะตัว
    • Control coupling ควบคุม flow การทำงานไปยัง Module อื่นๆ
    • Stamp coupling (Data-structured coupling) ส่งข้อมูลที่เป็นโครงสร้าง เช่น Object Student
    • Data coupling: Module มีการแชร์ Data ร่วมกัน
    • Message coupling (low): ความสัมพันธ์ของสอง Module นั้นเกิดจากการเรียกใช้งาน โดยอาจจะมีการส่ง Parameter เข้าไป
    • No coupling: ไม่มีความสัมพันธ์ใดๆเลย
  • Object-oriented programming(OOP)
    • Subclass Coupling : ความสัมพันธ์ระหว่าง SubClass กับ Super Class
      ตัวอย่าง: Interface A มีความสัมพันธ์กับ Class B, C และ D
    • Temporal coupling : ใน Object มีกิจกรรม หรือหน้าที่ในการทำงานตั้งแต่ 2 อย่างเกิดขึ้นพร้อมกัน
      ตัวอย่าง: Object E มี Method GetActiveUser กับ GetLastLogin ที่ถูกเรียกใช้งานพร้อมกันทุกๆ 1 วินาที
ทำไมถึงต้องแยกเป็น Coupling ของการพัฒาระบบแบบ OOP กับแบบ Procedural ?
เพราะในการเขียน OOP ยังมีการเขียนโปรแกรมแบบ Procedural  ประกอบด้วย เพราะ ถ้าเรายึดหลัก OOP เพียงอย่างเดียว เวลาเขียนโปรแกรมจริงๆคงมี Class จำนวนมหาศาล
ระบบที่ดีความออกแบบให้มี Coupling ต่ำ (พยายามแยกให้ Object ต่างๆเป็นอิสระจากกันมากที่สุด)
วิธีการบอกถึง Cohesion กับ Coupling ?
เราจะประเมิน Cohesion กับ Coupling โดยใช้วิธีการทางสถิติ ซึ่งแสดงความสัมพันธ์ นับ Node ที่เกี่ยวข้องกัน และกำหนดคะแนนขึ้นมาครับ
สรุปสัดส่วนที่ดีระหว่าง 2C มัน คือ เป็นอย่างไร ?
High Cohesion  & Low Coupling
High Cohesion  & Low Coupling หมายถึง การเขียนโปรแกรมให้มีความสัมพันธ์กันภายใน Class มาให้มากที่สุด และพยายามลดความสัมพันธ์ระหว่าง class ให้น้อยที่สุด โดยที่ class เหล่านั้นควรมีการแบ่งหน้าที่ หรือกิจกรรมกันอย่างชัดเจนครับ
แหล่งข้อมูล

วันศุกร์ที่ 23 ตุลาคม พ.ศ. 2558

Triplet Scale Sequence Exercises Why and How


EXERCISE 1 (A MINOR PENTATONIC)
triplet pentatonic scale sequences
EXERCISE 2 (A BLUES)
triplet blues scale sequences
EXERCISE 3 (A PENTATONIC ALL OVER THE NECK)
triplet pentatonic scale sequences
EXERCISE 4 (A MAJOR)
triplet major scale sequences
EXERCISE 5 (A MINOR)
triplet minor scale sequences

Pentatonic Sequences For Soloing


Welcome everyone to my lesson on pentatonic sequences. To start off, i'll explain what a scale sequence is. Basically, all it is is taking the notes of a scale and arranging them into patterns that can be used to go up or down a scale. You've actually probably heard these before but just didn't know what they were. First, lets start by showing the A minor pentatonic scale in the "root position" on the 5th fret.
e----------------5 8----------------
B-------------5 8---8 5-------------
G----------5 7---------7 5----------
D-------5 7---------------7 5-------
A----5 7---------------------7 5----
E-5 8---------------------------8 5-
Now, you should be pretty comfortable with this already. If you are not, take some time to practice just going up and down this scale to get used to it. Now assuming you are already using the pentatonic, lets break it up into sequences to make things more fun. This will also help build speed in the pentatonic scale. The first one we'll go over is GROUPS OF 3. The concept is simply play up the scale 3 notes, then go back to the 2nd note and go up 3 more notes. Then from there, go back to the second note in that group and go up 3 more etc... So think of it as 1 2 3, 2 2 3, 3 2 3, etc...
e------------------------------------------------5---5-8--5---
B-------------------------------------5---5-8-5-8--8-----8--8-5....etc..
G--------------------------5---5-7-5-7--7---------------------
D---------------5---5-7-5-7--7--------------------------------
A----5---5-7-5-7--7-------------------------------------------
E-5-8--8------------------------------------------------------
When starting this, make sure to actually count out "one, two, three, one two, three" and make sure to accent the "one" with your picking. Now where it gets a little tricky is connecting the accending with the deccending(which is what is shown at the top of the example. Continue it down the scale). What I like to do is count the top "three" as the "one" for going back down. So count " one, two, three, two, one, three, two, one," etc...
e-8-5---5---------------------------------------------------
B-----8---8-5-8-5--5----------------------------------------
G-----------------7---7-5-7-5---5---------------------------
D-----------------------------7---7-5-7-5---5--------------- 
A-----------------------------------------7---7-5-7-5--5----
E-----------------------------------------------------8--8-5
You should practice this starting from the top, go all the way down, and then back up as well as starting from the bottom, going up and then back down. Next, we'll talk about GROUPS OF 4. Now, there are a couple of ways to do these. Once you go past groups of 3 it becomes easier to change it up a bit. For the sake of usefulness(and so I don't have to write out a few different groups of 4), I will show you the one I use the most. it's quite simple and it's very easy to get up to speed. This one will start to sound more eric johnson like and it should because I got it from watching him play. In this one, instead of going back to the 2nd note, we'll go to the 3rd note. This makes this easier to play than going back to the 2nd note which would involve some rolling.
e--------------------------------5-8----
B-------------------------5-8-5-8----8-5 ...etc..
G------------------5-7-5-7--------------
D-----------5-7-5-7---------------------
A----5-7 5-7----------------------------
E-5-8-----------------------------------
See? Pretty easy. This one is probably the easiest one out of all of them but don't be tempted to rush this one. Take the time to make sure every note is nice and clean before going faster. And again, when you get to the top, count the "four" as the "one" when deccending back down. So "one, two, three, four, three, two one, four, three, two, one," etc... And starting on the top:
e8-5--------------------------------
B---8-5-8-5-------------------------
G----------7-5-7-5------------------
D-----------------7-5-7-5-----------
A------------------------7-5-7-5----
E-------------------------------8-5-
Again, practice starting from the top, go down and back up as well as start from the bottom, go up then back down. Now the next one I'm going to show you sounds even more Eric Johnson like and Joe Bonamassa like. Its basically a GROUPS OF 6 pattern, but the way i practice it doesn't start out like a group of 6. And the reason for this is to just get your fingers used to skipping back up or down to the previous string in any area on the neck. so think of it like; 1,2,3,4,1,2,3,4,5,6 etc... instead of 1,2,3,4,5,6,1,2,3,4,5,6.
e-----------------------------------------5-8---5-8---8-5-----------------
B--------------------------------5-8---5-8---5-8---8-5---8-5---8-5--------
G-----------------------5-7---5-7---5-7--------------------7-5---7-5....etc
D-------------5-7---5-7----5-7---------------------------------------------
A----5-7---5-7---5-7-------------------------------------------------------
E 5-8---5-8----------------------------------------------------------------
So as you can see, it's basically a 6 note pattern but it does stray away from it at times to make it easier to play.
e-8-5---8-5-------------------------------------------
B----8-5---8-5---8-5----------------------------------
G-------------7-5---7-5---7-5-------------------------
D----------------------7-5---7-5---7-5----------------
A-------------------------------7-5---7-5---7-5-------
E----------------------------------------8-5----8-5---
And by now i'm sure you know to practice both starting from the top comming down then back up, and starting on the bottom going up then back down. Another thing to consider is taking these concepts and moving them into the other positions of the pentatonic scale. This way, you can play through all the shapes on the fretboard equally. Well to wrap this up, I just want to say that I hope this helped you guys out there. I know I wish I knew this when I started out. Another thing you can do is make your own sequences. Obviously I skipped from Groups of 4 to Groups of 6. You could do 5 if you like or even 7. Try going back to different notes too. For example, go up 5, go back to the third note and go up five instead of going to the 2nd. Anyways, I might do a 2nd part to this to go over other ideas and maybe some examples of licks using sequences in them.

Scale Sequences: 15 Hot Patterns That Will Fire Up Your Solos

If you’re a guitarist who loves to practice, you’re probably well acquainted with a scale sequence or two.


But if you think they’re best left for the practice room, think again. The fiery solos of hard rock are laced with 16th-note scale sequences—think Ritchie Blackmore, Randy Rhoads, Uli Jon Roth, Michael Schenker, John Petrucci, Paul Gilbert, Eric Johnson, Yngwie Malmsteen and Vinnie Moore.

Jazz and fusion guitarists—including Django Reinhardt, Joe Pass, Joe Diorio, John Scofield and Frank Gambale—employ a wide variety of arpeggio and sequence-triad patterns. Intervallic sequences also abound in the country stylings of Alert Lee, Brent Mason and Danny Gatton, and the blues idiom is peppered with triplet-based sequences.

Under the circumstances, it’s obvious that there is a lot we can learn from the abundant use of sequencing patterns.

In this lesson, we’ll take look at the power of these patterns and explore ways you can put them to use to ignite your solos and licks with a new intensity. Once we’ve run through the basics, we’ll apply them to a written solo to see how they can be used in real-life situations.


SCALE SEQUENCES
Just what is a scale sequence?

Traditionally, a scale sequence is a specific pattern of notes, usually two to four, that is repeated at various starting points within the same scale. Take a look at FIGURE 1A, which depicts the popular groups-of-four sequence.
FIGURE 1A
This example begins by ascending the first four notes of the C major scale (C D E F), at which point the pattern repeats, only starting this time on the second degree of the scale, D. The next repeat of the pattern starts on the third degree, E, and so on.

This sequence can be applied to any scale or mode simply by following the diatonic scale degrees 1-2-3-4, 2-3-4-5, 3-4-5-6, and so forth,

FIGURE 1B depicts the descending form of the groups-of-four sequence, this time applied to the C minor scale (C-D-Eb-F-G-Ab-Bb). Starting from the root, C, the four-note pattern descends the scale as follows 1(8)-b7-b6-5 (C-Bb-Ab-G); b7-b6-5-4 (Bb-Ab-G-F); b6-5-4-b3 (Ab-G-F-Eb), and so on.
FIGURE 1B
Another common scale sequence is the triplet-based groups-of-three pattern. FIGURE 2A offers an examples of the ascending version, drawing on the A Dorian mode (A-B-C-D-E-F#-G).
FIGURE 2A
FIGURE 2B descends the E Mixolydian mode (E-F#-G#-A-B-C#-D) via the groups-of-three sequence. This time, however, the triplets are converted to eighth notes, offering a rhythmic offset: triple meter superimposed over duple meter.
FIGURE 2B

Try applying these sequences to your favorite scale patterns. And don’t feel that you always have to start the sequence from the root of the scale—sometimes it’s desirable to begin from another scale tone.

Here are a few more sequences you might want to try,

1-2-3-1, 2-3-4-2, 3-4-5-3, etc.
1-2-3-4-5, 2-3-4-5-6, 3-4-5-6-7, etc.
1-2-3-4-3, 2-3-4-5-4, 3-4-5-6-5, etc.
1-2-3-4-5-4-3, 2-3-4-5-6-5-4, 3-4-5-6-7-6-5,etc.
1-7-1-2-3-4, 2-1-2-3-4-5, 3-2-3-4-5-6, etc.

Scale sequences can also be applied to nondiatonic scales, such as major and minor pentatonics. Check out FIGURES 3A-B for some intriguing possibilities.
FIGURES 3A-B
INTERVALLIC SEQUENCES
It’s also common practice to apply sequences to diatonic intervals. Perhaps the most useful of these is the diatonic 3rd variety—a pattern that ascends in an “up two (scale steps), back one” theme.

FIGURE 4A illustrates this process using the C major scale (C-D-E-F-G-A-B). The formula for ascension is 1-3, 2-4, 3-5, 4-6, etc. Descension goes as follows: 1(8)-6, 7-5, 6-4, 5-4, etc.
FIGURE 4A

FIGURE 4B is a sawtooth sequence of 3rds applied to the C major scale. The sawtooth sequence starts out the same as the diatonic 3rds (1-3) but then goes up one scale step and back down a diatonic 3rd: 1-3-4-2, 3-5-6-4, 5-7-1(8)-6, etc., when ascending, and 1(8)-6-5-7, 6-4-3-5, 4-2-1-3, etc., when descending.
FIGURE 4B

You can rack up a lot of melodic mileage by combining these 3rds sequences with other scale patterns and modes.

And while you’re at it, try experimenting with other combinations of intervals. FIGURE 5 shows a descending sequence of diatonic 4ths (a common move in jazz) within the A Dorian mode.
FIGURE 5
FIGURE 6 is a sawtooth sequence of diatonic 5ths (a popular fusion technique) descending the D Mixolydian mode (D-E-F#-G-A-B-C).
FIGURE 6

TRIAD AND ARPEGGIO SEQUENCES
Many scale-sequence patterns can also be applied to triads and basic 7th arpeggios. FIGURE 7ascends the G major scale via a sawtooth sequence of harmonized triads. The pattern simply rolls up one triad (from the root) and then down the other (from the 5th), in diatonic succession (G-Am-Bm-C-D-Em-B˚) up the scale pattern.
FIGURE 7

FIGURE 8 applies an interesting sequence to an Em7b5 arpeggio (used as a substitute over a C7 chord).
FIGURE 8
Inspired by the diatonic 3rds sequence in FIGURE 4A, it skips every other note as it gradually climbs the arpeggio. Other patterns that lend themselves well to arpeggios are the groups-of-four (FIGURES 1A-B) and groups-of-three (FIGURES 2A-B) sequences.
THE SOLO
The style for this solo (FIGURE 9) is hard-driving rock. Written in the key of A minor, it’s a 16-bar progression constructed from two similar eight-bar sections. Both start with a i–bVI-iv (Am-F-Dm) passage, but the first section ends on a i-bVII (Am-G) turnaround, whereas the second goes out on a V7-i (E7-Am) cadence.

The solo opens with a groups-of-three sequence that descends the A minor scale (A-B-C-D-E-F-G) from C to G. Notice how the rhythmic variation—half note, eighth-note rest, and tied eighth notes—and the staccato accents break up the predictability of the sequence.

In measure 3, F Lydian (F-G-A-B-C-D-E) is dispatched to mark the arrival of the bVI chord (F). The groups-of-three theme is maintained but camouflaged by two rhythmic motifs. The first follows a scheme of a dotted-quarter note and two 16th notes (measure 3), while the second exploits a grouping of an eighth note and two 16th notes (measure 4).
Measures 6–7 host an ascending Dm7 arpeggio (D-F-A-C) based on the sequence in FIGURE 8. Notice how the rhythms reflect the motif activity from measures 4–5.

Measures 7–8 put a descending wrap on the first section with a sequenced Am7 arpeggio (A-C-E-G) followed by a straight-ahead groups-of-four sequence that slides down the G Mixolydian mode (G-A-B-C-D-E-F).

The second section opens with an eighth-note-triplet theme (measures 9–10), which creates considerable rhythmic intensity against the driving, steady eighth-note groove. The A minor scale supplies the melodic fuel for both the harmonized triad passage and the subsequent diatonic 6ths sequence.

The rhythmic tension is released in measure 11, where a pair of figures—rhythmically, a quarter note, a 16th rest, and three 16th notes—slot themselves into the meter. A back-pedaling sequence (1-5-7-5, 3-1-3-1,5) employing an Fmaj7 arpeggio (F-A-C-E) provides melodic anticipation, which is heightened by the arrival of a galloping groups-of-three sequence in measure 12.
In measure 13, an economic melody based on D Dorian (D-E-F-G-A-B-C) allows for a momentary breath before the solo goes out with a go-for-broke set of incendiary sequences that zip down the A harmonic minor (A-B-C-D-E-F-G#) scale and then up the A natural minor scale.
http://www.guitarplayer.com/lessons/1014/scale-sequences-15-hot-patterns-that-will-fire-up-your-solos---tab/53259

วันพฤหัสบดีที่ 1 ตุลาคม พ.ศ. 2558

จากครรภ์มารดา มารดาถึงเชิงตะกอน


มื่อผมอยู่ในครรภ์ของแม่ ผมต้องการให้แม่ได้รับประทานอาหารที่เป็นคุณประโยชน์ และได้รับความเอาใจใส่ และบริการอันดีในเรื่องสวัสดิภาพของแม่และเด็ก ผมไม่ต้องการมีพี่น้องมากอย่างที่พ่อแม่ผมมีอยู่ และแม่จะต้องไม่มีลูกถี่นัก
พ่อกับแม่จะแต่งงานกันถูกฎหมาย หรือธรรมเนียมประเพณีหรือไม่ ไม่สำคัญ แต่สำคัญที่ พ่อกับแม่ต้องอยู่ด้วยกันอย่างสงบสุข ทำความอบอุ่นให้ผมและพี่น้อง
ในระหว่าง 2-3 ขวบแรกของผม ซึ่งร่างกายและสมองผมกำลังเติบโตในระยะที่สำคัญ ผมต้องการให้แม่ผมกับตัวผม ได้รับประทานอาหารที่เป็นคุณประโยชน์
ผมต้องการไปโรงเรียน พี่สาวหรือน้องสาวผมก็ต้องการไปโรงเรียน จะได้มีความรู้หากินได้ และจะได้ รู้คุณธรรมแห่งชีวิต ถ้าผมสติปัญญาเรียนชั้นสูง ๆ ขึ้นไป ก็ให้มีโอกาสเรียนได้ ไม่ว่าพ่อแม่ผมจะรวย หรือจน จะอยู่ในเมืองหรือชนบทแร้นแค้น
เมื่อออกจากโรงเรียนแล้ว ผมต้องการงานอาชีพที่มีความหมาย ทำให้ได้รับความพอใจว่า ตนได้ทำงานเป็นประโยชน์แก่สังคม
บ้านเมืองที่ผมอาศัยอยู่จะต้องมีขื่อ มีแป ไม่มีการข่มขู่ กดขี่ หรือประทุษร้ายกัน ประเทศของผมควรจะมีความสัมพันธ์อันชอบธรรม และเป็นประโยชน์กับโลกภายนอก ผมจะได้มีโอกาสเรียนรู้ถึงความคิด และวิชาของมนุษย์ทั้งโลก และประเทศของผมจะได้มีโอกาส รับเงินทุนจากต่างประเทศ มาใช้เป็นประโยชน์แก่ส่วนรวม
ผมต้องการให้ชาติของผมได้ขายผลิตผลแก่ต่างประเทศด้วยราคาอันเป็นธรรม ในฐานะที่ผมเป็นชาวไร่ชาวนา ผมก็อยากมีที่ดินของผมพอสมควรสำหรับทำมาหากิน มีช่องทางได้กู้ยืมเงินมาขยายงาน มีโอกาสรู้วิธีการทำกินแบบใหม่ ๆ มีตลาดดี และขายสินค้าได้ราคายุติธรรม
ในฐานะที่ผมเป็นกรรมกร ผมก็ควรจะมีหุ้นมีส่วนในโรงงาน บริษัท ห้างร้านที่ผมทำอยู่
ในฐานะที่ผมเป็นมนุษย์ ผมก็ต้องการอ่านหนังสือพิมพ์ และหนังสืออื่น ๆ ที่ไม่แพงนัก จะฟังวิทยุ ดูโทรทัศน์ ก็ได้โดยไม่ต้องทนรบกวนจากการโฆษณามากนัก
ผมต้องการสุขภาพอนามัยอันดี และรัฐบาลจะต้องให้บริการป้องกันโรคแก่ผมฟรี กับบริการการแพทย์ รักษาพยาบาลอย่างถูกอย่างดี เจ็บป่วยเมื่อใดหาหมอพยาบาลได้สะดวก
ผมจำเป็นต้องมีเวลาว่างสำหรับเพลิดเพลินกับครอบครัว มีสวนสาธารณะที่เขียวชะอุ่ม สามารถมีบทบาท และชมศิลปะ วรรณคดี นาฏศิลป์ ดนตรี วัฒนธรรมต่าง ๆ เที่ยวงานวัน งานลอยกระทง งานนักขัตฤกษ์ งานกุศลอะไรก็ได้พอสมควร
ผมต้องการอากาศบริสุทธิ์สำหรับหายใจ น้ำดื่มบริสุทธิ์สำหรับดื่ม
เรื่องอะไรที่ผมทำเองไม่ได้ หรือได้แต่ไม่ดี ผมก็จะขอความร่วมมือกับเพื่อนฝูงในรูปสหกรณ์ หรือ สโมสร หรือสหภาพ จะได้ช่วยซึ่งกันและกัน
เรื่องที่ผมจะเรียกร้องข้างต้นนี้ ผมไม่เรียกร้องเปล่า ผมยินดีเสียภาษีอากรให้ส่วนรวมตามอัตภาพ
ผมต้องการโอกาสที่มีส่วนในสังคมรอบตัวผม ต้องการมีส่วนในการวินิจฉัยโชคชะตาทางการเมือง เศรษฐกิจ และสังคมของชาติ
เมียผมก็ต้องการโอกาสต่าง ๆ เช่นเดียวกับผม และเราสองคนควรจะได้รับความรู้และวิธีการวางแผนครอบครัว
เมื่อแก่ ผมและเมียก็ควรได้ประโยชน์ตอบแทนจากการประกันสังคม ซึ่งผมได้จ่ายบำรุงตลอดมา
เมื่อจะตาย ก็ขออย่าให้ตายอย่างโง่ ๆ อย่างบ้า ๆ คือตายในสงครามที่คนอื่นก่อให้เกิดขึ้น ตายในสงครามกลางเมือง ตายเพราะอุบัติเหตุรถยนต์ ตายเพราะน้ำหรืออากาศเป็นพิษ หรือตายเพราะการเมืองเป็นพิษ
เมื่อตายแล้ว ยังมีทรัพย์สมบัติเหลืออยู่ เก็บไว้ให้เมียผมพอใจในชีวิตของเธอ ถ้าลูกยังเล็กอยู่ก็เก็บไว้ เลี้ยงให้โต แต่ลูกที่โตแล้วไม่ให้ นอกนั้นรัฐบาลควรเก็บไปหมด จะได้ใช้เป็นประโยชน์ในการบำรุงชีวิตของคนอื่น ๆ บ้าง
ศ.ดร.ป๋วย อึ้งภากรณ์
(พิมพ์เป็นภาษาไทยครั้งแรกในสังคมศาสตร์ปริทัศน์ ปีที่ 11 ฉบับที่ 10 ตุลาคม 2516)