HNHacker News
TopNewBestAskShowJobs

ptrik

362 karma · joined November 18, 2019

read |> design |> code |> iterate
submissionscomments
ptrik··on Shell.how: Explain Shell Commands
Sounds like explainshell's approach is more robust, no?
ptrik··on Shell.how: Explain Shell Commands
How’s this different from explainshell?
ptrik··on Tracking supermarket prices with Playwright
> While the supermarket that I was using to test things every step of the way worked fine, one of them didn't. The reason? It was behind Akamai and they had enabled a firewall rule which was blocking requests originating from non-residential IP addresses.

Why did you pick Tailscale as the solution for proxy vs scraping with something like AWS Lambda?

ptrik··on Tracking supermarket prices with Playwright
> My CI of choice is [Concourse](https://concourse-ci.org/) which describes itself as "a continuous thing-doer". While it has a bit of a learning curve, I appreciate its declarative model for the pipelines and how it versions every single input to ensure reproducible builds as much as it can.

What's the thought process behind using a CI server - which I thought is mainly for builds - for what essentially is a data pipeline?

ptrik··on Tracking supermarket prices with Playwright
> The data from the scraping are saved in Cloudflare's R2 where they have a pretty generous 10GB free tier which I have not hit yet, so that's another €0.00 there.

Wonder how's the data from R2 fed into frontend?

ptrik··on Tracking supermarket prices with Playwright
> I went from 4vCPUs and 16GB of RAM to 8vCPUs and 16GB of RAM, which reduced the duration by about ~20%, making it comparable to the performance I get on my MBP. Also, because I'm only using the scraping server for ~2h the difference in price is negligible.

Good lesson on cloud economics. Below certain threshold we get linear performance gain with more expensive instance type. It is essentially the same amount of spending but you would save time running the same workload with more expensive machine but for shorter period of time.

ptrik··on "We ran out of columns"
This is the main takeaway for me. The decentralized way of software development in a large scale. It does echoes with microservices a lot, but this can be done with a more traditional stack as well. It's ultimately about how you empower teams to develop features in parallel, and only coordinate when patterns emerge.
ptrik··on MondayDB: A new in-house data engine from monday.com
Curious to see how this stacks up against a more specialised HTAP database like SingleStore / TiDB
ptrik··on For Want of a JOIN
This depends on use case. SQL is the king for batching process - queries are declarative, decades of effort put into optimization.

For real-time / streaming use cases, however, there is yet a mature solution in SQL yet. Flink SQL / Materialize is getting there, but the state-of-the-art approach is still Flink / Kafka Streams approach - put your state in memory / on local disk, and mutate it as you consume messages.

This actually echoes the "Operate on data where it resides" principle in the article.

ptrik··on SQLite or PostgreSQL? It's Complicated
Ditto on DuckDB point. This looks like OLAP workloads to me and a columnar database would work wonders. DuckDB if you going embedded, Clickhouse if you going with a server.
ptrik··on Maud: A Rust macro for writing HTML
Related library in Rust: https://docs.rs/typed-html/latest/typed_html/
ptrik··on Is anyone still using assembly language? You betcha (2007)
We've got https://github.com/SnellerInc/sneller which is a query engine for JSON based on AVX-512 assembly
ptrik··on How PostgreSQL stores rows
Would also recommend reading "Designing Data-Intensive Applications" https://www.oreilly.com/library/view/designing-data-intensiv...

The chapter "Data Structures That Power Your Database" offers a great overview of various storage mechanisms of databases

ptrik··on Rejuvenating WordPress Through GraphQL
Interesting narrative from a database schema to GraphQL schema.

1 typo noted: but nevertheless thay are a distinct entity.

ptrik··on Show HN: Stork: A customizable, WASM-powered full-text search plugin for the web
Similar project: https://endler.dev/2019/tinysearch/
ptrik··on Show HN: Simple-graph – a graph database in SQLite
Similar project: https://github.com/CodyKochmann/graphdb
ptrik··on Golang Desktop App with Webview/Lorca, WASM and Bazel
Carlo [1] was an exciting project to hear, sad that it's no longer maintained. Glad to see Lorca [2] as a spiritual successor.

[1] https://github.com/GoogleChromeLabs/carlo/

[2] https://github.com/zserge/lorca

ptrik··on Userscripts Are Fun and Are Still Very Much Relevant
Recently wrote a userscript to sync video progress with my friend via peerjs. Works like a charm. And it supports any <video>. The edit-reload dev experience is still much better than extensions.
ptrik··on Clojure on the Desktop
Same here. Have been trying to build something similar with GitHub Actions and this is a nice reference.
ptrik··on GraphQLize: JVM library to build GraphQL API instantly from PostgreSQL and MySQL
Another interesting point is a library written in Clojure and designed to used in both Java and Clojure
ptrik··on Rust's Complexity Problem – A Warning
http://archive.ph/xg3op
ptrik··on Share your screen on Zoom with ultrasound
Reminds me of https://chirp.io/technology/
ptrik··on The Most Abandoned Books on GoodReads (2019)
The website itself is also interesting, with informative content and minimalist aesthetics. The link previews on hover are particularly interesting, similar to the Wikipedia one. What's the tech stack behind?