SEARCH KEYWORD -- SOURCE CODE



  Mutli-inheritance bug between python 2.7 and 3.7

When we have run a py3.7 code under py2.x or a py2.x code under 3.x ,if a class do mutli-inheritance from 2 parent and the 2 parents also got inheritance from same parent, the different way to handle inheritance chain between python 2 and 3 will cause some running time bug: Assume we got this sample program inheritTest.py : # Purpose: Test mutli-inheritance different between python2 and 3 # Author: Yuancheng Liu # Created: 2019/05/16 class A: def getVal(self): print("cal...

   PYTHON,PYTHON 3,INHERITANCE     2019-05-16 08:33:52

  Use pdb to help understand python program

  As I have mentioned in Why do I need a debugger?: (3) Debugger is a good tool to help you understand code. So when I come across difficulty to understand vfscount.py code in bcc project, I know it is time to resort to pdb, python's debugger, to help me. The thing which confuses me is here: counts = b.get_table("counts") for k, v in sorted(counts.items(), key=lambda counts: counts[1].value): print("%-16x %-26s %8d" % (k.ip, b.ksym(k.ip), v.val...

       2017-08-22 22:42:37

  About browser event

First look at following codes: var $ = KISSY.all; $(‘a’).on(‘click’,function(e){ doSomeThing();//This function seems very famous e.halt(); }); The above codes seem complete the work we want them. The browser will not redirect us to the link in href, but is there some issue with the codes above? Before explaining what's wrong with the above codes, we first need to understand some concepts. Browser default behavior When we click a link, the browser will redirect us to anoth...

   JavaScript event,Event bubbling,event capturing     2012-11-15 11:15:41

  A plugin to update last_error in Delayed Job

delayed_job is a process based asynchronous task processing gem which can be ran at background. It will fork the specified number of processes to execute the tasks asynchronously. The task status is usually stored in the database so that it can be easily integrated into a Rails application where asynchronous job execution is desired. Normally when a job fails to execute or error occurs, it would save the error into the database with the column last_error. Ideally all these will be handled b...

   RUBY,RUBY ON RAILS,DELAYED JOB,LAST_ERROR     2017-11-18 13:05:49

  CSS and HTML5 responsive images

With the popularity of Retina screen, the requirement of the images in the webpages is higher. How to make sure the image still clear while enlarging twice on retina screen? This brings much trouble to web developers, the good news is CSS3 and HTML5 is trying to change this, we can use response image. What is responsive image? It means user agent loads different images according to different resolutions of output devices, it will not waste bandwidth as well. In addition, it can load respective ...

   CSS3, HTML5,image-set,responsive image     2013-03-10 03:30:07

  Short SASS tutorial

If you learned CSS before, you should know that CSS is not a programming language. You can use it to design webpage style, but you cannot use it for programming, i.e, CSS is what designer uses, not what programmer uses. Programmer may think that CSS is very troublesome, it has no variables, no conditional statements, it just allows line-by-line description of HTML elementsLuckily, CSS preprocessor appear which makes CSS programmable. The general idea of CSS preprocessor is using a programming la...

   CSS,SASS,programmable,variable,condition,comment     2012-06-22 08:38:18

  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

  Deep Dive into Spin Locks in Golang

In concurrent programming, a Mutex is a commonly used synchronization mechanism to protect critical resources and prevent data races. However, in certain specific scenarios, especially when the lock-holding time is short and the number of threads is limited, a more lightweight lock known as a Spin Lock can provide higher performance. What is a Spin Lock A Spin Lock is a form of busy-wait lock. When a thread attempts to acquire a lock held by another thread, it continuously checks the lock's stat...

   SPINLOCK,MUTEX,GOLANG     2024-01-10 05:53:28

  TowTruck from Mozilla Lab

TowTruck is a real time collaboration tool developed by Mozilla lab, it can enable users to do real time chat, voice chat in any webpage. Both sides can see each other's mouse position, it will produce animation when mouse clicked. The classical application for collaborative sides is users can discuss a document while reading the same document or modify some codes or fill up an application form. TowTruck is an open source project. It's very easy to deploy TowTruck, first you need to embed below ...

   TowTruck,Mozillar Lab,HTML5     2013-04-15 12:23:13

  Why does Symbian collapse?

On 24th January, Nokia announces a disappointing news that they would give up Symbian. The 808 PureView released last year will be its last Symbian model.  Symbian was born in 1998, it was supported by the then three mobile giants : Sony Ericson, Motorola and Nokia after its birth, later Samsung and LG also joined the Symbian camp. In 2000, the first Symbian model in the world Ericoson R380 was released, in 20006, there were over 100 million Symbian handphones on the market. But in 2007, t...

   Nokia, Symbian, Collapse, Analysis     2013-01-28 03:06:09