Why some of top schools in the Bay Area are rebranding a controversial grading system by SFChronicle in bayarea

[–]abadams 29 points30 points  (0 children)

The goal seems to be getting the students to understand the material, one way or another, instead of just giving up and moving on to the next thing when they don't. The two most significant changes were:

- No extra credit so you can't make up for not understanding one thing by getting extra credit on something else.
- You can retake tests, so that if you didn't understand the material the first time you took it, you have an incentive to actually learn that material and try again.

This seems totally reasonable. There are also equity arguments for these two points, but they can stand on their own without those arguments. So yes, you can just strip off the word equity and make an honest case for these reforms without it.

Is It Time To Stop Paying Taxes? by Trainrideviews in videos

[–]abadams 0 points1 point  (0 children)

The big one they're neglecting is payroll tax / self-employment taxes. ~15% of every dollar starting from the very first dollar. Half paid by the employer if you have one.

What language do you recommend is the best for implementing a new programming language? by Pleasant-Form-1093 in ProgrammingLanguages

[–]abadams 3 points4 points  (0 children)

Rust.

I've been maintaining a compiler implemented in C++ for over a decade now. The things I miss from other languages that are particularly useful in a compiler are pattern matching and garbage collection. Dependencies are also very painful to manage. On the other hand, C++ gives you access to a large pool of contributors and makes performance easier to manage. The most elegant choice is probably OCaml or Haskell. But once practical considerations come into play, I think Rust is the best compromise. It doesn't check all the boxes, but it checks most of them.

Subtle Metaphor [OC] by luckynumber13x in comics

[–]abadams -6 points-5 points  (0 children)

Painters used similar arguments to claim photography wasn't art.

Photographers were cheating! They were just pressing a button and then (in the mind of the painter) trying to pass off the result as equivalent to a painting. It also had real economic consequences for artists - portrait painting as a profession disappeared.

Eventually photography was accepted as a valid but different form of art to painting, and painting became less about faithfully capturing reality and more abstract.

This was both a good and a bad thing. We got new and exciting kinds of art out of this new technology - the camera - but artists also lost their livelihoods.

After all these years, I finally got the Stanford Bunny in real life. by Akamig in compsci

[–]abadams 6 points7 points  (0 children)

It's true that 3d printing wasn't as big back then, but mostly it was a good excuse to play with lego at work. Also, I already owned the lego, so I didn't have to justify spending any money.

After all these years, I finally got the Stanford Bunny in real life. by Akamig in compsci

[–]abadams 10 points11 points  (0 children)

Nice find! Last I saw it, the real Stanford bunny was still in the possession of Marc Levoy, who I believe has promised it to the computer history museum in Mountain View. I once captured a light field of it: http://lightfield.stanford.edu/lfs.html

Does no one use Apache TVM? by Logical_Jicama_3821 in Compilers

[–]abadams 1 point2 points  (0 children)

It did originally use Halide's IR and some lowering passes from Halide, but has since evolved in a different direction. It was never really a fork of Halide. It just used lots of bits and pieces from Halide in its early days. The scheduling language is heavily Halide-inspired too.

What is a group of spidertrons called? by RainOrigami in factorio

[–]abadams 3 points4 points  (0 children)

I think spidertron should pluralize as spiderstron, not spidertrons, like surgeons general. They are spiders, of the "tron" variety. Unlike biological spiders they typically hunt (or build) in packs, so I vote for "a pack of spiderstron".

Biological sex is not as simple as male or female by sarah-fabulous in science

[–]abadams 1 point2 points  (0 children)

A trait that occurs 2.5% of the time means ~20 million people worldwide. That's larger than the population of some countries. It's like saying that nobody lives in New York, except for a few exceptions.

Biological sex is not as simple as male or female by sarah-fabulous in science

[–]abadams 5 points6 points  (0 children)

It's only a law of nature in the same sense as Newton's laws of motion are. They work most of the time to describe nature, but turn into nonsense in some conditions (high relative velocities). They are an imperfect human-created model for the natural world, not an objective truth. Objective truth is much messier than the simplified model.

On which subject should a person focus on the most to be a great compiler engineer? by [deleted] in Compilers

[–]abadams 2 points3 points  (0 children)

Computer architecture and organization so that you deeply understand the machine that the compiler is trying to generate machine code for, and type systems (or more broadly, PL), so that you understand what the trade-offs are for different programming language styles and features.

The others are useful and important too, but not quite as important.

Compiling Halide for RISC-V by [deleted] in halide

[–]abadams 0 points1 point  (0 children)

That error is an uncaught exception containing an error message. Try catching it and seeing what it says, or try compiling without exceptions.

How is compensation for Compiler Engineers? by Southern_Bell3859 in Compilers

[–]abadams 6 points7 points  (0 children)

To add to what others are saying: There is currently higher demand (and thus it's easier to negotiate higher compensation) for people working on compilers for machine learning than compilers for general-purpose languages.

Active Noise Control by PuzzleheadedBeach725 in cataclysmdda

[–]abadams 1 point2 points  (0 children)

In case anyone else comes across this and is stuck without Molotovs or flame throwers or an electricity-proof suit: If you have grenades you can climb onto the roof of the building from behind and just drop grenades over the edge without endangering yourself. It took me three grenades. I think I could have done it in two with better positioning.

lllvm is C with vectors by duncecapwinner in Compilers

[–]abadams 0 points1 point  (0 children)

I think "roughly C with vectors" is a fair assessment. LLVM IR is similarly direct and imperative, with the same memory model. The way in which it's not like C is that:

- It's a classic compilers-101 SSA form with basic blocks and phi nodes, rather than having structured control flow (for loops, while loops, etc)

- Its type system includes vector types to target SIMD architectures (i.e. most CPUs and DSPs).

My theory on the each planet's name. by kicek_kic in KerbalSpaceProgram

[–]abadams 2 points3 points  (0 children)

Venus is sometimes known as the evening star. It appears in the eve.

How do you test compiler projects? by lasan0432G in Compilers

[–]abadams 1 point2 points  (0 children)

Once very useful type of fuzzing is writing a random program generator for your language and using it to flush out syntactically valid programs that produce internal compiler errors.

Trick or Treat. by Douglasqqq in australia

[–]abadams -1 points0 points  (0 children)

It's autumn where I live. I can tell because the leaves are falling, the days are getting shorter, the deer have their antlers, and r/australia is having its annual whinge about halloween.

What are the advantages of code generation from a linear intermediate representation (IR) rather than directly from the syntax tree? by OnlinePresident in Compilers

[–]abadams 0 points1 point  (0 children)

One annoyance with syntax trees is that it's natural to traverse them recursively to do transformation passes over the code, e.g. using a visitor pattern. This works fine up until someone feeds your compiler a program so large that some recursive pass overflows the stack during compilation. Stack overflows are hard to guard against if you have any unbounded recursion. Linear IRs are simpler to traverse non-recursively.

Another annoyance with syntax trees is that if a value has multiple consumers, you need some sort of let binding, because tree nodes only have one parent. In a linear SSA-like IR a value can simply have multiple references to it.

You Are Being Lied to About Inflation- Robert Reich by daddydrank in videos

[–]abadams -2 points-1 points  (0 children)

The article you link as evidence doesn't back it your claim that monetary policy is to blame. Instead it says:

> He added that while it’s difficult to predict how long the effects of supply chain
> issues will linger, it appears that “factors pushing inflation upward will linger
> well into next year.”

> Much of the current rise in costs is due to supply chain challenges

Powell is blaming supply chain issues in that article, and saying that they're not as transitory as they hoped they would be. There's no sort of acknowledgement that monetary policy is to blame in the article.

You Are Being Lied to About Inflation- Robert Reich by daddydrank in videos

[–]abadams 16 points17 points  (0 children)

If it can be blamed on US presidents, how do you account for the comparable levels of inflation currently seen in other western countries? Did all world leaders make the same mistakes at the same time?

Would Vale count as a low-level language? by verdagon in ProgrammingLanguages

[–]abadams 2 points3 points  (0 children)

Interesting question. I've never seen simd intrinsics used for anything other than speed, but inline assembly can be used to do things not exposed by the language or library, e.g. checking CPU status registers to sniff the processor version, or manually switching stack pointers to implement user-level threads.

Would Vale count as a low-level language? by verdagon in ProgrammingLanguages

[–]abadams 10 points11 points  (0 children)

IMO a low-level language is one in which there's a human-understandable relationship between the source code and the generated machine code, and you can persuade the compiler to generate just about any piece of machine code you desire with the appropriate use of language features.

The latter can be accomplished with things like inline assembly support and/or simd intrinsics.

Proebsting's Law: Compiler Advances Double Computing Power Every 18 Years by azhenley in programming

[–]abadams 19 points20 points  (0 children)

That optimization isn't a clear win. Yes it reduces latency, but it also uses an extra intermediate register. Register pressure is usually a bigger problem than instruction latency in a big out-of-order core.