Hacker Newsnew | past | comments | ask | show | jobs | submit | more duped's commentslogin

They actually started in LISP and rewrote it in Python (and also apparently, did not pick any of the "mature" web frameworks).

http://www.aaronsw.com/weblog/rewritingreddit


Maybe awkwardly worded but that's implied by the phrasing "since"

ASICs bake one algorithm into the chip. DSPs are programmable, like GPUs or CPUs. The thing that historically set them apart were MAC/FMA and zero overhead loops. Then there are all the nice to haves, like built in tables of FFT twiddle factors, helpers for 1D convolution, vector instructions, fixed point arithmetic, etc.

What makes a DSP different from a GPU is the algorithms typically do not scale nicely to large matrices and vectors. For example, recursive filters. They are also usually much cheaper and lower power, and the reason they lost popularity was because Arm MCUs got good enough and economy of scale kicked in.

I've written code for DSPs both in college and professionally. It's much like writing code for CPUs or MCUs (it's all C or C++ at the end of the day). But it's very different from writing compute shaders or designing an ASIC.


It's helpful when people are being assholes to point to a document describing how they're being an asshole and to cut it out

In my experience it's the opposite of helpful, because it's actually a lot easier to reach consensus on whether someone's being an asshole than on whether they have violated the code in the document.

It’s a very helpful tool for establishing opaque power structures, because it allows those with real power to pretend that they are simply following some legalese document instead of doing as they please.

The fact that this behavior, which would violate most CoCs ever written, came from the top tells you everything you need to know.


Is it really? In this example, could you not see anything wrong with calling employees losers and monkeys, until someone linked you the CoC?

Code of Conduct cannot stop someone from doing something.

It’s just a document.

However, in this case, the presence of the code of conduct has made it trivially easy to point out the language as wrong in a way whoever wrote this for Zig cannot refute.

It’s working exactly as it should.


How is it working? The post is still there, referring to people as "losers" and "monkeys". Was the author of the post chastised? Have they edited the post and apologized?

Seems there was some latency, now the post has been updated and those words are not there anymore.

Heh. You've rediscovered Critical Race Theory, which was a graduate-level theory about how rules/laws are systematically applied to minorities/the powerless, and not applied to the powerful/project leaders.

Holding the powerful to the law is unfortunately, a separate issue to whether it's worth it to have written rules/laws in the first place.

A CoC could still be better than no CoC, even if it fails to rein in abuse from the top.


They don't have to refute it; they have the power to ignore it.

Which suffice to say is not at all

To add to it, the post is still calling people losers and monkeys, so the CoC is clearly not working properly.

Might as well get rid of laws against murder because sometimes people commit murder anyway?

Not the same thing at all. There's consequences for murder, absolutely none for not abiding by this CoC; as clearly seen by the fact the posted remains as is.

A better analogy would be getting rid of laws against murder if its unevenly applied so people from a particular group always got away with it.

Yes the same way laws don't eradicate delinquency and crime magically. Humans are humans.

I have a ton of faith that Apple, Google, and Microsoft will not perish. I'll also observe their software quality is not universally stellar.


> let v = Vec::new(); // Crap, I want to specify the type of Vec

This kinda implies you've gone wrong somewhere. That doesn't mean there aren't cases where you need type annotations (they certainly exist!) but that if `Vec::new()` doesn't compile because the compiler couldn't deduce the type, it implies something is off with your code.

It's impossible to tell you exactly what the problem was, just that `<Vec<T>>::new()` is not code that you would ever see in a Rust codebase.


Nah, there's lots of times you need to specify the types of Vec, either because

1. You don't want the default `i32` integer type and this is just a temporary vector of integers.

2. Rust's type inference is not perfect and sometimes the compiler will object even though there's only one type that could possibly work.

Edit: The <Vec<T>>::new() syntax is definitely never used though.


Or just collect::<Vec<_>>() when you have up doing everything in a lazy pattern and want a concrete type again.

Which I guess i typical stumbling block when the compiler can’t infer what type to collect into.


imo the biggest single problem with C++ that the simple act of building it is not (and it seems, cannot) be standardized.

This creates kind of geographic barriers that segregate populations of C++ users, and just like any language, that isolation begets dialects and idioms that are foreign to anyone from a different group.

But the stewards of the language seem to pretend these barriers don't exist, or at least don't understand them, and go on to make the mountain ranges separating our valleys even steeper.

So it's not that CMake is a self-inflicted wound. It's the natural evolution of a tool to fill in the gaps left under specified by the language developers.


cmake exists not because people didn't understand make, but because there was no one make to understand. The "c" is for "cross platform." It's a replacement for autoconf/automake, not a replacement for make.

> If I was going to try to improve on the state of the art

The state of the art is buck/bazel/nix/build2.


Small point worth bringing up, that quartz doesn't go into the ingots that get sliced into wafers (and then doped and diced into chips). It's used to make the crucibles that the ingots are grown in.


I'm not sure where you're getting numbers but I can't buy just chicken breast for two people for less than $5 at my grocery store unless I buy in bulk. And I do not have the space to store it.


I literally see chicken breast at walmart at 2.57$/lb, that's well below 5$ per two servings.

Add some simple mashed potatoes and you're still below 5$ to feed two people in one meal.

You can also eat bens, rice, lentils, eggs, add some cheese. There's countless simple, cheap, non processed food around.

The reality is that it's "more convenient", or at least it was, because if you had to choose between spending 3$ for a complete meal you still had to cook, and some 5/6$ McDonald's processed tasty food, you'd go with #2.

But stating that it's cheaper because of "scale economy" is just false, it isn't and never was to eat out. Let alone the impact of eating such junk food.


Cool. My local grocery store chicken is between $5-6/lb today. $2 if I buy a whole chicken and butcher it myself.

Whatever prices you're seeing are not my reality, living in a major urban area in the United States. Maybe if I bought at the Walmart in Iowa next to a factory farm I could buy it for $2.50/lb, but I can't.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: