HNHacker News
TopNewBestAskShowJobs

sunng

257 karma · joined March 27, 2011

openpgp4fpr:ed91d234cae973679ad46ea62e27e20fc4deea3e
submissionscomments
sunng··on Two Years of Emacs Solo
Emacs is like a minecraft of lisp expressions.
sunng··on SQLite AI
Is this from the original sqlite team?
sunng··on No more O'Reilly subscriptions for me
I just terminated my 8-years O'Reilly subscription this year. I was at $400/year and realized I cannot make full use of it recently.

But I just joined Manning subscription this winter to see if it helps.

sunng··on Claude Code IDE integration for Emacs
According to StackExchange, Emacs is not even a code editor
sunng··on Making TRAMP faster
The async process sounds promising but unfortunately eglot doesn't work with it. I got a message from reddit that tramp 2.8.0-pre has fixed that issue but until last time I compiled HEAD from tramp repo it still doesn't work.

I just applied other configurations from the article and it seems faster than the default settings. Thank you author for sharing this!

sunng··on Making TRAMP go Brrrr
Isn't recent Tramp versions using this by default?
sunng··on Observability 2.0 and the Database for It
Sure you still need to code but instead of concrete metrics one by one, you instrument the context and the state. The opentelemetry trace API can save you a lot of work. But I agree there is still potential to improve the auto instrument.
sunng··on Observability 2.0 and the Database for It
Yes, this is a common confusing point between structured logging and wide event. The Wide Event 101 article I referenced has clear explanation:

> Structured logs could be wide events, but not all structured logs are wide events. A structured log with 5 fields is not a wide event. A structured log with no context is not a wide event.

And these also why it requires no code changes to extract more metrics from wide event. The context can carry enough information and you just write a new query to retrieve it. In current metrics tooling, you will make code change to define new labels or add new metrics for that.

sunng··on Observability 2.0 and the Database for It
Author here. Thanks @todsacerdoti for posting this.

I am big fan of the idea to have original data and context as much as possible. With previous metrics system, we lost too much information by pre-aggregation and eventually run into the high-cardinality metrics issue by overwhelming the labels. For those teams own hundreds of millions to billions time series, this o11y 2.0/wide event approach is really worth it. And we are determined to build an open-source database that can deal with challenges of wide events for users from small team or large organization.

Of course, database is not the only issue. We need full tooling from instrument to data transport. We already have opentelemetry-arrow project for larger scale transmission that may work for wide events. We will continue to work in this ecosystem.

sunng··on Aegis v3.0 – a free, secure and open source 2FA app for Android
I have being using andOTP for years but the development seems to halt, also it's no longer available from f-droid. The feature that backup with gpg encryption is broken.

I hope it's possible to import my otps from andotp into aegis. Also the backup encryption with gpg (openkeychain) is welcomed.

sunng··on Firefox on the brink?
Like linux, most firefox users has tracking protection so data is not collected for them.
sunng··on Postgres and Parquet in the data lake
While using data lake for this case is a good idea. I'm not sure if parquet is the particular good storage format for data like event log, audio log. The data is often row oriented and does not take full advantage of a column based format.
sunng··on Management by metrics leads us astray
By using metrics we make it a lower dimensional model, that can be managed at scale. However in real world, it often becomes a overfit one. In large scale execution, people only care what metric measures.

A talk vs metrics is just higher dimension vs lower one. The information within a talk is complex. Different people received vary information from the same talk. So it's hard to managed by scale.

So a metrics system is just a trade-off for its scale.

sunng··on Plotting an escape from the quagmire of equality in Emacs Lisp (2012)
So sad to see he is leaving Clojure community. That's a sign of the death of Clojure. A few great developers have moved their focus away from Clojure.
sunng··on Compiling Rust to Web Assembly
Here is an example that using Rust-native library for web development: https://github.com/tcr/rust-todomvc

Also I forked it to use handlebars: https://github.com/sunng87/rust-todomvc

Using asmjs, the compiled js file is about 20MB and can be slow in browser. While wasm32 one is just ~500KB.

sunng··on Org Mode for Emacs – Your Life in Plain Text
I'm org-mode beginner but quite enjoy it so far.

I use emacs org-mode on my Linux desktop, and orgzly(http://www.orgzly.com/) on my Android. org files were synced via syncthing.

sunng··on Pencil: A Microframework Inspired by Flask for Rust
> "gives the bare essentials and nothing else"

Rust is that thing exactly.

sunng··on Why is nobody using SSL client certificates? (2008)
We use client certificates for our internal services.

Also you should know that Apple use this for its push notification system.

But I still think the technology is underrated.

sunng··on Ask HN: Who's using Clojure in production?
The backend of Leancloud.cn is built with Clojure.
sunng··on Shake: Every Program Can Be a Clojure Function
You can set environment variable SHAKE_PATH to specify path that you want to initialize.
sunng··on Shake: Every Program Can Be a Clojure Function
I'm also looking for better ways to index path. If I can pass some options in (use) and initialize with options, it will be better.
sunng··on HeatCanvas is a heat map for web browser, written with Canvas and WebWorker.
Since HeatCanvas is pixel based, it costs time to render. However, the calculation and rendering are processed in background, which won't freeze UI. Both calculation and rendering are in O(n) to data input. And the function you choose for v=f(d) also affectes on performance.
sunng··on HeatCanvas is a heat map for web browser, written with Canvas and WebWorker.
There are some redraw issue on panning the map. It seems that GoogleMaps won't redraw unless the panning distance is large enough. I will try to smooth it in future release.