SEARCH KEYWORD -- SYSTEM



  A HTTPS client and HTTPS server demo in Java

In this post, I will create a HTTPS server and HTTPS client demo which can establish HTTPS communication between a server and a client using Java. This should be very useful when we want to test our understanding about SSL communication. We will use both a detailed SSL client and a simple HttpsURLConnection as the HTTPS client. Before creating the actual HTTPS server and HTTPS client, we first need to generate the keystore and truststore to be used by the server and client. To generate the keyst...

   SSL,HTTPS,JAVA,DEMO     2015-10-23 09:04:36

  How to reset root password in MySQL 8

The user password in MySQL is stored in the user table, the password reset is actually to change the value of record in this table. To change the password in case the password is forgotten, the idea is to bypass the authentication of MySQL and get into the system and update the record password value with SQL command. In MySQL 5, one can start MySQL service with --skip-grant-tables option, this option will tell the service to skip loading the grant tables when starting, hence the root user can lo...

   MYSQL,PASSWORD,MYSQL 8     2018-12-24 21:27:13

  Different types of keystore in Java -- DKS

Domain KeyStore(DKS) is a keystore of keystore. It abstracts a collection of keystores that are presented as a single logical keystore. Itself is actually not a keystore. This new keystore type is introduced in Java 8. There is a new class DomainLoadStoreParameter which closely relates to DKS. To load different keystores into the single logical keystore, some configuration is needed. Here is the format of the configuration for grouping different keystores. domain [ ...] { keystore [ ....

   Java,keystore,DKS,tutorial     2015-01-20 02:27:27

  10 notorious computer virus

The history of computer virus is the same as computer history. With more and more powerful computers, virus also are smarter and harder to be detected and killed. They have big impact on data security and system usability. We introduce 10 notorious computer virus in the history. 1. Creeper In 1971, the Creeper virus, an experimental self-replicating program, is written by Bob Thomas at BBN Technologies. Creeper infected DEC PDP-10 computers running the TENEX operating sy...

   Computer virus,History,Security     2013-07-16 21:09:22

  What can we do about Facebook?

Around 4 years ago, we have posted an article Is Facebook becoming Tencent like? to analyze the strategy Facebook adopted to build its technology empire at that time. Today, we would continue this discussion since the story seems not end there. Facebook is still on the way of copying others. The latest victim being copied is Snapchat where lots of its new features have been copied by Instagram -- an app owned by Facebook. This has helped Instagram acquired lots of active users, especi...

   FACEBOOK,OPINION,SNAPCHAT,NEWS     2017-08-11 10:39:37

  Create temp file in Bash using mktemp and trap

When working on Linux Bash, sometimes there is need to create temporary file. A common way of creating temp file on Linux is creating some file in /tmp directory. However there is security risk when creating temp file in /tmp directory. This post will show how to securely create temp file in Linux Bash. When creating file in /tmp directory, there are some security risks. This directory can be accessed by any user on the system, any user can write data into this directory as well. The files creat...

   LINUX,MKTEMP,TRAP,TEMP FILE     2019-12-30 23:28:23

  My favorite quotes from "The design and evolution of C++"

"The design and evolution of C++" is a book written by the inventor of C++  Bjarne stroustrup. In this book, Bjarne stroustrup presents the definitive insider's guide to the design and development of the C++ programming language. Without ommitting critical details or getting bogged down in technicalities, Stroustrup presents his unique insights into the decisions that shaped C++. In this book, some statements are very impressive. They are concise but convey much information. Here I summariz...

   C++,statements,type system,compatibility     2012-07-16 10:58:10

  A Quick Look at the Services Offered by RDBMs vs. NoSQL

The world of IT has to deal with the issue of data storage. The reason for this is that there is plenty of data produced and created daily on the internet and on various business applications. In the past, RDBMs or Relational Database Management Systems were used for storage. Even though they are still used today, there are other offerings that present competition and anyone wishing to purchase data storage systems needs to make comparisons.  One such competing system is NoSQL or Not Only ...

   NOSQL,DATABASE,RDMS,DATABASE SUPPORT     2015-11-06 04:52:54

  Features of Google Android 4.1 Jelly Bean

In today's Google IO 2012 in San Francisco, Google announced its new Android system Android 4.1 Jelly Bean. It's a whole new Android OS and many new features are added to it. Let's check out what new features are added to Jelly Bean.1.  Projector ButterIt uses VSync and Tripple buffering to improve the interactivity experience and increase frame rate. It makes Jelly Bean the fastest and smoothest Android ever2. New home screenYou can customize the home screen. You can re-size the home scree...

   Android, Google IO, Android 4.1, Kelly Bean     2012-06-27 12:49:49

  String.length() vs String.getBytes().length in Java

In Java, String.length() is to return the number of characters in the string, while String.getBytes().length is to return the number of bytes to represent the string with the specified encoding. By default, the encoding will be the value of system property file.encoding, the encoding name can be set manually as well by calling System.setProperty("file.encoding", "XXX"). For example, UTF-8, Cp1252. In many cases, String.length() will return the same value as String.getBytes().length, but in some ...

   Java,UTF8,String,Encoding,Sample     2015-04-01 22:22:23