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

Elias-Fano would probably be a better option here


EF doesn't compress that well if your data exhibits regularities, it uses exactly a number of bits that only depends on the sequence upper bound and length.

There are ways to make it compress better though, like splitting the sequence into chunks, optimizing for the overall compressed size.



*fully elastic


No, if demand is slightly elastic, an increase in price will still cause a decrease in demand.

https://en.wikipedia.org/wiki/Price_elasticity_of_demand


Using Typed Racket adds 7+ MiB to the binary.


While I agree with the overall sentiment, browsers like Dillon and Lynx don't even implement HTTP caching correctly (they cache everything regardless of the headers).

JavaScript is not their biggest problem, as they can plug in one of the existing engines (in fact one of the links forks does just that).


> as they can plug in one of the existing engines

As someone who attempted this for Lynx back in the [~late 90s~] early 00s with the Mozilla JS engine of the time, no, they can't.

Lynx has no DOM. It parses and renders the HTML to a fixed textual pane without any intermediate format - even `document.write()` is nigh-on impossible to implement because it required keeping a copy of the HTML around, jiggering it with the output, reparsing, and going through the layout again. And that only covers the most trivial uses of `document.write()`.

To add Javascript to Lynx would require rewriting the entire internals of Lynx - not going to happen.

[Edited to correct the time period]


Freedom of speech does not cover incitement nor hate speech.


> nor hate speech

better tell the Supreme Court

https://www.washingtonpost.com/news/volokh-conspiracy/wp/201...


In the US, "hate speech" is not a recognized category of speech and therefore protected, and even incitement has to meet a high bar, including immediacy.


Hate speech is a fake category, recently invented (in the historical time scope of US speech debate) as a means to instigate tighter speech controls by the government. The definition of hate speech is entirely arbitrary, you'll notice it has approximately as many definitions as there are people discussing it. That's by design, it's meant to have any definition desired at any time, to be of maximum use in destroying freedom of speech in the US. The effort is succeeding and accelerating rapidly. Freedom of speech in the US has less than a decade left, the vise grip will start with things that are very hard to defend, and move down the ladder often varying by who is in power.

By the time speech is brought under tighter government regulation, the people pushing for 'hate speech' controls today will be terrified as they watch what a worse version of Trump does with the new power (a serious theocrat for example). That outcome is inevitable, it's what happens every time people don't think through the consequences of handing massive new powers to a very aggressive government.


SMPlayer is a great frontend for mpv.


SMPlayer can barely even be considered an mpv front-end and I hope nobody who uses it will ever make an mpv bug report again. It's a gigantic pile of hacks from the MPlayer age, and it “interfaces” with mpv using the most horrible method possible (embedding the mpv window and sending keystrokes to it)


Perhaps from the implementation standpoint, but from the user standpoint it's second to none. For example, it's the only one I know that supports dual subtitles (--secondary-sid in mpv). For more advanced features, it also allows you to pass CLI flags to mpv, e.g. for things like `--video-stereo-mode=sbs2l` (subtitles and UI for 3D videos).

Also, enable "Run mpv in its own window" under Preferences -> Advanced. This removes all the issues caused by the default mode of embedding the mpv window (such as subtitles being on the video and not in the black bars).

Thank you for your work on mpv!


Roaming costs are price gouging, the associated costs of providing roaming are nowhere near.


Example: less than a year ago I was charged ~40€ for viewing two wikipedia pages, one of them happening to contain a short video. My bad sure since I forgot to disable roaming, but this is obviously outrageous pricing, so I really don't buy the subsidising point of the naysayers.


However, now EU regulates the price to consumers to be lower than the wholesale price of roaming charges between operators. That is a failure. They should regulate the wholesale price.

In practice: I pay 20 € per month for unlimited mobile data. If I go to Italy and use my subscription there, I still pay 20 € per month for unlimited mobile data, but my operator has to pay 7 € per gigabyte to the Italian roaming partner.

Because there are more people traveling from north EU to south EU than vice versa, and competition of mobile operators works much better in northern EU, this is practically a monetary transfer to support the economies of southern Europe. And then there's the possibility that an Italian person acquires a SIM from my operator, because local Italian ones don't sell subscriptions with unlimited mobile data...

My operator has to counter this by a price hike and/or disabling of roaming.


Where do you have the €7/GB from? It's the cap, not the price usually paid. I remember a study by the EC where they found out that most operators don't pay significant amount of roaming costs. It either evens out or the amounts are too small.

Most countries will have 3-4 operators so that there is competition and I doubt that €7/GB is the cheapest an Italian operator can offer to a wholesale client.


It doesn't work like this. Your EU guaranteed roaming mobile data package is limited to 2*monthly bill/wholesale-price-per-GB. So in your case that looks like 40/7.7 which is about 5GB. Anything beyond that your telco CAN charge you (but doesn't have to) by usage. I am not sure what that charge can be, but it is per KB spent and is calculate from wholesale price per GB.


You should check if your unlimited plan applies to roaming. I have a unlimited data plan in Croatia, but in roaming it's limited to 10 GB.


EU was planning to explicitly regulate against such caps. If you provide unlimited data in your local operator's network, having caps when roaming would be in breach of this regulation.

Has that changed?


Yes, the rule is based on how much you pay for your unlimited plan compared to wholesale regulated rates.

(tho they plan to lower the regulated rates over time)


The unregulated gouging of northern European holidaymakers before this roaming regulation was probably a far bigger monetary transfer than the regulated costs.


There is still a cost. And that cost is going to be passed on to everyone whether you use it or not.


The abolishing of roaming charges also applies between operators. As the true technical cost for roaming is negligible there is really no passing of charges from those who use it to those who don't.


Is this a recent change? I hadn't heard of such.

So, e.g. Telia doesn't have to pay any roaming charge to WIND Hellas if a Telia customer from Sweden goes to Greece and connects that network?

Previously I heard a cap of 7 € per gigabyte for data fees was regulated.


Charge still is regulated to 7.7EUR per GB, but that is not its cost. Cost is indeed negligible as data is mostly transferred on exactly the same networks as the rest of Internet traffic in EU and nobody sane argues that you should pay 7 EUR for each GB you transfer.

If I divide my monthly internet bill with the amount of data I transfer during it, then price of GB of data transfer is indeed close to nothing.


To add to that: I can buy wholesale bandwidth within Europe with some ease for <$2 per TB transferred. If you look at quotes for undifferentiated transit from pure bandwidth providers it will be higher, as they typically price based on global routing, but when you know your breakdown is heavily tilted within a region, you can get massive discounts by e.g. limiting 95% or whatever of your capacity between European networks where the provider will exchange most of the traffic via peering - of course the big carriers do their own peering and own their own networks and effectively pay event less.

But even the most price-gouging "captive audience" transit providers (e.g. in data centres without multiple choices of carriers) rarely charge more than ~$10/Mbps (depending on utilisation down to ~$40 per TB transferred or about 0.04 cents per GB...)


Then have the roaming charge regulated to 7€ per terabyte, instead of 7€ per gigabyte as now.


Maybe eventually, but the point is they had to start somewhere, and 7 per GB is still a substantial reduction.

The EU parliament wanted to go much further, starting at 4 and gradually reducing to 1. They'll get pushed further down eventually, but at the same time nobody wants to overdo this and cause problems for these providers by going too fast.


My point is that they should regulate the extractive pricing between operators before they regulate the pricing operators have to give to end customers.

Now those operators that have been competitive will suffer. Those that have been extractive towards their own customers and their competitors will benefit.


That's below the price you pay for data transfer from a server at AWS.. I agree that €7/GB is probably too high, but will still be higher than for internet via cable.


AWS is a notoriously bad example as they're one of the most expensive places you can get bandwidth. I have projects where my entire infrastructure costs less than what the bandwidth charges alone would cost me at AWS...


It is a cost to my operator, and it is a cost the the EU has explicitly approved.


It would be if it was one way only. In practice users from all telcos roam on other networks, negating large bits of this exchange. Real price per user is much lower.


The roaming is far from symmetric.


I'm not sure that there is a cost in aggregate – what is the money being spent on?


I've played around with it. These CPUs are fast enough (certainly faster than Heroku and the like). However, ScaleWay still does not provide automated disk backups, and manual snapshot requires you to shut down the instance first, so I went back to Linode.


> However, ScaleWay still does not provide automated disk backups

Does anyone offer that at this price point? Scaleway is ridiculously cheap. Lack of backups is par for the course for these low cost providers.

> and manual snapshot requires you to shut down the instance first

Yup, that does suck, and I wish they would fix it.


Is running a simple rsync cron backup really that tough?

Sure I understand it's suboptimal but I've always had pretty good luck with it.


> Sure I understand it's suboptimal but I've always had pretty good luck with it.

"Luck" is not a feature of a backup system.


I believe Digital Ocean offers this type of backup. I know I'm paying for something backup related to that effect.


is ZFS available for Linux on ARM? You can take snapshots and use zfs send/receive for zero downtime , consistent backups.


I'm not sure about ZFS (and it could be complicated - there is a problem with Scaleway servers that they use their own kernels so you have to mess with kexec if you want to run your own), but one can certainly do the same with LVM or even "bare" device-mapper.

It's non-trivial, though. At least if one haven't dealt with that stuff before.


It's apparently supported (so says zfsonlinux.org) but I wouldn't use it for anything you care about without ECC ram -- I'm willing to bet these have cheapo controllers which don't support that though..


Well, I would be more hesitant to use some other file system without ECC RAM than ZFS. However, "these cloud servers are backed by Cavium ThunderX SoCs, high end processors designed for the cloud, and DDR4 ECC memory," says the article. Nevertheless, I would not consider ZFS on these to be "production ready" except for very small values of "ready."


We've built the Thredded forums engine (https://thredded.org) with the same goals in mind. The entire CSS is 10KiB, JavaScript loads asynchronously and is optional.


That's delightfully nice to use. Damn good job.


We wrote the Thredded forums engine focusing on these things:

1. Client-side performance. Little JavaScript and lean CSS. Even the KaTeX math plugin renders math server-side.

2. Clean but discoverable UI. The focus is content. Not a single dropdown nor a hamburger menu.

3. Extensible, but critical features are built-in to provide a foundation for plugins. Features such as notifications, moderation, permissions system, and full text search.

4. Pleasant on mobile for both browsing and content creation. This means a textarea instead of a rich text editor (by default).

5. Everything degrades gracefully when JavaScript is off. For example, preview-as-you-type becomes a "Preview" button if JavaScript is disabled.

6. The relational database for everything, including full text search. Data integrity is easy, no out-of-sync elasticsearch databases here. Runs on Postgres, MySQL, and SQLite.

Boring technology => easy to deploy and run in production.

The codebase is written in Ruby, has slowly developed over the years, and has extensive test coverage.

I am very curious to hear what you think, and whether you've ever felt a need for a forum like that.


> 1. Client-side performance. Little JavaScript and lean CSS. Even the KaTeX math plugin renders math server-side.

> 5. Everything degrades gracefully when JavaScript is off. For example, preview-as-you-type becomes a "Preview" button if JavaScript is disabled.

Especially those sound great!

Some feedback from poking around the demo a bit (on Desktop):

* It has a lot of whitespace, to the point that it forces a lot of scrolling. The "front page" with the list of existing boards is particularly bad, with only 4 cards fitting on my 1080p screen, where a typical phpBB fits 10 or more. And the layout of the cards is still quite busy, with 5 text styles close to each other. Your demo hasn't got any posts with long texts, so it is hard to judge how big an issue this is in the threads themselves. Still, on a desktop you have the space to the side, maybe put the name besides the post instead of on top?

* A lot of elements have dynamic positions (e.g. the date, the author) which makes it quite hard to quickly scan the overviews for them.

* Image support? Something a lot of forums have issues with, which leads to various hacks, images not visible to visitors, and often broken images from external hosts. This is an area where you easily can be better than many existing boards.


Thank you for your feedback!

> It has a lot of whitespace [...]

Whitespace can be reduced across the board by adjusting a variable:

https://github.com/thredded/thredded/blob/1a60bcc7618270afeb...

For the homepage, I'm going to try removing the vertical spacing between the cards.

> on a desktop [...] maybe put the name besides the post instead of on top

Definitely going to try that!

> A lot of elements have dynamic positions (e.g. the date, the author) which makes it quite hard to quickly scan the overviews for them.

I didn't realize there is a use-case for scanning through these. No good ideas yet on how to improve this.

> Image support?

By default only externally referenced images are supported, but integrating with third-party uploading services is easy. For example, here is how to do it with Shubox.io:

https://shubox.io/blog/2016/08/05/how-thredded-uses-shubox


> The "front page" with the list of existing boards is particularly bad

A possible solution: https://github.com/thredded/thredded/pull/525

What do you think?


Consider applying for YC's Summer 2026 batch! Applications are open till May 4

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

Search: