HN user

wspeirs

693 karma

I'm the founder of log-store.com

Posts66
Comments130
View on HN
davefriedman.substack.com 5mo ago

The SaaSpocalypse Is a Credit Event

wspeirs
2pts0
www.phoronix.com 9mo ago

Bcachefs Removed from Linux Tree

wspeirs
2pts1
tomerfiliba.com 1y ago

Candystore: O(1) KV Store for Rust

wspeirs
2pts0
github.com 1y ago

A high-performance, zero-overhead, extensible Python compiler using LLVM

wspeirs
241pts93
en.wikipedia.org 1y ago

Artificial Bee Colony Algorithm

wspeirs
1pts0
blog.bytebytego.com 2y ago

Slack Built Distributed Cron

wspeirs
1pts0
softwaredoug.com 2y ago

Dont have F-You money? Build an F-You Network

wspeirs
58pts4
borgo-lang.github.io 2y ago

A new programming language that compiles to Go

wspeirs
1pts1
medium.com 2y ago

I Charge a $100k Software Licensing Fee for 10 Lines of Code

wspeirs
4pts2
arxiv.org 2y ago

TSPP: A Unified Benchmarking Tool for Time-Series Forecasting

wspeirs
3pts0
www.ryanhoover.me 2y ago

Profit Sharing Startups

wspeirs
1pts0
www.saastr.com 2y ago

Does anyone regret being an entrepreneur

wspeirs
2pts0
discord.com 2y ago

Discord Modernized MFA with WebAuthn

wspeirs
4pts0
blaz.is 2y ago

Mfio – Completion I/O for Rust

wspeirs
50pts13
github.com 2y ago

An IDE plugin for Rust that helps you focus on relevant code

wspeirs
2pts0
github.com 2y ago

Youki: A container runtime written in Rust

wspeirs
24pts4
blog.piston.rs 2y ago

Piston Window v1 Released

wspeirs
2pts0
every.to 2y ago

How to Build a Better Social Network

wspeirs
5pts2
www.macchaffee.com 2y ago

Stop deploying web application firewalls

wspeirs
3pts0
www.tinybird.co 2y ago

Fixing ClickHouse Lock Contention

wspeirs
2pts0
corrode.dev 2y ago

The State of Async Rust

wspeirs
6pts0
news.ycombinator.com 2y ago

Show HN: HN-demo.log-store.com HN comments and stories in log-store

wspeirs
13pts2
twitter.com 3y ago

Why should you use Tokio vs. threads in Rust?

wspeirs
82pts47
old.reddit.com 3y ago

Kanal: Channels 80x faster than the standard library

wspeirs
2pts0
zfs.datto.com 8y ago

2nd Annual ZFS User Conference

wspeirs
1pts0
google.github.io 8y ago

Flat Buffers

wspeirs
1pts0
www.sciencealert.com 8y ago

Loophole in Graphene Could Unlock Limitless Energy

wspeirs
3pts1
support.google.com 8y ago

Google Finance Portfolios Going Away

wspeirs
2pts1
www.cerias.purdue.edu 9y ago

Vulnerability in Google's QUIC Found

wspeirs
1pts0
zfs.datto.com 9y ago

Open ZFS User Conference

wspeirs
2pts1

Love the site and the idea, but struggling to understand the criteria needed for a +EV bet. Would one site need to have a positive moneyline bet on team A, then another site have a positive moneyline bet on team B... assuming team A & B are playing each other?

I had a different idea, but the goal was basically the same: https://www.researchgate.net/publication/4133971_Making_the_...

Basic idea is to have a system call that allows library writers to get the bounds of a pointer. This way they can ensure they're not writing too much data to a location.

Another idea I've implemented in userspace is to create an allocator that allocates a page (via mmap) then set protections on the page before and after. The pointer returned aligns the end at the next page. If a write goes beyond the end of the pointer, it bumps into the protected page, and causes a fault. Then you can handle this fault, and detect an overflow.

A even more strict version of this is to add protection to the page the allocated pointer is assigned to. On _every_ write you get a fault, and can check that it's not out-of-bounds.

All of these methods are slow-as-hell, but detect any memory issues. While slow, they are faster than valgrind (not badmouthing it, it's an amazing tool!). So the recommendation is to use it in testing and CI/CD pipelines to detect issues, then switch to a real allocator for production.

"Talk benefits, not features" doesn't work!

I don't think this is true... It's more nuanced than this. Developers are much more skeptical of a "benefits" pitch, and care more about a "features" (and limitations as mentioned above) pitch. However, if you're just pitching a developer, you're probably only pitching the user, not the buyer. The buyer VERY much cares about the benefits, otherwise they're not buying. The buyer won't using a single feature, so that type of marketing is lost on them.

This is the challenge: the right message (features or benefits) to the right person (user or buyer) AND at the right time!

Centralizing logs can be a HUGE help... You just have to use a tool that doesn't cost what Splunk charges. At the risk of over-selling, log-store.com caps charges at $4k/month! That's still a lot of money, but way less than what Splunk and other SaaS providers charge!

Fair enough... if you're monitoring "response_time", and a developer changes that field to "time_taken_to_send_the_bits" you'll probably have a tough time monitoring the service. However, if the dev communicates that the value has changed, with the right tool it isn't hard to have something that covers both fields.

At the small volume of data where you could "just put stuff in S3 and search it later"

I was arguing exactly the opposite... leverage S3's near-infinite storage so you can store whatever you'd like. Searching through it _can_ be fast with the right tool.

If instead of detecting the smoke (e2e) you try to monitor all the data like pressure in gas pipes, all the pipes fittings, how many lighters are in the building and where, etc, you will wake up every night 10 times for nothing

Without this you'll always be awoken by smoke, and at that point it's too late... there's already a fire. However, if you can monitor other things (gas pipes, lighters, etc), you might be able to remediate a problem before it starts smoking or burning.

There's no one-size-fits-all. Start with some obvious failure (e2e tests/checks; aka smoke), and when you root-cause, add in additional checks to hopefully catch things before the smoke. However, this also requires you update (or remove) these additional checks as your software and infra change... that's what most people forget, and then alert fatigue sets in, and everything becomes a non-alert.

You just need a tool that's adaptable and will let you parse-as-you-search. Without a schema, your logs can change whenever, and you can still easily derive value from them.

Cost, which still isn't solved yet.

I'd argue it _is_ solved... store your logs in S3. At ~$0.02/GB you can store a _lot_ of logs for like $20. The problem is that _most_ solutions (Honeycomb included) are SaaS-based solutions, and so they have to charge a margin on top of whatever provider is charging them.

You just need a tool (like log-store.com) that can search through logs when they're stored in S3!

Instead of “ingest all the metrics/logs” we have guides showing, for example, how to set up the most minimal possible Prometheus / Alertmanager, with the smallest footprint of CPU/memory/disk requirements. [2]

I'll bite... why _not_ "ingest all the metrics/logs"? I see 2 possible reasons: 1) don't have enough resources (CPU/memory/disk) to consume "all the logs"; 2) you won't be able to find what you need.

I think both are a failure of the tools in the space.

Agreed! Few things anger me more than when a program simply reports, "File not found"... OK, which file? Where were you looking for said file?

I know how we get here, people simply report the error from the OS w/out adding context. This is why I love anyhow reporting in Rust, you can attach context (like the file name and path) to the error.

In log-store.com I report the default name of the config file (you can specify it via cmdline if you want), and the 3 locations and order searched, if the config file isn't found. I also have it report the file being used, so if you expected the file in /etc, but you accidentally had one in your home directory, you'll know on startup.

These things seem like table-stakes in 2023.

Agreed... I wanted to understand what it was all about, but really struggled to follow. They talk about the whole thing taking around 24 hours, but some part took over 30. Also that it ran on a 4GB of RAM machine, but they needed larger ones to do all the parsing.

Also in the end, unsure of what the actual results are. Maybe I missed clicking on something.

I wouldn't give or do a take-home test, I respect people's time too much. Again, I would sit with them and have a conversation about your code, and their suggestions. Hiring someone is more than what code they produce... Can you work with this person? Are they receptive to feedback? How do they handle conflict/being challenged?

the company is in a difficult position and everyone is doing layoffs

Is Google really in a bad position? Microsoft? Others who are doing layoffs? Or can they do them, bring down expenses, and juice the stock price under the cover of "everyone is doing it"? I don't know, but it is a bit head-scratching (to me at least) that profitable companies would be doing double-digit percentage layoffs

We are hoping to add someone to the team that can improve the quality of the work we do

I think that's your answer... Show them your existing front-end code, and ask them how they'd make it better. If they're experienced, then they should have some very concrete ideas. Then ask them "why" for their ideas. If they can't fully explain the "why" behind the "what" they're probably just regurgitating things they've read, but don't actually understand the tech.

Is there an example of this service somewhere?

I would think you'd need to identify your target customer. Build a profile of them. What do they like to read? How do they find new products? Is there a magazine (old skool) or trade show or are they government customers or universities. Then copy how others are marketing to them.

It's interesting though that both radio and TV switched to pay models: cable/premium channels and Sirius/XM for radio. Billboards are providing anything to the user, they're just giant signs that say "go buy this"