This week, I want to share a quick shell trick to check if a port open or not without using any external tool like
And it’s a one liner:
echo > /dev/tcp/host/port. Example:
echo > /dev/tcp/127.0.0.1/1605/. If the port is open, no outout, otherwise it will say:
-bash: connect: Connection refused
-bash: /dev/tcp/127.0.0.1/1605: Connection refused
It only works on Linux though, so if you are on Mac, don’t bother to try it.
Papers with code
Have ever feel frustrated reading a whitepaper without code? So either you have to re-implement to verify or use the research theory? This site is a directory of paper with its code,
as in they have a github repository.
Preparing Applications for IPv6 (PDF)
A software developers guide to writing and migrating networked applications for use on ipv6 networks. Discuss strategies for apps supporting both ipv4 and ipv6 during the transition.
Not just in term of network, it also discussed how to store ipv6 into database effectively. How to deal with ipv6 in your programing language etc. So a great guide both in term of networking and programming.
Solving Jepsen with OpenCensus Distributed Tracing: A personal journey
Jepsen is a framework to test distrubuted system. It uncovered many bugs in system like MongoDB, Riak, Redis, ElasticSearch.
But what do you do if you are a developer and your app failed at Jepsen test. This is a journey of a dgraph developer try to fix
one of the most complicated Jepsen test using distributed tracing. The test is so hard that you cannot just think of theory to quickly try fixing out blindly.
The Real Cause of the Sign In with Apple Zero-Day
Recently Apple has a Zero-Day in thir Sign In with Apple system, which allow a way to login as anybody. The core issue is not validating user input data.
If a single thing you can learn from this article is this: always validate user input data, especially in a multi steps flow, validate at every steps.
Avoiding CSRF Attacks with API Design
Removing PostgreSQL Bottlenecks Caused by High Traffic
There are many ways of addressing performance bottlenecks, but for the sake of discussion here are several ways we can look at this issue: Tuning Performance Parameters, Session Connections, Bloat, Autovacuum, Data Hotspots, Competing Application Processes
Locks in PostgreSQL
A series about Postgres locks. This part is about dead lock, object-level locks and predicate locks.
How to Write a (Toy) JVM
The code example is in Go but it introduce you to structure of JVM and how much you can achieve with a short amount of code. Also a good chance to understand some aspect of JVM, regardless you like Java or not, I think this is a great artcile and will level up your knowledge.
Code to read
A JVM written in 3000 line of Scala that can compile itself
Easy P2P file transfer powered by WebRTC - inspired by Apple AirDrop
Ever wonder how to generate YouTube-like ids from numbers? Here you go, in 400 lines of TypeScript
Cross-platform content sharing in a local network
Open source 5G core network base on 3GPP R1
Postgres partitioning as easy as pie
A human-friendly and fast alternative to awk and cut
Self-hosted, Node.js based analytics tool for those who care about privacy. Ackee runs on your own server, analyses the traffic of your websites and provides useful statistics in a minimal interface
Explore your data with SQL. Easily create charts and dashboards, and share them with your team
A simple and efficient HTTP mock server
Detecting Logic Bugs in DBMS. It discovered 179 bugs in SQLite
Modern, privacy-friendly, and detailed web analytics that works without cookies or JS
a distributed event bus broker that implements a RESTful API abstraction on top of Kafka-like queues, which can be used to send, receive, and analyze streaming data in real time, in a reliable and highly available manner.
Password-based Uniform-Random-Equivalent Encryption
That's it for this round, have a great day! If you like this newsletter, please tell the world, or
tweet about this