Live data from Hacker News

The Rune Programming Language

github.com

101–110 of 203 posts

Re: The Rune Programming Language

#101

x^2 means x squared, orphaning the XOR operator. Rune is for crypto, so math comes first. Isn't XOR used very heavily in crypto? (As is exponentiation of course)

It looks like Rune still has a bitwise XOR operator: @

https://github.com/google/rune/blob/main/bootstrap/database/...

That innovation does seem like a potential footgun.

Re: The Rune Programming Language

#102
post #91

Earlier quoted context omitted.

How do you operator overload in C++ so that calling computeHmac(secret(string)) returns secret(string)?

Define the computeHmac method to return a secret(string) type? Then define the equals operator for "secret" to behave in the needed way.

But now you've forced computeHmac to only work only secrets, when there is no such need. You've coupled an implementation of an abstract algorithm with the particular case that _you_ want to use it this one time with sensitive secrets.

The advantages of monads include exactly the opposite decoupling: the hmac algorithm implementation is true to its bare specification, and it is the context that changes some of its behavior.

Re: The Rune Programming Language

#103

Earlier quoted context omitted.

Given that they mention SQL more than other things, and stress SoA and memory intensive applications, I think this makes more sense than it would otherwise

SQL null is not like the null of programming languages, it behaves more like "unknown" than "blank". For instance, null != null. Arithmetic on null values is also well-defined so that 1 + null = null. I'm not convinced that implicit nullability is a good idea, either in SQL or in newly designed languages. I don't see the connection between implicit nullability and SoA. If you have a link to some example, that would b…

I'm not convinced so either, just that it doesn't not make sense.

As for SoA, I'm thinking of two relatively new formats and applications that have default nullable types, are SoA, and are specifically targeting memory intensive applications: apache arrow and duckdb, both seeing some success and well deserved hype

Re: The Rune Programming Language

#104
post #90
post #9

There already exists Rune programming language and that one was earlier: https://rune-rs.github.io/ They should be more careful picking the name.

Let's be real for a minute. A couple of hobbyists have named their pet project "rune". Should the name be then forsaken for all eternity?

Yes, actually, or at least until abandoned by the original authors. That's pretty much the norm in the PL community. There are enough names out there that no one needs to step on any toes. Although I guess Google engineers don't care much about community norms.

But in the spirit of being real: what are you trying to do by calling the Rune devs "a couple of hobbyists"? Is that an attempt to minimize them, as if they are not a corporation therefore they don't have any naming rights to their projects? "A couple hobbyists" are how many great language you know and love started out. Their rights are important too. We don't want the norm to be big corporations snuffing out hobbyist projects by making them unsearchable, like Google did to Go!. That's bad for everyone.

Re: The Rune Programming Language

#105

Earlier quoted context omitted.

It seems like somebody got too easy access to the Google Github repo. Usually only higher quality projects get approved to the central repo.

If I remember correctly we were supposed to have our personal projects there. Since Google owns the copyright it almost makes sense. Also, being in the Google organization doesn't mean that Google is involved in it. I'm maintaining a project there (`google/double-conversion`), despite not having worked for Google for years. Nobody at Google has any influence or reviews on that project.

This. Google’s policy is kind of dumb (I write a lot of stuff for fun that no one wants the ownership of… The primary value is I learned something that I can use later on something important),but pretty much any experimental thing some one at Google works on will wind up there even on their free time.

Re: The Rune Programming Language

#107

x^2 means x squared, orphaning the XOR operator. Rune is for crypto, so math comes first. Isn't XOR used very heavily in crypto? (As is exponentiation of course)

I know, right? The strongest theoretical crypto is a one-time pad, often presented in its XOR form in the first chapter of every crypto book.

But hey, if Google says math comes first...

Re: The Rune Programming Language

#108
post #90
post #9

There already exists Rune programming language and that one was earlier: https://rune-rs.github.io/ They should be more careful picking the name.

Let's be real for a minute. A couple of hobbyists have named their pet project "rune". Should the name be then forsaken for all eternity?

[deleted]

Re: The Rune Programming Language

#109

Earlier quoted context omitted.

This is a timing attack or timing oracle. Lets assume a mac represented in an array of 32 bytes. If we had a pseudocode method like: byte [32] (actualMac, expectedMac) for int x = 0..31 if (actualMac[x] != expectedMac[x]) return false; fi end return true; We return false as soon as we hit an invalid byte in our calculated mac. If the time taken to execute one iteration of the loop is Y and the attacker is able to tim…

> in constant time why is it called constant time if it isn't constant with respect to array length? Just seems confusing because the algorithm is linear without a short circuit

It's constant time in that it always takes the same amount of time regardless of the extent to which the two strings are equal. It is a different concept than constant time in complexity analysis.

What's even more confusing is that it is also constant time in the complexity analysis sense given that the mac is usually a fixed-size string after choosing a hashing algorithm.

Re: The Rune Programming Language

#110
post #76

Earlier quoted context omitted.

There already was a GO programming language before Google decided to use the name, too.

As some other comments have pointed out, this seems to be a one-person project. FWIW, Go also started as a project by 3 people who happened to be working for Google (Robert Griesemer, Rob Pike and Ken Thompson), so it wasn't Google consciously choosing the name. Perhaps Google as an employer shouldn't allow employees to choose any name they like, and do some diligence to avoid name clashes. This may sound quite reaso…

It shouldn’t need to be a company policy, you’d think a competent engineer would simply do due diligence in naming their project. I remember searching for name clashes for a project I wrote solo when I was ~13 years old in the early 2000s.
Post reply on HN