BetterDev #230 - Secure your server by limit outgoing connection
Better Dev #230 Oct 24, 2022
Hi, everyone, welcome to our second issue of the come back. I had received many emails with encouragement about my resumt. I really really appreciate that. Thank you so much.
For years, I was just a reader, consume information and share with BetterDev audience. But that’s going to chance. I’m trying to make article and video screencast so I had some thing to offer to the world to share my limited knowledge and experience. This will be my first post ever, and I don’t even have blog setup yet so I’m leverage “buymeacoffee” link. I read about many hacks recently, some are very high profile hack on some dependencies, so how do we defend these hack? Since our app now run untrusted cost? I want to share my though and my approach on how I defense these attacks.
SSH is the defactor to get a shell run in a remote host. But it can do more such as port forwarding or an intermediate host to access other host
Explain HTTP at a very deep but at same time in a very practical manner so you can see and simule how thing work at plain text level. You will see the whole HTTP requests payload, how it was made and how to send it ray character by character.
One of Python great feature IMHO is its decorator system. Literally just by adding @decorator_name
right before your function definiton, suddenly we can run custom code around the function.
That power is being brough to JavaScript. The proposal are at stage 3. Once its reach stage 4 it will be ready for standarization.
Every classes we added to our CSS has a cost in term of space and parse time. BEM standarize the modifier concept so we have class like menu--is-active
. Modern HTML utilize ARIA for accessibility so stuff like screen reader can understand its current page/active syntax for example. So why don’t we use `menu[aria-current=‘page’] to customize its style. Make it broader we can even customize a link based on its domain, instead of adding extra parameter and at the same time it’s super flexible. Example: a[href^=https://specific-domain.com].
Some of the most common questions asked when it comes to work with performance are, How do you convince stakeholders that improving the performance of your project is actually worth the investment? How can you prove that the work is necessary to begin with? Or prove that you have shipped improvements? And what is the impact of certain changes on users in different scenarios?
Postgres update conflict
is very powerful to update if row is already existed. But there is tricky case such as if data is already existed, delete it. Such as toggle a row by insert/delete, not easy to do with updatte conflict but now can do with merge
. update conflict also rely on a contrain,
Honeycomb is an event logging platform where log and metric can be send to it for viewing and analyzing. They have an outage of 8 hours on Sep 8th, 2022. This post is an analysis of that incident. We will learn a lot from these real world incident, seeing how those world class term debug and troubleshoot their infra. What interesting is that Honeycomp cannot find the root cause and have accepted that they probably won’t find out how it all came together. The data simply isn’t there, their runway has been extended, and they’re now looking for longer-term fixes that circumvent the overall pattern.
PAM is an amazing feature of Linux that allows to customization the authentication process of an application on Linux. Such as when SSH to the node, we can add extra MFA verification. You can write PAM plugin by writing dynamic so lib that Linux can load, and PAM can call the specific funciton. Think of its like a set of function we have to expose to be called. They usually written in C, but in modern way we can easily hook up to Go, Rust, Zig and make it super easy to custimization the authentication process on a SSH server for example
Code to read
sqlite3vfshttp is a sqlite3 VFS for querying remote databases over http(s). This allows you to perform queries without needing to download the complete database first.
GoIf you curious how PSD files are structure and parse it to get all the object, layer then read on
NodeJSTools
an open source framework for building and running fast, secure, and composable cloud microservices with WebAssembly
Windows event log fast forensics timeline generator and threat hunting tool created by the Yamato Security group in Japan.
an open-source development toolkit to help Data Scientists and Machine Learning (ML) Engineers prototype and productionize ML pipelines in days not weeks.
a free and open-source runtime code analysis tool with support for Ruby, Java, Python, Javascript. They had quite a bit of supported platform
Have you ever debug some tricky thing only happen in prod in a K8S cluster and wish you can hook up local process as if it was a container run inside the prod cluster to connect to prod resources and debug it? Now you can do that with mirrord. Also read their introduction article
You can view this issue in web browser.
If you have any suggestion/feedback, do tell me by replying to this email. I read them all.
No longer want to receive these emails? Unsubscribe
Older messages
BetterDev #229 - BetterDev is back
Monday, October 17, 2022
Better Dev #229 Oct 17, 2022 Hi, everyone. It has been almost 6 months with out any betterdev issue :-). It was due to my busy schedule. I finally started to get thing back on track. I will come back
BetterDev #228 - Memory leaks: the forgotten side of web performance
Monday, February 7, 2022
Better Dev #228 Feb 07, 2022 Memory leaks: the forgotten side of web performance I've researched and learned enough about client-side memory leaks to know that most web developers aren't
BetterDev #227 - How to avoid layout shifts caused by web fonts and Scaling Kubernetes to Over 4k Nodes and 200k Pods
Tuesday, February 1, 2022
Better Dev #227 Feb 01, 2022 How to avoid layout shifts caused by web fonts Fonts cause layout shifts when the size of the containing element (eg a or paragraph) changes when the web font is downloaded
BetterDev #226 - Build your own Anycast network in 9 steps & UK COVID-19 dashboard built using Postgres and Citus for millions of users
Tuesday, January 25, 2022
Better Dev #226 Jan 25, 2022 Build your own Anycast network in 9 steps Anycast allows you to have same IP address round to different node depend on geo location, This is the kind of guide I wish I know
BetterDev #225 - Neural Network From Scratch
Monday, January 10, 2022
Better Dev #225 Jan 10, 2022 Neural Network From Scratch I'm a big fan of this Napkin Math newsletter. If you haven't subscribe to Napkin Math, you should do it. In this edition of Napkin Math,
You Might Also Like
Import AI 399: 1,000 samples to make a reasoning model; DeepSeek proliferation; Apple's self-driving car simulator
Friday, February 14, 2025
What came before the golem? ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
Defining Your Paranoia Level: Navigating Change Without the Overkill
Friday, February 14, 2025
We've all been there: trying to learn something new, only to find our old habits holding us back. We discussed today how our gut feelings about solving problems can sometimes be our own worst enemy
5 ways AI can help with taxes 🪄
Friday, February 14, 2025
Remotely control an iPhone; 💸 50+ early Presidents' Day deals -- ZDNET ZDNET Tech Today - US February 10, 2025 5 ways AI can help you with your taxes (and what not to use it for) 5 ways AI can help
Recurring Automations + Secret Updates
Friday, February 14, 2025
Smarter automations, better templates, and hidden updates to explore 👀 ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
The First Provable AI-Proof Game: Introducing Butterfly Wings 4
Friday, February 14, 2025
Top Tech Content sent at Noon! Boost Your Article on HackerNoon for $159.99! Read this email in your browser How are you, @newsletterest1? undefined The Market Today #01 Instagram (Meta) 714.52 -0.32%
GCP Newsletter #437
Friday, February 14, 2025
Welcome to issue #437 February 10th, 2025 News BigQuery Cloud Marketplace Official Blog Partners BigQuery datasets now available on Google Cloud Marketplace - Google Cloud Marketplace now offers
Charted | The 1%'s Share of U.S. Wealth Over Time (1989-2024) 💰
Friday, February 14, 2025
Discover how the share of US wealth held by the top 1% has evolved from 1989 to 2024 in this infographic. View Online | Subscribe | Download Our App Download our app to see thousands of new charts from
The Great Social Media Diaspora & Tapestry is here
Friday, February 14, 2025
Apple introduces new app called 'Apple Invites', The Iconfactory launches Tapestry, beyond the traditional portfolio, and more in this week's issue of Creativerly. Creativerly The Great
Daily Coding Problem: Problem #1689 [Medium]
Friday, February 14, 2025
Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Google. Given a linked list, sort it in O(n log n) time and constant space. For example,
📧 Stop Conflating CQRS and MediatR
Friday, February 14, 2025
Stop Conflating CQRS and MediatR Read on: my website / Read time: 4 minutes The .NET Weekly is brought to you by: Step right up to the Generative AI Use Cases Repository! See how MongoDB powers your