Hacker News new | past | comments | ask | show | jobs | submit | gspr's comments login

As a mathematician by training who does a lot of programming for a living: This is the biggest misconception about math I see coming from programmers. There's frequently a complaint about notation (be it that it is too compact, too obscure, too gatekept, whatever) and the difficulty in picking out what a given "line" (meaning equation or diagram or theorem, or whatever) means without context.

Here's the thing though: Mathematics isn't code! The symbols we use to form, say, equations, are not the "code" of a paper or a proof. Unless you yourself are an expert at the domain covered by the paper, you're unlikely to be able to piece together what the paper wants to convey from the equations alone. That's because mathematics is written down by humans for humans, and is almost always conveyed as prose, and the equations (or diagrams or whatever) are merely part of that text. It is way easier to read source code for a computer program because, by definition, that is all the computer has to work with. The recipient of a mathematical text is a human with mathematical training and experience.

Don't interpret this as gatekeeping. Just as a hint that math isn't code, and is not intended to be code (barring math written as actual code for proof assistants, of course, but that's a tiny minority).


Fantastic read, thank you. I was never explained it this way, nor imagined it this way.

I'll try keep an open mind and read more the surrounding content.

That said, there is a syntactic language, which many equations use, and they seem to vary or be presented differently. The big S is one, the meaning of `|` which is probably not "OR" etc. I wish there would be a cheat sheet of sorts, but I feel it would be death by a thousand paper cuts with 300 standards of doing things(?)


Maybe you're right and maybe that's the culture in mathematics but we don't have to like it.

> And places you can park your car outside your house, unlike the UK.

This is a common misconception that probably stems from Norway's low population density. However, much of the country is very sparsely inhabited, and the urbanization levels are almost exactly the same as the UK's [1]. A large proportion of the population lives in multi-unit homes with limited street parking, at comparable densities to the UK.

[1] https://en.wikipedia.org/wiki/Urbanization_by_sovereign_stat...


Interesting.

So why does it work for Norway but not in the UK? My options are:

1. Drive to the local high power charging station and pay more than a tank of petrol for half the range.

Oh that's it.


So my Renault Megane E-tech consumes around 18kWh / 100km during the summer. The previous generation Renault Megane with a petrol engine consumes[1][2] around 7L / 100km.

Prices fluctuates but it's been roughly steady at around 6 NOK / kWh using a supercharger[3] and 21 NOK / L at the pumps.

So to drive 100km it would cost me about 108 NOK for my EV, or 147 NOK if I had the petrol car.

Now, this changes dramatically if you can charge at home. Even during winter with high prices you'll typically not pay more than 3 NOK / kWh and typically around 1 NOK / kWh, so a fraction of the price for petrol.

edit: I should note that coops and similar can get up to 30% in subsidies from the gov't to install chargers in the common parking areas[5], so not just single home owners that can enjoy charging at home.

[1]: https://www.auto-data.net/en/renault-megane-iv-phase-ii-2020...

[2]: https://www.automobile-catalog.com/make/renault/megane_4gen/...

[3]: https://elbil.no/dette-koster-hurtiglading/

[4]: https://no.globalpetrolprices.com/Norway/gasoline_prices/

[5]: https://www.klimaoslo.no/tilskudd/ladeinfrastruktur-til-bore...


Ignoring the cost, do you have a parking garage with your rental apartment? Or street parking? My problem here is _where_ to charge, much more than what it would cost. And by "charging at home" I am not limiting it "your own garage, with your house" - anything where you typically park and don't have to run out at midnight to park somewhere else. Convenient enough, so to say.


I currently have my own garage where I can charge, but the previous coop were installing chargers in the shared parking area, so if I had stayed there I could have charged there.

Downtown the municipality has added a lot of curb-side chargers, however pricing isn't very favorable as you have to pay for parking in addition to charging. It was a good deal for a while, not so much anymore. In general parking downtown is hard to find and expensive so not very fun, including for those who live there.


Thanks. Yeah my circle of friends is split on "can I charge at home: yes/no" - how absolutely surprising.


Shared (either private or public) parking very often has chargers. You swipe a tag to sort out billing by user. The cost at these chargers is typically electricity cost + maintenance. Plus lots of employers offer charging at work (usually not free, but the convenience is the point).

Edit: This can be read as me telling the other guy how he should sort things where he lives. That wasn't the intention - I'm describing the situation here in Norway.


All vandalised, not operational or permanently busy here. Not offered at work. Plus I work from home anyway.


Sorry, I didn't mean to say that that's how you should do it. I was explaining what the situation is like here in Norway.


Yeah I get that. I'm mostly berating my own country.


A few reasons that might change soon:

1. Higher rate of VAT on fast chargers than at home charging

2. (Not) Allowing fast chargers to qualify for money ringfenced to encourage biofuels

3. Taxes intended to clean up energy that made sense when coal was used to generate most electricity which should now be rebalanced onto gas/petrol.

Also bear in mind that Russian warmongering escalated the gas price which increased the electricity price and only homes got the price cap protection.


Definitely infrastructure investment, here in downtown Reykjavik I park my electric car on the street and there are four regular and one fast charger spots (each with multiple chargers) within easy walking distance of my house. Charging is cheap and convenient which is definitely what's needed to make electric cars viable.


The UK hasn't bothered to invest in the infrastructure. Simple as that.


> Don't forget hydro, I think it's 40+% of production in Norway.

Hydro is the first row in the table at [1], so it's 84% by capacity (second column) or 87% by typical annual production (third column).

[1] The Norwegian Water Resources and Energy Directorate: https://www.nve.no/energi/energisystem/kraftproduksjon/


> Eventually everyone has a phone number, and very few have ways to create multiple.

I agree that having a phone number often comes with a paper trail in many jurisdiction, but surely it's not common to make it hard to have multiple such numbers?


It's not unusual for someone to have a home landline phone, a personal cell phone, a work landline, and a work cell phone.

In fact it's so common that people in the snooping business already know ways to correlate them.


It's not hard to have multiple, but it's hard to have on-demand throwaway ones.


Perhaps nothing of value _to you_.

I'll hazard a guess that your preferred username can be expressed in a small subset of ASCII? And to hell with everyone else?


Its a give and take. If you allow for anything beyond latin, then you have to accept that there will be a class of software that will be difficult to interact with.

Latin-like language system is simply superior for machine purposes. I am sorry, but I don't even want to think of supporting the entire unicode in my software. I am not going to even attempt to reverse that emoji.


There are many variants of the Latin alphabet and the English alphabet contains only a subset of the letters contained in the other variants.

There is no reason to consider the English alphabet as superior for machine purposes, in comparison to other Latin alphabets.

Its dominance in IT is caused by the fact that most of the development of commercial computers after WWII has been done at IBM and other US companies, not by any properties of the English alphabet.


It gets real fun when it's something you need to look up and have match, like a username.

Because then it to be normalised in the right way for comparisons to work, or it will only match if your input method happens to produce the exact same variant.

... And unicode is an evolving standard where this normalisation sometimes changes between standards, so the names as normalised in the old version of your standard library might disagree with the new version. So you need to care for that transition.

... And often this is implemented separately for different languages, so you can get names that won't match if you normalise them in python, java or C.

... And as all implementations, these unicode implementations sometimes have bugs, so you need to think not only about matching supported unicode versions, but matching bugs.

... And any change in these normalisations can in theory lead to two usernames that used to be distinct becoming identical.

It's a deep well


> And unicode is an evolving standard where this normalisation sometimes changes between standards

Unicode normalization is subject to its stability policy, and Unicode no longer allow adding new canonically equivalent code points.

https://www.unicode.org/policies/stability_policy.html


> Its a give and take. If you allow for anything beyond latin, then you have to accept that there will be a class of software that will be difficult to interact with.

For whom? Presumably people won't choose a username themselves that is difficult _for them_ to input. It's not like allowing (a subset of) Unicode would force people with near-ASCII keyboards to deviate from what's easy for them to input.

> Latin-like language system is simply superior for machine purposes.

Citation needed. Besides, on the systems we're talking about at least, the machine itself works with integral UIDs, not user names.

> I am sorry, but I don't even want to think of supporting the entire unicode in my software.

What does that even mean? Why is your software doing operations on people's names, beyond storing and retrieving them?

> I am not going to even attempt to reverse that emoji.

Is there any legitimate use case for reversing someone's name??


> Is there any legitimate use case for reversing someone's name??

Yes, when you want to reverse sort a list? In fact, how do you even sort such a name that goes in both direction?

> What does that even mean? Why is your software doing operations on people's names, beyond storing and retrieving them?

A lot of software deals with text. I don't think every software should deal with the entirety of Unicode. There shouldn't be an expectation that all text editor should handle all Unicode. Just like I don't expect a Chinese keyboard and software should work for Latin keyboard and software. In my personal code editor, I handle text byte per byte, so text highlighting, reversing, lookup, etc are simple and efficient. Would it be a problem if I try to open a Chinese text? Yes, but I have accepted that it is a class of problem that I don't want to deal with.

I have not seen an open source software that have gracefully handled Unicode, outside of Chrome or something really big. Pretty much every one of them is "errr how does this work again?". How many times have people simply split a text using whitespace? So lets just say I don't have confidence in people doing this correctly. I know I don't.


If your personal identity is threatened by having to use an ascii alphanumeric login name, you're kind of creating problems for yourself for no reason...

There is a field for the full name of the person if you want to, and at least on my linux it warns for non-ascii characters but allows them


You're moving the goalposts here.

You started off with saying that there's no value to login names beyond ASCII, and now you're (a) insinuating that anyone who would wish to have login names beyond ASCII are too heavily invested in their login name, and (b) there's technical downsides to this.

Point b is certainly valid, and the whole reason there's a discussion in the first place. Point a might be true, but very different from what you originally wrote. And again, I suppose, this doesn't apply to you, because your login name – which you isn't attached to at all – is naturally ASCII safe?


Sure, if you read "nothing of value" as "no one anywhere will get even any perceived value from this ever", but that is disingenious

What I mean is that it's costly and the benefits are at best emotional.

And if you personally assign a large value to having unicode characters in your login name specifically, I posit that you have the wrong priorities in life. You're free to disagree with that opinion


I'll hazard a guess that your preferred username can't be written by 99.99999% of the world, and would always have to be copy-pasted?


My preferred login name, and in fact also my legal name, are ASCII safe. I've never personally had to fight computer systems built with ridiculous assumptions (in the domain of names, at least). What I'm exhibiting in this thread is called empathy for people who don't happen to land in that category.


Did you appreciate my comment's real meaning, that one can have empathy for everyone else too, who need to work with this data?

Another solution is, of course, to give everyone usernames they don't want. E.g. your user name is your employee number. Or your department plus three letters from your name that happen to make your username unique. I've seen both.

I also extend my empathy to those who, after choosing a username nobody can type, don't get invited to meetings, don't get messages, are never referred to as the domain expert, because how can I add "习近平" to a meeting, if I can't even search for their username?

Say even "mårten" is not showing up when I search my email, because those are not the same letters as "marten". Meh, emacron knows almost as much on this topic, so I'll just invite him instead.

If you're already powerful enough, then people will be forced to copy-paste "mårten". If you're not already powerful enough, then you don't get invited at all, because that doesn't scale.


Yeah, us foreigners, up to our usual tricks again.


By any definition of the word, I'm a foreigner.

So if you meant to imply that I'm an American, you've guessed wrong.


I do miss several of the things you list, too, especially (safe) self-referential data structures. But Rust is a fantastic compromise solution if your number one priority is to match the performance (or rather, performance possibilities) of C and C++, and have memory safety while doing it. If your number one goal is to be able to write memory safe ideomatic code that is entirely comparable to those languages, and then add some functional programming and lots of quality of life stuff to that, then it's pretty sweet.

In other words: Don't think of it as rivalling the entry cost of Python or Java, or the expressiveness of Haskell or Scala. Try to think of it as a replacement for C++, with memory safety and piles of quality of life improvements. And then with a sprinkle of the other things on top.


I am fine with C++ memory safety if I am mostly working with RAII and explicit move semantics when needed (it is not perfect, but it will get us through the night). However, fighting the borrow checker drastically _decreases_ my quality of life, and I couldn’t find the way to get myself to free flowing code as I had in other languages.

Interestingly, I have the same feeling when trying to write something with Vulkan — the amount of ceremony and boilerplate before you even get to the first triangle is a huge barrier for my productivity. I want something more immediate.


Finland is fairly flat and has _excellent_ LTE coverage. Being in Norway myself, which isn't flat, but still has fantastic LTE coverage for political reasons, I do often find myself thinking like you, and need to be reminded of how abysmal coverage is in rural North America (and even in for example rural Germany).


> So blowing up North Stream was fun, but this somewhy isn’t. I’m very often puzzled by the logic and morale in the West.

North Stream was blown up by the desperate defender in a war of aggression.

These undersea cables were (likely) severed by the aggressor in the same war.

Are you less puzzled now?


All media coverage after Nord Stream was blown did say that Russia did it (just because it's evil, no real reasoning was presented). So, was it really Russia that destroyed German infrastructure? Or was it someone else?


North Stream was a existential threat to the EU, especially the Baltic states and Poland have no interest in being sandwiched between Russia and Germany again. Many German politicians are directly or indirectly bought by Russia, the most notable example being: https://en.wikipedia.org/wiki/Gerhard_Schr%C3%B6der As Germany was so stupid to close down their nuclear installations and coal mines at more or less at the same time without investing in enough backbone and LNG installations; rising parties such as the AFD would rather side with Russia and get cheap gas instead of helping Ukraine and the rest of Europe. This is why more or less everyone could have done it. I would have done it myself if i was living in eastern Europe. Matter of survival.


So I'm sure these Internet cables were also an existential threat to an unknown country. There are a lot of countries who would have done that. Case solved, everything's fine.


Low hanging fruit. Part of a game involving the adversary to weaponize the stupidity of the crowd. That's us. Easy targets. We only see and know the tip of the iceberg if lucky. Those cables however, that's critical infrastructure. So there is professionals working on it. They don't need our "help". We don't need to worry, so yes - everything is fine.


I think async Rust is far from entering the kernel.

Edit: I realize my comment might come off as a bit snarky or uninformative to someone who isn't familiar with Rust. That was not the intention. "Async Rust" is particular framework for abstracting over various non-blocking IO operations (and more). It allows terse code to be written using a few convenient keywords, that causes a certain state machine (consisting of ordinary Rust code adhering to certain rules) to be generated, which in turn can be coupled with an "async runtime" (of which there are many) to perform the IO actions described by the code. The rules that govern the code generated by these convenient keywords, i.e. the code that the async runtimes execute, are apparently not a great fit for io_uring and the like.

However, I don't think anyone is proposing writing such code inside the kernel, nor that any of the async runtimes actually make sense in a kernel setting. The issues in this article don't exist when there is no async Rust code. Asynchronous operations can, of course, still be performed, but one has to manage that without the convenient scaffolding afforded by async Rust and the runtimes.


I don't understand this take.

If LLMs will be the end of open source, then they will constitute that end for exactly the reason you write:

> Large language models are used to aggregate and interpolate intellectual property.

> This is performed with no acknowledgement of authorship or lineage, with no attribution or citation.

> In effect, the intellectual property used to train such models becomes anonymous common property.

And if those things are true and allowed to continue, then any IP relying on copyright is equally threatened. That could of course be the case, but it's hardly unique to open source. Open source is no different, here. Or are you suggesting that non-open-source copyrighted material (code or otherwise) is protected by keeping the "source" (or equivalent) secret? Good luck making money on that blockbuster movie if you don't dare show it to anyone, or that novel if you don't dare let people read it.

> The social rewards (e.g., credit, respect) that often motivate open source work are undermined.

First of all: Those aren't the only social rewards that motivate open source work. I'd even wager they aren't the most common motivators. Those rewards seem more like the image that actors that try to social-network-ify or gamify open source work want to paint.

Second: Why would those things go away? The artistic joy that drives a portrait painter didn't go away when the camera was invented. Sure, the pure monetary drive might suffer, but that drive is perhaps the drive that's least specific to open source work.


<< Why would those things go away?

I think that is because, overall, the human nature does not change that much.

<< Open source is no different, here. Or are you suggesting that non-open-source copyrighted material (code or otherwise) is protected by keeping the "source" (or equivalent) secret? Good luck making money on that blockbuster movie if you don't dare show it to anyone, or that novel if you don't dare let people read it.

You may be conflating several different media types and we don't even know what the lawsuit tea leaves will tell us about that kind of visual/audio IP. As far as code goes, I think most companies have already shown how they protect themselves from 'open' source code.


Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: