Posts

Showing posts from 2023

Monty Hall Problem Simulation

""" This is a simulation of Monty Hall Problem. https://en.wikipedia.org/wiki/Monty_Hall_problem Suppose you're on a game show, and you're given the choice of three doors: Behind one door is a car; behind the others, goats. You pick a door, say No. 1, and the host, who knows what's behind the doors, opens another door, say No. 3, which has a goat. He then says to you, "Do you want to pick door No. 2?" Is it to your advantage to switch your choice? """ import random NUM_DOORS = 3  # three doors in the game MAX_ROUND = 10000  # number of rounds for statistics change_win_count = 0 for _ in range (MAX_ROUND):   # randomly to put a car behind a door   car_door = random. randint (0, NUM_DOORS - 1)   # the player firstly selects a door   player_first_guess = random. randint (0, NUM_DOORS - 1)   # the host opens another door without a car   host_door = random. choice ([       x for x in range (NUM_DOORS) if x != player_first_guess and...

Small Step, Giant Leap

Image
  Looms in Quarry Bank Check out these two antique looms displayed in Quarry Bank of National Trust  Although they look similar, the left one comes with a tiny gadget called Flying Shuttle. This small improvement dramatically increased the productivity over tenfold. John Kay might not have even imagined how much his invention would become a catalyst for the Industrial Revolution and have profound effects on the world history.  You know what? Keep dreaming, innovating, and moving ahead. You never know your next small step could be a giant leap for mankind.

Pluses and Minuses: How Math Solves Our Problems

Image
  Pluses and Minuses: How Math Solves Our Problems "Pluses and Minuses: How Math Solves Our Problems" by Stefan Buijsman is a thought provoking book about the role of Mathematics in our daily life. The book starts with examples of Google Map and Netflix to present that Maths is not only an abstract exercise in a classroom but also closely related with us everyday. Following that, it describes how human being interpret Maths and its development along the history in various cultures. The later chapters demonstrate about the history and applications of two advanced topics, Calculus and Probability. The last topic is about graph theory and explores its usage in navigation, streaming service, cancer treatment and social media. The last chapter is not only a conclusion but also rethinks the nature of Maths and how we correctly and mistakenly apply it in our daily experiences. While the book contains a few content describing Maths formula and theorems in this book, it primarily focu...

Event: Developer Productivity Engineering: What's in it for me?

Image
Manchester Java Community hosted another great session in Thoughtworks . The speaker is Trisha Gee , co-author of the renowned book Head First Java .  The speaker pointed out that the productivity of developers did not mainly come from individual developer themselves but from the organisation which offers productive environments or not. The factor includes work space size, quietness, privateness, any diversion or needless interruption. On technology side, productivity can be improved by consistency and reliability of builds. Very fast feedback can improve productivity and quality, thus increase revenue, reduce cost and improve brand. References: DEVELOPER PRODUCTIVITY ENGINEERING: WHAT’S IN IT FOR ME? The 2019 Tidelift managed open source survey results Peopleware: Productive Projects and Teams Software Productivity   The Goal: A Process of Ongoing Improvement Improve the Performance of Gradle Builds CI fanout Netflix Pursues Soft DevEx Goals with Hard DevProd Metrics using Te...

Event: Be a better Java developer, learn faster and get more results!

Image
I joined a meetup brought by Manchester Java Community at Roku 's office. The topic is  Be a better Java developer, learn faster and get more results! The speech started with the dynamic trios: Fire your neurons: learn by doing Force to practise Frequent action The captivating speaker also shared back stories of recruitment and his own secret of Reputation Formula, i.e., Career Reputation = (Focus * Visibility * Action * Skill [XP] * Giver * Responsibility * Consistency) / ((Me-me-me) * Lies^2 * Difficult) In Q&A session, we delved into burning questions like the future of AI in developer jobs and whether Java will be the next COBOL.  Thank you very much to  Bruno Souza for his fascinating speech and inspirational career advice.

Ethical Hacking 101

In today's digital landscape, software security is paramount. To safeguard applications from cyber attacks, developers must embrace Ethical Hacking—an innovative approach that empowers them to uncover vulnerabilities and strengthen security measures. Ethical Hacking involves adopting the mindset of malicious hackers to identify weaknesses and fortify defences against unauthorised access, data breaches, and other threats. By integrating this practice into the coding process, developers gain valuable insights, proactively mitigating risks and creating more robust and secure software systems.  I took a basic lesson from Snyk about Ethical Hacking, which helps me consider security measures in coding.   Process   Plan & Prepare ( Reconnaissance phase)   Scan & Enumerate   Exploit   Analyse & Report Communicate & Collaborate Continuous Education & Professional Development   Tools   Nmap : network scanner   Burp Suite : security...