SEARCH KEYWORD -- Must read



  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

  Announcing New Feed Service

We’re thrilled to announce that Feed is now live! Feed brings you the hottest tech stories daily, covering trending topics like AI, LLMs, Rust, Python, and more. What is Feed? Feed is your personalized tech news curator. It uses AI to gather and filter the most relevant stories from around the world, ensuring you stay informed without being overwhelmed. Whether it’s a breakthrough in AI or a new feature in Rust, Feed delivers just the right amount of information. How Does It Work? F...

   AI,CHINESE,TECH FEED     2024-12-12 20:04:59

  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

  Everyone Can Write Tech Blogs

As a programmer, you’ve probably been told that writing tech blogs can offer a range of benefits. There's no shortage of articles encouraging you to start writing, and this post, this post adds to that chorus. But while the advice is solid, what’s often missing is how to begin the journey of writing tech blogs. Based on my 10+ years of experience, I’d like to share some thoughts to help you get started. From what I've seen, the reason many programmers don’t write tech blo...

   CAREER,RESUME,ADVICE,TECH BLOG     2024-09-08 04:00:52

  Understand diff in Unix

diff is an important tool program in Unix. It is used to compare differences of two files, it is the foundation for code version control. If you type : $ diff <file_before_change> <file_after_change> diff will tell you what's the difference between these two files. The result may not be so easy to understand, so now I will show you how to understand diff. 1. 3 formats of diff diff has 3 formats due to historic reasons. normal diff context diff unified diff 2. Demo files For easy d...

   diff,Unix,version control,git     2012-09-03 10:49:36

  Calculating Token Count for Claude API Using Go: A Step-by-Step Guide

When working with large language models like Claude from Anthropic, understanding how many tokens your input consumes is essential for managing costs and optimizing performance. In this blog, we’ll explore how to calculate token counts for a given input using Go. We’ll use Anthropic’s count_tokens API endpoint, which provides a straightforward way to determine token usage. Prerequisites Before diving in, ensure you have: A working Go environment (installation guide). An Anthro...

   CLAUDE,GO,GOLANG,TOKEN CALCULATION,GUIDE,EXAMPLE     2024-12-23 22:25:29

  Redis Cluster and Common Partition Techniques in Distributed Cache

In this post, I will discuss a few common partition techniques in distributed cache. Especially, I will elaborate on my understanding on the use of Redis Cluster. Please understand that at the time of writing, the latest version of Redis is 4.0.10. Many articles on the same topic have a different idea from this post. This is mainly because, those articles are probably outdated. In particular, they may refer to the Redis Cluster implementation in Redis 3. Redis Cluster has been improved...

   REDIS,DISTRIBUTED CACHE,CLOUD COMPUTING     2019-01-17 08:10:37

  Reasons to use blue in design

Blue color is used in many product designs and logo designs such as Facebook, Microsoft, Twitter and our site. Why do companies choose blue color in their design? It's not a coincidence for them to choose blue. One saying is the color blue is associated with trust, efficiency, clarity and simplicity. Beside this reason, are there other reasons? From an interface design standpoint, blue is an incredibly useful color. Among the dark colors designers have in their toolbox, red, orange and green al...

   Design,Blue     2013-12-13 07:13:22

  China has blocked Wikipedia again

Recently lots of Chinese found they experienced problems while trying to access Wikipedia, the world's largest and most well-known free encyclopedia. It turns out that the notorious Chinese GFW(Great Firewall) is playing the critical role here. It blocks the Chinese version of Wikipedia. The reason why the Chinese version of Wikipedia is blocked is said to be that Wikipedia has changed its default protocol from HTTP to HTTPS. This change made it difficult for the GFW to filter some sensiti...

   CHINA,WIKIPEDIA,GFW,BLOCKED,NEWS     2015-12-05 19:04:12

  What does session_destroy() do in PHP?

In PHP manual, the description for session_destroy() function is : session_destroy() destroys all of the data associated with the current session. It does not unset any of the global variables associated with the session, or unset the session cookie. To use the session variables again, session_start() has to be called. I am confused about this description. If this function destroys all session data, then why the global variables associated with the session are not unset? Why can we u...

   session_destroy,session_start     2013-08-31 09:59:05