SEARCH KEYWORD -- programming language



  The tips of learning Linux kernel

  As the Linux kernel has become one of the most gigantic and complex software project in the world, its complication scare many novices away. In this post, I will give some personal experience on how to learn Linux kernel, and hope these tips can offer some help to newcomers. (1) Download vanilla kernel and install it. Yes, I suggest you can find a physical machine, or if you really don’t have one at hand, virtual machine is also OK. Download the newest vanilla k...

       2017-07-28 22:53:11

  Get hostname from a URL using JavaScript

Sometimes we may have strings which contain some UR;s and we may want to retrieve the hostname from the URLs for some statistic use. For example, we may have a URL : http://www.example.com/aboutus.html. We may want to retrieve the www.example.com from the URL. How? Use regular expression. Here I give an example using JavaScript. If you want to check whether a string is a URL or not. Refer to Detect URLs in a Block of Text. In JavaScript, we can have a regular expression like var pattern=/(.+:\/\...

   JavaScript,URL,regular expression, Hostname     2012-06-15 09:16:45

  What is Asian UI design like from a Western point of view?

From a western point view, Asian UI designs are usually quite dense and compact. People in Asia are think more in detail when they start design something. They think these designs have following characteristics Dense tightly packed text Tiny low-quality images More columns than you can count Bright clashing colours and flashing banners Overuse of outdated technologies like Flash While the Western design is much simpler. They are treating the design as a whole, so usually we will see some quite...

   UI design,Western,Asian     2014-04-28 06:52:22

  An experience of fixing a memory-corruption bug

During the last 4 months, I was disturbed by a memory-corruption bug, and this bug will cause program crash. Until last Monday, I found the root cause and fixed it. This debug process is a difficult but memorable experience, so I will share it in this article.   My program works as a SMS Hub. When it receives a SMS, it will allocate a structure in heap memory like this: typedef struct { ...... int *a[8]; ...... } info; After processing the SMS, the program will free the m...

   c, debug, unix, solaris, multi-thread     2014-05-04 03:52:43

  Understanding PGO in GoLang 1.20

Background The Go 1.20 version was officially released in February 2023, it introduced the PGO(Profile Guided Optimization) mechanism. The basic principle of PGO can be divided into the following two steps: First, profiling is performed on the program to collect data about the program's runtime and generate a profiling file. When compiling the program, enable the PGO option, and the compiler will optimize the program's performance based on the content in the .pgo file. When compiling a program...

   GO 1.20,PGO,GOLANG     2023-02-28 04:27:46

  NativeScript-Vue 1.0 Is Finally Out!

After a year of hard work and dedication, NativeScript-Vue 1.0 is finally available in the market. For those who are new to NativeScript- Vue, it is all about a plugin that simply allows one to build native iOS and Android apps with the help of Vue.js. NativeScript-Vue 1.0 is ready for use in production! And it may quite interest you to know that blending of NativeScript and Vue makes it even easier when it comes to building mobile apps. This launch comes with a shiny new website and extensive d...

   JAVASCRIPT,HYBRID APP DEVELOPMENT,NATIVESCRIPT,VUE.JS,MOBILE APPLICATION     2018-02-26 00:14:03

  Extension context menu is missing in Firefox after restart

If you have experience of writing Chrome extension, you may be familiar with how you can add a context menu for your extension. The code would be similar to below: chrome.runtime.onInstalled.addListener(function() { chrome.contextMenus.removeAll(); chrome.contextMenus.create({ "id": "your_id", "title": "Your Title", "contexts": ["all"] }); }); You need to add a listener listening to the extension install event. Once the extension is installed, create a contex...

   CHROME,FIREFOX,EXTENSION,CONTEXT MENU     2018-11-16 20:58:20

  When will resizing be triggered in Java HashMap?

HashMap is one of the most frequently used collection types in Java, it stores key-value pairs. Ideally it expects to use hash table which expects the data access time complexity to be O(1), however, due to hash conflicts, in reality, it uses linked list or red-black tree to store data which makes the worst case time complexity to be O(logn).  Although collections are using data structures like arrays and linked lists, unlike arrays, they will dynamically resize when there is not enough spa...

   JAVA,RESIZE,HASHMAP,THRESHOLD     2020-05-02 20:41:19

  5 Mistakes Developers Should Avoid before Launching Their API

Time is money in the API industry, and everyone wants to be timely for the API’s milestone event: its eventual launch. Delays in this event can be very costly, so the sooner the API can be integrated, the better. Many developers start their work knowing quite well that the clock is ticking. But prioritizing a quick launch—at the cost of everything else—can do a lot of damage in the long run. A rushed launch may result in unstable integration, a host of errors and bugs, lower en...

   TIPS,API DESIGN     2020-05-18 07:08:22

  Different ways of handling concurrent job in GoLang

GoLang provides very good support of concurrency and the way to make some code to run concurrent is pretty simple and straightforward. Adding a simple go before a normal function call will make the function call asynchronous. In real cases normally people would concurrently run some jobs to improve the speed and efficiency. One important part of running jobs concurrently is about aggregating results so that the consequent function call would be able to proceed. There are multiple ways handling t...

   COMPARISON,WORKER POOL,WAITGROUP,CONCURRENT     2021-05-15 11:13:53