leif

Joined 17 years ago

Karma
2,312
Submissions
961
Member since
Mar 25
engineer at tokutek

http://leifwalsh.com

View on Hacker News

Recent submissions

Comment · 11 years ago
> In that case all you've got is an in-memory queue that evaporates on a system crash.

https://www.cs.berkeley.edu/~brewer/cs262/Aries.pdf

> Remember that merge operations are O(N). Then remember that there are N of them to do. O(N^2) is a horrible algorithmic complexity.

No. Mountains of actual math refute this. LSM-tree merges are O(N log N). This is an Actual Fact.

Read more, kids.

Comment · 11 years ago
The TokuDB implementation of Fractal Trees uses a single-process, multi-threaded model, which is incompatible with PostgreSQL's multi-process model. In theory, one could patch TokuDB to be suitable, but this is a ton of work.
Comment · 11 years ago
That's not really online, it still rebuilds the entire table, it just does it in the background and shows the results once it's done. This is pretty similar to how TokuDB hot indexing works, but TokuDB's hot column add/rename/delete is truly online, the results are visible immediately and the actual disk work is done in a lazy fashion.
Comment · 11 years ago
Cracking is kind of similar in that it delays the "sorting work" done in the indexing structure. However, cracking is fairly heuristic and therefore hard to analyze without an intimate understanding of the workload. Fractal Trees do pretty much the same thing under all workloads (modulo optimizations for things like sequential and Zipfian workloads), so they're easier to analyze and prove bounds for.

An interesting new development is http://getkudu.io/ which applies some ideas common with Fractal Trees and other write-optimized data structures (like LSM-trees) to column stores.

At Tokutek, we had some designs for how to implement column store-like data models on Fractal Trees (we called them "matrix stores" because they had some of the benefits of both row stores and column stores), but we didn't get around to implementing them.

Comment · 11 years ago
Comment · 11 years ago
TokuDB is built for a single-process model with threads for connections. This is incompatible with PostgreSQL's multi-process model, and patching TokuDB to support such a model would be a large effort. Not impossible, but a lot of work.
Comment · 11 years ago
A bottle is usually about 4 glasses (which is consistent with my experience, not sure how you made your calculation), so when shared, that's one to drink with the meal and one to share over conversation after. I'm far from a teetotaler, but it doesn't seem terribly excessive when phrased that way.

It may depend on your upbringing. In the modern US, particularly the more puritan regions, any alcohol at all is usually considered a luxury reserved for celebration, but in some parts of the world, wine or beer is just the drink you drink with a meal, and there's less of a stigma about it. If it's not your thing, it's not your thing, but applying the label "excess" is a pretty specifically cultural decision.

Comment · 11 years ago
you seem fun at parties
Comment · 11 years ago
>You even seem certain that a stranger on the Internet is part of the problem

The stranger on the internet said they felt like part of the problem, so I don't really know what to tell you.

If you read between the lines a bit, I never said I had any of the answers. All I said was listen to the people that are affected, try to learn about their problems, and be empathetic, and maybe you'll find the answers.

I'm not trying to be revolutionary here, I just think one of the nice features of these types of issues is that the people being affected are actual people that you can listen to and have conversations with, and I think that's a good place to start.

Comment · 11 years ago
You could try talking to them about this. Try "hey, I understand being in this industry can be difficult as a woman, I am not very familiar with the problem but I don't want to be part of it, and I'm concerned about how much eye contact I'm giving you during meetings. I don't want to make you uncomfortable with my eye contact or this question, but is it a problem for you?"

Most likely they'll tell you they have a lot of worse things to deal with than how much eye contact you're giving them, but it'll be a learning experience and at least you'll open up a dialogue.

Comment · 11 years ago
You've successfully completed steps 1 and 2:

1. Acknowledge there is a real problem.

2. Acknowledge you are part of the problem.

Now, on to steps 3-n!

3. Don't be discouraged, accept that there are things you can do to help! This is good, you're about to become a more valuable member of society.

4. Accept that you need to put in some effort. Not much, don't worry. Most of it is shutting up.

5. Read what women write about this problem. They're all experts because they've been studying it literally their entire lives.

6. Learn (from step 5 and some self-reflection) how to recognize in real time when you're being a jerk. Then stop.

Now it gets a little harder. But remember, not nearly as hard as being a woman in tech, so buck up, kid!

7. Learn (from step 5) how to recognize in real time when other people are being jerks, and good techniques for how to advocate on behalf of women. This takes practice and courage, keep at it.

8. You'll be tempted to brag about how helpful you are to women (hi @wadhwa). Resist this temptation. Whenever you feel yourself about to tell someone how great and helpful you are, instead, show them something an actual woman has said about their problems, and try to point them in the right direction.

Note that you can replace "woman/women" in the above with any minority/disenfranchised/disadvantaged group you want to help, and the same formula pretty much works verbatim.

Comment · 12 years ago
I agree, the mask/not/and is standard within systems contexts. It need not be cognitive overhead, not to be elitist but if you don't have a copy of hacker's delight or the ability to understand constructs like this, you have no business writing systems-level code.
Comment · 12 years ago
Tokutek, Boston, MA and New York, NY http://www.tokutek.com/careers

We build and sell high-performance databases TokuDB and TokuMX.

We are hiring:

- Inside Sales Exec

- QA Engineer

- Tech Support Engineer

- Product Manager

- Technical Writers (contract)

We are currently growing our customer base almost too fast with TokuMX, so we are expanding on sales, support, and documentation. For the engineering positions, MongoDB experience is preferred but any database experience is good.

For engineering, email myself ([email protected]) or Tim Callaghan ([email protected]) with a resume and say hi. For sales and marketing, email sales@ or marketing@. Referral bonuses available!

Comment · 12 years ago
It won't be patented. We hope others find it helpful and consider implementing it in similar systems.
Comment · 12 years ago

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton