SEARCH KEYWORD -- File upload
Guide on recovering data in MySQL
In our daily work, there might be mistakes made which got some data or even databases deleted in MySQL. If this happens on production, it would be a nightmare. In case this happens, normally DBA would jump in to save the world. And they would try to recover the data from the backup if there is any. But if there is no backup, then the show stops. Hence database backup is necessary on production environments to avoid such awkward situation. Also normally in MySQL, binlog should be enabled as well ...
Write Your Own R Packages
Introduction A set of user-defined functions (UDF) or utility functions are helpful to simplify our code and avoid repeating the same typing for daily analysis work. Previously, I saved all my R functions to a single R file. Whenever I want to use them, I can simply source the R file to import all functions. This is a simple but not perfect approach, especially when I want to check the documentation of certain functions. It was quite annoying that you can’t just type ?func&n...
DATA SCIENCE,R PROGRAMMING,DATA ENGINEERING 2019-10-19 07:20:52
A simple tutorial on writing Java native program
Java provides Java Native Interface(JNI) to enable developers to write programs which can utilize the underlying native libraries of the operating system. The benefits of writing native code are that they normally provide better performance compared to Java codes. Sometimes if you want to utilize some system specific functions you may also want to use JNI. One main drawback of writing native code is that your application may not be platform independent anymore. This is not what Java is desi...
Java native interface, JNI, Native code, Sample 2015-08-15 08:28:15
iPhone App Development: What’s New For Developers In iOS 11
A curiosity ends with the introduction of iOS 11 on 5th of June 2017. It is the next-generation version of iOS. This update takes the best and most advanced operating system and turns it up to 11. But with iOS 11 was released to the public on 19 September 2017 and since then, there have been two distinct updates to iOS 11.02 which fixed the earpiece noise during phone calls; and the major iOS 11.1. iOS 10 was an operating system update that largely ignored the iPad, but Apple made up for it in ...
The magic of go:linkname
When writing Go program, there is frequent need on using time.Sleep() function to pause the logic for some time. And if jumping to the definition of this function, can see below definition: // Sleep pauses the current goroutine for at least the duration d. // A negative or zero duration causes Sleep to return immediately. func Sleep(d Duration) I's strange that there is no function body defined here. What happened? The actual definition of the function body is residing at runtime/time.go&nb...
TRICKS,GO:LINKNAME,GOLANG 2022-04-10 08:39:00
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
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
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>>