SEARCH KEYWORD -- Question



  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

  Gaussian Blur Algorithm

Usually, image processing software will provide blur filter to make images blur. There are many algorithms to implement blur, one of them is called Gaussian Blur Algorithm. It utilizes Gaussian distribution to process images. This article is to introduce Gaussian Blur algorithm, you will find this is a simple algorithm. In fact, it is a kind of data smoothing which can be used in many situations. 1. Gaussian Blur theory The so called blur can be understood as taking a pixel as the average valu...

   ALGORITHM,GAUSSIAN BLUR, IMAGE BLUR     2020-09-12 02:34:40

  Should Small IT Companies Compete for Government Projects

No matter where in the world you look, you will find that various government agencies spend enormous amounts of money to procure products and services from outside companies. And while most of us immediately think about construction projects and perhaps defense contractors, a huge portion of government projects over the last decade or so were in the IT sector. In essence, governments on all levels often require services that their existing employees cannot handle and they invite outside IT comp...

   IT, BUSINESS, GOVERNMENT CONTRACTS     2017-12-28 17:51:09

  Pagination or continuous scrolling? It's a question

No matter in web page or mobile applications, information often can not be displayed on one page all alone, there needs some interactive modes which can expand page information: Pagination and Continuous Scrolling are very common interactive modes. Every day we may see them, they are so common that we do not even feel their presence, when browsing to the bottom of the page, we will see it. But it's difficult to choose which mode to use in design. Here we have a discussion on these two modes. Pag...

   Pagination,Continuous scrolling,Design     2012-09-12 19:55:51

  12 Eye-Popping Presentation Ideas That Will Keep Everyone Awake

Photo credit: Freepik Engaging an audience during a presentation is a challenge every speaker faces. The key to a successful presentation is not just delivering information but doing it in a way that captivates and keeps the audience interested throughout. Here are 12 creative and eye-popping ideas that will ensure your audience stays awake, attentive, and inspired. Start With a Shock Begin your presentation with a surprising fact, shocking image, or a provocative question. This creates immedia...

   PRESENTATION SKILL     2024-06-19 07:09:23

  What is good design?

Some quotes about good design from a Germany designer Dieter Rams in documentary "Objectified": Good design should be innovative Good design should make a product useful Good design is aesthetic design Good design will make a product understandable Good design is honest Good design is unobtrusive Good design is long-lived Good design is consistent in every detail Good design is environmentally friendly Good design is as little design as possible This brings up a question -- what...

   METRO,SIMPLICITY,GOOD DESIGN,PRINCIOPLE,UNIX PHILOSOPHY     2012-05-09 06:48:11

  Some laws of interactive design

The well known quote from Alan Cooper is   Conforming to the standard unless there is a better choice. There are some best practices in interaction design. How many do you know? 1. Fitts' Law The time from one start point to target point is determined by two parameters: The distance to the target and the size of the target. )D and W in above picture), the formula is : T=a+blog2(D/W+1). It was first proposed by Paul Fitts, it is mathematical model used to predict the time from any poin...

   interaction design, laws, Fitts' law     2012-11-16 11:25:24

  Restore mocked variables in GoLang unit test

One of the guarding principles of writing unit test is that there should be no real external calls for dependant services. Unit test should run by its own and can run without issues on any environment including local, build, test environment. This indicates there should be some mock responses whenever an external call is needed so that different unit test scenarios can be covered. How can this be done in GoLang? In GoLang, anything can be assigned to a variable even including functions. A variab...

   GOLANG,UNIT TEST,MOCK FUNCTION,RESTORE MOCK     2021-12-10 20:43:00

  GCC is compiled with C++ compiler

On 15 Aug, 2012, GCC merged a patch--Merge from cxx-conversion branch . This means GCC will be compiled with C++ compiler in the future, it also means that GCC will be implemented using C++. You may have following two puzzles: Why does GCC turn to C++? Without C++ compiler, how can we compile C++ codes? Why using C++? In GNU's C++ Conversion, we can find this description in the background section: Whether we use C or C++, we need to try to ensure that interfaces are easy to understan...

   GCC,C++,Compiler     2012-09-04 02:36:06

  How to be an excellent programmer

To use a programming language is very easy for a programmer, but it's a dream for many programmers to be an expert software developer. There are five levels of programmers: Novice, Senior novice, competent, proficient, and expert. Most programmers are senior novice. And programmer living in this level are a lot of people who have 1 to 10 years work experience.As a programmer, how to find the bottlenecks for your improvement and how to improve yourself quickly? This is really not an easy question...

   Programming,Tips,Habit     2013-03-26 09:53:38