Thunderbird is powerful and feature rich. But different users have different needs and it is not feasible to include all features into the base software, where a plugin system shines. Thunderbird, similar to Firefox from Mozilla, supports addons/plugins and has a large ecosystems. Here, we will introduce several addons to Thunderbird that make Thunderbird easier
Read more
Category: Tutorial
How to test a file or directory exists in Go?
Posted onHow to test a path (a file or directory exists) in golang? In Bash, the [ -e ] tests can test whether a file or a directory exist. What are the corresponding Go ways for the test? You can use the `os.Stat()` and `os.IsNotExist()` standard libraries functions together to test whether a file or a
Read more
File system Inode flags: difference between FS_IOC_GETFLAGS and FS_IOC_FSGETXATT
Posted onWhat is the difference between FS_IOC_GETFLAGS and FS_IOC_FSGETXATTR ioctl commands? What flags do both return? The comment in fs.h is clear enough to explain itself. In short, FS_IOC_GETFLAGS was for ext2/ext3 only, and FS_IOC_FSGETXATTR is a generic FS level interface. Full comment as follows for your reference (source): /* * Inode flags (FS_IOC_GETFLAGS / FS_IOC_SETFLAGS)
Read more
Port forwarding on local host
Posted onI am trying to forward UDP port 500 to 2500 on local host, but can’t get this to work – I have run: iptables -t nat -A PREROUTING -p udp -d 192.168.1.10 –dport 500 -j DNAT –to-destination 192.168.1.10:2500 iptables -A FORWARD -p udp -d 192.168.1.10 –dport 2500 -j ACCEPT where 192.168.1.10 is the IP of
Read more
How to convert a string to lower case in Python?
Posted onHow to convert a string to lower case in Python? For example: “Abc” -> “abc” “BBB” -> “bbb” “abc” -> “abc” You can use the string.lower() method of Python: string.lower(s) Return a copy of s, but with upper case letters converted to lower case. Example: $ python Python 2.7.5 (default, Apr 11 2018, 07:36:10) [GCC
Read more
System Call Tracking without ptrace,strace,etc.
Posted onHow could I log system calls made by another process without using current built in functions like ptrace, strace, audit etc. I think two options are intercepting the system call table, and another is modifying the entry_64.s file. I want to output these system calls to a file. Can’t find any suggestions on this anywhere.
Read more
How to filter bbpress content in WordPress
Posted onIn WordPress, we can filter the post content by adding a filter to the_content: add_filter('the_content', 'inline_markdown_pre_process_shortcode2', 7); But how to filter the content for bbpress contents? bbpress topic and reply (they are separated) content have their own filters: bbp_get_topic_content and bbp_get_reply_content. For example, add_filter(‘bbp_get_topic_content’, ‘my_plugin_custom_bbp_function’); add_filter(‘bbp_get_reply_content’, ‘my_plugin_custom_bbp_function’); function my_plugin_custom_bbp_function($content) { return ‘my_plugin_custom_bbp_function processed: ‘.$content; }
Call a Function by Its Name as a String in PHP
Posted onIn PHP, it is possible to call a function by its name as a string. This can be useful when the name of the function is not known until runtime, or when the name of the function is stored in a variable or retrieved from a database or other external source. To call a function
Read more
Handling Sparse Files on Linux
Posted onSparse files are common in Linux/Unix and are also supported by Windows (e.g. NTFS) and macOSes (e.g. HFS+). Sparse files uses storage efficiently when the files have a lot of holes (contiguous ranges of bytes having the value of zero) by storing only metadata for the holes instead of using real disk blocks. They are
Read more
gdb like step by step debugger for Python
Posted onAny good debugger for Python that is like gdb so that the code can be executed step by step for debugging purpose? You might check pdb. You can debug a program such as prog.py by invoking it through pdb: python -m pdb prog.py Common gdb commands can be found in pdb: (Pdb) h Documented commands
Read more
How to open a port in iptables?
Posted onHow to open a port, say 3389, in iptables to allow incoming traffics to it? There are several cases for this question: ipv4 or ipv6 or both, TCP or UDP or both and which interface? For simplicity, I give commands to allow all (ipv4 and ipv6, TCP and UDP from all interfaces) using port 3389
Read more
How to Add a File Based Swap for Linux
Posted onWe may want to add some swap space for a Linux box while only find that all disk space is partitioned and mounted. Some partition has large available free space. For such cases, we may not want to change the partition allocation. The solution may be to add a file based swap for Linux as
Read more
How to divert connection or packet before routing decision entering the default
Posted onbefore the packets ports (443) entering the firewall i would like to divert incoming packet of server (443) to input chain goes to FORWARD chain<br> so thats the incoming packets 100.43.xx.xx –sport 443 are send it to FORWARD instead of input chain<br> how to configure this in OUTPUT,FORWARD,POST AND PREROUTING CHAIN and this is my
Read more
How to check whether a file of a given path is a block device in Python?
Posted onHow to check and test whether a file of a given path is a block device in Python? This can be Linux specific. You can use the os.stat() function to get the stat of the path. Then use the stat.S_ISBLK() function against the stat’s .st_mode to test whether it is a block device. An example:
Read more
How to get the full path and directory of a Python script itself?
Posted onIn a Python script, how to get the full path and directory of the Python script itself? To get the path of the current file (the script itself), you can use __file__. To resolve any symbolic links in the path, you can use os.path.realpath(). Putting them together, you can do os.path.realpath(__file__) to get the full
Read more
How to test a file or directory exists in C++?
Posted onHow to test a path (a file or directory exists) in C++? In Bash, the [ -f ] and [ -d ] tests can test whether a file or a directory exist. What are the corresponding C++ ways for these tests? To test whether a file or dir (a path) exists, you may call stat()
Read more
How to turn off WiFi and bluetooth easily in iOS 11?
Posted onThe WiFi and bluetooth icons in iOS 11’s control center only disconnect the WiFi and Bluetooth connection being used while leave the WiFi and bluetooth enabled. This costs power. In the Settings app, the WiFi and bluetooth can be disabled totally. But the steps are tedious. How to rurn off WiFi and bluetooth easily in
Read more
How to improve video rendering quality in MPlayer
Posted onMPlayer has lots options for video rendering and filtering. Any suggestions on good MPlayer options that improve video rendering quality nicely? My ~/.mplayer/config is as follows with 2 profiles: [fast] vf=eq2 [default] vf=hqdn3d vo=gl:yuv=3:lscale=5:cscale=5 ao=pulse The default one gives good video quality by using the hqdn3d video filter while the CPU usage is high. If
Read more
How to decode a quoted URL in Python?
Posted onHow to decode a quoted URL in Python? For example, an quoted URL as follows https://www.example.com/tag/%E9%93%B6%E8%A1%8C/ should be decoded to https://www.example.com/tag/银行/ In Python 3, we can use `urllib.parse_plus()` (for URL only). One example is as follows. $ python3 Python 3.6.8 (default, Oct 7 2019, 12:59:55) [GCC 8.3.0] on linux Type “help”, “copyright”, “credits” or “license”
Read more
How to configure /dev/shm size of Linux?
Posted on/dev/shm is a nice in memory disk on Linux. The default size seems half of the physical memory’s size. How to configure shm size of Linux? And what’s the consequence? To change the configuration for /dev/shm, add one line to /etc/fstab as follows. tmpfs /dev/shm tmpfs defaults,size=8g 0 0 Here, the /dev/shm size is configured
Read more