Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
jamii
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
45 ms
·
121.
▲
Small Tech
(scattered-thoughts.net)
3 points
by
jamii
6y ago
|
0 comments
122.
▲
by
jamii
6y ago
Wow, definitely going to try that out. It takes that long for my android phone just to unlock sometimes.
123.
▲
by
jamii
6y ago
ORDER BY actually happens last. jamie=# (select a, a+1 as c from nums) order by b,c; a | c ---+--- 3 | 4 0 | 1 1 | 2 2 | 3 (4 rows) It's a separate part of the grammar: <query primary>
124.
▲
by
jamii
6y ago
There isn't really any math involved. It's just a lot of edge cases written out in lots of detail. I think a lot of what makes SQL hard to implement comes down to consistently prioritizing local convenience over global complexity,
125.
▲
by
jamii
6y ago
I never figured out why AS isn't allowed in the GROUP BY clause. It would be much simpler to implement `SELECT a1 FROM nums GROUP BY a+1 AS a1`.
126.
▲
by
jamii
6y ago
Exactly. We're often on both ends of this - some BI tool will generate a SQL expression that a human would never have typed, and we have to handle it the same way that postgres would.
127.
▲
by
jamii
6y ago
I think a lot of these are in the ANSI 2016 spec. I haven't looked at the older specs, maybe they were simpler. Eg here is the `a+1` vs `1+a` thing explained for ORDER BY - https://i.imgur.com/bklpjkP.png . Here are the
128.
▲
by
jamii
6y ago
> PostgreSQL (and maybe other SQL implementations; not sure!) has some smarts about detecting when an expression is used verbatim in a SQL query I think this one is in the SQL 2016 spec. There's definitely a section about how to p
129.
▲
by
jamii
7y ago
> would you go with rust again Absolutely. Even aside from safety, rust has so many quality of life improvements over C++ - algebraic data types, pattern matching, checked errors instead of exceptions, sane standard library, easy packagi
130.
▲
by
jamii
7y ago
We're working on benchmarks, but I expect that at the moment Materialize will be slower for one-off queries but faster for frequently repeated queries.
131.
▲
by
jamii
7y ago
Adding sources is pretty easy. We just need them to provide: * timestamped changes eg "record foo was deleted at time 42" * watermarks eg "I've now sent you all the changes up to time 42" Here's the implementat
132.
▲
by
jamii
7y ago
The main difference vs KSQL is that we support standard SQL (roughly SQL92 + correlated subqueries + json so far) and provide strong consistency: KSQL has a distinction between streams and tables, effectively giving you control over how vie
133.
▲
by
jamii
7y ago
> Instead, you register persistent, stateful enrichment "streaming jobs" (i.e. incrementally-materialized views) into the data warehouse; and then, when data comes into a table upstream of these views, it gets streamed into and
134.
▲
by
jamii
7y ago
> old and crippled finally going on the vacation you dreamed of > living off rehydrated beans and eggs I'm continually baffled by this kind of reaction. I spend ~30k USD per year - more than the average american and more than 99%
135.
▲
by
jamii
7y ago
It's running straight-up linux. You can write apps in python with gtk or qt, or anything else that works on a linux desktop.
136.
▲
by
jamii
7y ago
But the per-process gc is pretty slow, and stw pauses are still proportional to the size of the working set in that process. If you have a multi-gb data-set you have to choose between a single process with long pauses, or spreading the data
137.
▲
by
jamii
7y ago
If you want to see some examples, Neon uses this pattern to solve a similar problem - preventing rust code from holding onto js objects that might get gced between callbacks. https://github.com/neon-bindings/neon
138.
▲
Frugality is non-linear
(scattered-thoughts.net)
2 points
by
jamii
7y ago
|
0 comments
139.
▲
by
jamii
8y ago
Judging by the comments, a lot of people value entrepreneurship for the personal freedom and autonomy. The article suggests being able to save 89k per year. Under reasonable assumptions, 7.5 years of saving at this rate will support an inco
140.
▲
by
jamii
8y ago
Notes from the last time I tried to understand this - https://www.lesswrong.com/posts/wpZJvgQ4HvJE2bysy/god-help-u...
141.
▲
by
jamii
8y ago
Seeing Like A State goes into a fair amount of detail. From my notes: * Soviet collectivization. Inspired by huge mechanized farms in the US. Vision of doing for farming what assembly lines did for manufacturing. Both Soviet and US attempts
142.
▲
by
jamii
8y ago
My experience has been that the vast majority of papers on data-structures are at best misleading, and at worst deliberately biased. For example: > The hash table used by the authors of ART in their study was a chained hash table, but th
143.
▲
by
jamii
8y ago
SEEKING WORK | London | Remote is great I specialize in systems engineering and performance optimization. I can help you: * handle big data without building an expensive distributed system * replace complex hand-coded data pipelines with si
144.
▲
by
jamii
8y ago
Also being able to remove all the dispatch and stack-allocate everything. Haskell would probably do a good job of that too but in python or js, even with codegen, it would be hard to avoid heap allocation. The simple examples here might fal
145.
▲
by
jamii
8y ago
I used Ancient years ago for https://github.com/jamii/texsearch to stop the GC pauses caused by pointlessly traversing the huge immutable index. I don't know how else I would have met the latency requirements. Tha
146.
▲
by
jamii
8y ago
Huh, yeah, this is surprisingly similar, even down to needing a custom pointer type to do the offset<->pointer conversion - https://github.com/ipkn/dumpable/blob/master/dptr.h#L64-L69
147.
▲
by
jamii
8y ago
If you allow codegen in advance it looks pretty similar eg https://capnproto.org/cxx.html
148.
▲
by
jamii
8y ago
JuliaDB already does this eg `loadtable("foo.csv", output="foo/")` will store the data in "foo/" in binary form and mmap it.
149.
▲
by
jamii
8y ago
Arrow is basically a dataframe format. It's not really suitable for building data- structures . Eg one of the things Blobs is being used to implement is a Bε-tree ( http://supertech.csail.mit.edu/papers/BenderFaJa15
150.
▲
Zero-copy deserialization in Julia
(scattered-thoughts.net)
155 points
by
jamii
8y ago
|
32 comments
More ›