Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
_yosefk
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
73 ms
·
601.
▲
by
_yosefk
13y ago
I think boost also has a standalone coroutines library.
602.
▲
by
_yosefk
13y ago
So you allocate a coroutine stack by allocating a large array on the caller's stack, so that when you longjmp back to the setjmp'd context, you can safely overwrite that reserved space. F * me plenty. Good stuff. One reason my in
603.
▲
by
_yosefk
13y ago
LLVM IR is less portable than C; and even where an LLVM back-end is available (say, x86 Windows machines), it's really nice to be able to compile everything with another compiler (say, VS) and get debug info and browse info in the gene
604.
▲
by
_yosefk
13y ago
I agree that compiling to C will not give you a great language implementation if you need this type of features; I think the implementation will be good enough for many cases though. To take an extreme example, CPython isn't a bleeding
605.
▲
by
_yosefk
13y ago
You know, somehow your comment conveys a uniquely Russian atmosphere, making me feel slightly nostalgic.
606.
▲
by
_yosefk
13y ago
Erm... because that $10M is a conjecture, while the $1M is a cost paid upfront with complete certainty? Or do you want to pay in equity? Also - because someone else is willing to do the same job for less? I'm not sure that "framin
607.
▲
by
_yosefk
13y ago
If you join a larger company, yes you'll get less. If you stay in a company while it grows larger and you then negotiate for more options, maybe you'll get relatively many, as you're now rather uniquely valuable to that
608.
▲
by
_yosefk
13y ago
I'm not sure which part of what I said is described by the "dirt path vs highway" metaphor, so I don't quite follow this thread. I was speaking of a more "programmery" type of career vs a more "businessy&q
609.
▲
by
_yosefk
13y ago
Precisely. Add to that the fact that the situations you most commonly find yourself in are the result of choices you make, and therefore the behavior serving you best is a result of these choices as well, and you'll be making the same
610.
▲
by
_yosefk
13y ago
My replies to your points: 1. Do you have stats? In absolute terms, a whole lot of people hiring programmers have programmed themselves. How do you know the other people hiring programmers are "the vast majority"? (I sincerely won
611.
▲
by
_yosefk
13y ago
A self-printing program that opens its source code file is an example where there's no disregard for anyone's well-being, and where a programming trick is used; the trick, however, misses the point of writing a self-printing progr
612.
▲
by
_yosefk
13y ago
"Everything we do is for the purpose of altering consciousness. We form friendships so that we can feel certain emotions, like love, and avoid others, like loneliness. We eat specific foods to enjoy their fleeting presence on our tongu
613.
▲
by
_yosefk
13y ago
I'm not saying that you can or should do this or that right now with a given piece of hardware, just what is and is not possible. The CPU on the FPGA's die could be fast, embedded GPUs could be better at algorithmic acceleration (
614.
▲
by
_yosefk
13y ago
With modern FPGAs, you have the CPU on the same chip, which means you can use just one chip and then it's OK for cost-sensitive devices - and your problem of moving data across chips is gone as well. I'm not an "FPGA enthusia
615.
▲
by
_yosefk
13y ago
I agree about the pile of EE stuff, but it's not unlike having to learn a pile of math to work on, say, graphics; it's two areas into which programmers can naturally branch out, but it's not trivial. And yes, you'd need
616.
▲
by
_yosefk
13y ago
Run on the on-chip CPU :) (Which bits would you want to implement in Verilog? As to Verilog vs VHDL - Verilog, always :)
617.
▲
by
_yosefk
13y ago
Verilog is higher-level than a bunch of nodes talking only to their neighbors and having a tiny amount of RAM, by far...
618.
▲
by
_yosefk
13y ago
It works as you describe, pretty much, the gnarly bit being that there's no standard interface for an SRAM (that is, SRAM is not in the standard library, unlike say simple gates.) One reason is the many different ways to implement BIST
619.
▲
by
_yosefk
13y ago
It's genuinely complicated; if Xilinx could disrupt Altera by making easier-to-use tools, it would. (In fact it tries with AutoESL.) I hope to explain why FPGA tooling is intrinsically hard in my next write-up.
620.
▲
by
_yosefk
13y ago
There are academic people mapping neural nets on FPGAs; I'd expect FPGAs to do better if you manage to use integer arithmetic.
621.
▲
by
_yosefk
13y ago
Functional style indeed works fine with simple data flow graphs, but once you start fiddling with RAM you're back to imperative nightmares from hell (unless you're wielding a sufficiently smart compiler that I haven't seen, o
622.
▲
by
_yosefk
13y ago
This is much worse in ASIC, where there's no standardized SRAM interface and you have built-in self-test wires coming in that uglify each non-standard interface tremendously. HDLs have their share of warts - pragmas in comments, vital
623.
▲
by
_yosefk
13y ago
I agree that you can write horrible Verilog by virtue of not understanding of what it compiles down to; but you can write horrible C because of not understanding how it compiles down to just as well, not to mention C++, not to mention langu
624.
▲
by
_yosefk
13y ago
A free simulator (like iverilog) plus a free waveform viewer (like gtkwave) is a nice way to start fiddling with these things. Verilog is way - WAY - easier to deal with than say C, actually, because you have much more visibility (waves ins
625.
▲
by
_yosefk
13y ago
I think partial reconfiguration is actually vital - you can't do stuff without it - while C-to-Verilog is not. Though I've seen people loving AutoESL; one claim - always repeated about higher-level languages - is that you can expl
626.
▲
by
_yosefk
13y ago
There's something special about private enterprises making them reconsider their approaches, though - the fact that they lose their own money (which is often combined with having a smaller pool of money to begin with). Few enterprises
627.
▲
by
_yosefk
13y ago
Allowed if a particularly high price is paid for it - sometimes higher than the person would agree to get paid, and higher than their employer would agree to pay. It is in these cases when you make the arrangement illegal.
628.
▲
by
_yosefk
13y ago
I'm definitely with you, in that I'd like shorter work weeks to be the standard, and I don't want to compete with people wishing to work more hours. But what if someone really needs the extra money brought by longer work weeks? Making it il
629.
▲
by
_yosefk
13y ago
Yeah, the question is what if you have a bug - if you thought you were assigning work so that tasks don't conflict but in fact they do. In Map/Reduce you technically can't have this sort of bug, nor can you have it in pure code; restricting
630.
▲
by
_yosefk
13y ago
OK, so I'm seeing the usual concurrency stuff; what I'm not seeing is conflict detection/prevention for parallel stuff, where you don't let two parallel tasks modify the same array element or some such.
More ›