SEARCH KEYWORD -- ABSTRACT CLASS
The internals of slice in GoLang
There are 3 components of slice:a) Pointer: Points to the start position of slice in the underlying array;b) length (type is int): the number of the valid elements of the slice;b) capacity (type is int): the total number of slots of the slice. Check the following code: package main import ( "fmt" "unsafe" ) func main() { var s1 []int fmt.Println(unsafe.Sizeof(s1)) } The result is 24 on my 64-bit system (The pointer and int both occupy 8 bytes). In the next example, I will use gdb to poke t...
Generate certificate in Java -- Self signed certificate
This is the first post in this series which I will show you how to generate SSL certificate in Java programmatically. Certificates are frequently used in SSL communication which requires the authentication of server to client. This is to make the client to trust that the server is actually the one it claims. Certificates are really important on the Internet. All HTTPS communications on the Internet need the server side to present their certificates signed by trusted CAs. The basic flow of a requ...
Java,Certificate,X509 2014-07-30 07:42:18
Why no max/min function for integer in GoLang
You may notice that there is no max/min function provided to compare the maximum/minimum of two or more integers if you are a GoLang developer with some experience . In other languages, these functions are provided as part of the core lib functions. Have you wondered why? Indeed GoLang provides max/min function in math package, but they are used for comparing float64 data type. The signature of these two functions are math.Min(float64, float64) float64 math.Max(float64, float64) float...
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...
A strange behavior of printing struct with nested struct in GoLang
Normally when trying to print a struct , we would use %v to show all data of the struct. It will print the default format for each field in the struct. %v the value in a default format when printing structs, the plus flag (%+v) adds field names But recently we observed a strange behavior when printing a struct with nested struct which has a String() string implemented, the %v format prints an 'unexpected' output per our understanding. Let's see the example snippet first. pa...
PROGRAMMING,GOLANG 2018-10-29 09:59:49
Send email using PHPMailer on GoDaddy hosting
According to PHPMailer troubleshooting guide, GoDaddy has a very strict rule on sending email using PHPMailer. Popular US hosting provider GoDaddy imposes very strict (to the point of becoming almost useless) constraints on sending an email. They block outbound SMTP to ports 25, 465 and 587 to all servers except their own. This problem is the subject of many frustrating questions on Stack Overflow. If you find your script works on your local machine, but not when you upload it to GoDaddy, ...
Use cases of Java enumeration
JDK 1.5 introduces a new type -- enumeration. In Java, it's just a small feature, but it can bring us much convenience.Here we summarize some use cases of Java enumeration. 1. Constant Prior to JDK 1.5, we can define constant as public static final..., now we can use enumeration to group all constants in one enum variable and it also provides some useful functions. public enum Color { RED, GREEN, BLANK, YELLOW } 2.In Swit...
Java, Enum,enumeration 2013-01-05 09:15:30
Tips for improving PHP efficiency
0. Using single quote to replace double quote to enclose string literal, this will be a bit faster. Because PHP engine will search variables in double quoted string. 1. If a method in class can be declared as static, then make it static, this will be 4 times faster. 2. $row["id"] is 7 times faster than $row[id] 3. echo is faster than print, and you should use multiple parameters instead of string concatenation, i.e use comma(,) instead of dot(.) to concatenate string. For example echo $str1,$str...
PHP, efficiency, tips 2012-10-01 19:39:06
Capture video stream with WebRTC
WebRTC(Web Real-Time Communication) is an API supporting real time audio and video communication through a browser. It is now a recommended W3C standard. This post is to show you how to capture video stream and screenshot with WebRTC. Capture video stream To play video stream from the video camera, we first need to put a video tag in our code: <video id="video"></video> The main function to get the video stream is the navigator.getUserMedia, as of now only few of the browsers support...
WebRTC,Video,Screenshot 2013-10-24 21:04:41
Do We Really Need Wi-Fi in Schools?
Why do I think Wi-Fi is needed in schools? Times have changed. We need to adapt to the changes. I believe the internet is probably the most important tool available today. The world- wide web contains information about anything you could possibly want or need to know. It allows an even playing field for people who don’t have the information and knowledge to be able to get it. Students today are the future. They need to be able to access as much knowledge as possible to be...
RECENT
- Create Multiple Page PDF with Top and Bottom Margins using jsPDF addImage
- Use a Simple Web Wrapper to Share the Local DeepSeek-R1 Model Service to LAN Users
- Introduction to the pwru Tool and a Case Study
- DeepSeek-R1: The New AI Model Shaking the World
- 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
- more>>