SEARCH KEYWORD -- Finite state machine



  The evolving history of asynchronous operation in JavaScript

JavaScript is single threaded, it means there would be only one task running at any point of time. But this would slow down the overall program execution if there is long running task, hence asynchronous task execution is desired in complex cases. To achieve asynchronous task execution, there are a few options introduced in JavaScript. setTimeout/setInterval Event Promise Async/Await setTimeout/setInterval is one of the first mechanisms introduced in JavaScript to simulate asynchronous operati...

   JAVASCRIPT,ASYNC,PROMISE,AWAIT     2019-11-09 08:21:56

  How deep should unit test go?

There is a question on Stackoverflow which says "How deep are your unit tests?". It is asked by a guy named John Nolan. The question is not too new, but what catches me is the Best Answer given by Kent Beck, who is the creator of Extreme programming(XP) and Test Driven Development(TDD). Let's look at the question first. The thing I've found about TDD is that its takes time to get your tests set up and being naturally lazy I always want to write as little code as possible. The first thing I seem ...

   Unit test,TDD,XP     2012-09-03 10:11:27

  Be Careful When Using Cursor to Help Build Application

Below are some tips or tricks when building application with Cursor. These lessons are based on my recent experience while building a Sudoku game (just wanna test Cursor's capability). Do commit frequently. Recommend doing commit for every big change (a new feature such as a new button added for some function, some big UI change like added some new component changing the UI layout a bit) Test everything (regression testing) after doing big change. It may affect existing functions when adding n...

   TIPS,AI,GUIDE,CURSOR,DRAWBACKS     2025-01-05 03:37:00

  Books for entry level C programmers

In computing, C is a general-purpose programming language initially developed by Dennis Ritchie between 1969 and 1973 at Bell Labs Its design provides constructs that map efficiently to typical machine instructions, and therefore it found lasting use in applications that had formerly been coded in assembly language, most notably system software like the Unix computer operating system.To learn C, we need to read many C books and have many practices. Here we summarize a list of C books which may h...

   C,Book,Beginning     2012-07-26 14:00:51

  Mastering a New Programming Language: A Professional Guide

Introduction Learning a new programming language can seem daunting, but with the right approach, anyone can become proficient in a new language. Whether you're a beginner or an experienced programmer, mastering a new language can open up new opportunities in your career and enable you to tackle new and exciting programming challenges. In this guide, we'll provide you with a step-by-step process for mastering a new programming language. Step 1: Choose a Language and Set Goals The first step in ma...

   PROGRAMMING,GUIDE,TIPS     2023-04-22 02:52:00

  Screen recording in Windows 10

Have you ever wondered how to take screen recording easily on Windows? Normally you would think to download some software online and install it on your machine such as Camtasia. However, many of them are either non-free or uneasy to use. Fortunately, there is a built-in tool provided in Windows 10 which can be used to take simple screen recording plus audio recording. The tool is called the Game Bar which is primarily intended for gamers to take screenshots of their plays and achievements. Don't...

   WINDOWS 10,GAME BAR,SCREEN RECORDING     2018-03-06 11:42:07

  Let 's write some front end codes

I've seen a lot of arguments that there is no much technical value writing web portal, I think that the vast majority of good programmers will try many different things. The low level development and machine learning are not the only technologies which are  full of wisdom and challenges, I wrote web site for a few years, it is difficult to say that this is my initial interest, although I touched on other technologies as well, I still feel building website is challenging. Front end developme...

   Front end development, JavaScript,CSS     2013-01-22 04:00:24

  Python PLC Honeypot: Env Deployment And Attack Detection

In the previous article, we introduced the design of Python PLC Honeypot Project, this article will provide detailed step-by-step instructions on how to deploy and use the honeypot system in your environment for detecting potential attacks on OT (Operational Technology) networks. The article includes three main section:   Design of Attack Alert and Notification Function Honeypot deployment: an example deployment of a mixed OT protocol honeypot, consisting of a simple setup with...

       2024-12-01 00:27:33

  How does GoLang know how many CPUs to use?

When running lscpu command on Linux, it will list the CPU info on the machine. Take one example where there is one CPU with 2 cores and each core has two threads which indicates there are 4 cores available. Now let's see how many cores GoLang program would identify. From output, NumCPU and GOMAXPROCS both output 4 which is expected. How does go runtime get this info, does it get it through similar command like lscpu or /proc/cpuinfo? Let's dig more in GoLang's source code. In runtim...

   GOLANG,CPU,NCPU     2020-12-29 23:22:15

  Google Allo - Changing the way people chat

Google released a new smart messaging application a couple of weeks ago -- Google Allo. At first glance, it has no much difference than other mature messaging applications on the market such as What's App, Line, WeChat. It has a concise and easy to use user interface and comes with stickers, doodles, and HUGE emojis & text. But do we really need a new messaging application which is similar to others in most aspects? The answer is MAYBE. From its description, it claims it's a SMAR...

   GOOGLE,AI,GOOGLE ALLO,GOOGLE ASSISTANT     2016-10-03 09:44:51