Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
cfallin
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
15 ms
·
121.
▲
by
cfallin
9y ago
Yeah, the only downside of heap storage is the alloc/dealloc cost -- once you have the memory, it's all just bytes in RAM, whether heap or stack. It's not even a clear tradeoff for large arrays, because using value types on t
122.
▲
by
cfallin
9y ago
> Unacceptable. It's now 5+ years since major improvements. It's disappointing that the curve doesn't go up-and-to-the-right more, but "unacceptable" reads a little harsh to me -- I doubt the lack of big IPC gain
123.
▲
by
cfallin
9y ago
The tricky bit isn't making sure you don't free pointed-to objects; the tricky bit is knowing which objects can be pointed-to. A consequence of GP's point is that because there can be an arbitrary delay between reading a poin
124.
▲
by
cfallin
10y ago
Another cool feature, on top of steveklabnik's comment: rustc is actually smart enough to collapse `Option<T>` where `T` is a borrowed reference (pointer) to a single word. Basically, the compiler knows that the pointer can never
125.
▲
by
cfallin
10y ago
Yup, bleeding-edge laptop support is still a toss-up, but it's getting better, IMHO! I think that's where this sentiment often comes from: people who cut their teeth on XF86Config tweaking and compiling NVidia kernel modules from
126.
▲
by
cfallin
10y ago
People have replicated silicon fab processes at home -- see e.g. [0] where Jeri Ellsworth makes homemade transistors. Of course the effort she took to do that (while seriously really impressive) probably isn't worthwhile compared to
127.
▲
by
cfallin
10y ago
> It only works when your function returns error of the same type as expression inside 'try!' or '?' macros. The language has actually thought of this case -- it turns out you can map lower-level errors into your high
128.
▲
by
cfallin
10y ago
Well, you can't solve it in the general case. But parallelizing compilers can and have been written that perform a conservative analysis -- they can prove some subset of all parallelizable loops as parallelizable, and for the ones they
129.
▲
by
cfallin
10y ago
+1 to Pittsburgh! My girlfriend is a resident at UPMC and from everything I hear/see, they're treated well. The cost of living here is cheap enough that if you're making 50-60k you can afford one of the nicest 1-bedrooms in t
130.
▲
by
cfallin
10y ago
I'm just a grad student (but I've seen plenty of paper reviews and heard plenty of discussions at conferences), but at least in my corner of academia, the older and more established folks tend to be more visionary: they're mo
131.
▲
by
cfallin
10y ago
I agree partially w.r.t. testability of branchless code, but there's a flipside too: often the root cause of an edge case is in data-structure shape, so full coverage isn't necessarily sufficient. In other words, if an edge case i
132.
▲
by
cfallin
10y ago
> the cognitive load of what I no longer had to worry about exceeded what I had to worry about. Yup, this has been my experience too. I started using Rust for my primary project last March and was worried a little at first about the risk
133.
▲
by
cfallin
10y ago
I was just quoting the cited PDF ("the section cited above shows..."), which the author(s) did on Ivy Bridge. I haven't benchmarked it myself. It would be interesting to see how the most common cores today do on this...
134.
▲
by
cfallin
10y ago
> the rep prefixed instructions for string operations ... are actually preferred over a hand-written vectorized loop on Ivy Bridge and up (see [1] section 3.7.7, "Enhanced REP MOVSB and STOSB operation (ERMSB)"). It's indi
135.
▲
by
cfallin
10y ago
I wonder if there's some control-theory reason why one's unsynchronized circadian rhythm is on average slightly longer than a day? Intuitively it seems that one might actually have more consistent synchronization with the solar cy
136.
▲
by
cfallin
10y ago
Either that, or lead solder fumes (ah, memories), have to explain at least some fraction of EE/computer folks' quirks...
137.
▲
by
cfallin
10y ago
At least on the NSF GRFP, and at least in my department at CMU, I still received W-2s, and federal deductions happened normally as per my W-4. (The fellowship funding went through the dept and I was paid by CMU.) Maybe my department is an o
138.
▲
by
cfallin
10y ago
Not at all -- there's a lot of commonality in the language designs. Core language features: both have algebraic datatypes like ML ("case classes" in Scala, enums in Rust), and a 'match' statement that makes working
139.
▲
by
cfallin
10y ago
Not just topology, but visibility too... IMHO at least, Pittsburgh streets in the denser neighborhoods (east end mainly) have a real problem with blind intersections and driveways, especially because of street parking. If the car's sen
140.
▲
by
cfallin
10y ago
It's good to see the DRM (graphics) stuff more up-to-date in 11.0. FreeBSD is frustratingly close to natively-just-works on my 2014 Asus Haswell ultrabook (support for scrolling with the touchpad, of all things, is the main thing missi
141.
▲
by
cfallin
10y ago
> I can get a bus to downtown Pittsburgh a block away from my house, but I'll almost always drive Pittsburgh's bus system is definitely not the most timely or reliable of bus systems I've used, but I have the opposite expe
142.
▲
by
cfallin
10y ago
I've heard that technique described as "type tetris". I find myself trusting the type system to guide me a lot in Rust too -- it's very nice!
143.
▲
by
cfallin
10y ago
I really appreciate the user-friendliness of Rust's error messages -- I can't remember seeing a compiler tell me "maybe try this instead?" before (perhaps something from Clang, but never with the specificity of, e.g., a
144.
▲
by
cfallin
10y ago
To expand on another answer here -- there are more values in the PRF than there are names because "old" instructions in flight can refer to outdated versions of architectural registers (the names). But a new instruction can only s
145.
▲
by
cfallin
10y ago
Yep, the long bitlines are a large factor in timing for register files. The timing is something like O(n) for n storage lines because it grows linearly with capacitance.
146.
▲
by
cfallin
10y ago
It's a quantitative tradeoff question -- for many programs it may be true at first that increasing the register count (say, from 16 to 32) allows more live values in-register and reduces memory traffic, but at a certain point there are
147.
▲
by
cfallin
10y ago
> The bios loads your kernel Not even that! It loads the first 512-byte sector of your boot disk and jumps to it in 16-bit mode. Usually that bit of code loads in a few more sectors (using BIOS disk IO calls), enough to load a real bootl
148.
▲
by
cfallin
10y ago
> Lazy evaluation should be called a generator if we are doing JS specific naming conventions. The two are actually orthogonal -- generators are a control-flow structure where control keeps re-entering an existing function context and re
149.
▲
by
cfallin
10y ago
Anecdotally, I hear hills cited pretty often as a reason not to bike-commute. I live in Pittsburgh and the city is taking biking more and more seriously, but there's only so much one can do about topography. An electric boost could mak
150.
▲
by
cfallin
10y ago
Given that ML is likely going to be used more and more -- even if not for criminal justice applications, at least in the private sector (credit scores/loan applications, insurance, etc) -- I wonder if there's a way to develop stan
More ›