Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
malisper
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
48 ms
·
241.
▲
by
malisper
7y ago
There's two main reasons you would want to use auto-track. You should use auto-track if: - You don't have the resources to setup tracking code. - You want to look at data that you forgot to track previously. We've heard a lot
242.
▲
by
malisper
7y ago
No. We know that sometimes companies have random spikes that don’t correlate to sustained user growth. Higher pricing would kick in after the 2nd month of being above the volume limit.
243.
▲
by
malisper
7y ago
Heap has changed directions a lot over the last several years. When I about a year ago, they were going all-in on product analytics. They were focusing a lot on new kinds of analysis features. The last project I worked on was their path ana
244.
▲
by
malisper
7y ago
> Question...will you be able to replay/backfill as you add new integrations? Yes, absolutely! As long as the destination is able to accept timestamped data, you'll be able to replay all historical data since you installed Fres
245.
▲
by
malisper
7y ago
We respect Do Not Track. If you have Do Not Track enabled, we won't collect any data from you. Unfortunately Do Not Track has a number of fundamental issues and I'm not aware of any better way to signal you want to opt out.
246.
▲
by
malisper
7y ago
Thanks! The secret is that most APIs that accept event data are pretty much identical. They have some method or endpoint where you send a JSON dictionary of properties. Once we had had the core event processing down, it wasn't hard to
247.
▲
Launch HN: Freshpaint (YC S19) – Automated, Retroactive Alternative to Segment
57 points
by
malisper
7y ago
|
44 comments
248.
▲
by
malisper
7y ago
Thanks! It looks like by default it catches the first two. Is there a way to configure it to catch the other two? I don't think it can catch the case where you accidentally return nil because sometimes you do actually want to return ni
249.
▲
by
malisper
7y ago
That's very possible. It's very easy to forget try...catch and wind up with uncaught exceptions. Honestly though, I would prefer the uncaught exception case. When an uncaught exception is thrown, it's very clear you have an u
250.
▲
by
malisper
7y ago
> does this just mean liberal amounts of: thing != nil everywhere Yes, it does. Whenever you call a function that can possibly fail, you are supposed to add: if err != nil { return err } You can think of it as unwinding th
251.
▲
by
malisper
7y ago
I don't know. They're hard for me to find. How would you pick up on the first and last example? They are possibly correct depending on the exact functions you are calling. The other two examples, I could maybe understand, but they
252.
▲
by
malisper
7y ago
It's not just a pain to write. I've accidentally introduced way more bugs through Go style error handling than through Python style error handling. Some examples: Forgetting that a function returns an error: ... foo() /
253.
▲
by
malisper
7y ago
I think we may have a different definition of "training". A two day training session isn't anywhere near what a manager should be getting. Compare that to software engineering where you will get months of continuous mentorshi
254.
▲
by
malisper
7y ago
Over half of them worked for Google within the past two years. This is across New York, San Francisco, and Mountain View. One of them said they had a friend that wanted to become a manager and they were made a manager just like that.
255.
▲
by
malisper
7y ago
If you want a good reason to not join Google in particular, Google does not train their managers. When I was interviewing with Google, I interviewed around 8 friends of mine that worked or previously worked at Google. Lack of management tra
256.
▲
by
malisper
7y ago
> My point is more to do with the fact that BigCache does not handle collisions at all This property makes BigCache what is known as a "Direct-mapped cache"[0]. A direct mapped cache does lead to a worse cache hit rate, but it
257.
▲
by
malisper
7y ago
As someone who scaled the database at a company that dealt with over a petabyte of data, here's a few thoughts I have: It seems like the biggest issue Etsy had was a lack of strong engineering leadership. They relied on an outside cons
258.
▲
Reflections on Building Freshpaint
(freshpaint.io)
2 points
by
malisper
7y ago
|
0 comments
259.
▲
by
malisper
7y ago
Can someone help me with what seems to be a basic problem? How are you supposed to get stack traces for errors in Go? You can wrap an error every time you return one, but this omits useful information like the line numbers. Not to mention,
260.
▲
by
malisper
7y ago
A paradox is any statement that appears to contradict itself. That includes both actual contradictions such as Russel's paradox and statements that appear to be invalid, but have non-obvious valid conclusions like the Monty Hall proble
261.
▲
by
malisper
7y ago
Expanding on the post, one corollary of "people are rarely the cause of the outage" is that "you can't fix people". Given that Dave accidentally caused an outage by pressing some button he should't have, explai
262.
▲
by
malisper
7y ago
An interesting related problem is Bertrand's paradox[0]. You have an equilateral triangle inscribed in a circle. You pick a random chord from the circle (a line that goes from one edge of the circle to another). What's the probabi
263.
▲
by
malisper
7y ago
The tl;dr is that for many use cases, you can get order of magnitude improvements by optimizing constant factors. In their case, they made a disk optimized version of a binary heap by gathering nodes into pages. This is better because it&#x
264.
▲
by
malisper
7y ago
It's not possible to do this for regular expressions, but it is possible to do it for context free grammars. You can write a context-free grammar in Backus-Naur form that recognizes all context-free grammars in Backus-Naur form: &
265.
▲
by
malisper
7y ago
Ah, this brings me back. I remember coming across these a few years ago and spending a ton of time solving them. I wound up taking a crack at writing a regex crossword solver. Suprisingly a solver that used basic constraint satisifcation[0]
266.
▲
by
malisper
7y ago
For those reading along, the post describes a vector-like datastructure that has O(1) access time and O(sqrt(N)) insert and deletion time at an arbitrary index . The idea is pretty clever. The datastructure maintains sqrt(N) circular array
267.
▲
by
malisper
7y ago
I've always found these kinds of tricks fascinating. There's all sorts of crazy things you can do to save some bytes here and there. One of my personal favorites is the XOR linked list[0]. It's a doubly linked list that uses
268.
▲
by
malisper
7y ago
Referencing my copy of designing-data intensive applications[0], here are some approaches mentioned: 1) The naive approach is to assign all writes to a chunk randomly. This makes reads a lot more expensive as now a read for a particular key
269.
▲
by
malisper
7y ago
It depends on if by "immutable" you mean the only operation you are performing on the dataset are reads. Writes is a catch-all term usually used to describe either updates or inserts. If you are inserting new data and a single chu
270.
▲
by
malisper
7y ago
"Hot" is lingo for describing a chunk that is being operated on at a rate much higher than other chunks. Depending on what exactly is making the chunk "hot" increasing replication can either make things better or worse.
More ›