SEARCH KEYWORD -- DEBUGGING



  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

  Break down defer statements in GoLang

Basic Concepts What are the characteristics of the deferred statement defer in Go language? When is it usually used? The deferred statement(defer statement) in Go language has the following characteristics: Deferred Execution: Deferred statements are executed before the function containing them exits, regardless of whether the function returns normally or encounters an exception. Last In, First Out (LIFO): If there are multiple deferred statements, they are executed in the order of last in, f...

   DEFER,GOLANG     2024-02-10 21:56:10

  Flows.network: Writing an LLM Application in Rust

Over the past year, large language models (LLMs) have been booming and developing vigorously. As an enthusiast of data systems, it would indeed seem outdated not to pursue and research this hot field at all. This article summarizes my recent practical experiences attempting to write an LLM application using Rust with flows.network. Concepts Related to Large Language Models When talking about large language models, it's impossible not to mention ChatGPT and OpenAI. Although OpenAI recently change...

   LLM,RUST,APPLICATION,DEVELOPMENT     2024-09-30 21:38:04

  The basics of Client/Server socket programming

  While Client/Server communication model is ubiquitous nowadays, most of them involve socket programming knowledge. In this post, I will introduce some rudimentary aspects of it: (1) Short/Long-lived TCP connection.Short-lived TCP connection refers to following pattern: Client creates a connection to server; send message, then close the connection. If Client wants to transmit information again, repeat the above steps. Because establishing and destroying TCP s...

       2017-09-26 19:43:10

  Some useful Linux commands for teamwork

A small development team in the intranet will frequently transfer codes, share files. Here are some command we use frequently to release some of our work. They are not applicable to Windows users. 1. Output program execution output through GTalk. Sometimes we may need to send the program execution result and log to teammates for debugging using IM. These outputs are very troublesome to copy and send while in command line mode. So we could have a program called gpipe.py which can put GTalk as a p...

   Linux,NFS,GTalk,HTTP     2013-01-16 04:36:33

  Why Use Java?

 Java was developed by Sun Micro-systems back in 1995 to function as high level programming language and serve as a computing platform. This gets regularly updated with new features and better compatibility. The latest version is Java SE 8.0 which released in 2014, March. Java has gained immense popularity while there have been various platforms to match up with the Java configurations like Java SE for Macintosh, Windows and UNIX, Java ME for Mobile Applications and Java EE for Enterpr...

   JAVA APPLICATION DEVELOPMENT,JAVA WEB DEVELOPMENT,JAVA OUTSOURCING COMPANY     2018-07-06 00:05:31

  The tips of learning Linux kernel

  As the Linux kernel has become one of the most gigantic and complex software project in the world, its complication scare many novices away. In this post, I will give some personal experience on how to learn Linux kernel, and hope these tips can offer some help to newcomers. (1) Download vanilla kernel and install it. Yes, I suggest you can find a physical machine, or if you really don’t have one at hand, virtual machine is also OK. Download the newest vanilla k...

       2017-07-28 22:53:11

  Top 10 Go Coding Traps and Tips

Go is currently the most common programming language in cloud development. Though I use it very much in my work, I am still repeating certain mistakes. This article is more a record of these errors, figuring out the causes and solutions so that people who read this article will save themselves time when coming across the same problems. Let’s cut through to the tips. Don’t rely on index var in the for loop The most common mistake we make is that we often create goroutine&nbs...

   TIPS,GOLANG,NIL INTERFACE     2021-07-03 23:45:51

  Go Error Best Practice

Being indulged in Go for quite a while and having implemented web-related programs, grpc interfaces and Operators, I seem to be an advanced beginner now. However, I am still a raw hand in production-environmental debugging, which is cumbersome if done by querying logs or error messages. Imagine the scenario that a full-text search is called when the specific location of the error log is missing. Then what happens when those error logs are not only in one place? Yes, my error logs can no longer h...

   GO ERROR,ERROR HANDLING     2021-10-07 07:38:28

  The Most Effective Stretches and Yoga Poses for Programmers

Programming software takes a tremendous amount of focus and effort. Working hard to transform code into software is an exciting feeling. It’s easy to get lost in your work as the hours fly by. I’ve done this many times. However, writing code can also be frustrating in many cases. I’ve been a programmer for many years, and I still spend hours debugging. Most of the time this level of debugging requires sitting down and focusing. After many years of this, you will be a prime ca...

   YOGA FOR PROGRAMMERS,STRETCHING GUIDE FOR PROGRAMMERS,YOGA FOR DEVELOPERS     2018-07-14 07:20:25