June 27, 2017

Why I Don’t Like Open Source

open-source-software
I am not sure if I had posted about this before, but it is something I would like to say more than a few times.

As I said before, I don’t intend to be different just for the sake of being different. But it just happens quite so often that people are wrong and being wrong together. I feel strongly that open source is a case of that.

Before getting into the topic of open source, I want to make it clear about my attitude toward a phenomenon going on everywhere (not just in technology), it’s like this: when a few people, mostly from academic area, find something needs to be done in the sociaty, they turn it into action of movement. Once it gets support from the public, usually they do, it is raised to the level of absolute correctness. It will never be wrong, anything or anyone against it would be wrong, and prohibited. The problem with this is: once this happens, people no longer put the subject into reasoning anymore, since it is absolutely correct, there is no questioning anymore.

You see, absolute correctness doesn’t exist in this world, even for Newton’s law of moment and Einstein’s theory of relativity, and it is harmful. It reminds me of dictatorship, anything that’s is against it should not exist. We know environmental issues have raised itself to this level, and many other things, I rather not to say.

The greatest value of the modern civilization is: we don’t passively follow traditional understanding anymore. We think. we research. we verify. That’s why we are where we are now.

So, what does open source has to do with this? Well, open source movement is following the same path. Even though it has not got to the same level, but it is half way there.

What’s even more troubling for open source is: that’s provocation on the wrong cause. I support environmentalists, I just don’t like the way people put it like it is abusolutely right, and anything against is wrong. But at least they are doing it for the a good cause, for open source, the cause is wrong too.

Open Source Is Anti-engineering

The industrial revolution started more than a century ago, it has changed the world tremendously. Almost every aspects of the world is based on the result of the industrial revolution. The center of the industrial revolution is engineering. Open source is anti-engineering. Engineering process consists of trained and properly organized engineers, they follows engineering rules and stardards. And there is a established process to verify and the engineering results. Open source process consists of talented code craft masters. They have superb skills in crafting code but may or may not have the engineering diciplines required for large scale systems. They are loosely organized individules. They take no responsiblities if anything goes wrong. They don’t have established process to verify the correctness and performance of their work results.

The distinctive changes happened during industrial revolution is engineering replaced crafting.

I was fortunate enough to have attended Dr. David Parnas’s Professional Software Development course. The first slide of the course material had only one line:

Software engineers are not engineers.

What this line says is: our current so-called software engineers are coders, not engineers. Dr. Parnas would take a test to become an autorized engineer. Maybe he is the only software engineer who is actually an engineer. A mechnical engineer needs to be certified to be an engineer. Today’s software engineers, on the other hand, need only skill of coding. They don’t even need a degree in computer/electrical science or engineering. However comparing to the open source crafting masters, they are still working in a psudo-engineering environment. They are organized. They take responsibilities for their work. There is quality control that are making efforts to make sure the products work.

The point is: it is the engineering process that makes a product/service great, not the skills of each individules. The time of reliance on individule skills is long gone. We admire some super brains that can memorize PI in 200th digits, but in today’s world, that’s practically useless. Your brain can’t beat a computer’s memory. 200 years ago, a master shoe maker will a lot money out of their crafting skills in shoe making, no longer the case in today’s world.

I know some people from the open source community would argue: many of the open source projects like the ones from Apache, Sendmail, Postfix, OpenLdap, OpenSSL, … ect. are more than good. They have indeeded formed the foundation of the connected world. There is no argument about that. “So, you said open source is anti-engineering rules, why those projects can be so good?” Now let take a look at reasons behind.

There are four major reasons for those projects to be successful.

First, the software industry is still in its infancy. It is far less mature than traditional industies like mechnical engineering, material engineering, or even electrical engineering. Crafting became the only way to write a software at the beginning. Second, write a piece of software is too easy to start with, and so accessible. Delivering a software product is so easy, just post it some where on the Internet. You don’t need the trouble of registering a business, getting a permit, hiring people to do the sales.

However the biggest reason is when those projects started, software system were not as complicated as today. Many features were added over the years. It only took a few master minds to craft a mail server at that time. When software gets bigger, engineering diciplines, standards and processes are required, large scale open source projects are less and less possible. There are still some projects started as commerial efforts, latter released as open source, like Eclipse. Also there are many open source projects are actively worked on by sponsoring companies, but that’s not a validation of open source. Actually, that’s an invalidation of open source as a software development mechnism. No matter how it appears, the open sourcing mechnism is fundamentally flawed.

The Open Source Community Has a Stinky Attitude

People who support open source tend to be experts in something, especially in coding. They are so proud of who they are, to the extend that evolves to a negative attitude.

They are all about open, they hates anything that is not open. There is nothing wrong if you have great work, and you want to share with the public. But you have realize it is also prefectly fine if someone don’t want to share their work. They want to make money out of it. They start companies, they hire people, they run businesses like many people do. Businesses are what we make a living on, including those open source masters.

They admire their skills so much that they want to keep the advantage forever. That’s why they don’t like easy things. They are obessesed with cammand line UI, they hate graphical UI. They love keyboards, they hate mice. They think a graphical user interface is for begginners, the real reason they hate GUI is, those things make their advantage disappear. “Computer belongs to a few elites like us, not some random people”, that’s the hidden text in their minds. They have inner desire to make things complicated. Look at jQuery, the way they code javascript, anonymous functions, the big messy chunk of garbage that they call code.

Programmers should get out of the obessesion of personal skills. The process of coding should be as easy as possible. The four years training in computer science in colledge is not about coding. If all those Bachelors and Masters of computer science graduates all become coders, that’s sad. If I want the skills of laying bricks, I would hire construction workers, not architectual engineers. If you see many self educated coders are doing better jobs than the Masters of Computer Science, or Masters of Software Engineering in software development, that’s sadly true, you know something is wrong.

 

 

 

Surface Pro 4 vs. Surface Book: After Hands-on

 

 

surfaceb

Last week, I wrote this post:

Surface Pro 4 vs. Surface Book: Choose Portability over Lapability

That’s before I have seen the two products in person. Today, both of them are available in stores. I got a chance to play with them myself. I want to share what I have found out.

My main impression is Surface Book is great product, you can feel that’s a high end product without looking at the spec sheet. But, it is heavy. Well, it is lighter than majority of laptops on the market, but when put it together with the Surface Pro 4, it is just too much mass. It is deal breaker for me.

Here is the thing, if you put Surface Book together with any laptop on earth, you will pick the Surface Book instantly, provided you don’t have issue with money.

The reality is there is Surface Pro 4 beside it. SP4 is an obvious choice. 2.5 lbs to 3.5 lbs makes a huge difference.

The only thing that challenges the SP4 is SP3. SP3 is much cheaper.

 

Surface Pro 4 vs. Surface Book: Choose Portability over Lapability

 

 

surfaceb

Since I am writing for this blog site, people would come to me and ask what I think about the new Surface Book and Surface Pro 4, specifically which one to buy. My first advice is don’t read too much into reviews.

In real life, a CPU performance improvement of 10% is barely noticeable to anyone unless you test it on special software or hardware. We IT professionals, office workers, software developers, field workers, bankers, brokers, artists, designers, engineers, social workers, high school students care about real life performance, not those numbers on paper. Technology reviewers care about specs, bench marks, color accuracy, pixel density, and so on. They will draw charts to show you how much greater a Skylake i5 CPU is to a Broadwell i5 CPU. That might make sense to people who understand those numbers, but to most people, real life experience is more relevant. For example, today’s CPUs are far beyond what a regular user need, the performance bottle has turned to something else, like SSD vs. HDD.

Back to Surface Pro 4 and Surface Book, I have never had a hand on either of them yet. However, I am a owner of Surface 3 and Pro 3, watched enough videos of Surface Book, and spent enough time research its specs and so forth. I am now pretty confident to make a preliminary statement about those two.

Buy Surface Pro 4 instead of Surface Book. The reason is the former is lighter, light enough to make a difference.

Saying that, I know many of you don’t agree: wait, different people have different needs. I know, but I speak for the 99% of the percent of computer users, which I think is good enough. There are people who would find Surface Book suits them better, but that’s a small group of people.

Speaking of the Surface, many reviewer put their focuses on lapability. They want to see how comfortable it is to use a Surface on the laps. That kind of nonsense goes on and on. Lets now put that discussion to a rest: I have had three laptops during a 10 year period, I only had a chance to put them on my laps when I had to commute on the train in about 4 years. After that, I have never had my laptops on my laps for even once. I never find a need. I say that only because my experience is representative to vast majority of computer users. If you commute on the train or you are a technology journalist who attends technology briefings that have no desks, you will use computers on the lap for sure. Wait, I know why those reviewers talk about lapability that much, because that’s important to them, maybe important to their readers too, but makes little sense to most computer users.

Ask yourself this question: in the last 3~5 years, have you ever use your laptop actually on your laps? If the answer is no, you shouldn’t care about lapability. A laptop is called lap-top doesn’t mean it has to be used on laps. Even though you need to use it on the laps, the Surface Pro 4 is good enough on laps for a short time.

Every time I saw technology writers talking about lapability, I want to tell to shut up. They are talking about their own needs, not most people’s.

With lapability out of way, we can talk about Surface Pro 4 and Surface Book. The main problem with Surface Book is its weight. It weighs 3.4 lbs, while SP4 + Type cover weighs 2.4 lbs. That’s a huge difference. A Surface Pro 4 is very portable: compact and light. The Surface Book is still in heavy category. Some would argue, you are comparing different things. I don’t care. All I care is I need a computer I can put on my desk and do my work, carry it from room to room in my house, or carry from home to work, or anywhere, regardless what category they belong.

One problem with Surface Pro 4 is screen size. 12″ is not enough for day to day work. Surface Book gets 13.5″, better but still not good. For long term productivity use, screen size has to be over 17″, there is no way around. My setup at home is Surface Pro 3 + 21″ monitor. In my opinion, this is a perfect setup, you need a second screen anyway. Once you are used to second screen, you will find out use one screen is unworkable. Surface Book’s 13.5″ screen is good enough for a short time use, but if you use it for hours, I still suggest you get an external monitor. To put things together, Surface Pro 4 is almost even to Surface Book regarding screen sizes.

Last thing, you will find out Surface Book is considerably more expensive.

However, if they make the Surface Book weighs 2.5 lbs, I would buy it over anything, but it is not going to happen in a couple years.

For the time being, Surface Pro 4 is the champion in the world of personal computing, the only thing that is comparable to it is Surface Pro 3.

 

 

Windows 10 to Launch in Summer, and…

Windows-10-Preview-Start-Menu-Look-and-Features-460698-2

 

“Windows 10 to Launch This Summer” is not news, but Microsoft just reaffirmed that. So We can expect to have it, sometime between July and September. I would say, July is likely, August is pretty sure. There will be free upgrade path from Windows 7, 8, 8.1, Windows Phone 8.1, even the pirated copies! No Windows RT yet, Microsoft has said it will bring some Windows 10 features to Windows RT devices, through Windows update, but don’t expect too much.

Xbox + HoloLens: How Can They Work Together?

CNN has reported Lenovo said it will start selling Windows 10 phones on China Mobile by mid-year. Well, this is news. Generally for Windows, there is RTM, then there is general availability, then there are devices with the new OS on the market. There are usually two months gaps between those milestones. Unless something has changed, if they are going to release Windows 10 devices mid year, which is most likely in July, then RTM should be done in May or before that.

Does HoloLens Have to Be Worn on the Head?

In any case, my general feeling is Microsoft has sped up the release pace of Windows 10, or they are being conservative in promises. But any way, looks like we are going to see a lot of Windows 10 devices before back to school. Those include PCs, laptops, and phones. How about these things:

  • Surface Pro 4
  • Lumia 940
  • HoloLens (of course)

I am ready to be impressed by Lumia 940 and HoloLens. We’ll see.

Does HoloLens Have to Be Worn on the Head?
Some Business Ideas with HoloLens – (17) Holo-Advertising
Will There Be Low Cost HoloLens?