Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- rationale



  A possible way to recover deleted files on Linux

Last week I was generating a MD5 sum for an virtual machine image on one OpenNebula server: # ls -l test.img -rw-r--r-- 1 root root 10486808576 Oct 12 02:21 test.img # md5sum test.img At the same time I was clearing the files on the server on another terminal and deleted the above image file mistakenly with : # rm test.img Since this image file is 10GB, it took some time to remove this file from the server, so I used the Ctrl+Z command to suspend the remove command. [1]+ Stopped ...

   Linux,File,Recovery     2013-11-26 07:03:37

  The use of Erlang in Facebook chat

Erlang  is a general-purpose concurrent, garbage-collected programming language and runtime system. It stays strong while building concurrency programs. Erlang provides language-level features for creating and managing processes with the aim of simplifying concurrent programming. It has large application in many chat service well known now such as Whatsapp and initial version of Facebook chat. Previously we have written an article Use of Erlang in WhatsApp. In this post, we will talk about...

   Facebook,Erlang     2014-02-25 07:12:36

  The Death of File Sharing

Last week’s violent government attack on the hugely popular site Megaupload — the U.S. government arresting Belgian citizens in New Zealand, of all places, and stealing at gunpoint servers bank accounts and property — has sent shock waves through the entire digital world. The first shock was the realization that the gigantic protest against legislative moves (SOPA and PIPA) that would smash the Internet turned out to be superfluous. The thing everyone wanted to prevent is al...

   File sharing,Death,Trend,Cloud     2012-02-01 04:44:06

  Permutation implementation in Java

Permutation is a very basic and important mathematic concept we learned in school. It has very practical applications in real world. For example, in football. In simple, permutation describes all possible ways of doing something. For example, there are six permutations of the set {1,2,3}, namely: (1,2,3), (1,3,2), (2,1,3), (2,3,1), (3,1,2), and (3,2,1). In general, for n items, there are n! number of permutations to arrange these items. How can we implement this algorithm in programming programm...

   Permutation,Implementation,Java,Sample     2015-03-26 02:18:14

  Remove browse button from input type=file

In Web 2.0 era, many websites will ask the user to upload their avatar when creating their profile. In HTML, the input control we should use is input="file". This is a file control provided by the browser vendor and it should be ran in a sandbox for security consideration. Browsers don't provide ways to choose file from local and upload to the remote server without the input="file" control.  There is one annoying part about the input="file", which is a default button named "Choose File" or...

   file,html,browse,remove browse button     2015-07-12 05:17:51

  Windows Security Improvements

Traenk is still upset by his recent dive into Windows security.  So much more was promised when the merger of Windows 9x and NT lines was announced, so long ago. I honestly expected better.Long ago, Microsoft announced that it would merge the then NT and Windows 9x lines of products.  Wow!  That means a file access control system, logging, different accounts and filespaces for accounts!  Finally!  We would have a secure version of Windows for our homes!And we do hav...

   Windows,Security,Improvement,Windows NT     2011-09-02 11:54:50

  Undefined property or variable in JavaScript

JavaScript is a weak type language, and also you can use a variable or property where it's undefined. If we don't have correct ways to check whether a property or variable is defined, we may get unexpected results when we try to access the,. How can we check whether a property or variable is undefined? This is actually a somewhat tricky question. Let's start off with some facts about undefined and then see what kind of function is consistent with the ones we care about. JavaScript attaches type...

   Property,Undefined,Array,JavaScript     2014-07-24 06:56:07

  A simple example of git bisect command

git bisect is a very powerful command for finding out which commit is a bad commit when bug occurs.  The rationale behind this command is that it pin locates the bad commit by divide and conquer. It divides the commit history into two equal parts, then determines whether the bad commit is at the first half or at the other half. This process will continue until the bad commit is located. Here is a really good example created by bradleyboy, this is a simple git repository which demonstr...

   GITHUB,GIT,GIT BISECT     2019-07-12 10:31:51

  The hidden risk of passing slice as function parameter

In Go's source code or other open source libraries, there are lots of cases where a slice pointer is passed to function instead of slice itself. This brings up a doubt why not passing slice directly as its internal is backed by an array pointer to point to underlying data? For example, in log package, the formatHeader function takes a parameter buf as type *[]byte instead of []byte. func (l *Logger) formatHeader(buf *[]byte, t time.Time, file string, line int) {} Let's understand the r...

   GOLANG,SLICE,SLICE POINTER     2020-12-13 06:11:14

  Password-less login

Most websites need user login in order to provide personalized content to visitors. The usual way is to request user to register an user account. Actually, this is not so appealing since if we need to remember one password for each website, it's troublesome, while for developers, it's their responsibility to protect password, once password is leaked, then it's a big headache to a website's business and reputation. So long time ago people started thinking about password-less login, this is a big ...

   Password-lesslogin,Authentication     2012-11-05 12:29:55