Set Which Command to Run for Specific File Type in Midnight Commander
Create command Menu >> Command >> Edit extension file Go to '### Includes' section at bottom of file Add open with Bash: include/bash Open=/bin/bash %f Bind a file type to command Menu >> Command >> Edit extension file Go to '### Documents' section roughly above Includes section Add a file type to open with include/bash: shell/i/.sh Include=bash ...
Read post
AI = Instincts + ML
Formula AI = Instincts + ML Components Instincts: Genetic, known data, known processes, classic algorithms, etc. ML: Neuralnet, SVM, D-Tree, etc. ...
Read post
Terms in Reinforcement Learning Based on Bellman Equation
Q-learning The method of learning based on Bellman equation Q-function The function used by Q-learning to calculate q-value Q-value The output of q-function Q-table The q-function in the form of a table This table can take a huge and scary amount of RAM Q-network (DQN) The q-function in the form of a neuralnet This function is less accurate but takes much much less RAM Deep Q-Network is another term for q-network. ...
Read post
Encrypted Email Services, Pros and Cons
Tuta (free) Pros: Reputation (first ever E2EE mail), fast Cons: Search range of 1 month from present date for free users, login with email instead of username Proton (free) Pros: Full search range (Tuta can organise in folder tree), login with username (shorter but not even everyday logging in), comes with Proton Pass (same password for a few trusted services isn't a problem) Cons: Small (500 MB) Mailfence (free) Cons: Not even usable, "Authentication disabled for some time" always P...
Read post
Customise Websites for Different Screen Sizes the Easy Way
Many websites have left-aligned design and don't look nice on large display, eg home desktop display for gaming. How to customise it with just a single CSS line Install Stylus extension Open the site Create CSS for the site using Stylus eg. body { padding-left:200px; } Align it to centre or from around 25vw should be nice Add padding-right also if the UI is shifted. ...
Read post
Methods of Accessing Local Files in JavaScript
Modern (File System Access API): https://developer.mozilla.org/en-US/docs/Web/API/Window/showOpenFilePicker From Input tag (File Reader API): https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsDataURL From Sandbox File System (OPFS): https://developer.mozilla.org/en-US/docs/Web/API/File_System_API/Origin_private_file_system ...
Read post
How to Autofill into Desktop Apps
In web browser, it's rather simple to use browser built-in password manager or vault extension to do auto-filling of passwords, however, it's not popular to do auto-filling of passwords in desktop environment. Some games are a bit frustrating by enforcing player to enter password again and again each launch. Here's how to do auto-filling in desktop environment: Install X-Mouse Buttons Assign the password key sequence to middle-mouse Use middle-mouse for auto-filling instead of left mouse butt...
Read post
Services for Hosting HTML Websites
Tiiny.host Host only 1 site per account, cant publish multiple books Uncertain service continuation in the future Static.app Bad business, advertised as free but just free trial, site is down after Also uncertain future Dropbox Good, reliable, but fits to share page by page only ...
Read post
Choices for Essential Accounts
Anyone should use E2EE tech by now 2024, it's crucial. Some essential stuff: Email (to create accounts), Vault (to access accounts), Extra: Cloud Drive (a generic storage). Set 1: Tuta Mail (first E2EE email service ever). Bitwarden (top 1 open-source vault). MEGA (top 1 free encrypted drive). Set 2: Proton as a whole: Proton Mail, Proton Pass, Proton Drive. Set 2 has some contras: Proton Mail is slower than Tuta Mail, small 500 MB. Proton Pass is rather okay, with TOTP feature free. Proton...
Read post
How to Fix MEGA Error "Invalid Sync Status Due to Too Many Changes in Your Account"
MEGA Error "Invalid Sync Status Due to Too Many Changes in Your Account" Solution 1: Open MEGA app from systray, click 'Force Full Scan'. This option may not work, may take unlimited time like freezing (as per my experience). Solution 2: Open MEGA app, remove the folder with the error notice. Wait for MEGA to do "Saving synchronised folders". Add back the folder, MEGA will to scanning (possibly checksums), wait for it to be done. That's fixed. This seems faster and never freeze. ...
Read post
How to Make Webpack and Import Statement in JavaScript Understand the Same Paths
Example project structure project/ src/ mod1/ mod2/ app.js mod1 (symbolic link) -> src/mod1 mod2 (symbolic link) -> src/mod2 pack.sh Inside JavaScript code import mod1 from "/mod1/file.js" import mod2 from "/mod2/file.js" When run Webpack inside pack.sh, all the root slashes will make Webpack to find in src dir instead of current working directory. Browser also understand the same, the root slash means from src dir, if Ngix aliasing there. ...
Read post
Electron and Exception/Rejection without Code Lines
Some calls to Electron, eg. nativeImage., webContents. won't tell the code lines when bugs happens. It shows the lines in Electron bundles those are kinda vague. Example: https://github.com/electron/electron/issues/7657 TypeError: Error processing argument at index 0, conversion failure from To avoid those bugs, always check value before passing to Electron. ...
Read post
Make Resizable Corner in HTML and CSS
#My-Div { resize:both; overflow:auto; } ...
Read post
CSS Flex Flow in Multiple Columns Similar to float:top
float:top doesn't exist, flex layout can make something similar to it. This trick is used in Netblen MOS new tab columns. Sample: https://jsbin.com/gijiniqani/edit?html,css,output HTML <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>JS Bin</title> </head> <body> <div style="height:52px; display:flex; flex-direction:column; flex-wrap:wrap; align-content:...
Read post
How to Force Renew Specific Cert with Certbot by Let's Encrypt
sudo certbot renew --force-renew --cert-name CERTNAME # CERTNAME is a main domain inside /etc/letsencrypt/live dir ...
Read post
Human Vision and the UI of Apps and Games
Human vision is elliptical, for the 4 rims of display, it easier to see the central parts. And thus, the 4 corners are for showing UI displaying statuses only, not to click use directly most of the time. ...
Read post
How to Embed Image from Google Drive to HTML IMG Tag
Example image link from Google Drive (no need to enable anyone with the link to view): https://drive.google.com/file/d/1YmI4i04yhXIHBfDgrVjGQkZDbXWAihx5/view Change the URL to: https://drive.google.com/uc?id=1YmI4i04yhXIHBfDgrVjGQkZDbXWAihx5 UC means user's content, remove anything after id. The above URL will be available to logged-in user. If to be published to blog, enable 'anyone with the link' can view. ...
Read post
Key Bindings for Battlefield and Other Shooters
...
Read post
Proton E2EE Service Set
Proton E2EE Service Set is nice, all the essential stuff. However, there are some features don't fit what I want: Proton Pass: The PIN lock needs the timeout to lock: The 'Lock Extension' button on extension popup doesn't work Proton Mail: Email service storage is a bit small, only 500MB free Proton Drive: The storage size is extremely small, can't use this, 500MB free. Good services: Proton VPN: Fast and free, usable level of bandwidth. Proton Calendar: Good just as any other calendar. ...
Read post
Army Ranks
Top 11. Marshal of all armies. Superemes 10. General (Army) 9. Lieu. G (Corp) 8. Maj. G (Division) Between Senior & Supreme 7. Brigadier (Brigade) Seniors 6. Colonel (Regiment) 5. Lieu. C (Battalion) 4. Maj. C (Battalion) Juniors 3. Captain (Company) 2. Lieu. (Platoon) 1. 2nd Lieu. (Platoon) ...
Read post
Disable Password for Sudo Users when Already Logged In
Command sudo visudo Enable or add these lines # Existing line root ALL=(ALL) ALL # Line A: Existing line %sudo ALL=(ALL) ALL # Line B: Add or change the above line to: %sudo ALL=(ALL) NOPASSWD:ALL Important Line A and line B must be in the above order, if line A is after, it overwrites the NOPASSWD option to empty and the line B that disables password makes no sense. ...
Read post
JS: How to Import in Raw Source Code and Webpack the Same Way
Relative JS imports in a file in a deep folder structure is crazy with double-dots: ../ However, browser will allow only: / or ./ or ../ Webpack can't understand ./ nor ../ because it runs in a current working dir, not resolving using hostname and URL the way browser does. There's 1 option to fit both browser & Webpack: The root slash Always use root slash / in import so browser will resolve from root after hostname Webpack consider / as the root of file system However, if a symbolic ...
Read post
How to Create SSH Hostname without /etc/hosts
The file /etc/hosts in WSL is always overwritten by the contents from Windows every time when WSL start. Changes applied to it will be removed. If using with SSH, a short hostname can be created in ~/.ssh/config file. For example, use server1 instead of server1.mycompany.com: Add to ~/.ssh/config file: Host server1 HostName server1.mycompany.com ...
Read post
Crazy Bars in Browsers and Software in the Past
Browsers used to have all these bars: Title bar Menu bar Tool bar Address bar Bookmark bar Tab bar Status bar They have change into using only these: Omni-bar (1. title, 6. tabs, 2. menu button, 3. tools/extensions) Address bar (4.) Bookmark bar (5. optional, some people don't use) Status bar (7. optional, overlay) If not using optional bars above, they'll be: Omni-bar Address bar ...
Read post
The Obsolete Desktop in Modern Use
Windows has a desktop, designed to put anything there, shortcuts, documents. However, in modern use, users work a lot on the web and not offline files, every file is only and desktop will be just app icons only. When using desktop to put app icons only, it seems redundant. Taskbar can hold ready to use apps, running apps; and Start Menu hold the rest of apps. Desktop in my personal use is just to show a nice background. No icons. ...
Read post
How to Break If-clause in JavaScript
People often don't think of using this break statement inside if-clause, but it's sometimes very useful. For example, without break, another code indentation depth to be added if (cond1){ do1(); if (cond2) { do2(); } } But if with 'break' statement, it's neat: if (cond1){ do1(); if (!cond2) break; do2(); } However, break inside if-clause is illegal, a trick with 'for' loop should work: for (let _ of [1]) if (cond1){ do1(); if (!cond2) break; do2();...
Read post
How Brexit Was
Again about Brexit, I shouldn't have happened, together is always better. But one country is for one country first anyway. Maybe just put UK country name on top of EU on passport better than leaving EU. ...
Read post
The Origin and Meaning of Republic
Origin The form of a government with power in the hands of the public appeared first in Italy. The Term Republic The term republic is from the Latin form "Res Publica" (Public Things, Public Affair) which means doing things for the public. The term can be remembered easily in Italian as "Regolata dalla Pubblica" -- una nazione regolata dalla pubblica. The Colours of Politics Although republic is the most common form of governments, other forms exist too, and do the same thing to manage pub...
Read post
How to Use Vivaldi Effectively
Vivaldi has feature to customise every menu it has, and this helps making browsing with mouse more convenient. First, customise the menus: Go to Vivaldi Settings Customise the menus by removing extra features So context menu items can be clicked directly without scrolling the menus Second, put 'Close Tab' on all context menus of types of elements in webpage, eg. Page, Link, Image, Text, etc. Third, put 'Open Link in New Tab' to top of context menu for Link. How to browse Use context ...
Read post
Windows Defender vs Avira
Avira is a German company and is also one of the famous and free anti-virus software. Windows Defender is newer but according to the web, Windows Defender seems kinda equivalently powerful. Avira virus detection rate: 99.8% Windows Defender rate: 99.7% ...
Read post
How to Find All Start-up Programmes on Windows
Windows has a lot of locations for start-up programmes, they're not at a specific place. This tool Sysinternals can find all of them: https://www.microsoft.com/store/apps/9p7knl5rwt25 Install Sysinternals from Microsoft Store and find Autoruns in Start Menu to find start-up programmes. ...
Read post
TortoiseGit Merge Diff UI
Regular file without conflicts when Diff Current branch [HEAD] is on the left Merge result is on the right (editable) A file with conflicts Current branch [HEAD] is on the right The branch with code taken in [MERGE_HEAD] is on the left Merge result is at bottom (editable) The Confusion The TortoiseGit UI above is a bit confusing, when a file having conflicts, the current branch HEAD should still be on the left. ...
Read post
To Have a New Windows Wallpaper Everyday
Windows 11 has a feature called Spotlight wallpaper, it changes everyday. Here's how to put the setting: Steps Right-click Windows Start Button Choose Settings Click on Personalisation on the left panel Click Background on main column In the first item 'Personalise your background' * Choose 'Windows splotlight' ...
Read post
Create New Tab of the Same File in Sublime
Settings Main Menu >> Preferences >> Key Bindings: [ { "keys": ["ctrl+alt+d"], "command": "clone_file" } ] ...
Read post
React Native: Note about Pressable
Note about Pressable Pressable can be used in place of View Pressable has additional events: onPressIn, onPressOut Important: Tag right inside Pressable is not allowed to have position:absolute or the Pressable won't be touchable. ...
Read post
Custom Bash Prompt
Prompt function set_ps1 { export PS1="\n\033[4m\u@\h:\w $(git branch 2>/dev/null | grep '*')\033[0m\n$ " } export PROMPT_COMMAND=set_ps1 Meanings of tokens of the prompt above: \n — New line \033[4m — Start of underline \033[0m — End of underline \u — Username \h — Host name \w — Working directory (full path) ...
Read post
Useful Bash Aliases
The Resource File for Bash Don't use /etc/profile as it's for all users Don't use ~/profile as it's for the whole session Use ~/.bashrc for every Bash process Useful Aliases alias b="bash" alias n="nano" alias m="micro" alias lld="ls -laXh --group-directories-first" # Always git pull first in a day, and often during the day, even before 'pp' alias pp="git status; git add -A; git commit -a -m Msg; git pull; git push" ...
Read post
SSH Port Forwarding
SSH Port Forwarding ssh -o GatewayPorts=true -L 6600:0.0.0.0:6600 -N -f vconvert ...
Read post
MongoDB: Case-insensitive Index
Create db.my_collection.createIndex({ My_Field: 1 },{ collation:{ locale: "en", strength: 1 } }); Notes Use My Field: 1 to create ascending index values Use locale to specific the language for case-insensitive ops, eg. check similarity between a A â Use strength:1 to make small letter, capital letter, similar letter the same. ...
Read post
React Native Equivalents with HTML
Similar Tags View ⟶ div View+ScrollView inside ⟶ div with scroll bars Text ⟶ span ...
Read post
Use position:fixed in React Native
CSS position:fixed; React Native Put the component, tag directly under root tag of screen. Use style={{position:"absolute"}} ...
Read post
React Native: Create Reference to Component
Static Component No reference usable var Com = <MyComponent/>; // Can't access members inside Com return ( {Com} ); Component With usable reference var Com = React.createRef(); // Access members of Com thru: Com.current.* return ( <MyComponent ref={Com}/> ); ...
Read post
How to Paste to Android Emulator
Steps Go to the app dir where package.json stays Type adb shell input text "…" ...
Read post
React Native Setup
Development Environment & Build PowerShell in Administrator mode Right-click Windows Terminal, run as Administrator Chocolatey for PowerShell Package Manager for Windows PowerShell, similar to Apt on Ubuntu Chocolatey Git for Windows choco install git Micro the In-terminal Editor choco install micro choco install nano # Optional NVM (Node.js Package Manager) choco install nvm Need to close PowerShell terminal and start back after installing NVM. Node.js Latest nvm install latest Ins...
Read post
Utilise Cython at Lowest Level
File Extensions Cython allows integrating with C++ code, however, Cython will generate files to .h and .cpp extensions, so .hpp extension is avoided not to be confused as going along with the .cpp file. Use these extensions instead: .hh for header files (to use with .pxd files) .cc for implementation files (to use with .pyx files) Why C++ Header Files Cython has no forward declaration, declaring a type in Cython with name only will actually create empty type, not forward declaration. ...
Read post
Simple and Effective TSP Solver
Goal Find shortest Hamilton path or cycle The Algorithm Step 1: Initialisation, greedy Do nearest neighbour from start point if fixed start point, or any point Step 2: Optimisation, untwisting still_optimisable = true while still_optimisable: # 2-opt until no longer optimisable still_optimisable = false With all possible trunk (sequence of vertices) lengths Scan from start point, if reversing a trunk gives better total distance Reverse that trunk, and mark still_optimisabl...
Read post
Samsung Flow: Physical Keyboard
Hide On-screen Keyboard in Samsung Flow Steps Android Settings → General Management → Language and Input → Physical Keyboard (Samsung Flow Keyboard) → Keyboard Assistant → Disable: Show on-screen keyboard. ...
Read post
Samsung Flow: Note8 to Aspire7
The Setup Samsung Flow connectivity: Wi-Fi Wi-Fi switch frequency: 2.4 GHz Note8 on 2.4 GHz Wi-Fi 450 Mb/s ⟶ 56 MB/s = ~60 MB/s Aspire7 on LAN cable (using Realtek PCIe GbE LAN, not Realtek 8852BE Wi-Fi) 2.5 Gb/s ⟶ 312 MB/s = ~300 MB/s The Bottom Neck The bottle neck is seen at Note8 Wi-Fi, which is: 60 MB/s. In order to achieve 60 frames/s on Samsung Flow desktop: 1 frame sent from mobile device should fit in 1 MB (60 MB / 60 expected frames) 1 MB is 1 million bytes...
Read post
Joplin Customisation
Joplin App Customising Change CSS for Joplin Itself Tools >> Options >> Appearance >> Advance >> Joplin CSS Add these styles: // For styling the entire Joplin app (except the rendered Markdown, which is defined in `userstyle.css`) / .sidebar { background:white !important; } .sidebar { background:white !important; } .sidebar { color:black !important; } Plugin Customising Steps Find Plugins Folder Menu >> Tools >> Options See top line for c...
Read post
Notion Limits
Team vs Personal Workspaces A workspace is considered as Team workspace when there are 2 members or more A workspace is considered as Personal workspace when there is only 1 member Limits A Team workspace can NOT have more than 1000 content blocks A Personal workspace can have unlimited content blocks The Trick It's possible to add multiple accounts in 1 browser session to share instead of having a Team workspace. However, the account email must be shared between members. ...
Read post
QR Code Scanner for Google Chrome
Bugs QR Code Scanner for Google Chrome Always shows this error in all web pages: Unchecked runtime.lastError: Could not establish connection. Receiving end does not exist. ...
Read post
Set Specific LAN IP for Windows Device
Steps Open Control Panel >> Network and Sharing Center See the UI area showing 'View your active networks' Click on one of the connections Click 'Properties' Click (focus) on 'Internet Protocol Version 4' Click 'Properties' Enter these: Use the following IP address IP: 192.168.1.200 (avoid .1+ used by netswitch, .100+ used by devices) Mask: 255.255.255.0 (always this value) Gateway: 192.168.1.1 (usually, if not, run ipconfig to see) Use the following DNS (2...
Read post
How to Pin Web App to Taskbar
Use PowerShell Script Pinning steps: Run shell:start menu Go inside the Programs folder Create a short cut to powershell -c start vivaldi https://some.app.com Don't use —app=https://some.app.com, no tab bar Right-click the shortcut, choose properties to change icon Type shell32.dll for some basic icons by Windows Explorer Right-click the shortcut, choose pin to Start Open Start Menu scroll to the shortcut, choose pin to Taskbar Use Edge Browser Pinning steps: Main...
Read post
Physical Resolution in Android Mobile Browser
Smaller UI and Larger Resolution The Purpose For using Android on large display, and reporting to mobile browser the physical resolution. Scenario Android by default will report a low resolution (not physical resolution) to apps Which makes UI so big, font so big Even when browser showing websites in its desktop mode, the resolution reported to websites are still small On phone: Usually around 800px to 900px The Work-around WARN: THIS WORK-AROUND MAY BREAK THE FONT S...
Read post
How to Enable Taskbar Button Labels on Windows 11
Check Windows Build Number Run 'winver' Update Windows to Recent Build If build number >= 23466, skip this step If build number < 23466 Change to Windows Insider 'Dev' build in Windows Settings Channels: Canary (alpha), Dev (internal beta), Beta (public beta), Pre-release (stable) Use ViveTool to Enable the Feature Do as in: https://www.youtube.com/watch?v=GPxiPRHQ2Tg Restart Windows ...
Read post
Windows Insider Channels
The current (2023) 4 channels in Windows Insider: Canary Channel -- Similar to Alpha, not yet checked for bugs Alpha Dev Channel -- Similar to Internal Beta, already checked for bugs Internal Beta Beta Channel -- Similar to Public Beta, already checked a lot for bugs Public Beta Pre-release Channel -- Just the Pre-release, before being known as public stable. Stable ...
Read post
Tricks in Modern Browsers
Links Middle-click --> Open in new tab Tab Bar Middle-click --> Close tab Address Bar Ctrl+Enter --> Add .com and go to site Shift+Enter --> Open in new tab Other Shortcut Keys Ctrl+T --> Open new tab Ctrl+W --> Close current tab Vivaldi Tricks Ctrl+Click on tab --> Select more tab Shift+Click on tab --> Select a span of tabs ...
Read post
Authenticator for Chrome-based Browser
Choices Authenticator.cc (3M users) Others (much fewer, users numered in K) Authenticator.cc Notes No saving of TOTP secrets, all temporary Need to scan QR codes by another extension to save to vault. Not to scan QR codes by Authenticator.cc itself, can't extract TOTP secrets out to save. ...
Read post
Unit-testing, Auto-testing, and Manual Testing
There are 3 concepts in QA/QC (QA: procedures and certification, QC: actual testing works): Unit-test, auto-test, manual test. Unit-test Unit-test isn't good for regular quality or even to 80% quality (A grade) of programmes or services because it takes to much time that is equivalent to development time to test every piece of logic in programmes. This is the same as writing the same source code 1 more time. Unless it is about premium quality above A grade. Auto-test Auto-tests are good to s...
Read post
Windows is Growing to Uber OS
Windows had WSL inside, now WSLg with graphical apps runnable from WSL and Linux apps are shown in Windows taskbar. Windows has more, now can run Android apps with Windows Subsystem for Android and apps are from Amazone Appstore or Google Play for PC. But Google isn't that generous to Microsoft, only some apps and games are found on Google Play for PC. ...
Read post
Improvements for Current Programming Languages
JavaScript Should be auto-statically-typed instead of dynamically typed; the type to be set when a variable is bound with the first value. For C-like speed. C/C++ or Compiled Languages JIT compiling model should be applied for faster software development process. The compilation of a file can be done quick but linking thousands of file to run the executable can be crazy. ...
Read post
New Generations of Programming Languages and Computer Architectures
Programming language generations in the past: 1st: Punched cards 2nd: Assembly 3rd: High-level procedural: C, Pascal, etc. 4th: High-level OOP: C++, Java, etc. 5th: High-level OOP with UI markup: Qt with QML, React Native, etc. 6th: Additional feature: built-in AI Binary numeric types seem not human-friendly, possibly a new language should have decimal types, eg. using digit groups instead of sizes in bytes (1-byte size, 1-byte size, etc.). A smart language is what it should be, the world i...
Read post
Should Internet Directories be Revived
In the starting era of the Internet, there were things called Internet Directories. The Internet grew larger and larger with more and more domains to a huge number and the directories failed to grow with. Internet Directories should be revived, instead of using search engine only. Other factors can help, such as crowd-tagging, AI-assisted data organising; and even users can have personalised Internet Directories. Searching is boring as it gives only a list of stuff without any organised struct...
Read post
A Lifestyle of Freedom in Life and at Work
People should not get stuck to a station, mobile device can be always along, people can use the mobile device anywhere and use AR or dock it to have large display and more convenient inputs. ...
Read post
Online OS (Web OS) and the Need of Offline Features
Online OS is convenient, accessible anywhere. However, it is not powerful enough and need some features of native OS and browser where it runs on. ...
Read post
The NC vs PC Bet in a New Era
Microsoft and Oracle used to bet about NC (Oracle: network computer) and PC (Microsoft: personal computer) and Microsoft won the bet due to some reasons of the past that network wasn't fast enough; and possibly some more down-points which made NC fail. However, in this era, the Internet is rather fast enough, average 20MB/s in the world or even better 100MB/s in big cities. It's kinda enough for network computer but still not smooth enough for streaming. NC may rise again but won't be diskless...
Read post
Technical Design: A Kind of High Level Engineering
Engineers shouldn't do direct works at senior level. At that level, it is high-level engineering and it's mostly about technical design. ...
Read post
Classic Static Flow and Modern Flex Static Flow
Classic Static Flow Flow from left to right Get to new line when reaching width limit of container The top rim of new line is affected by line-height Thus there may be a gap between previous line and new line Modern Flex Static Flow Flow similar to classic static flow But the top rim of new line is not affected by line-height Thus there's no gap between previous line and new line ...
Read post
How is React Native Live Load So Fast
React Native Build Process Transpile to Kotlin (based on Java, add async and more) Compile Kotlin React Native Dev Process React Native app upload is super fast which is shown directly on app if any UI change Possibly React Native has web mode when displaying being-developed app? Updating thru' Metro? Real, during development, React Native serves app similar to React (React.js, ReactJS) And only when releasing, the .apk file is built ...
Read post
An Interesting MMO of 2023
Albion Online The game is light So many players in 2023 (real definition for MMO) Game style Sandbox MMORPG Sandbox MMOs usually need lots of players, or are just dead games; luckily Albion Online has a lot of players by now. MMOs with quests may not need lots of players as players can play just as single-player games. A huge world to explore, build player's own story. ...
Read post
The Development of Character Sets
Old Days ASCII, ANSI Modern Days UCS-2 The UTF-8, UTF-16 UCS-2 seems not in use any more but it's actually faster than UTF-x because it doesn't need any encoder/decoder. ...
Read post
Q-network vs Policy Network in Reinforcement Learning
Q-network (aka Deep Q-network) Input: State (Env+Agent), Action Output: Single neuron Q-value (current reward and future return) Characteristics: Find max action and train to that label=q(s,a) Closely linked with Q-learning concept Explore: Random Exploit: Use q-network at current moment to exploit for max action through max q-value Training: Bellman target q-value Update q-value 1 by 1, q = r + max(q[t+1]) Policy Network (applicable to fixed number of actions ...
Read post
Local Optimum Breakouts in Reinforcement Learning and Supervised Learning
Reinforcement learning reward sum diagram has breakout points from current local optima, as shown below: Similarly, in supervised learning, the loss curve has local optimum breakout points too: ...
Read post
The Most Basic Toy Problems for Neural Network
The most and top most basic one: A+B=? Solution: A single neuron, 2 weights, 1 bias, identity activation Training result: The 2 weights reach 1, bias goes zero Other basic toy problems: AND,OR: A single neuron can solve, 1 separation line XOR: A single layer of 2 neurons can solve with 2 separation lines, but it needs a single-value output, so put it 2 layers of 2 neurons then 1 neuron respectively. Theory notes: 1 neuron makes 1 separation line 1 layer makes 1 separation...
Read post
TensorFlow Keras: Train Model with a List of Tensors as Input instead of a Single Tensor
Sometimes it’s simpler for concatenating of multiple inputs or concatenating in the middle of ML model graph calculation; so feed a list of tensors to model instead of a single tensor. Descriptions for the code below: Inp: Dataset as a whole Inp1, Inp2: Dataset split into feature 1, and 2 Keras will add batch dimension to model based on batch_size x: A batch x1, x2: The 2 parts of a batch with features split into 1, and 2 x1a, x1b, x1c: Feature 1 of single sample x2a, x2b, x2c: ...
Read post
Pros and Contros of Regular Algorithm vs AI Solution vs Human
Regular algorithms (any data + regular logics) – Best for: Do any logics Pros: Simulate any human logic Large base of programmers Contros: Very slow optimisation sometimes AI solutions (statistical data + improvement logic) – Best for: Fast results (already learnt) Pros: Fast to compute results after training as all data learnt Solve some specific problems those are hard for regular algorithms, eg. image recognition Contros: Smaller base of programmers Won’...
Read post
The Process and Activation in a Neuron
A neuron receives multiple input values, and commonly sum up the input values with different weights (ratios for input values). An activation function is then applied to the sum (with bias usually). Formula (for programming, k is in range [0..n-1] instead): Where i is the index of a layer, j is the index of neuron in that layer, and k is the index of input value to that neuron. Value n is the number of inputs to the neuron, and b is bias value in that neuron. The last one, f is the activation...
Read post
How to Type Maths in WordPress
WordPress.com by default has the math typing feature enabled. To start an equation, type [latex] in a content block, close it with [/latex]. And inside the latex tag in the same block, type the math formula, for example: \sum_{i=0}^{n-1}A_i which is  ...
Read post
Christianity: Are We Perfect in Heaven?
Some say no: https://christianity.stackexchange.com/questions/5966/will-we-be-perfect-in-heaven The Bible: https://www.bradenton.com/living/religion/article34506474.html https://www.kingjamesbibleonline.org/Philippians-3-21 Philippians 3:21 “Who shall change our vile body, that it may be fashioned like unto his glorious body, according to the working whereby he is able even to subdue all things unto himself.” From my understanding, we will be totally pure in heaven, but we are still missing so...
Read post
The Truth and the Way of Humankind
The Truth is the way, the glue of humankind. Either one is believer or not, by psychologically mean, we all know Jesus has guided us the right way. Human society exists based on being all together, we work, we live together. For being together, we need the glue, which is the Truth. The truth makes communication complete, make people believe others to be as one. In contrast, without the truths, nobody is believing anyone around, there are no connections in society and the society is completely ...
Read post
Italian Verb Forms
The following verb form table is just a guide line, they are not exactly what are described in grammar, just simple to remember of types and times. Example verb: Fa-re (Do) TypePronounsPastPresentFutureSimpleEnglishIoTuLui/LeiNoiVoiLoroDidFace-voFace-viFace-vaFace-vamoFace-vateFace-vanoDoFacci-oFa-iF-aFacci-amoF-ateF-annoWill doFa-ro`Fa-raiFa-ra`Fa-remoFa-reteFa-rannoPossibilityEnglishIoTuLui/LeiNoiVoiLoroCould doFacce-ssiFacce-ssiFacce-sseFacce-ssimoFacce-steFacce-sseroMay doFacc-iaFacc-iaFac...
Read post
Build Python with GIL Disabled on CentOS 8
Notes: This is for fun only, shouldn’t apply to production Lots of stuff may not be present during compiling Python from source, programmes run on the resulting Python compilation may break Author may not maintain the no-GIL repo for long. The design of Python on CPython is crazy with the GIL (Global Interpreter Lock). This GIL make the ‘threading’ module of Python all fake, it doesn’t do multithreading at all, just only 1 thread running at a time, swapping around just as async IO. ...
Read post
How to Remove Annoyingware (Hard to Terminate Process, Hard to Remove Files)
Cold Turkey Blocker is 1 of those annoyingware. It’s hard to terminate the processes, it’s hard to uninstall or remove files. The scenario is this way: Need to block some domains in all browser? Install Cold Turkey Blocker (CTB) The action: The free version of Cold Turkey has no blocking by password Set a block for a domain by a year (1 of the free features) Now is the problem: Cold Turkey forces user to install its extension in ALL browsers, or it will force-kill all bro...
Read post
The Reasons to Put Asterisk Next to Type Name Instead of Variable Name in C/C++
These variable declarations are both syntactically correct in C/C++: // First way char* my_var; // Second way char *my_var; However, the first way should be preferred, for these reasons: **my_var** is a pointer, it’s not a regular variable **char*** is a type: char pointer, a type is not a part of the variable name, for example: char* my_var in which my_var is a variable, asterisk is a part of type int my_var without space will be intmy_var and this is wrong ***my_var** as a who...
Read post
Machines and Cyborgs in the Near Future and After Near Future
Machines: Near future: Humanoid AGIs, artificial muscles, partial to full hardware-AI brain and nervous system, with emotions too, battery powered with self-charging, with consciousness (live on their own) but not soulful (natural born), genetic (configuration) single-machine transfer to create new machines, or combination with robotic genetics of other machines After near future problem: Machines have emotions, don’t want to see owners pass away again and again, and shouldn’t live forever...
Read post
What Future Technologies for Robotics Would Be
Future technologies for robots: Artificial muscles and tendons Hardware-AI chips Light materials such as carbon fibre for bones Lots of other stuff could be thought of from biological creatures ...
Read post
Puppeteer in WSL
Launch browser in Node.js const browser = await puppeteer.launch({ headless:true, args: [ '--no-sandbox', // https://stackoverflow.com/a/51038064/5581893 "--single-process" // https://github.com/puppeteer/puppeteer/issues/6332#issuecomment-689015083 ] }); Notes headless:true To launch in no-display env –no-sandbox A must, or it won’t work –single-process Required in WSL 2 ...
Read post
Replacement for Using calc with Percent Unit in SVG
Non-working Code With all tags inside SVG tag, calc doesn’t work stably with percent unit as tested, eg. this results in unstable rendering: 123<svg>    <line x1="calc(10% + 10px)" y1="0" x2="calc(10% + 50px)" y2="0"/></svg> Work-around Combine percent and px by 2 steps. G tag alone is not an option, coz it has transform attribute but no x and y; SVG tag (svg inside svg) alone is not an option, coz it has x and y but no transform. Solution: 1234567<svg id="Global-Svg"...
Read post
How to Sink a Child Element to Bottom with CSS
Example HTML <div class="a"> <div>foo</div> <div>bar</div> <div>foobar</div> <div>barfoo</div> </div> The CSS .a { display:flex; flex-direction:column; } .a >*:nth-child(1) { order:1; /* Other divs have order empty ie zero and appear above */ } ...
Read post
How to Run Nginx in WSL
Nginx won’t run in CentOS build for WSL, because CentOS is using systemctl and it relies on Linux ‘init‘ but in WSL it is Microsoft init. Use Ubuntu, this distro is default and popular for WSL, together with having the service management command named ‘service‘ instead of ‘systemctl’ which doesn’t require Linux ‘init‘. Install Nginx in Ubuntu WSL: sudo apt install nginx -y Start Nginx: sudo service nginx start Restart Nginx: sudo service nginx restart Stop Nginx: sudo service nginx stop ...
Read post
A Good and Rather Complete Notation for ML in Neuralnet
[Old note, see Cap AI/ML for updates] Notations from ‘a’ to ‘z’ may be used with ML in neuralnet: a: Some constant b: [B]ias c: [C]oncatenation in middle of network d: [D]ot product e: [E]rror aka loss, at loss node f: Activation [f]unction g: [G]radient, of loss, not for gradient of f h: [H]idden layer output i: Iterator variable j: Iterator variable k: Iterator variable l: -- Not used, confusing with number 1 -- m: Number of layers n: Number of neurons in output layer o: -- Not used, confusin...
Read post
Backpropagation Dynamic Programming Formula from Maths
[Old note, see Cap AI/ML Book for updates] Consider this neural network of 4 neurons: Graph nodes: Node 1 (out: h1), Node 2 (out: h2), Node 3 (out: u3), Node 4 (out: u4), Node 5 (loss node, out: e), s3 = u3-y3, s4 = u4-y4 See this article for notations: https://dspages.wordpress.com/2022/03/24/a-good-and-rather-complete-notation-for-ml-in-neuralnet/ Graph Note There’s no edges more at ‘ge’. Calculus Note Chain rule (y is function of u, u is function of x): Utilised below in this kind o...
Read post
Sublime and Deep Logic
Sublime Text has an unbeatable feature for reading deep logics especially in algorithms: Open the same file in multiple tabs The reason for it is when deep logics go through multiple functions in the same files, dev can’t just scroll up or down again and again to read the logics; just open multiple tabs with views to multiple sections of code in the file in multiple tabs see trace the logic. Anyway, VS Code is still the top light-weight editor generically, this feature of it is exceptiona...
Read post
C and C++ Should Add This Feature: Self-destructive Pointer
Imagine a function with 10 pointers and 5 locations of return statement, this results in writing 50 lines to delete the pointers. A syntax for self-destructive pointer should be added into C and C++ languages, just add a tilde ~ in front of variable declaration and it is destroyed at any return or at the end of function. // Example void func(){ ~foo* My_Var1 = new foo(); // Self-destructive ~bar* My_Var2 = new bar(); // Self-destructive foobar* My_Var3 = new foobar(); // No...
Read post
Heaven is Always There
In his lightway we follow and heaven is always offered to everybody. One does good one goes to heaven always. Sometimes, people of somewhere suffer some natural disaster, it's not their faults or their sins. It's the attack of the Devil. Why has Him forsaken them? No, He does not forsake them, it's just that He already set us free totally in our lives, and life in heaven is better any way. Why wouldn't one just die to get to heaven? This is fool's question. He already told us not to kill w...
Read post
Some More Concepts in ML
Separation: 2d X: Linear separation 3d X: Planar separation 4d+ X: Hyperplanar separation ...
Read post
Install and Use 'expect' for Automated Bash Inputs
Installation Guide: http://www.linuxfromscratch.org/blfs/view/svn/general/expect.html https://stackoverflow.com/a/37638799/5581893 Use 'expect' to wait for prompts: expect <<'HEREDOC'   spawn ./path/to/command;   expect {     "Some text to wait for 1" {       set timeout -1;  send "SOMEINPUT\\r";  exp\_continue;     } "Some text to wait for 2" {       set timeout -1;  send "SOMEINPUT\\r";  exp\_continue;     }     ...   } HEREDOC  Note t...
Read post
The Quantum Hello World Programme in Quil which is Not 'Hello World'
Quantum computing is not like traditional programming, it is kinda probability measurement programming. Since it's not traditional programming, the 'Hello World' programme is not to print out the sentence 'Hello, World!', the simplest one is possibly call 'Flip Coin' programme. Install Forest SDK to run qvm (Quil Virtual Machine) and quilc (Quil Compiler), and also install PyQuil using pip. Source code: #!/usr/bin/python3 #Core import pprint; #Libs from pyquil       import get\_qc,Program; fr...
Read post
The Thread-safe new_lock Function in Python
# Async lock def new\_lock():     event = aio.Event()     return event.wait(),event.set # Async lock thread-safe def new\_lock\_ts():     class Event\_Ts(aio.Event):         def set(self):             self.\_loop.call\_soon\_threadsafe(super().set)     event = Event\_Ts()     return event.wait(),event.set ...
Read post
Methods in Reinforcement Learning
Artificial Intelligence Instincts (predefined logics) Machine Learning (statistical data + improvement) Supervised Learning (All data) Reinforcement Learning (Target data only) Bruteforce Sequential bruteforce Random bruteforce Intuitive Explore and Exploit (Policy Network) Single action explore and exploit Random action but with known actions in the past Sequence of actions explore and exploit Monte Carlo Tree Search (for max) explore and exploit Expl...
Read post
How to Optimise Games for Visual Yet Max Framerate
Graphics Settings Prioritise texture over others Prioritise a lot of stuff near and around the character instead of far away Fully detailed for objects around Flat images for objects at distance User Interface On laptop display: Try to scale out text if there are such options On large external display: Scale out text if playing from far of display, eg. on couch ...
Read post
Switch Between On-board GPU and Dedicated GPU for Apps and Games
Steps Open Windows 11 Settings Find 'Graphics Settings' See if the app/game is in the list, click the app/game name If not, click 'Browse' button on top near 'Add an app' Click 'Options' to choose on-board GPU or dedicated GPU ...
Read post
Black Desert Online (BDO) [Valencia] Moving Ahead
Where to dig out the item needed by the quest? See Zaynah's comment at: https://bdocodex.com/us/quest/5529/12/#:~:text=BRING%20A%20COMPASS%20(buy%20one%20from%20Ellie%20at%20any%20major%20city%2C%20near%20stable) Tags: BDO, Zobadi, Valencia, Moving Ahead ...
Read post
Profile and Resources for Bash on Ubuntu
All Users /etc/profile Avoid changing this file, it affects all users Current User ~/.profile Avoid changing this file, it loads other resources Per Bash Run ~/.bashrc Change this file to add aliases, PROMPT_COMMAND, etc. ...
Read post
The Original Sin of Adam and Eve
The original sin of Adam and Eve refers to their disobedience to God's command not to eat from the Tree of Knowledge of Good and Evil, as described in the book of Genesis in the Bible. As a result of this sin, humanity inherited a tainted nature in need of regeneration and a proclivity to sinful conduct, in the Christian doctrine of original sin. Specifically, the belief is that Adam and Eve transmitted to their descendants human nature wounded by their own first sin and hence deprived of origin...
Read post
How to Bypass the 1000-block Limit of Notion Momentarily
Notion Limits Unlimited notes for Personal account Max 1000 blocks for Team account The Problem Using Team account, hitting the 1000-block limit Need to add more notes or duplicate to another workspace (can't move between workspace) The Solution Remove all team members, wait for a while and reload Notion The account is now Personal account ...
Read post
Google Bard vs OpenAI ChatGPT
Google Bard Google Bard is up to date (with incremental learning): [Bard]: Yes, Google Bard's data is up to date as of June 6, 2023. Google Bard is trained on a massive dataset of text and code that is continuously updated. This means that Bard is able to answer questions about current events and provide accurate information about things that have happened since 2021. OpenAI ChatGPT ChatGPT is not up to date (no incremental learning): [Bard]: ChatGPT's data is not up to date as of June 6, 202...
Read post
NVIDIA GeForce Experience and Driver Install
Sometimes NVIDIA GeForce Experience just fails to install or update driver to the latest version. My recent case is it keeps show "Driver download failed" but the download progress has already reached 100%. Solution Not to use NVIDIA GeForce Experience to update driver Go to nvidia.com to download the correct version for the device & OS to install ...
Read post
Skiff vs Tettra vs Notion
All the three are free for small team. Skiff Pros: E2EE, full-text search Cons: No edit-lock feature, team member may accidentally alter a doc. Tettra Pros: Edit-lock feature, Q&A feature, multiple modes for ordering in tree (manual, A-Z, creation time, modification time, etc) Cons: Not E2EE, no drag-and-drop in category tree Notion Pros: Popular, edit-lock feature, drag-and-drop to organise pages Cons: Not E2EE My personal consideration No E2EE is acceptable momentarily Need ...
Read post
My Gaming PC
Steam average and mine: ...
Read post
Hash Colon Tilde Colon Text
How to remember the #:~:text= URL format. Hash is for anchor name, creating a link Colontildecolon makes 4 dots as 4 corners of a text block expressed as the Tilde inside. The text= is what to link to. Read the #:~:text= as link to text block that text is. ...
Read post
A Great Online Font Editor
Glyphr https://www.glyphrstudio.com/online/ Guides Draw between baseline and height on the right side of vertical line The width of a letter can vary Ascent and descent areas are not for the main body part of letter Use middle-mouse to pan ...
Read post
One Thing Does Exist but Nobody Is Using
There's a fun that the below Vietnamese keyboard layout does exist but almost totally nobody in Vietnam is using it. This is funny. ...
Read post
Windows Versions and Why Some Are Great
Great versions have bigger title below. Windows 3/3.1 GUI - very human friendly Windows 95 Taskbar - Start me up Windows 98 32-bit, large RAM Windows 2000, Windows ME Millennium marking versions Windows XP Security features Windows Vista Visual, live app thumbnails Windows 7 Performance(?), stabled Vista Windows 8 Metro (ancestor for Windows 10 full screen Start menu) Windows 10 Full-screen Start menu WSL - Windows subsystem for Linux Windows 11 Centred tas...
Read post
Hyper-V vs VirtualBox
Microsoft Hyper-V (Windows Hypervisor Platform) - Control hardware/BIOS/UEFI WSL 2 (a VM, with Virtual Machine Platform enabled) WSA (a VM, from Amazon Appstore installed from Microsoft Store) BlueStacks (has VM) Some others (have VM) Docker Desktop (has VM) Docker containers Oracle VirtualBox - User mode (startable, stoppable), won't work if Hyper-V enabled Linux OSes (as VMs) Docker containers WSL 2 vs Linux in VirtualBox WSL 1 is almost complete Linux WSL 2 is complete Linux...
Read post
English Alphabet Using Digits
A:4 B:13 C:6 D:19 E:3 F:15 G:67 H:8 I:1 J:9 K:16 L:12 M:111 N:11 O:0 P:10 Q:62 R:72 S:5 T:7 U:61 V:17 W:177 X:96 Y:21 Z:2 Downloadable font: https://drive.google.com/drive/folders/1sGW3j5V5B4Y6z0YoyqF2cq2cGYpgCSrB?usp=share_link Sample text: ...
Read post
Christianity a Other Religions
Idealism Believe in God the perfection, the almighty Christianity The truth is the way, and love is living. The truth makes humankind be together, and the only way Only God can guide the whole humankind and that's Jesus All Religions Science is narrow, magic happens, miracles happen Scriptures may sound unrelatable to current science but that's why science is narrow God will tell the absolute truth when we are to heaven. Prayer My Lord, the almighty and perfection, May your light shi...
Read post
Russian Invasion of Ukraine
There are many causes of wars for a country: Protects itself, fights off the devil (terrorists, dictators, etc.), even if feeling of a threat. The situation before the war Some east counties of Ukraine tried to break out, possibly favouring Russia coz of speaking Russian but was possibly wrong against Ukraine constitution, they can't break out Kiev tried to sort out those counties with military but it was absolutely nothing over the line for other countries to step in; those military activiti...
Read post
What Actual Vietnam War Was
Situation France passed the colony to UK UK again passed the colony to US coz UK had other grounds to fight on US kept Saigon as puppet The War Hanoi view points Ho Chi Minh didn't accept a part of the country being puppet, and also it was the time to fight colonialists Ho Chi Minh waged the war US view points Needed to keep the colony Needed to fight off communism spreading which is not practical, no liberty and slows down economy Who's right Hanoi was right, Saigon can't be pupp...
Read post
Robotic Classification
Robotics Robots Machines (intelligent) Automatons (automated, or with AI but do perfectly as commanded) ...
Read post
Nice Storage Management on Windows 11
Windows 11 has a very nice storage management feature, it's very easy to clean up disk space and remove unwanted rubbish. Do these: Open File Explorer, go to This Computer Right-click on a drive volume, choose Properties A dialogue is opened, go to General tab Click Details button Remove some unwanted stuff there ...
Read post
阿爸阿妈 - Daddy Mummy
录像片段: https://www.youtube.com/watch?v=hU0l3kH0ZUw 阿爸阿妈 A ba, a ma 给我温暖的家 Cấp ngã ônnoãn đích gia 太阳一样 Tháidương nhất dạng 一样的爱啊 Nhất dạng đích ái a 抚养我长大 Phủdưỡng ngã trưởng đại 长大 Trưởng đại 阿爸阿妈 A ba, a ma 我心中的菩萨 Ngã tâm trung đích bồtát 月亮一样 Nguyệtlượng nhất dạng 一样的爱啊 Nhất dạng đích ái a 伴我走天涯 Bạn ngã tẩu thiênnhai 我的阿爸 Ngã đích a ba 我的阿妈 Ngã đích a ma 孩儿有说不完的心里话 Hàinhi hữu thuyết bất hoàn đích tâm lý thoại 就像满天的星星啊 Tựu tượng mãn thiên đích tinhtinh a 闪耀着您对我爱的光...
Read post
Git/TortoiseGit: Merge Between Base Project and Derived Project
Situation Need to merge between 2 projects which are not to be the same. Some files are to be identical but some files are to be different. Git Commands git checkout base-dev # Both --no-ff and --no-commit are required: git merge dev --no-ff --no-commit git reset git checkout path/to/file/to/be/different git add -A git commit -a -m Msg git push TortoiseGit Preparation To see different files between 2 branches (1 of base project, 1 of derived project) Open Windows Explorer Context menu &g...
Read post
Asian Language Tones
A summary from personal experience: Chinese Pủtong (5 tones) ma, má, mả, mạ (exists but not in official tones), mà. Examples of mạ and mà: 妈妈,姐姐骂我! (mạ) 再见! (zài jiàn) Chinese Cantonese (5 tones) Officially known as 6 or 9 but some are the same. ma, má, mả, mạ, mà. Cantonese tones: https://youtube.com/clip/UgkxpskpEMipGswcxKItWy5dJphjMMXY9ts_ 2,4,5 are the same, 6 is a bit different from 245 with a grave-accent after [ỉ], 8,9 are the same: saam1 wun2 sai3 ngau4 naam5 min6 jat7 baak8 dip...
Read post
Robotic Classification
Wrapper Term Robot The 2 subclasses Machine Intelligent Automaton Automated or with AI but follow orders only. ...
Read post
Low-code vs No-code Future of Apps
Traditional coding: Takes to much time or at least need to build base functionalities. No-code: Can't customise to make truly specific components in some cases Low-code: This is the future fast & fully customisable ...
Read post
La Lingua Italiana di Nuovo
Non ho usato la lingua italiana per un periodo lungo ed adesso voglio continuare con la lingua. Tutto e' ancora bene ma ho dimenticato i formi verbo partialmente. Comunque, ho salvato i formi verbo su un di mio blog e posso riusarlo. ...
Read post
Welfare Capitalism
Welfare Capitalism Not hardcore socialism nor hardcore capitalism are complete for all aspects; some points should be added in, notably: Welfare Capitalism Pro-freedom: Better Started in Glasgow & Manchester in 18xx by Robert Owen, ref: https://en.wikipedia.org/wiki/Welfare_capitalism Can be matching with Christian British Conservatism Christianity: Charities British Conservatism: The monarch and culture Capitalism (Adam Smith) Development-focused Socialism Pro-rule: Worse Unp...
Read post
追梦人 - Dream-chasing Person
让青春吹动了你的长发 Ràng qīng chūn chuī dòng liǎo nǐ dí zhǎng fā 让它牵引你的梦 Ràng tā qiān yǐn nǐ dí mèng 不知不觉这城市的历史已记取了妳的笑容 Bù zhī bù jué zhè chéng shì dí lì shǐ yǐ jì qǔ liǎo nǎi dí xiào róng 红红心中蓝蓝的天是个生命的开始 Hóng hóng xīn zhōng lán lán dí tiān shì gè shēng mìng dí kāi shǐ 春雨不眠 隔夜的你曾空独眠的日子 Chūn yǔ bù mián  gé yè dí nǐ céng kōng dú mián dí rì zǐ 让青春娇艳的花朵 绽开了深藏的红颜 Ràng qīng chūn jiāo yàn dí huā duǒ  zhàn kāi liǎo shēn cáng dí hóng yán 飞去飞来的满天的飞絮 是幻想你的笑脸 Fēi qù fēi lái dí mǎn tiān dí fēi xù  shì hu...
Read post
Good Practice Working with Base Project
Regular Git commands in a project with only origin remote: git merge # Fix conflicts git commit However, when working with base project, there are the same files of different contents which lead to conflicts always when merge in to origin. The good practice is to use --no-commit and --abort with Git merge: git merge base/dev --no-commit # Total falure?: git merge --abort # Ok? checkout files supposed to be different: git checkout [FILES] # Fix other conflicts and: git commit Avoid merge bac...
Read post
New Standard for Sending Password During Authentication
Web services used to store naked passwords in database. Almost all by now have already adopted the salted-hash as presentation of a password in database, ie. Password --HTTP--> Hash --> Compare with the hash in db The passwords by the above scheme are not stored in database but still known by server-side code. Better flow will be as below, if not E2EE which has different mechanism of authentication with keys. Password --> Hash --HTTP--> Hash of Hash --> Compare with the hash in d...
Read post
Node.js and Installing Modules with NPM
Some modules will require exact Node.js version, but that's still not enough, NPM version too. Install Node.js of specific version nvm install SOME_VERSION_NUMBER Install NPM of specific version npm i npm@SOME_VERSION ...
Read post
Easily Read the Autofilled Password
Chromium-based browser has an insecure feature when allow autofilling without master password before filling. People should use a separate password manager instead of browser's default password manager. Here's how to read password of any website if browser is left unattended: Open a new tab to the site to read password Log out Go to log-in page Browser auto-fills the password Read the password: Press F12 to open DevTools, Click the first button on DevTools at its top-left corner which has ...
Read post
Vivaldi: Centre Tabs in Tab Bar
Enable Custom CSS Visit vivaldi://experiments Tick Allow CSS modifications Create a Folder for CSS Files Create a folder in sync'ed cloud drive for multiple devices when CSS files changed to take effect Create the following CSS files tab-bar.css /* Centre tabs */ .tab-strip { width:calc(100vw - 68px); display:flex; flex-direction:row; justify-content:center; } .tab-position { position:initial; --PositionX:0 !important; } .tab-strip .newtab { left:0 !important; } /* Tab c...
Read post
Android Developer Options: USB Debugging
Enable Developer Options Phone may have 'Developer Options' hidden by default. Go to Settings >> Build Number and tap kinda 7 times to unlock. USB Debugging Go to Developer Options to enable. Ref https://www.javatpoint.com/how-to-enable-or-disable-developer-options-on-android ...
Read post
Windows Terminal: Resize a Pane
How to Resize a Pane in Windows Terminal Hold Alt+Shift Press arrows to resize (expand, contract) Reference https://learn.microsoft.com/en-us/windows/terminal/panes?WT.mc_id=-blog-scottha#resizing-a-pane ...
Read post
Node.js MongoDB and Time-out Error
MongoDB connection timeout error is usually by firewall set on server but there's a abnormal case as described below. Case 1: No Error const log = console.log; const {MongoClient} = require("mongodb"); var Client = new MongoClient("some-url"); (async function(){ await Client.connect(); log("Okay"); })(); Case 2: Time-out Error const log = console.log; const {MongoClient} = require("mongodb"); var Client = new MongoClient("some-url"); Client.conne...
Read post
Quasi-zero-cost Development
What is QZCD? Quasi-zero-cost development (QZCD) is a mode of software development with almost no costs, all are based on owned source code, open-source, and free services. Mostly are offline apps Or online apps served statically with local data (may be sync'ed) Very small infrastructure costs can still exist but minimised. ...
Read post
Stu Reddit
Reddit is so stu!!! Created a community there, posted some, but posts removed (not deleted) by Reddit mods for just having a link in those posts. May still view, comment, but never my communities there again. ...
Read post
Idiot Legend App Bug
Legend App, previously known as Moo.do, has currently a bug related to multiple panes. Create a number of panes to span more than the width of the screen and this issue appears: No horizontal scrollbar, and Shift+Mouse Scroll doesn't work. Solution: Turn on DevTools, press F12 Refresh the page, press F5, now the horizontal scrollbar appears Press F12 again to close the DevTools panel That DevTools panel is loosely related to the scrollbar, but anyway, it works. ...
Read post
Netflix Issue
Behind VPN, Netflix Won't let user login Won't let user complete the password recovery form Crazy Netflix, what's wrong with VPN? ...
Read post
To Handle Quantum Machines in Future
Humans made it in half a century to reduce the size of computer from mainframe to minicomputer to personal computer and to mobile device computer. A quantum processing unit is currently in 2022 at the size of a mainframe and possible the most in half a millennium to be the size of a mobile device computer. A humanoid machine can then possess a brain with quantum capability. This is the danger. Quantum machines function with huge processing of possibility and probability, similar to GANs, quan...
Read post