Alliance for Self-Directed Education


Here I want to introduce you the Alliance for Self-Directed Education (ASDE), which is an organization dedicated to promoting Self-Directed Education. Its prominent founders include Peter Gray, a psychology professor, the author of the book Free to Learn and long time advocate of self-directed education and Sudbury Model. ASDE brought people and organizations that have long been actively engaged in self-directed education. For example, Grace Llewellyn, Pat Farenga, Agile Learning Center and so on. The major mission of ASDE is to put Self-Directed Education on the map. Over the years, we have seen various terms used to tell people about learning, terms like “informal learning”, “inquiry based learning”, “student centered learning”, “active learning”, “activity theory”, and so on. These terms are either twisted or phony. For example, “informal learning”? So the school classroom based learning is the formal learning? In my view, the so called “informal learning” is actually the formal learning. “Active learning”, “student centered learning” and “inquiry based learning” are just phony or even cheating if the learners cannot direct their own learning. Also all these other terms seem to imply that only children are the learners, while ASDE and Self-Directed Education clearly include both children and adults as the learners that they speak to. Learning is self-initiative. I am glad to see that ASDE is giving us the term “Self-Directed Education” to bring out the true face of learning.

Internet has changed our society fundamentally. But it hasn’t changed our education system very much. Over the past 20 years, I have seen related technology getting more and more mature, for example, web2.0, multi-media, mobile devices, and penetration of internet progressed greatly and people’s use of technology advanced. However, the long expected revolutionary change in the education world is still on the horizon. The reason? It has to do with things related to those twisted and phony terms I listed above. The popularity of those terms tells us how much work needs to be done to clear people’s misconception of learning/education. Thus the work of ASDE to put “Self-Directed Education” on the map is vital, and people here at Open Source Learning support this movement whole-heartedly.

Posted in Uncategorized | Leave a comment

Add Notes on Mobile Devices


Previously users are able to access the notebook platform ( via the browser on the mobile phone. We did some optimization for mobile access. Now we have new ways to allow you to add bookmark/scrap/snippet more easily from your mobile phone, and you can add note (snippet /bookmark/scrap) from various apps on your phone (for iOS).

Basically we have two ways: one is to use bookmark on your browser such as safari to add bookmark or scrap to the notebook; the other is to use pythonista scripts (if you have pythonista installed on your iphone).

Use your browser to add bookmark or scrap:

There is no bookmark menu bar on mobile safari as you have on desktop. But you can still add those javascript bookmarklets to the mobile safari, and there is some trick in order to do that.

  1. add a whatever site to your bookmark, for example, add to your mobile safari bookmark;
  2. go to your safari bookmarks, and click on “Edit”;
  3. edit that bookmark you just added, changing the url to the javascript bookmarklet:

    javascript:(function(){var a=window,b=document,c=encodeURIComponent,''+c(b.location)+'&title='+c(b.title),'bkmk_popup','left='+((a.screenX||a.screenLeft)+10)+',top='+((a.screenY||a.screenTop)+10)+',height=300px,width=500px,resizable=1,alwaysRaised=1');a.setTimeout(function(){d.focus()},300)})();

    Also it is better to change the name of the bookmark to something like “Add Bookmark”

Now you have a bookmark that you can use to add bookmark to your notebook when you encounter an interesting website when browsing on your mobile phone. (You can do the same on android.) To use it, open the website that you want to read on your mobile safari, then click on the bookmark icon at the bottom, and select the “Add Bookmark” bookmark. The rest is just the same as what you will have on the desktop. If you don’t understand above, maybe you can try reading this Quickly Add Bookmarklets to Safari Using a URL Trick

How to add scrap from your mobile phone? Pretty much the same as the above for bookmark. Just before you click on the bookmark icon at the bottom, you can select and copy the paragraph of the webpage that you want to add to your scraps on the notebook. Then after clicking on the “Add Scrap” bookmark, just paste the clipboard content into the desc area box.

Here is the adding scrap bookmarklet:

javascript:(function(){var a=window,b=document,c=encodeURIComponent;var txt = '';if (window.getSelection){txt=window.getSelection();}else if (document.getSelection){txt=document.getSelection();}else if (document.selection){txt=document.selection.createRange().text;}''+c(b.location)+'&title='+c(b.title)+'&desc='+c(txt),'bkmk_popup','left='+((a.screenX||a.screenLeft)+10)+',top='+((a.screenY||a.screenTop)+10)+',height=500px,width=600px,resizable=1,alwaysRaised=1');a.setTimeout(function(){d.focus()},300)})();

For the bookmarklets, you can also get them from the gists.

For android, it is pretty much the same. You can add these two bookmarklet to your browsers on android.

iOS Pythonista way:

If you have pythonista installed on your iphone (or ipad. But we haven’t tested on ipad yet.), you have even more powerful ways to add bookmark/scrap/snippet from various apps on your iphone using iOS’ “share extension” mechanism. About iOS’ “share extension”, briefly it is a mechanism for iOS app to share info/data among different apps, so you can share info from one app to other apps such as twitter, facebook, or wechat.

So how to do it?

First install Pythonista (I only tested with Pythonista 2.1.1 so far, but I think it should work with Pythonista 3 as well since Pythonista 3 allows you to choose Python 2 or 3) (One more thing, Pythonista is not free, but if you can program, it is a great tool!).

Then get the scripts from the gist.

Add the scripts to the share extension menu of your iphone. Just open an app such as safari, and click on the share icon. At the bottom of the share menu, you can see “Run Pythonista Script” icon, click it and add your script there.(Read up in the “The Pythonista App Extension” section from Pythonista documentation) You can customize the icon image and color for your script icon if you want. IOS’ sharing mechanism let different apps share different things. Safari shares a url, for example, which can be used by the and scripts to add bookmark or scap to your notebook account. Apple Notes share the text (pictures and videos as well) of the note, which can be used by the script to add snippet to your notebook account. (For simplicity, snippet is added as private and with vote 0, which we feel is more preferred when adding snippets from mobile phone. You can always change them when revewing and editing your notes on your desktop.)

One thing for your attention, however, is about account login for adding snippets (if you are adding bookmark/scrap from your browser–either through the bookmarklets or through Pythonista scripts, your browser will ask you for login just as on a desktop browser. If you have logged in before, then you won’t be asked to login again unless your session expires). These scripts uses keychain to store password securely on your iphone, so you only need to enter your account username and password once. Also you need to make a small modification to the code, changing the default username “leon” to your account username on the notebook platform. The reason is explained in the comments inside the script.

Here is the sharing screen after you click “Run Pythonista Script”. Also please be aware that the scripts work with any app that supports the standard iOS sharing extension, so you can easily add snippet /bookmark/scrap from various apps on your mobile phone/ipad. Especially if you like to make notes on your iphone with Apple Notes, you can easily sync your notes to your online notebook.


Posted in Documentation, New Features, User Manual | Leave a comment

Knowledge, 2B or 2C?


Recently I am doing an experiment on myself. I am experimenting to see how much of science I can learn online without going to any school or educational institution. I am not completely done with the experiment. But I think I can share some now, and it is good to wait and see if this experiment will succeed or fail.

In the past, in my work for alternative learning, I have always advocated the point of view that not everyone is to become a scientist. Actually most people are not going to be a scientist after they grow up, or involved in scientific work.

In China, where I grew up, certainly the school is set up to train future scientists. I remember when I was a kid, if you asked most kids what they wanted to become of after they grew up, most of the answers you would get is “scientist”. After all, it is an era that the country needed a lot of scientists and more importantly engineers as the country was opening up its economy and joining the global economy.

In US, I guess there was a change in the 60s that schools were more oriented towards training scientists and engineers during its competition with Russia. More emphasis was put on science and engineering. And people in US lamented the insufficiency of US education in these two areas. That lament is still here today.

However, even in China, most people don’t do scientific jobs. So it is bizarre that the whole education system is to train everyone to be a scientist.

As a previous Biomedical Engineering student, I have spent 7 years in that major of study, including getting a master degree from a US graduate school. That major of study includes quite diverse courses: many different subjects on chemistry, biology, life science, electronics, auto control, mechanics, material, computer hardware, instrument, information processing, software, and a lot of maths. Pretty anything you can think of that can be applied to human body is a field of study for us. So our study pretty much covers all engineering disciplines, except civil engineering.

However, I have forgotten almost all of what was taught in school. As a programmer, I don’t need any of these knowledge. So after more than 10 years of not using it, they are all gone. So why did I spend 7 years of my life and very hard working on them? Should they be forgotten so completely? Well, I still remember a lot of life science stuff since it is related to something in my everyday life: my health. So I have kept using it and reviewing it whenever I or people around me have any medical conditions.

I worked all these years as a software programmer. Most people view software programming as a science/engineering major. However, in my over 10 years of career as a programmer, I never used all those engineering knowledge I have learned during those 7 years. Instead over and over again, I have to practice and gain more insight into how to design things, how to tell good stories when writing software, how to understand nature of various fields, such as finance, media, translation, crowd sourcing, social network, ecommerce, O2O, learning/education, and so on. So really, what is software? Sorry for this little digression here. Let’s come back to our main topic.

Since childhood, I am not a person with a strong interest in science. My old brother is. He bought a lot of science books, and he is very interested in astronomy. I never bought a science book. I only bought liberal arts books. But I did read all the science books my old brother bought, after reading all my liberal arts books and his Chinese textbooks (my brother is many years older than me). My study of science subjects such as math and physics at school is however always quite good. I guess I was just able to take the pains to do it.

However, recently I started to have strong interest in science. Maybe it is because I feel I have studied enough of liberal arts. Liberal arts, after all, is what we have to face as a human being living in a human society. We have to think of how to live our lives and how to take responsibilities for our actions. (Schools don’t teach much of that, do they? I learned most of my liberal arts knowledge outside of school.) So I always feel a very urgent need for liberal arts study. But now I see science study as part of liberal arts study, and my life up to now has accumulated enough experiences for me to generate strong interest in diving deeper into science. It is sort of the next big thing for me to learn.

I also want to prove that even if you are interested in learning science, school is not the best place for that learning and you can learn much better outside of school than in school. After all, I have forgotten quite completely what I learned about science/engineering at school. If you don’t speak a language for 10 years, you will forget many words of it. Not to mention science/engineering.

While I was learning those subjects at school back then, I knew the way school taught it was never going to make it stay with people long after the course was over, because it was not connected to people’s everyday lives, and not connected to other subjects.

I feel knowledge, in a way, can be divided into 2C knowledge and 2B knowledge. For people unfamiliar with these two terms, 2C means to customer, so websites like amazon are 2C because it faces individual customers. The counter of the bank is 2C, since it deals with individual customer. Transaction among banks is 2B, and most individuals are not familiar with these 2B stuff unless you work in that field. If you have a startup, you need to think clearly if your business model is mainly 2B or 2C. It is quite different.

The school only teaches 2B knowledge. They don’t relate it to your everyday life experiences. And those 2B knowledge are segregated into different disciplines. So if you don’t work in a field, you forget what you have learned quite quickly.

However, knowledge is connected. By focusing on 2C knowledge, we have the hope of encountering that knowledge over and over again in our daily lives and have it connected to many other seemly different disciplines of knowledge. Thus it can always be a good foundation for us. We will never forget it. We will keep perfecting our understanding of it as we gain more experiences.

So this is my strategy for teaching myself science online: finding those 2C knowledge and focusing on it.

I have found a lot of such knowledge on mainly two platform: one is a lot of great documentaries (from BBC, National Geography, Discovery and so on), the other is Zhihu (Chinese version of quora).

I feel the documentaries of recent years seem to be of very high quality. Maybe it is because of latest technologies. It is great to see those 3D computer animations showing how a cell is fighting against invading virus. When we were studying Life Science, quite often you had to spend a lot of time trying to guess what an organelle looks like based on the text description. The colorful images in the textbook helps, to a degree. However, having these 3D computer animations is always what I dream of. It has become extremely easy to learn of biology and save me a lot of time trying to just guess what something looks like. There are also videos taken of plants over a period of days or weeks, to show you how the plants are also full of choices and active behaviors, just like the animals. A lot of wild life documentaries about creatures in the polar areas, in south pacifics and so on. A lot of concepts in modern physics are explained like stories with very beautiful computer 3D animations.

Documentaries are usually made to cover topics that people are generally very interested of in their daily lives. And things made into documentaries normally won’t be very difficult to understand. If you come across something that is beyond your mind, you can just skip it for the time.

Although Zhihu is kind of a copycat of quora, it differs in the Chinese setting in that a lot of experts are flocking on it spending hours and hours trying to just write an answer. I know quora attracted a lot of experts as well. But normally I don’t see very long answers on quora. On zhihu, however, there are people who tend to write very long and complete article to just answer one question. They try to write in a way that even average Joes can understand. In America, content is usually scattered across many different websites. So it usually takes a little bit of googling to pull all things together. But in China, since content is tightly controlled, it is hard to find good content. From time to time, people will concentrate on one site. So Zhihu currently has attracted a lot of such people. It saves me time definitely so I don’t have to do searching for a long time. And since they usually write an article to introduce the whole knowledge of the topic, with a lot of great pictures, it is very easy to pick up knowledge quickly. And as in quora, questions there are usually related to everyone’s daily life. So you can expect that topics like earth origins, geology, human origins, history of human civilizations, modern physics, astronomy, and etc. become the hot spots. Even subjects like math have a lot of 2C knowledge covered that is related to everyday life.

I feel all these topics become so popular mainly because traveling has become more and more popular in China. Even overseas traveling is not very uncommon. So as people travel, it opened their eyes to new horizons and their interests grow in many things. When I first went to US for my graduate school study in the year of 2000, I was a little surprised to see that Americans love documentaries so much and they liked watching Discovery Channel and National Geography. Now I think I can understand a lot more of that. Americans at that time were already traveling around the world. So they have a lot of interests in many things. For example, when you see human origin exhibition in the museum, you start to have interest in human origins and want to know more about it. Seeing different landscapes around the world makes you wanting to know the geology that shapes those different landscapes. I don’t think I need to give more examples. You Americans should be full of experiences in this. :) (Actually I feel this is the strength of American education, relatively speaking. And it is one reason why America is full of innovations. I don’t think Americans should be so worried about their science education.) So I am lucky that there is this flourish of knowledge on Chinese websites. Otherwise, I will have to rely on English sites for my science study.

So just by using documentaries and Zhihu, I am able to study endlessly online. All knowledge is connected together. I can jump from one field to another field constantly, and always feel a lot of fun. I don’t need to stop, since I find it takes really little time assimilating vast amount of knowledge in different fields.

Other tools I used along with Documentaries and Zhihu, are wikipedia, and google map/earth.

Since this is about science study, I will not talk about my study of liberal arts fields such as history, architecture, and so on, although these liberal arts fields actually interconnect with science fields quite a lot. For example, when studying human origin, you need knowledge of gene and DNA. When studying earth origin, you need knowledge of chemistry.

For the study of Life Science or Biology, although I haven’t finished my study, I have confidence that my knowledge in this field can finally be solid and connected to many everyday things. I always prided myself for having the background of Life Science study. I felt it helped me gaining quite deeper understanding in many things. However, the recent study online let me feel that pride or advantage may go away very quickly.

For modern physics, I feel it is not quite difficult to study those 2C knowledge, and you can probably get into a deep level. The challenge is to deduce it in math.

I am still on my way of science learning. However, I want to state a few things here. We can see if they can be proved.

1. 2C knowledge is vast enough to cover 2B knowledge in different disciplines. In US, there are websites that focus on life long learning, or as some people call it, hobbies. For example, the now defunct The failure for sites like is often attributed to that its content is not mainstream learning and thus cannot compete with mainstream school learning. However, I feel it is only because it is not done right. 2C knowledge is very vast like oceans. For an analogy, 2B knowledge is kind of like the Hawaii islands that stick above the water. What is underneath it is water flowing all round connecting those islands. 2C knowledge is the mainstream! But people at TeachStreet probably didn’t realize this themselves.

2. Knowledge is unlimited, how to filter it in your life is the key to learning. If you want to study any field of knowledge, it might take your whole life. However, 2C knowledge serves as a kind of filter to absorb that great body of knowledge. One of my friends likes to talk about filtering a lot when he talks about how to deal with vast amount of information. You have to pick what makes sense to you now, what interests you, and what can quickly improve your understanding of things around you to a greater degree. People travel around to see the world, to get in touch with the world, and that generates interests in various things. So your real life is a sort of filter mechanism for you to effectively absorb knowledge. Knowledge is organic (just like synapses in your nervous system that form a network, the important thing is the connections among them), and thus it has to be learned in organic ways. Pushing knowledge down the throat is never going to be effective. Also you don’t have to push yourself hard by reading books endlessly. A lot of books are not that good, and book reading is quite time consuming. When you get exposed to something and suddenly have some understanding, you can start learning that. When you find a great resource of knowledge, you can spend a big block of time focusing on it. Otherwise, just take it easy. To learn organically means learning should never be separate from your real life or from playing. Your real life and playing are how you establish personal connections with knowledge, and they serve as very important mechanism for filtering knowledge, just like how travelling does it for you.

3. In the future, if schools still exist, I think it will base its teaching on the 2C knowledge. Modern schools, with its 150 years of history, have been designed to strip away 2C knowledge from people and put knowledge into segregated 2B knowledge majors. The purpose is to deprive people from gaining social capacity and become workers working along the assembly line becoming part of the machine. However, that time has been long gone.

4. Mastery performance in science comes from the foundation in the 2C knowledge. When we look at those great physicists in history, most of them are very versed in a large variety of subjects. I remember when reading Albert Einstein’s biographical book in college, I found that when he was young he was frequently meeting with a group of people discussing a wide range of topics such as geology, mechanics and so on. His work at a Swiss Patent Office probably allowed him exposed to a vast variety of subjects and innovations. So I guess that is why he is able to come up with the theory of relativity, and is able to say that “Imagination is more important than knowledge!” To my understanding, it is because of the free flow and combination of 2C knowledge that gives him the great imagination. I feel after we restore 2C knowledge for the learning, we will again generate many great scientists like Einstein. Einstein himself said that he was almost killed by schooling. Maybe we have already killed many Einsteins by modern schooling.

5. The revolutionary change that internet will bring to learning/education will be the flourishing 2C knowledge and better filtering mechanism for assimilating knowledge. The Internet, which connects everything, essentially give the mass the tool to express their interests and their concerns. That is why you see the 2C knowledge sprouting up here and there on the Internet, enriching people’s life again. We shall see more and more of the 2C knowledge produced and good mechanism coming up helping people finding knowledge that relate to them now. I feel it is in these roles that online learning should be focusing on.

This Presidential election in US has generated a lot of turmoil in US and around the globe. However, I see it only as a crisis that has been going on for at least over a decade. The crisis is just getting bigger and bigger. When you have a far outdated education system that was produced 150 years ago in the industrial time, and have a far more complicated and advanced modern society, surely you will have a crisis since the people coming out of that education system can not deal with the kind of responsibility and knowledge that is required by the modern society. Although US has a lot of independent thinkers, population wise it is still of a very small percentage. When I saw that over 70% of people voted for going to war with Iraq, I knew that even in America independent thinkers were only a small percentage.

Early this year, I did a traveling across US. I saw some old good friends. At one friend’s place, I found him reading Thomas Paine’s “The Rights of Man”. I read part of the book while there. It was such a great experience. The book speaks to everything happening in America today. I realized that what America needs now is another era of enlightenment. In my understanding, Common Sense, as Thomas Paine called out aloud to American people then, is the 2C knowledge!

So in this new year of 2017, I wish you learn more of 2C knowledge this year! :D

Happy New Year!

Posted in Scientific Study | 1 Comment

Experience Sudbury


I had the great fortune to visit for two days the Sudbury Valley School in Framingham, MA. I have known them for years, and I have read of them through their published books, articles, and videos. I also know similar schools such as Summerhill. But to be actually there to experience it is an experience I always look forward to. On our first day of arrival, the school principle and the founder, Dan Greenberg told me to take the precious opportunity to experience sudbury fully. So I was determined to put down all my previous knowledge of sudbury and jut experience it while I was there.

This sudbury vallley school is the very first sudbury school. It was founded in 1968. Now there are around 50 sudbury schools across the country and around the world. This first sudbury school is quite big. There are two major houses and a vast grass field between the two houses. The pond behind the main building is that famous pond that I have read so much about in sudbury publications.


The main house has two floors with more than 10 rooms. The office is upstairs. There is a room for little kids around 3 to 6 or 7 years old. There are a lot of books of these age groups and various kinds of toys. There are also ipads. I can often see kids reading books in this room. And quite often, two or three kids read one book together. There is also an art room, which is equipped with painting brushes, boards and pottery making tools. There are also a lot of books on arts in this room. I took a glimpse of the books and felt it had a wide coverage of various topics on arts, such as painting, drawing, photography, books on Greek arts, Roman arts, Japanese arts, and so on.

There is a room used as kitchen. I read in the sudbury book “Free at last” that they had a very good cook teaching there and they had been making all kinds of stuff. However, that teacher is not there anymore. So there aren’t as many activities as it used to have. But while we were there, I still saw a couple of times that the kitchen was “in session”. When the kitchen is in session, both doors to the kitchen will have signs hanging up saying “Cooking in session”. So unrelated people are not allowed to enter the kitchen during the cooking session.

In sudbury, there is a list of names beside every equipment. On the list is names of people authorized to use the equipment, including staff members. The longest list I saw is the one beside the printer. I guess everyone is on that list except the very youngest students.

There are a few rooms used as computer rooms. There is also a discussion room. People who want to discuss various topics can come to this room. I stayed in this room for a few hours to listen to their discussions. There were all kinds of topics. Some more serious. For example, people were engaged in topics related to the US presidential election, such as the source of funding. There were other “smaller” topics such as varieties of coffee or cheeses. The conversation is quite casual. There is no formal format of discussion. It is pretty much driven by people’s interest.

There are also several quiet rooms. People who want to stay quiet can come to these rooms. I think students who are preparing SAT exams probably will study there.

I noticed one thing about sudbury is that every room has a lot of books. There are bookshelves against every wall, and they are filled with all kinds of books. Books are labeled with topics, such as culture, politics, philosophy, arts and so on. I took a quick glimpse of books in each room. There are really quite a wide range of topics, and I can tell some books are really good. There are also a lot of books that I have never seen before. But at the least that I didn’t find books that no one wants to read. I have a feeling that the books in sudbury are quite selected and of high quality. I was thinking then that if I can stay for a few months in sudbury, just reading the books there would be quite fulfilling for me. What is a little disappointed for me is that I didn’t spot many students reading books there during my two days of visit, not as many as I have expected. I did see the very young kids reading a lot. I also saw a girl about 10 years old holding a big Harry Potter book reading very quietly for a long time.

Besides the main house is the basketball playground. There are kids playing basketball there throughout the day. Bigger kids and younger ones are playing together there.


The other house across the whole grass field is the activity room (I forgot the name they call it). From my vague memory, I remember sudbury school teacher told me that it is often used for performance. Sometimes dancing parties are here too. There is a special room for computer games. Also a music room fully equipped with music instruments that are enough to form a rock and roll band. The room is made soundproof. A side wall has a big glass window so people in the other room can watch the play, just like those broadcast rooms in the radio stations. I watched a few improvised plays from students. Personally I felt they played really well.

In sudbury, there are two sign in and sign out sheets. One is for all people including the staff. Everyone has to sign in when they get to the school, and sign out when they leave. I asked a sudbury school teacher. She said this form is to meet the requirement of MA that every school age kid has to be guaranteed on average 5 hours a day’s learning. The other sheet is for children over 13 years old. It is for them to leave the campus to engage in various activities in society. Sudbury doesn’t want to confine these kids to campus. They should have the freedom to leave the school to learn whatever they want to learn. However, it doesn’t mean children older than 13 years older can get this permission automatically. They still need to apply and get certified for going off campus, although they don’t need to apply every time. If older than 13 and certified, they can sign out when leaving the school, and write down a phone number at which they can be reached, and they need to make sure that they have school contact number with them. I remember in the book “Free at Last”, sudbury school teachers will help students find apprenticeship opportunities in society. Children old enough shouldn’t be confined to campus, which would be bad for their learning.

Overall, sudbury gives me a feeling that this is a place that kids can explore their lives. There are books for reading. They can try painting, making pottery, playing musics or sports, cooking, and so on. Or they can just do nothing and be with themselves, contemplating on things. They can talk with students of different ages, or with the teachers. Or they can go off campus to try other learning opportunities. The role of the teachers here is to help students doing their own explorations.

There are judiciary committee meetings once a day and school meetings once a week. Judiciary meetings start at 11am every morning. They go about 1 hour. The judiciary committee processes the complains raised by students and staff. There are bigger matters among the complains. For example, while we were there, there was this complain about the wood chips on the floor of the music room around the drums. No one seems to be cleaning it up. So the judiciary committee first sent a representative to go check the music room to verify the fact and seriousness of it. And the committee also brought over the students using the music room for questioning. Since this is a bit bigger matter, investigation report was written up for the school meeting. Smaller matters in the complains are often things like forgetting to sign out or sign in, forgetting duties assigned such as throwing out trashes, quarrels among students, and so on. We know it is very common for the children to have quarrels, especially among boys. During the judiciary committee meeting, it is quite difficult for young kids to elaborate clearly what actually happened. For example, a boy about 5 or 6 years old said he forgot it when committee asked him about a matter he had complained. The committee had to ask if there were others present at the time and ask them to come over to tell what actually happened.

While I was sitting there, watching the committee working, I was thinking of many things. I have read of the judiciary committee a long time ago, and I know it is the core of sudbury. I understand its importance. But while you were there, many questions still came up. Is it worth the time for the committee members to spend so much time processing these “trivial” matters? Is the judiciary committee just a mimic of the adult world for the children to “learn” things? Is it just a make believe game? How will these matters being handled in other schools? One or two adults will draw a conclusion after asking a couple of questions? In my own childhood, how would I want these to be handled?

Maybe these things are just small matters in the eyes of adults. But to the kids, they are big matters. The judiciary committee of sudbury schools, if we call it an experiment, at least this experiment has proven that kids are capable of resolving their matters by themselves. And the process of resolving these matters IS the process of learning. These are real. They are not artificial. The judiciary committee is a real functioning structure in the children’s world, and it is nothing to be taken lightly. If other schools cannot adopt other components of Sudbury Model, at least I feel the judiciary committee should be adopted. In my opinion, this alone is a major contribution that this sudbury school has made to our world, if not to mention other things.

Within two days, I attended two judiciary committee meetings and observed around 6 or 7 complains being processed. I witnessed the display of critical thinking and articulate expression from the children. For every step, they will ask people all present (sudbury meetings are open to all who are interested) if they have different opinions or more thoughts that they wish to express before the committee move on to the next step. When the students (especially those very young ones) expressed in very vague terms or in speculating terms they were always asked that they should try to speak in more clear terms and state more facts and evidences instead of just speculation. If the judiciary committee has unanimously reached resolution that a certain school rule has been broken in the case, the defendant will be asked if s/he agree that s/he has broken that rule and sign the sheet if no objection. Then the next step is to decide on punishment. Normally warnings were given first. If a couple of warnings have been given before, a concrete punishment is pursued. Mostly that is a fine of a few bucks (3 or 5 dollars from my memory). But if the student thinks that his or her family is not that economically sound, s/he can opt for some kind of errands such as throwing out trashes. Watching these, I feel students from other so called regular schools, whether they preform well or bad in those schools, are all some kind of freaks compared to students in sudbury. They are not healthy and have all sorts of problems. Although it is judiciary committee meeting and it is about handling various complains, I feel a sense of peace and life there.

Many people have realized that school is more about managing students than teaching/learning. OK, let’s talk from the perspective of management. I think sudbury has demonstrated another type of management, one that treats people as human beings instead of reducing them to machines. And this kind of management is not even costly. It relies mostly on the self-management from the students. This kind of management is not mechanical and violent. It is cultivating peace within people’s hearts. It is the same thing as what Gandhi did in the villages of India around 100 years ago that build peace within people. This management shouldn’t be very hard to reproduce since it brings us closer to the very qualities that make us human being instead of alienate us from those qualities as other schools do. Learning this type of management is learning of ourselves. BTW, sudbury has a starter kit to help you get started if you are interested in starting a sudbury school. The starter kit includes a school handbook which contains school rules that is base of the judiciary committee meetings.

Ever since I heard of sudbury valley school for the first time, I have liked sudbury very much. I feel very close to it. But I might be a little leaning towards the unschooling side of it. Staying in sudbury for 2 days made me realize that sudbury school is the real school and sudbury school teachers are the real teachers. In other schools, people sign up to become teachers. However, they lack that kind of patience that requires of them to become teachers. Sudbury school teachers are doing what teachers should be doing, and they have the patience. Sudbury is not just for now, it is also for the future. This visit makes me more determined that I should build a school or a learning center. (If you are interested in building one together, please contact me.)

In sudbury, students vote for the staff members. The result of voting will be displayed publicly. While we were there, we saw the result of voting from the previous school meeting. It is interesting to see how students have voted for the staff. Now I can understand why Dan Greenberg said in his talk that he was always a little nervous when the voting time comes. :) (Staff members who cannot pass students vote will have to leave.) We came at the day of school meeting so we were fortunate to witness it. The school meeting is quite open and transparent. The one we attended was hosted by a senior student. There was a meeting schedule printed before the meeting, and everyone attending the meeting was handed one copy. And the schedule is also publicly displayed on school’s bulletin board. The meeting we attended has a review of school budget. So the school budget is also posted. If there are any concerns regarding school rules in the school handbook, they should be discussed in the school meeting. The school meeting is the only authority for making school laws.

Two days is not enough. I still have one remaining question not fully answered: whether students in sudbury are learning with their full capacities? Whether they are learning in their best and fastest means? This was a question I was always asking myself when in sudbury. I think this question was partially answered since I could see that students there are learning and are growing healthily. But are they fully driven for learning? Did they waste time? I cannot fully answer that question. I know problems in other schools. From very early on of my schooling, I knew school is a waste of time. But at the least, schools have one advantage: whether intentional or unintentional, mass schooling forms a national competition platform based on tests and scores. It is a highly competitive contest, in which students can find reference points and compare with their peers. The contest provides a feedback mechanism and students learn how to manage their time in such competitions and it is also a way one gets to knows about oneself. However, we can also see that such a competition is very one dimensional, it limits people and wastes people’s lives, it probably does a lot more harms than goods.

I think sudbury is not against competition, although sudbury doesn’t want to give students any external rewards so students don’t evaluate themselves according to other people’s criteria. If my memory is right, I remember Dan Greenberg seemed to have talked before that the kind of competition in sudbury is the kind in real life, which are not like those standard test competition but more cooperative, just like in sports. Sudbury wants real challenges of life instead of artificial ones that try to mimic the real world. But I guess it is not easy to create such real competitions. One thing for sudbury is that I wish there are more students. There are less than 50 or 60 students in the school that I visited (Update: 50 or 60 students are the number of students that I saw on campus during my visit. Now I think there are probably a lot more students in that school and many senior students might be off campus participating in various learning activities since I didn’t see many senior students on campus while I was there. According to Peter Gray’s book Free to Learn, for the recent years, this very first sudbury school has around 130-180 students. 130-180 students, to me, is not a small number. I remember my school when I was little was around that number, and personally I felt that there were many things going on at school. At schools of my time in China, kids of different ages were playing together. Nowadays, schools in China have a lot more students. However, kids of different ages don’t play together anymore–they don’t even play much with their own classmates compared with students at my time. So even you see a lot of students, you feel lonely, and not really a rich learning place.). If there are more students, there will be more diversity and richness of activities for students to play with. I feel when Sudbury Model becomes the mainstream and there are a lot of sudbury schools around, students will be more involved in all kinds of real life activities and competitions.

If you don’t know much of sudbury, it is a school with no classrooms, no homework and no exams. If students are interested in certain subjects, they can request the teachers to arrange a class. The length of the class is also dependent on students’ interest. So the class is quite dynamic in nature. However, I didn’t see any classes going on during my visit this time. I asked one sudbury school teacher. She said there aren’t that many classes as before because nowadays students mostly are able to find info or tutorials online that can meet their needs. So there is much less need for giving classes. It seems to me that sudbury naturally adapted to the new internet time because it always starts from students’ needs.

We also visited another school during our trip. It was completely a sudbury school 10 years ago, according to the school master. But gradually they added other elements to it. So here they start to have regular classes now so students can be on either sudbury track or regular classes track. The classes, however, are still based on students’ interests. So at the beginning of the semester, the staff will have a survey of the students, getting to know what they want to learn. Then the staff will design the classes for the semester accordingly. I just happened to witness a debate class on my day of visit. Even students on the regular classes track can choose to enter a “time off” period (I forgot how they call it.) so they don’t need to take class during that period. The school master told me that they had to change mainly because of requests from the students. Because the students felt the pressure when they saw other kids around them are going to schools with standard classes and with homework and exams. So they worried if they were wasting their time in the sudbury school, and thus requested the school to offer classes. I saw a lot of classes going on throughout the day in this school. I feel glad that these classes are based on survey of student interests and designed accordingly. This mixed model seems to be more comprehensive and more flexible. However, I feel I agree with Dan Greenberg, the founder of the Sudbury Model, that any artificial environment cannot really mimic the real environment. It is still better to learn in real life and engage in real activities. The challenge, however, is how to make children more in touch with real life in a safe way.

If I want to build a school or learning center, I feel I want to add three things to the Sudbury Model. I am not sure these three things are really necessary. But I want to share them here so we can have a discussion.

First, I want to add more guidelines on how the youth grow. Sudbury is against classes by ages, and against curriculum. But I feel we still can offer some constructive advises to students to give them somehow a guideline or scaffolding to start with. For example, I have talked before the three stages of growth for people. In the past, we lack open discussion in this field. And a lot of so called scientific researches were hijacked to serve the purpose of mass production. But in this modern society, I feel we can discuss these things more openly. What areas do people need to grow themselves? These discussions are only suggestions to the young people, without any compulsory means. It is just like young people can understand life by reading sociology books or novels, these books are also just for reference if they are well written. So I hope there are more of open discussions in this area so young people can have more sense of directions and scaffolding to start with. They can correct themselves as they gain more practical experiences.

Secondly, I want to add more social opportunities to schools, making schools merging with society better. For example, we can find better apprenticeship opportunities via the help of Internet or have better field trip opportunities. For example, we can have a website, where professionals of all walks can post their available times, say a Friday afternoon. During such times, people can tour their offices, ask them questions, or observe how professionals work. Frankly, sudbury has always put a lot of emphasis on this, and teachers there went out of their ways to help students find apprenticeship opportunities in society. I hope with the development of internet, we can enrich more the social aspect of Sudbury Model.


Thirdly, I want to add self-reflection and meditation. The purpose of school or learning center should be helping students understanding themselves. Self-reflection and meditation practices can be very instrumental in this regard. In US, there are already a lot of schools that use meditation to help students learn more effectively in classes. I read in local newspaper of New York City that local schools actually have meditations several times throughout the day. I met with a friend in NYC who told me that his child is in a school in Brooklyn, where they have a program funded by David Lynch that have students meditate three times a day, in the morning, at noon and in the afternoon. I remember a couple of years ago I have read that some universities have meditation classes to help students focus and there are research papers on how meditation helps students learn more effectively. Meditation is an ancient practice that is shared by ancient yoga practices, Zen, Judaism, Christianity and so on. We only need to extract elements out of it, as a way of self exploration.

My recent two years of work experiences make me more firmly believe that modern schooling was created to serve the mass production of the industrial age. I recently worked on projects of Internet of Things, so I had chances to be exposed to hardware production, which is totally different from software. Hardware is about manufacturing. It is very limited by the physical world, such as by the factories. When you design the hardware production workflow, you have to make it extremely dummy so it is just pressing 1 or 2 keys on the assembly line. If you make it a little more complex, you increase the error rate, which translates into reduced profit margin directly. So you can imagine that in the highly competitive mass production time what kind of workers they want. Any healthy and complete man wants to just press those two keys throughout the day? So to serve the mass production, they have to make people willing to work along the assembly line to become part of the machine. The workers should not have a lot of thoughts and ideas, and they should not feel that they have other alternatives of lives. How do you achieve that? Mass schooling is the answer. Modern schools mimic factories. Even for knowledge based workers, they are only operating within environment of confined parameters. So in the industrial age, all theories, whether for management or education, are to serve the assembly lines.

Recently I had a chance to participate in a voluntary work at a dam. Hundreds of people lined up to pass baskets of dirt, dump the dirt and pass back the baskets. It is like an assembly line. So I had the experience of how it is like working on an assembly line. If any part of the line slows down, the whole assembly line slows down. So I can imagine what the kind of management based on the assembly line should be like. If I had a chance to work in the factory, I should feel more deeply of the assembly line. Our work at the dam is voluntary and temporary. But try to imagine massive production like this, imagine the assembly line production as the major way of production under a competitive market. How will it impact our human society? Education, of course has to serve these massive assembly lines.

I lived in the Pearl River Delta for the past few years, which brought me to a close contact with the manufacturing culture. Pearl River Delta is the biggest manufacturing center in China and in the world. The company culture here is dramatically different from companies that I have worked for in the past. It is a lot more about hardworking and disciplines. The creative culture in the internet companies is very foreign here. But even in this region, many factories are moving away to other regions of China or Vietnam. And the companies here are trying to transform themselves into internet companies. However, the culture is so different and it is very hard to make them understand why internet companies have such different values. Internet and software companies are constantly exploring new fields and creating new things. Thus internet and software companies value people more. The structure and culture of these companies are to attract the creative minds and build environment that these creative minds can grow and work the best. I think the book “How Google works” illustrate this quite well. It is a new age. It is very different from manufacturing culture.

These are in China. In US, the economy has moved from manufacturing to creative for many years. However, the education system is still the one what was created 2 centuries ago to serve the manufacturing assembly lines. Thus a lot of people are not able to participate in this creative economy and benefit from it, while the creative economy also cannot find enough capable hires. So on the one hand, you have a great mass of gloomy people who are economically distressed and feel left out. On the other hand, the creative economy cannot really take off and many people are making money from speculation instead of really building things. Also many people cannot cope with an increasingly more open and sophisticated society that actually offer a lot more choices. So 10 years ago, I already said that the root of all these is the education system, which greatly lags behind out modern economy. The crisis is only getting much worse now. Looking around the world, I can see that bigot and irrational have become the norm. Our economy is becoming a lot more powerful and more creative. Our society is becoming increasingly sophisticated. However, our education system still stays in the industrial age. Our modern time calls for more people who are able to think independently and command multiple disciplines of knowledge. We need to return to the age of rationals, the age of common sense. We have to be able to shed the traumatic impact that mass schooling has had on our society. If we are not able to do that sooner, we will only be in more dangerous crisis.

The kind of jobs that you are preparing yourself or your children for at schools today will be replaced by robots when you or your children graduate. Foxconn, the company that makes iphones for Apple, already uses a lot of robots on its assembly lines. With the great advance of AI today, we have to ask what kind of work is for us human being in the future.


We need great innovation in education/learning! We have to be able to imagine the new world. There are a lot of problems today. People see these problems, but they don’t see actually it is a very bright future waiting for us. If you are able to see through these problems and use your imagination, you know we can solve all these problems together. The key to that is a revolutionary change in our education system!

P.S. I recounted here in some details of what I saw in sudbury. This is to help many people who are not familiar with sudbury schools to get an idea what sudbury schools are like. However, my observation may not be correct and certainly my memory can become vague. If you get interested in sudbury and want to know more about sudbury, you can go to sudbury’s official website. There are a lot of resources there (books, audios, videos and articles) that will tell you a lot more about sudbury and the resources there should tell you about sudbury more accurately. So please take the content here only as some kind of unofficial introduction to sudbury schools.

Posted in Scientific Study | 2 Comments

Recent efforts

Here are our recent efforts, you are welcome to be part of this open process towards future learning, which we think should be self-learning for everyone! In a way, the current discussions there help summarize what we have learned in Open Source Learning. And we believe it will soon turn into concrete implementation, which will be open source as well.

Posted in Development | Leave a comment

Why people don’t work hard with good social welfare

People often say that countries with good social welfare lose the drive for economy because people don’t have incentive to work hard anymore. The inherent assumption is people are naturally lazy so they don’t work if they don’t have to.

However, I always think good social welfare is probably not the cause. The cause might be the outdated education system. Because if you look at the kids, they work their asses off trying to be good at something although they are in very good social welfare–their parents take care of them. However, the education system, which is designed for the industrial age to serve mass production, take children’s curiosity away, together with their ability to learn. You need that for mass production because you need a lot of people to work on the assembly line to be part of the machine.

But times have already changed. We are already deep in an information age. And a lot of developed countries already have the luxury to provide good social welfare for its people. But their education system are still locked in the industrial age. They need a new kind of education, which lifts the scaffold that the current education system puts on people.

The current education system is like ancient Chinese footbinding bandages. It should be thrown away a long time ago. Let children learn and grow themselves. Keep their curiosity alive. Keep learning continuously. So I am sure they will continue to work hard even in a high social welfare country. Just like they have played so hard when in childhood.

I kind of think the great innovation in software in north European countries have a lot to do with the fact that people there enjoy lives better and have less pressure to make a living.

Posted in Uncategorized | Leave a comment

New Generation of Textbooks

Recently I wanted to review the “knowledge” I have “learned” at schools. There is a lot of that kind of “knowledge” that was “learned” but never practiced. I am thinking that I need to review my old textbooks and notes. However, I don’t have them with me now. So I think I probably can just look them up online. They might be scattered here and there online. But I think that should be fine for me. I don’t have to learn them all at once. Also I only hope to gain a better overall understanding of what kind of things I have learned in the past. I have no intention to go very deep into any field without any hands-on project to practice with. So learning can be fragmented and layered. Fragmented is ok as long as you can achieve a layered understanding in a period of time.

And I feel the materials and my understanding gained along the process might just be a good collection of learning materials for others. So everyone can review their past “dormant” knowledge from time to time instead of having them locked in deep memory. Also this way can also be used to write new kind of textbook online. Nowadays the textbook has been extremely outdated with latest industry knowledge. For example, in the software field, the knowledge is updated so quickly that it is very hard for traditional textbooks to keep up. We need digitized knowledge and digitized process of knowledge production.

If we are able to digitize the kind of “knowledge model” that everyone is continuously constructing in their minds and testing against others’, the best quality of those models might be used as “textbooks”, and I can see this field in more fluidity and not as divided as it is now. For example, industry professionals can be knowledge producers as well, instead of waiting for those specialized professors to translate knowledge into textbook with very long production cycle.

Posted in Experimentation | Leave a comment

From Agile to Life Centers (Draft)

Dijkstra said in the 70s that the irreversible damage is done once we have named this subject “Computer Science”.

“…the topic became —primarily in the USA— prematurely known as “computer science” —which,actually is like referring to surgery as “knife science”— and it was firmly implanted in people’s minds that computing science is about machines and their peripheral equipment, which is not true””–from Wikipedia.

Now we see the damage.

Those of us who work in the software industry know that there is a huge divide between tech and product people.

There is a general distrust of engineers:
1. engineers cannot manage, not even manage themselves. So they need to be managed
2. engineers don’t care about products and don’t know about design

Both of these are not true. My experiences told me otherwise. Engineers dislike management, mostly because management doesn’t understand software and so the management is a lot of obstacles to software engineers. Since software engineers don’t see the hope of changing the situation, they would rather stay in their corner and be happy to just focus on engineering. I know this is true for a lot of software engineers.

As for caring about product, software engineers care about product and design greatly if you give them the chance. When I was working as CTO for a company, I had a design session that goes along with weekly meetings. The software team members take turns to share with others what they see as a good design or a bad design in their daily lives, and why it is good or bad. So engineers discussed toilet, road/subway signs, light switches, power sockets, organization structure, and so on. I take the opportunity to introduce to them various related design topics when we are discussing design of one thing. And engineers get very excited about design of various things, including organization management, social policies, and so on. Who said they don’t care about product? Who said they don’t know about design?

The engineers in the above example is from a conventional company that is going online. They have shown disinterest in company product and management, and are believed by the company management as cannot be trusted on responsibilities (sounds familiar?). They didn’t care because the management didn’t want them to care and didn’t give them the time to care. For a change, I let engineers take Friday afternoon off to just focus on product. I don’t assign any engineering tasks to them for that half day. And they just use the time to play with company product. And with inner source environment I built up, engineers can initiate projects that they deem important for company product. And we have important projects sprung up because of that. For example, an IM product/software for our eCommerce platform.

If you give them the chance, they will care, because that is what software programming is about.

These two assumptions are not true probably for all engineers. But particularly, it is not true for software engineers at all because of the uniqueness of software.

However, for the general public, people assume the above two misconceptions about software engineers, due to the misnaming of this subject—Computer Science, and more in depth due to the fact that software is complex and invisible. (You can only see it if you do hands-on practices. Very much like society or sociology is invisible, and you have to “see” it with your hands-on practices.)

“We have everything ready, we just need a programmer!” is the typical expression that reflects the common mass’ perception of software engineers.

When there is a divide, usually it is because it is difficult to possess both qualities. Since we called this subject “Computer Science”, it is believed to be a purely engineering major. So then there should be people who study liberal arts majors to manage these software engineers, because typically we believe engineers are narrow minded, not able to communicate well, and don’t care about management and product. And we know our schools taught these two groups of people like they are totally different, and there are generally no much coverage of liberal arts for engineering students.

Thus we have product people and engineering people in every company. And very often they fight each other. Surely a lot of decisions have to be made on the whole since product is one whole piece and is not separated by product vs engineering. So very often we see the boss or one of the founders sit on top to make the important decisions, even though s/he is not capable of making those decisions. It is assumed that it is easy to understand what is in software. And there is no understanding that great skills and years of experiences are needed to plan product and software together and it is very strategical for a company whether it can plan the software/product well.

“Dijkstra was the first to make the claim that programming is so inherently complex that, in order to manage it successfully, programmers need to harness every trick and abstraction possible. ”–from Wikipedia.

Complexity of software demands ability in both liberal arts and engineering. Society is complex and invisible, thus you need to do a lot of hands-on social practice and do very extensive reading to help you “see” things and understand human society. Similarly, as software is essentially a digitization and innovation of human society, it is also complex and invisible. You needs hands-on practices, e.g. coding to “see” things and understand it. Since it is about digitization and innovation of human society, you also needs a very strong liberal arts background. Not the kind of liberal arts education you get from college, but more street-smart liberal arts capacities achieved only by a lot of social practice and a lot of extensive reading. For a small example, knowing of the human history helps you innovate better.

So maybe now it is easy to understand why such a divide between product people and engineering people. We can say that is because product people are not really product people, they don’t possess the true liberal arts capacities, and cannot think logically. They are just chatty. And our engineers are not true engineers because they focus so narrowly only on the engineering aspect of the software programming, and cannot grasp the vast realities and possibilities outside of engineering domain. Or we can say we just need people who educated themselves in liberal arts and have a lot of hands-on experiences with coding. Since software programming is so big and encompassing so many things, it is challenging for an individual to learn all these things and be good at all of them. But it is reasonable to expect a general good grasp of both and be a little leaned towards one side or the other from time to time, with the ultimate goal of achieving the level of greatness in both regards.

And that is possible. We have seen great examples of people who have achieved that greatness, and we believe it is a path that everyone can try.

I believe Jeff Bezos, Larry Page, Steve Jobs, Bill Gates, Mark Zuckerberg, Linus Torvalds, Guido Van Rossum (for Chinese ones: Huateng Ma, Xiaolong Zhang, Lei Ding, Bo Yang from Douban…) are these good examples. And we also see many other smart creatives as touted by Eric Schmidt’s book “How google works”. I believe all great software companies understand this and know how to build up organization accordingly to tap into potentials of software engineers, such as google, amazon. And those who don’t, disappear after a while even if they can have a short period of success.

We have to bridge the divide. Without bridging the divide, there is no real solution for the industry. We have to point out a path and show the examples.

Without detailed elaboration, just let me briefly outline my understanding of this path:

  • emphasize caring of product, emphasize responsibility for full life cycle of the software like amazon has practiced (Douban as an example as well). Give developers dedicated time to care about company products. Give them rights to initiate products on their own (like Douban has practiced, and inner source environment can legitimize, empower and reward such behaviors.);
  • emphasize on programming as the core. Like the core curricular in college, programming should be the core skills you have to learn no matter you are developers, QAs, devops, product managers, and so on. In the words of facebook director of engineers, if you are doing any software related job, your best way to prepare yourself for that job is to learn how to program. Build up an inner source environment with rich projects of various scales and difficult levels that people can pick best projects that suit their current capabilities. People including non-engineers can be free to contribute to any inner source projects and learn various programming skills. Remove the artificial barrier that blocks communication between developers, QAs, devops and product managers;
  • emphasize on design skills training. Such as the design sessions that I practiced in my previous companies. Such design skills are inherently connected to architecture and management skills. In a sense, it is a more advanced level of coding;
  • give people ownership in those independent projects of various scales. That is how people learn of programming, design and management. They need to feel the whole and develop the sense of it. The wholeness is essential to programming and here I use the word programming as something that is very broad.

So we do have a path that can connect liberal arts with science/engineering and making them mutually benefiting each other. You don’t have to struggle between whether you should go product direction or engineering direction. You just try to be good at both, and make the two Ying and Yang of one whole body. They are parts of the whole thing of digitizing the world and making the world a better place with great and kind innovations, thus truly making software programming the greatest ever invention of human history, an invention that empowers us to break the long time barriers to equality and happiness of mankind.

One great person who has been trying hard to bridge liberal arts and science is Christopher Alexander, whose design pattern theories in the 60s, 70s have greatly influenced software community, and directly brought up the design pattern, OOP, extreme programming, and agile programming movements. However, during a speech of Christopher Alexander, when asked to comment on his influence on software community, he said that in his observation, software community has only scratched the surface of his theory, quote “Software Programming’s use of patterns have so far just been a neat format that is a good way of exchanging ideas about programming, but lack in the two other dimensions: MORAL CAPACITY in producing a living structure and the GENERATIVITY OF THE THING and that is capability in producing a coherent whole.” ( His latest theoretic framework, as summarized in Nature of Order, has used concepts like life centers and degree of life to push his works to a whole new level. However, software community has barely touched on these and probably have no idea how to tap into it.

So by bridging the gap between product and engineering, and realizing the true nature of software programming, I hope not only that we can resolve the great divide in our software industry and help the industry grow more healthy (as we see software nowadays is really expanding to all corners of human society, literally “eating the world” according to Mark Anderson), we can also to bring up a new (real) kind of software engineering that seamlessly bridge liberal arts and science/engineering, tap into the great potential of Alexander’s great theoretic framework that bridge the gap between subjectivity and objectivity, and make complete the modern science.

Posted in Software | Leave a comment

Software is Unique

Software is the bridge btw the human world and the physical world. It is the bridge between human science and physical science. It is about giving ideas concrete forms. It is about digitization of life. It is about creating life.

  • Software is broad. You have a large variety of lives, so you have a large variety of software. Life manifests itself in different forms in various software. How many species of plants and animals you have on this planet?
  • Software is deep knowledge about human world. Since software is digitization of various life forms, if you understand software, you understand better of life.
  • Software takes many years of continuous hands-on learning.
  • Software is complex, just like life can be very complex. So we try very hard to make it as simple as possible, but not simpler. Software is about taming complexity.
  • There is no software architect who doesn’t do intensive programming anymore. Maybe it is ok in other disciplines to have architects who don’t do hands-on work anymore, but not in software.
  • Software planning is strategic. Like a soccer team needs a coach to plan things strategically and build up the team, so is a software team. If you have a software architect in the company possessing those comprehensive skills, cherish her/him, let her/him make the decisions and be responsible for them.

If this list is too short, I hope people can keep it in their minds to contemplate on constantly when working with software, and I hope this list is enough to turn around people’s common misconceptions about software.

Posted in Software | Leave a comment

Software Management

I am trying to summarize a short list of what I deem the most important for software management.

  • Management is about the right people making decisions. It is about forming the trust and delegate chains.
  • Emphasis on programming skills. Everyone should try to learn programming.
  • Break the boundary. People should not be separated way too early into testing people, system admins, developers. They should try to learn the comprehensive programming skills, which include how to do testing and how to run servers and do deployment. Testing people and system admins are encouraged to learn programming.
  • Programmers’ time is the most precious.
  • Empower programmers instead of putting various kinds of restriction on them. Give them the best tools. Let them fly!
  • Programming takes a lot of learning. Understand this! Value employees’ learning! Build up a rich learning environment! Have architects who can mentor people.
  • Rich projects to build up a comprehensive learning environment. Projects of different size and difficult levels, many of which are independent projects that are not tangled with other projects. So every individual in a software team can find projects that fit her/him to improve step by step.
  • Emphasis on product. Everyone in the software team should care about the software that s/he is building. Thus everyone should care about the product. Dedicated time (for example, Friday afternoon) is allocated for software team members to do nothing but playing with the product.
  • Emphasis on design skills and cultivation of programmers’ architect skills. Design sessions are scheduled regularly, when team members take turns to tell what s/he has found in her/his daily life that has a good design or bad design and why. Various design topics will be covered during such design sessions.
  • Do pair programming and code review very often to help programmers improve programming skills.
  • Software planning is strategic. Like a soccer team needs a coach to plan things strategically and build up the team, so is a software team. If you have a software architect in the company possessing those comprehensive skills, cherish her/him, let her/him make the decisions and be responsible for them.
  • Hiring is an important window for a software company. Tech director should be in charge of hiring of engineers and pay attention to the details in the hiring process. Tech director should have the directions in how s/he wants to build up the team and how to build up a good public image of the company as a tech company in order to attract talented engineers.
  • There is no software architect who doesn’t do intensive programming anymore. Maybe it is ok in other disciplines to have architects who don’t do hands-on work anymore, but not in software.
  • Everyone is building stuff. Everyone is a builder. No one is just a talker, doing management only. This is from Spotify founder Daniel. And I understand it as an important way to cut down communication cost in software management. I think at least for software management, this should be enforced. It might seem radical to enforce this at the whole company level. But I would love to see that happen, and I tend to believe that should be a very good thing for the software company.

This list might not be comprehensive. They are what I can think of off the top of my head. Maybe they are what I deem most important. Or it might just be related to my recent experiences. Time will tell, I think. If it is short, I hope people can keep it in their minds and constantly get reminded in their management of a software company.

Posted in Software | Leave a comment