SEARCH KEYWORD -- Microsoft Open Technologies



  Significance and use of do{...}while(0)

In some Linux kernel and other open source codes, we can see some codes like below: do{ ... }while(0) This code snippet is not a loop, it seems there is no significance of using do...while this way, then why should we use it? In fact, the significance of do{...}while(0) is better than optimizing your code. After some research, we summarize some benefits of it. 1. Help define complex macro to avoid error #define DOSOMETHING()\ foo1();\ foo2(); The me...

   do{...}while(0), optimization     2012-10-21 21:13:22

  The Most Effective Stretches and Yoga Poses for Programmers

Programming software takes a tremendous amount of focus and effort. Working hard to transform code into software is an exciting feeling. It’s easy to get lost in your work as the hours fly by. I’ve done this many times. However, writing code can also be frustrating in many cases. I’ve been a programmer for many years, and I still spend hours debugging. Most of the time this level of debugging requires sitting down and focusing. After many years of this, you will be a prime ca...

   YOGA FOR PROGRAMMERS,STRETCHING GUIDE FOR PROGRAMMERS,YOGA FOR DEVELOPERS     2018-07-14 07:20:25

  SkipList in Go

Algorithmic thinking is the must-have in the coding world, so I have been keeping the routine of algorithm practice every week, consolidating my knowledge of data structures on one hand, and improving my coding skills as well. A difficult one happened to be stuck in my mind- Implement SkipList with Go, which took me quite a weekend. Below is the front-line report of how I finally got the hang of it. First, from its concept. Wiki has explained it well. a skip list is a probab...

   GOLANG,SKIPLIST     2022-04-05 02:21:59

  The Go Pointer Magic

Go is a language with the pointer type, by which we can Pass pointer into a function and update value in-place. Add methods to a struct as (* T) A, which is different from (T) A(). However, the pointer is type-safe in Go, meaning that there are such restrictions of the pointer. Different types of pointers are unconvertible. Pointer type cannot be used for calculation. Pointer types cannot be compared, either == nor !=. No mutual assignment between different pointer-...

   GOLANG,POINTER,UNSAFE     2021-10-03 02:18:57

  Cleansing data with Pig and storing JSON format to HBase with Pig UDF

Introduction This post will explain you the way to clean data and store JSON format to HBase. Hadoop architect experts also explain Apache Pig and its advantages in Hadoop in this post. Read more and find out how they do it. This post contains steps to do some basic clean the duplication data and convert the data to JSON format to store to HBase. Actually, we have some built-in lib to parse JSON in Pig but it is important to manipulate the JSON data in Java code before store to HBase. Apache Pig...

   JSON,HADOOP ARCHITECT,APACHE HBASE,PIG UDF     2016-06-10 01:13:41

  Popular Golang JSON libraries evaluation

JSON (Javascript Object Notation), a prevailing data exchange format, is widely used in various platforms and languages. Golang, of course, will never miss the support for JSON. And with its own standard library, such as those interfaces like the REST API from the API Service in Kubernetes, it can easily process JSON. Although Go’s library works great, we can still seek those open-source JSON libs in Github to maximize our efficiency. Then the features, performance, applicability of these ...

   FASTJSON,JSON LIB,JSON LIB COMPARISON,GO-JSON     2021-12-11 23:13:23

  Why TCP needs 3 handshakes

Prerequisite Knowledge First, let's look at the control bits and state machine of TCP, which form the basis for understanding the three-way handshake of TCP. TCP Packet Control Bits The control bits in the TCP packet header are used to control the status of the TCP connection and can indicate various control information such as connection establishment, termination, reset, etc. There are six common control bits: SYN (Synchronize Sequence Numbers): Requests to establish a connection (part of the...

   REASON,NETWORK,TCP,EXPLANATION,HANDSHAKE     2024-09-28 08:57:52

  Time-saving tips Linux users should know

As a programmer or system administrator, we have more chances of working on *nix platforms. It's tough experience when first start use *nix as we need to face a black screen without knowing what's behind it. Now, if we can have some resources to rely on, then we will find the beautify of *nix. They are fast, efficient and most importantly sexy. Below are some great tips for helping Linux users get used to Linux. This list is a bit long. So be patient. To get more information on a command mention...

   Linux,Tips     2013-09-03 22:30:48

  A list of English abbreviations

When we read emails or short message on our phone, we will often see some words such as FYI or LOL etc. Do you know their meanings, right? But some of the abbreviations we may not know or cannot remember clearly. Here is a list of English abbreviations which may be useful to you in the future when you want to check them.      Numbers:    &n"sp;   2 = to/too   2B or not 2B = To be or not to be   4 = for   ...

   Abbreviation,English,Summary     2012-07-05 23:41:06

  Essential skills any web developer should have

As a web developer, besides writing HTML code, there is much more to do before the site can go live. You may consider about user experience, device compatibility, security etc. To be a good web developer, you should acquire some essential skills for web development. Below we list some of them. Some of them you may be familiar with a long time ago, but definitely some of them you may not be so familiar with or even never hear about before. Interface and User Experience Be aware that browsers imp...

   Web development,User experience     2014-03-21 06:44:49