SEARCH KEYWORD -- Good code



  The war with spam comment

Spam comments are annoying and notorious. They are either malicious data from hackers to exploit the loopholes of the site or advertisements posted by robots. These kinds of comments have their own features and patterns, if we are careful enough, we can find ways to block most of them although it's not so easy. To block the comment with malicious executable codes such as JavaScript, we should remember one rule : never trust user input. So wherever there are user inputs, we need to check the vali...

   Spam comment,Block,Filter     2013-11-29 20:29:43

  Linus Torvalds apologizes for Linux 4.8 kernel bug

On Oct 2, Linus Torvalds proudly announced the release of Linux 4.8. But just days after the release, a bug was found in the kernel and Linus came out and apologized for this bug. I'm really sorry I applied that last series from Andrew just before doing the 4.8 release, because they cause problems, and now it is in 4.8 (and that buggy crap is marked for stable too). In particular, I just got this kernel BUG at ./include/linux/swap.h:276 and the end result was a dea...

   LINUX,LINUX KERNEL,NEWS,LINUS TORVALDS,BUG_ON     2016-10-07 03:46:17

  Install Open webOS on Linux

HP has just released its first beta version of the webOS, It is said the user experience of webOS is quite impressive, so I immediately had it installed on my PC. There are two versions of Beta release,one embedded version and one Ubuntu version. I briefly share my installation experience of webOS in Linux. In the official document, it says "By 'Linux' we mean 'Ubuntu Linux'", it doesn't support server version and 64 bit version of Ubuntu. Here I use Mint 13. 1. Clone source code from github Add...

   Linux,webOS,Ubuntu,embedded,HP     2012-09-10 19:36:30

  How to play with cross domain request

What is cross domain request In simple, cross domain request is to request resource from other domain in one domain. Note, the "other domain" doesn't just mean domain name only, it includes much more. If the protocol, domain name, port is not the same, two domains will be considered different.  Below example describes what is considered as different domain. http://www.a.com/a.jshttp://www.a.com/b.js               # Same domainhttp://www.a.com/lab/a.js &nb...

   FRONT END,JSONP,CROSS DOMAIN,CROSS ORIGIN,CORS,DOCUMENT.DOMAIN,WINDOW.NAME     2016-11-06 00:48:54

  Must read C++ book list

Every programmer should read some books to enhance their understanding about the language before the start to practice. But some of us often wonder what books we should read and in what order. Some books may not be suitable for beginners and some books may cover the similar topics. Here I summarize a C++ book list we should read.Stage 1"Essential C++" : It is short but powerful and it can enhance our understanding of C++'s features.This book is specifically designed to bring you up to speed in a...

   C++,Book list,Read,Effective C++     2012-05-23 13:03:30

  An experience on fixing HTTP 406 Not Acceptable error

This post is about an experience of mine on fixing a HTTP 406 Not Acceptable error seen on one of my page. Just got back from a business trip and opened my computer as usual to start to monitor my website statistics. But when I opened the page on showing real time page views, it shows nothing but zero. So I pressed F12 to bring up the developer tool to check on what's going on. The logic of loading the real time page view is backed by AJAX call. In the developer tool console, I see that the rAJA...

   PHP,AJAX,HTML,HTTP 406,CONTENT-TYPE     2019-03-30 04:09:10

  Show Bootstrap tooltip in AngularJS ng-repeat elements

In contemporary web application development, many front-end frameworks have been used to accelerate the speed of development and circumvent browser compatibility issues. Among them, AngularJS and Bootstrap are two frequently used.  AngularJS is a MVC JavaScript framework developed by Google to provide easy synchronization between user view and data model. While Bootstrap is developed by Twitter and it eases the work of designing a simple and concise UI without much manual design work ...

   BOOTSTRAP,ANGULARJS,TOOLTIP,NG-REPEAT     2016-05-21 10:52:02

  It looks like TechCrunch blocks GoDaddy server access

Recently, I encountered an issue with an app I maintain—it suddenly stopped pulling RSS feeds from TechCrunch. At first, I suspected that the RSS feed URL might have changed. However, after further investigation, I discovered a different story. The URL itself was unchanged, but the results varied depending on where the request was coming from. To troubleshoot, I started by setting up a local web server and running a test with my script to see if it could still pull the RSS feed. The script...

   TECH CRUNCH,GODADDY,AI,BLOCK ACCESS     2024-08-17 12:31:52

  Service discovery with etcd

In previous post, we have talked about etcd and its usage. This post we will cover how to implement server discovery with etcd. Service discovery is to solve one of the most commonly seen scenarios in distributed system where how to find the corresponding target service to talk to. In short, it is to find some server which one can talk to based on some service name. A complete service discovery system include below three key functions: Service registration: A service must register itself to so...

   ETCD,SERVICE DISCOVERY,DEMO,TUTORIAL     2021-03-08 05:36:29

  WireGuard VPN Troubleshooting

When you are working as a network/cluster admin for you team to config the WireGuard VPN for other members, you may meet some of the problems below and these are the solution you can try to fix them. ----------------------------------------------------------------------------------------------------------- Problem [1]: The WireGuard handshake request send from the client can be received from the server but the server's response was blocked at some where so the client can not receive serv...

   WIREGUARD,VPN,TROUBLESHOOTING     2021-12-14 09:17:46