SEARCH KEYWORD -- AVALANCHE EFFECT



  do {...} while (0) in macros

If you are a C programmer, you must be familiar with macros. They are powerful and can help you ease your work if used correctly. However, if you don't define macros carefully, they may bite you and drive you crazy. In many C programs, you may see a special macro definition which may seem not so straightforward. Here is one example: #define __set_task_state(tsk, state_value) \ do { (tsk)->state = (state_value); } while (0) There are many this kind of macros which uses do{...}while(0)...

   C,macro,C++     2014-01-23 07:16:13

  Responsive Web Design

With the popularity of 3G, more and more people are surfing the Internet using mobile phones. Mobile devices are becoming common devices for accessing internet. So web design faces a big challenge which is how to display the same webpage on different devices with different screen  resolutions.Screen resolution of mobile device are usually not very large, the width is below 600px, while PC usually has a resolution over 1000px. It is not an easy task to display the same content with satisfyin...

   CSS,Web design,Layout,Response web design     2012-05-03 06:59:40

  Speech recognition breakthrough from Microsoft

Recently, Microsoft Research published a demo video on YouTube that demonstrated simultaneously translating English speech to Chinese speech with Microsoft's new research achievement. The result is quite impressive, it has large improvement compared to previous speech recognition systems. It's a big breakthrough of speech recognition. In this demo, Microsoft Chief Research Officer Rick Rashid demonstrates a speech recognition breakthrough.First when he speaks, the screen will display what he is ...

   Speech recognition, Text to speech,Machine translation     2012-11-09 23:53:21

  Fix for-range Issue Again in Go 1.22

With the release of Go 1.22, the Go team addressed a long-standing issue with the for-range loop variable scoping, which had been a common pitfall for developers writing concurrent code. Specifically, the problem was that the loop variable in a for-range loop was reused across iterations, leading to unexpected behavior when closures were involved. The Issue Before Go 1.22 Consider the following example: package forange import "fmt" func Do() { done := make(chan bool) values := []string...

   GO,GO 1.22,FOR RANGE,BUG,GO.MOD     2024-11-21 01:03:04

  Webinar Best Practices For A Webinar Experience Your Audience Will Love

The web conferencing technology has been getting a lot of attention lately, and for good reason. With global lockdowns and social distancing norms in effect, video conferencing has emerged as an economical way of staying in touch with office colleagues, friends, and family members. However, if that’s all you are using this technology for, you may not fully understand what is web conferencing and its immense potential. For instance, lately, web conferencing technology is being used to deliv...

   WEB CONFERENCE,WEBINAR     2020-11-07 04:19:52

  9 fields platform companies need to fight for

If you are person reading technology news much, you will find a large part of the tech news are about a few companies : Apple, Google, Facebook, Amazon and Microsoft, in which the first four are today's "Big Four (platform)" as said by Google Chairman Eric Schmidt. These giants have both competition and cooperation in many areas, and each has its own place in the world, with Schmidt's words, Google dominates search, Apple designs device, Amazon occupies e-commerce and Facebook leads social. Alth...

   Big four, Future,Software and hardware     2012-10-20 09:50:43

  Can two new objects point to the same memory address in GoLang?

Do you have any idea what the output will be for below GoLang snippet? package main import ( "fmt" ) type obj struct{} func main() { a := &obj{} fmt.Printf("%p\n", a) c := &obj{} fmt.Printf("%p\n", c) fmt.Println(a == c) } Many people would think that a and c are two different object instances which have different memory addresses. Hence a == c will be false. But if you try to run the above program, you would see below output 0x5781c8 0x5781c8 true To get to know the reason wh...

   GO,GOLANG,VARIABLE ESCAPE,ZEROBASE     2019-04-06 01:19:52

  Access control in Java -- Permission check order

Previously we showed you how to turn on SecurityManager in Java. After SecurityManager is turned on, a series of permission checks will be applied on the code you are calling in your application to protect some resources against malicious access such as files, sockets etc. To perform these permission checks, a set of Permissions will be created and checked using the AccessController. The AccessController has three purposes : To decide whether an access to a critical system resource is to be all...

   JAVA,SECURITY,ACCESSCONTROLLER     2016-03-07 04:17:40

  Let your page be alive

With development of Internet, Web pages lie everywhere. How to design a visually attractive web product is becoming a major concern of designers, A complete webpage consists of the combination of points, lines and layers. If you want to let your page design be alive, you should put your efforts on below 4 aspects. 1. Flexible font use In a webpage, texts are the major information carrier and are what users care mostly about. It's the main element to convey messages to readers. The font size, col...

   UI design,White space,Geometric graph     2013-07-23 03:09:51

  Use DTrace to diagnose gdb issues

A few days ago, I installed the newest 64-bit gdb program (version 7.7.1) on Solaris 10 (X86_64 platform) to debug programs. After playing with the gdb a day, I found 2 issues about gdb:(1) The "set follow-fork-mode child" command doesn't take effect. By default, after the parent process forks the child process, the gdb will track the parent process, so this command can make gdb begin to follow the child process. But this command works OK on Linux.(2) The gdb can't parse the 32-bit application c...

   DTrace, debug, gdb, UNIX     2014-06-28 05:11:20