I’m Shen Ting, I write about Data Science, Analytics, Contract Bridge, Web3 and more.
For more about myself, see my About page or read my latest posts.
I’m Shen Ting, I write about Data Science, Analytics, Contract Bridge, Web3 and more.
For more about myself, see my About page or read my latest posts.
The SCBA Ratings page is live! Thus far, only matchpoint pairs games are rated, from 2023 onwards. Most of the development was done in a week with the help of ChatGPT and Claude. Why 2023? Given that SCBA re-opened in May 2022 after COVID-19 restrictions were eased, 2023 seems like a good starting point when most people returned to weekly games. How is this done? Ratings are implemented using OpenSkill, using Plackett-Luce based on rankings. ...
The Death of the American Dream I recall watching the movie adaptation of The Great Gatsby back in 2013. Baz Luhrmann created a visual spectacle, featuring Leonardo DiCaprio as the titular character who has become part of multiple memes. And who can forget Lana Del Rey’s haunting vocals for the theme “Young and Beautiful”? I read the original novel soon after, and was pretty struck by how deep the underlying themes run. Fast forward to 2025, and it has been exactly a century since F. Scott Fitzgerald published The Great Gatsby. One hundred years later, its themes feel eerily familiar. The excessive wealth, the disillusionment, the relentless pursuit of a dream—all of it maps almost perfectly onto today’s tech-fueled, crypto-charged, influencer-driven landscape. This struck me on a commute home last week and as I thought about it, the main characters do reflect segments of modern day society. ...
Yep, just one week into the new year of 2025 I fractured my right last finger during football, during the seemingly innocuous act of catching a ball. Having been told for years the stereotype of “you’ll know if it is a fracture by the intense pain”, I thought it was just a bad sprain, because the pain was aching rather than sharp. There was no swelling, no bruising, so I just went for dinner as usual, and then back home, and that was when the swelling really started. ...
You probably also hate wasting time at meetings. What I don’t understand is how some meetings can go on for multiple instances without proper presentation skills - appallingly this is a meeting of senior technical leads. Look, it doesn’t even have to be BPMN, although that’s a good start. I don’t understand how half of the meeting revolved around a draft of some standards that was never screen-shared and the meeting spent 30 minutes talking (in circles). The second half of the meeting showed a dashboard (from vendor, not customized), and the presenter was trying to show some trends, but there was no narrative, no custom dashboard or some sort of analysis to demonstrate the hypotheses, and then some proposed scheme of action buried in an email (like, can’t you just copy it to a Powerpoint slide and even make it point form?!) that was convoluted enough that it was unclear what was really happening. ...
Imagine you’re a newcomer to Python and data analytics and some website tells you to use conda. Days later, you get an email from Anaconda telling you that you’re in breach of their licensing terms because the organisation you’re working for has more than 200 employees! Confused, you do a quick google and find this: https://www.anaconda.com/blog/is-conda-free Now you’re even more confused. Meanwhile on the second search result, the answer is clearer: https://stackoverflow.com/questions/74762863/are-conda-miniconda-and-anaconda-free-to-use-and-open-source ...
I gave a talk last night at Data Science SG entitled “Trustable Data: Challenges in a National Sports Association”. It gives an outline of what I’ve encountered and done in the past few years for SCBA. Talk slides can be found here
Koo writes: “In lifelong learning, we are expecting the participants to be able to apply what is being taught into their work. Applications to generate value is the key objectives for lifelong learning programmes. Assessment can conducted if it is on the application phase but unnecessary (but good to have) if it is to check if the participants have gained the knowledge needed from the course. In fact, mentoring might be more important as it guides participants, with an unorganized knowledge base as mentioned above, to start organizing the knowledge base and see where the applications of the knowledge are at the same time. However, this is difficult again due to cost issue. Yes, current experienced staff can be the mentor but they are already swarmed with their own work. Hiring external mentor could be a solution but again, opportunity cost for the freelancer can be high if the company only require an hour from the external mentor for guidance.” ...
eth.syncing { currentBlock: 13060865, highestBlock: 13060940, knownStates: 142012464, pulledStates: 141992942, startingBlock: 0 } After slightly over 38 hours, the blocks are sync-ed as of 4pm! I actually started over at 2am the previous day because I accidentally turned off power to the Pi and the ancient got corrupted :(
Out of memory So I left the node running for a few days and noticed the sync rate dropping significantly. Upon watching the log print for a while, I saw the following: Aug 13 01:51:22 geth geth[12749]: runtime: out of memory: cannot allocate 4194304-byte block (2422145024 in use) Aug 13 01:51:22 geth geth[12749]: fatal error: out of memory Aug 13 01:51:22 geth geth[12749]: goroutine 16172 [running]: Aug 13 01:51:22 geth geth[12749]: runtime.throw(0xce93c8, 0xd) ...
I’ve been meaning to look into running an ETH node for a while, and Roman helpfully sent me this guide, which helpfully links to another guide on running an ETH node on a Raspberry Pi 4. There was some scepticism if a Raspberry Pi 4 is actually powerful enough, but the hardware would cost me just $300 for both the Pi and an external 500GB SSD, and it’s still usable for other projects even if this doesn’t work out. ...