SEARCH KEYWORD -- File recovery
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
How to find which process a file is being written by in Linux?
Some people ask a file is being written by one process and they want to check this process, but they cannot find the process even with sof. This question is very common and there are many solutions, here we introduce a straightforward method. In Linux, each file will be stored on one device and of course there will be a relative inode, then we can use vfs.write to know who is writing the inode on one specified device continuously. Luckily there is inodewatch.stp in the installation package of s...
Linux,process,file write 2013-03-16 21:44:35
New features in PHP 5.5
Just a few days ago, the PHP official website was redesigned. It seems we directly go from Web 1.0 era to Web 2.0 era. In addition to this new change, PHP 5.5 was also released. Some new features are added in this release. Here we summarize some of them. Enable OPCache by default When installing PHP 5.5, the Zend OPCache will be compiled as OPCache by default and OPCache is enabled by default. Some changes to the language itself Add Generator function getLinesFromFile($fileName) { if (!$file...
PHP 5.5,New features,Generator 2013-07-05 03:13:22
jQuery 2.0 gives up IE 6/7/8
jQuery 2.0 is released after 10 months development. jQuery 2.0 is customized for modern web browsers and also considers about mobile devices. But one big change is that jQuery 2.0 will not be compatible with old versions of IE and its size is 10% less than the version 1.9.1. The execution efficiency is higher as well. jQuery 1.9.x will still be maintained by jQuery team, they will also provide update for it. Those websites which want to be compatible with all browsers should not upgrade to...
jQuery 2.0,IE support 2013-04-20 07:58:16
Fix --go_out: protoc-gen-go: plugins are not supported
When generating RPC code using proto file template in GoLang, one may face the issue like below when running the command protoc. Error: exit status 1 Output: --go_out: protoc-gen-go: plugins are not supported; use 'protoc --go-grpc_out=...' to generate gRPC See https://grpc.io/docs/languages/go/quickstart/#regenerate-grpc-code for more information. Normally this issue is caused because the version of protoc-gen-go being used is not correct. One way to fix the issue is to follow the instructions ...
GOLANG,PROTO BUFFER,PLUGIN 2021-07-09 03:41:11
Useful git commands in daily work
In a developer's daily work, it is frequent to see lots of commits made. It would be a headache if one cannot use git commands well especially when in cases where some fixes need to be made on existing branches. There are some frequently used command such as git pull, git merge and git push. Apart from these, there are some other practical commands which may be useful for real use cases. This post will try to list some of them. git grep It will lists all files containing the searched keywo...
GIT,GIT COMMAND,GIT LOG 2022-05-01 03:17:15
How to upload file to FTP server using C# Asp.Net
This post is about uploading files to FTP server in asp.net development. You will learn step-by-step to upload files programmatically to FTP web server. All the examples shared in this post are intended by professionals to make you learn about the subject Here, I will explain you an example of Uploading Files to FTP Server programmatically in C#.Net. Using this approach, the Files will be programmatically uploaded to FTP Web Server. For example, I will create a function in which we will simply p...
ASP.NET,DEVELOPMENT 2016-06-24 08:45:37
Different types of keystore in Java -- Overview
Keystore is a storage facility to store cryptographic keys and certificates. They are most frequently used in SSL communications to prove the identity of servers and clients. A keystore can be a file or a hardware device. Three are three kinds of entries can be stored in a keystore depending on the types of keystores. The three types of entries are: PrivateKey : This is a type of keys which are used in asymmetric cryptography. It is usually protected with password because of its sensitivity. It ...
JAVA,KEYSTORE,OVERVIEW,JKS,PKCS12,JCEKS,PKCS11,DKS,BKS 2014-08-18 02:09:54
Format JSON data on Ubuntu
JSON now becomes a very popular data format because of its simplicity and light-weight. Nowadays many RESTful APIs will offer a choice of exchanging JSON data between the server and client. Sometimes the data may not be formatted and it cannot be easily read by human beings. It's frequently desired that the unformatted JSON data should be formatted before read. Today we will show a few ways to format JSON data on Ubuntu. Assume we have a json file test.json with below content. { "title": "Test"...
RUBY,PYTHON,NODEJS,JSON,JQ,PERL,LINUX,UBUNTU,YAJL 2016-08-17 11:05:09
Different types of keystore in Java -- PKCS11
PKCS11 keystore is designed for hardware storage modules(HSM). It's an interface to talk to the HSMs. It doesn't actually store any keys but provide a set of classes to communicate with the underlying HSM. The actual keys and certificates are stored on the HSMs. The reason for storing the keys and materials is to ensure security and efficiency. Since the keys are on the HSMs, they are safe to be stolen. All encryption/decryption operations are performed on the HSMs as well, this incre...
RECENT
- How Artificial Intelligence Is Helping Fight Environmental Challenges
- How to Deal with Accusations of Negligence as a Business
- Google's Business Operations in China Amid Antitrust Scrutiny
- Deploying DeepSeek-R1 Locally with a Custom RAG Knowledge Data Base
- Balancing Convenience and Security in the Digital World
- My AI Learning Journey: Exploring the Future of Technology
- Power Grid Simulation System 02 : FDI Power Outage Attack Case Study
- Be Careful When Using Cursor to Help Build Application
- Calculating Token Count for Claude API Using Go: A Step-by-Step Guide
- Understanding Cursor and WindSurf's Code Indexing Logic
- more>>