SEARCH KEYWORD -- State
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
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
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
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
Is Utah a good place for startups?
If you’re thinking of starting a business soon, then know that it’s a really good time to do so despite current circumstances. Rieva Lesonsky, a writer for the US Chamber of Commerce, highlights that today’s “new normal” has brought new customer demands and improved business technologies that you can take advantage of. In fact, many of the most successful businesses in the world, like Microsoft and Netflix, were created during an economic downturn. But this begs th...
PHP to integrate with Sign in with Google
Google has a huge user base and hence it provides an authentication service for third party service to integrate with them so that people can sign in with Google in their services. Google also adopts OAuth 2 to provide this kind of Open ID connect service. This post will introduce how to integrate with sign in with Google functionality in your PHP website. Create a client app on Google The first step you should follow is to create a Google app, you can follow the post here to create the p...
PHP,GOOGLE API,OPEN API,SIGN IN WITH GOOGLE 2019-03-03 02:00:09
git reset vs git revert
When maintaining code using version control systems such as git, it is unavoidable that we need to rollback some wrong commits either due to bugs or temp code revert. In this case, rookie developers would be very nervous because they may get lost on what they should do to rollback their changes without affecting others, but to veteran developers, this is their routine work and they can show you different ways of doing that. In this post, we will introduce two major ones used frequently by develo...
GIT,GIT RESET,GIT REVERT 2019-02-02 08:26:39
CASSANDRA data model
Cassandra is an open source distributed database, it combines dynamic key/value and column oriented feature of Bigtable. Features of Cassandra are: Flexible schema, no need to design schema first, it's very convenient to add or delete strings Support range search on keys High usability, extensible. The single node error will not affect the cluster. We can think Cassandra's data model as a 4 or 5 dimensional Hash. COLUMN Columns is the smallest data unit in Cassandra, it is a 3 dimensional data...
WireGuard VPN Troubleshooting
When you are working as a network/cluster admin for you team to config the WireGuard VPN for other members, you may meet some of the problems below and these are the solution you can try to fix them. ----------------------------------------------------------------------------------------------------------- Problem [1]: The WireGuard handshake request send from the client can be received from the server but the server's response was blocked at some where so the client can not receive serv...
WIREGUARD,VPN,TROUBLESHOOTING 2021-12-14 09:17:46
RECENT
- 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
- Power Grid Simulation System 02 : FDI Power Outage Attack Case Study
- Be Careful When Using Cursor to Help Build Application
- Calculating Token Count for Claude API Using Go: A Step-by-Step Guide
- Understanding Cursor and WindSurf's Code Indexing Logic
- more>>