Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- Clean



  HeartBleed: Inside the heart, what causes the bleeding?

Just after a few weeks since Apple's famous goto fail bug, there is one bug in OpenSSL which catches the attention from the world again. The bug is named HeartBleed, found in OpenSSL library, a famous open source library supporting lots of  SSL/TLS communication among server/client applications. The reason why this bug catches the attentions from the world is it affects almost all sites which are using the affected OpenSSL library, these includes many applications like Nginx server, some v...

   OpenSSL,HeartBleed     2014-04-09 05:47:30

  Android hardware fails more than iPhone, BlackBerry; repairs cost carriers $2 billion

Repairs to Android smartphones cost wireless carriers $2 billion per year according to a new year-long WDS study that tracked 600,000 support calls around the globe. Android’s popularity and the introduction of a number of low-cost smartphones has put a strain on the wireless business model, WDS noted in its report. “Deployment by more than 25 OEMs and lower-cost product coming to market is leading to higher than average rates of hardware failures and, in turn, return and repair cos...

   Android,iPhone,Blackberry,Hardware,Cost     2011-11-03 13:26:42

  How to write your own DSL in Ruby

DSL(Domain Specific Language) is a language defined to fulfill some domain specific requirements to ease people's work. It can be used to define attributes and actions of a domain easily and cleanly. And it is often created based on some common observations or micro patterns of some domain. In Ruby world, there are quite a few places people can find DSL. For example, Ruby itself, Chef recipes. To create a class in Ruby, the traditional OOP way would look like. class User @name = nil @email =...

   RUBY,DSL,TUTORIAL     2017-03-04 09:40:34

  Uber’s audio recording plan in Brazil and Mexico

Uber has recently come out with a plan to introduce a new feature to its App in Brazil and Mexico. The feature will record the conversations between the driver and the passenger, with their consent. But consent here is a bit tricky. Basically, if the driver decides to turn on the recording feature, they are not obligated to warn the passenger and vice versa. Once the recording has been made and submitted to support for some kind of violation, neither of the two parties will have the ability...

   UBER,SECURITY,PRIVACY,VOICE RECORDING APP,NEW FEATURE     2019-11-21 09:20:36

  The basics of Client/Server socket programming

  While Client/Server communication model is ubiquitous nowadays, most of them involve socket programming knowledge. In this post, I will introduce some rudimentary aspects of it: (1) Short/Long-lived TCP connection.Short-lived TCP connection refers to following pattern: Client creates a connection to server; send message, then close the connection. If Client wants to transmit information again, repeat the above steps. Because establishing and destroying TCP s...

       2017-09-26 19:43:10

  Static Code Analysis

The most important thing I have done as a programmer in recent years is to aggressively pursue static code analysis.  Even more valuable than the hundreds of serious bugs I have prevented with it is the change in mindset about the way I view software reliability and code quality.It is important to say right up front that quality isn’t everything, and acknowledging it isn’t some sort of moral failing.  Value is what you are trying to produce, and quality is only one a...

   Static code,Analysis,Quality,Microsoft 360,Value     2011-12-24 06:50:18

  C vs Java Complete Comparison

Similarities: Java and C have same syntax operators. Difference—thinking Two paradigms: Java: Object oriented language C: Structured language Differences: --Syntax No preprocessor Java does not include a preprocessor and does not define any analogs of the #define, #include, and #ifdef directives. Constant definitions are replaced with static final fields in Java. (See the java.lang.Math.PI field for an example.) Macro definitions are not available in...

   C,Java,Comparison,Difference,Similaritie     2011-10-06 12:46:39

  Advantages and disadvantages of GoLang

GoLang is a strong typed language which means it is less flexible than interpreted languages by nature. But Go provides Any type(interface) and Reflect mechanism which make the language very close to interpreted languages on flexibility. More and more people start to learn GoLang. This post is mainly for listing down some of the advantages and disadvantages of GoLang. Advantages Performance(Machine code) GoLang is a compilation language which can be compiled to machine code and the compiled bina...

   GENERICS,GOROUTINE,GOLANG,DISADVANTAGE,ADVANTAGE     2018-11-10 20:46:45

  How To Write A Good Programming Test

I’ve taken and marked a lot of programming tests in the past. I love doing them as it’s always good to see what challenges different programmers have come up with when designing them. Unfortunately, however, most of them aren’t very good. Below is a list of general ideas to help increase the quality of programmer tests. 1. Keep it relevant Too many of the tests have questions on content that simply isn’t relevant to the job. The whole idea behind a programming test i...

   Programming test,Interview,Questions,Pro     2011-08-26 02:46:44

  Hello, Kernel!

When we learn module programming, the first small program must be hello, kernel!. For a novice, how do we avoid some mistakes and how to fix the bugs we have when writing the first module program? Is there any example we can refer to? Here is one example. 1. Write the hello.c 01 #include <linux/init.h> 02 #include <linux/module.h> 03 #include <linux/kernel.h> 04 //Compulsory 05 //Module lincese declaration 06 MODULE_LICENSE("GPL"); ...

   module,kernel,Linux     2013-05-03 03:33:52