[21] XA.S discussion #enslaved

%%Q: how is online affiliate marketing as a recreation esp. when I grow old
A: yes can reduce loneliness. Online shopping is a megatrend.

— pff: me: In the U.S. I was told that many people get a bachelor’s degree in their 30s, after they have figured out what they want to study. I feel that’s more natural for many individuals.
XA feels it’s not easy in SG. If a guy doesn’t attend university, he is likely to marry early. After marriage, as a SG citizen he could get a flat and take on a loan within a few years. (Many would take a car loan, too.) The loan create a financial burden that rules out full-time study in his 30s. XA likened it to enslavement. I think it’s something of a trap.

— parenting ..
%%Q: screen time control?
A: be more lenient esp. after the exams. Screen restriction could lead to mental breakdown, but dabao is coping well.

— gz .. in recent months (or years), after a decade as a tech guy, XA moved into “people mgmt” (his own words). The team is like post-sales professional consulting, on a wide range of products including Oracle DB and Mysql DB.

%%Q: Relaxed job?
A: Not at all. XA considers himself not a people-person, but in a people-mgmt role. I said many managers were not people-persons but could hold their jobs for years. XA said Oracle is more “demanding” (not his original words). Too many expectations including revenue targets — his team need to go on sales meetings.

This “expectation” reminds me of my Macq role expectation and the GS culture. I think Jenny of MS also said something similar about responsibilities and benchmarking.

So my career has plateaued in salary, responsibilities, energy [stress],, In contrast, my peers have (almost) plateaued in salary Only ! I feel luckier.

me: learning new tech, beyond java/c++ .. I have refused to take up new languages, or javascript etc. Maintenance of c++ critical mass requires dedication and takes up bandwidth.
XA took some Coursera certificates on some AI topics. XA thinks javascript (frameworks) skillset market value is usually rather low except in the top employers where all tech skills are paid very high. Sharp observation. Javascript/Kotlin/golang has poor market depth compared to coreJava.

XA pointed out that some niche tech skills can enjoy robust demand for decades. Examples include Cobol (XA’s example) and sockets (my example). Young developers won’t be interested or won’t acquire the experience. How about LotusNotes? Perl CGI?

%%Q: what’s your coding interview experience.
A: only once several years ago. XA has moved out of dev roles. He was a tuning expert for Weblogic, JVM etc, less of a developer

%%Q (minor): what do you say about continuous coding drill
A: yes needed. On-the-job practice is too light too easy. Mostly string processing and if/else/for loops

%%Q (minor): outsourcing in SG tech domain .. still your concern? web2.0 is bucking the trend?
A: fin-IT is not mainstream. SG is an outsourcing destination for American fin-IT.
A: Covid19 has reduced the outsourcing worries among some Singaporeans.

GO-playing AI need not study previous games by humans

https://en.wikipedia.org/wiki/AlphaGo_Zero

Training artificial intelligence without datasets derived from human experts is… valuable in practice because expert data is “often expensive, unreliable or simply unavailable.”

AlphaGo Zero’s neural network was trained using TensorFlow. The robot engaged in reinforcement learning, playing against itself until it could anticipate its own moves and how those moves would affect the game’s outcome

So the robot’s training is by playing against itself, not studying past games by other players.

The robot discovered many playing strategies that human players never thought of. In the first three days AlphaGo Zero played almost 5 million games against itself and learned more strategies than any human can.

In the game of GO, world’s strongest players are no longer humans. Strongest players are all robots. The strongest strategies humans have developed are easily beaten by these robots. Human players can watch these top (robot) players fight against each other, and try to understand why their strategies work.

[12]coding home-projects #less effective than cod`IV

Over the years I have put together about 10 programming projects. A couple of them have become fairly useful to self-learning (and interview preparation). If my c++ coding skill has grown from 2 to 6 (10 being highest) over recent years, then one of the projects alone was responsible for a half-point improvement.

I now feel this kind of challenge projects are instrumental to learning a programming language. Without them there’s no way to develop self-confidence. A programmer without this much hands-on experience is no match. Real hands-on coding and hands-on bug-fixing is a long but necessary journey when learning a new language. No pain no gain. My manager calls it “mileage”.

Such coding projects are an essential and effective learning tool. In contrast, there are no such tools when learning SQL, MOM, Unix, XML, backup, clustering …

Here are some of my code projects —

1) a FIX client/server
** http://bigblog.tanbin.com/2012/03/design-considerations-my-first-homemade.html
** developed in 48 hours
** I can still add features to it and have fun with experiments
** It let’s me learn more about FIX protocol
** It let’s me learn more about java socket programming

2) a limit order book
** developed in a week
** I can still add features to it
** It let’s me learn more about order book internals
** It let’s me learn more about STL

2b) another limit order book

3) Tetris

5) a swing real time database-monitoring tool. This is a 1.5-month personal project developed on office computer but I can’t really run it at home.
6) a spreadsheet concretization project (http://bigblog.tanbin.com/2012/07/spreadsheet-concretization-algorithm.html)
** Written in Java, over half a day. It’s possible to rewrite it in STL.
7) an island rainfall problem
** good practice in C, array/ptr manipulation
8) a circular buffer, for a special requirement, not a general-purpose
9) simple regex engine
10) a few Boost sample programs
** I can still add features to it

modify $PATH to pull in a special “df” binary

Context — I want to use a special version of netAdminCommand located in some system directory but this directory contains many untrusted executables. So I must not add that directory to $PATH.

verified solution — https://unix.stackexchange.com/questions/276601/is-it-possible-to-add-a-single-executable-rather-than-an-entire-directory-to-m