SEARCH KEYWORD -- Finite state machine



  JavaScript finite state machine

Finite state machine is a very useful design model, it can be used to simulate many events in the world. In short, finite state machine has three features: Number of states is finite At any moment, one object can only be in one state In some condition, it will transfer from one state to another state In JavaScript, finite state machine can be applied in many places. For example, one menu element on a webpage. When the mouse hovers on the menu, the menu will show up, while the mouse moves away...

   JavaScript,Finite state machine,State     2013-09-02 11:00:57

  Reset submodule to checkout state in git

Sometimes there would be a submodule or some submodules within one git repository, in some cases the submodule may be out of sync with the checkout state as some files in submodule may be changed unexpectedly. How to reset the submodule to be the same as the original checkout state? Let's take an example that we have a git repository A and there is a submodule called ruby-gems under it. Assuming the submodule at remote origin has commit a. And on our local environment, the repository A has a la...

   GIT RESET,GIT SUBMODULE     2020-09-05 08:30:57

  Chrome time machine : Chrome starts from 0 to 1

Time flies, Chrome has been around us for four years since its birth. The Chrome team launched a Chrome time machine on Google's official blog, you just need a simple click or scroll back and forth with mouse, it will show you what happened to Chrome in last four years. If you find clues hidden between the lines, type a few mysterious characters, you may also be able to find a special birthday gift prepared by Chrome team.Four years, Chrome started from scratch and now it's the No.1 web browser...

   Chrome time machine,4 years     2012-09-05 06:54:05

  Create host only network on VirtualBox

Previously we showed how to install Ubuntu in VirtualBox. What if we want to communicate with the host OS from within the Guest OS on VirtualBox? There are a few ways to do this. For example, bridged network, Host only networks. Today we will show you how to enable network communication between host OS and guest OS using host only networks. A host only network will not need to access the physical network interface of the host OS. It will create a network between different virtual machines and th...

   VIRTUALBOX,NETWORK,VIRTUAL MACHINE,HOST-ONLY     2015-12-01 09:29:13

  CSS3 animation vs CSS3 transition

Both CSS3 animation and CSS3 transition can be used to transition an element in a webpage. They can be used to transition some CSS properties within a given period of time. They have many similarities. They do have a few differences as well. So an user needs to understand the differences between them in order to better use them in different scenarios. First, let's see an example on how to change the width of a div from 100px to 200px within 2 seconds when hovering on it. With CSS3 animation , th...

   CSS3 animation,CSS3 transition, Difference     2015-06-15 08:46:39

  Guide for installing Ubuntu in VirtualBox on Windows

Have you ever tried to have two OSs installed on your PC? Do you want to try out the new Ubuntu system? If you do want to use Ubuntu when at the same time you are using Windows, you may want to install your Ubuntu in an VirtualBox. In this post, we will show you how to install Ubuntu in VirtualBox on Windows. Pre-requisites VirtualBox -- You can download it from Oracle. Ubuntu -- You can download it from here. Please note it should be an ISO file The Ubuntu used in this post is Ubuntu 12.04 LT...

   Ubuntu,Windows,VirtualBox     2014-01-15 03:21:05

  Frequently used explanations of programmers

As a programmer, I think many of us have something like these below in our daily work. From these explanations, we may get to know different programmer's characteristics. Below are something we may say frequently. Don't be too serious about them.It's working on my computerI never heard about this beforeIt was working normally yesterdayOk, this is a bugHow is it possible?This must be the problem of the machine or the environmentDo you update your operating system?Must be the problems of client...

   Explanation,Programmer     2012-04-25 08:07:43

  Use downcase! with caution in Ruby

Ruby provides ! to change state of some object in place. Hence if you see some functions have ! appended, it means the state of the caller of the function is expected to be changed. This is a very interesting Ruby feature. But sometimes one should be cautious when using this kind of functions because you would get unexpected behavior if using improperly. Let's take an example of String#downcase!. According to the documentation. Downcases the contents of str, returning nil if...

   RUBY,EXCLAMATION MARK,DOWNCASE     2017-02-10 06:34:44

  Why TCP needs 3 handshakes

Prerequisite Knowledge First, let's look at the control bits and state machine of TCP, which form the basis for understanding the three-way handshake of TCP. TCP Packet Control Bits The control bits in the TCP packet header are used to control the status of the TCP connection and can indicate various control information such as connection establishment, termination, reset, etc. There are six common control bits: SYN (Synchronize Sequence Numbers): Requests to establish a connection (part of the...

   REASON,NETWORK,TCP,EXPLANATION,HANDSHAKE     2024-09-28 08:57:52

  What and what not to log while debugging

Log is a critical part of an application. It serves as an eye to the programmer on how the application is working while debugging. Especially for applications running on production environment, if the application encounters problem and the problem cannot be reproduced on other environments, log will be extremely useful. While log is essential, but developers have to log smartly. Because if don't put log smartly, you may not get what you want while debugging or you may get too many...

   PROGRAMMING,DEBUG,LOG,SUPPORT     2016-03-14 08:09:03