>Oh, you can also just freaking flush small things down the toilet.
People with this attitude are why the drains in my apartment keep backing up and my landlord sends emails threatening to evict whoever's flushing things they shouldn't.
More to the point x86 instruction streams aren't self-synchronizing. There are cases where you can read one valid stream of x86 instructions starting at byte X, but another completely different one starting at byte X+1. Apart from the security implications this makes wide decode on x86 notably harder than it has to be, though in practice you can make it work by just starting a decode your fetch window at every byte boundary the fist time you're executing something and throwing away the unused decodes, and then mark the invalid positions in the instruction cache so you don't waste that power again.
That is a strength, not a weakness. It allows for things like 64-bit immediate loads, 32-bit branch offsets, and nearly unlimited future extensibility.
With RISC-V, multiple instruction workarounds are needed for all of the above, and those sequences are usually sequentially dependent ones so they can't be run in parallel. i.e. the insanity of loading a 64-bit value through repeated 12-bit immediates with shifts, using multiple instructions to compute branch offsets, and RVV needing setvli instructions everywhere due to not having opcode space to encode vector length/type.
AArch64 is better, but still has problems with limited opcode space when it comes to future extensions. They've had to make "start mode" and "end mode" for SME to save on opcode space, and future compromises will likely be necessary.
Sometimes, you have to realize Hacker News is full of nerds that care about stuff nobody else cares about. Looks are so fucking important for many normal people. There's people that decide for or against a phone simply because it comes in a fun color.
I think the issue is with the recent definition creep of “tasteful.” Seems you might have the same mindset if you consider “minimal” to be the other option.
And sometimes your engineers need to be a LOT less stingy. 1GB is clearly overkill for an app such as this, but ~300MB is perfectly acceptable if it works well, looks good and does what it should do.
There is such a thing as overdesign, but when you’re building a modern application, you must trust your designer’s sense of aesthetics and knowledge of UX patterns—two things engineers are often notoriously bad at.
> ~300MB is perfectly acceptable if it works well, looks good and does what it should do.
No it isn't. It isn't a word process for gods sake. It has one literally one job and 300 MB is like an order of magnitude off for that. This mentalty is the slippery slope that led us to the situation in the OP today.
You're off by 2 orders of magnitude if you think that a not completely incompetently coded weather app genuinely needs that kind of resources - even allowing for aesthetic choices and modern UX patterns.
You probably have a SVG renderer in memory already, and you already have a frame buffer and/or compositor buffer(s). Why should adding a graphical representation of the weather require more than a few KiB?
In a composited window system (i.e., any Mac since Mac OS X and Windows since Vista [I think]), rendering from an SVG would have to occur in a window buffer owned by the application, so it wouldn't save any appreciable amount of memory, assuming the buffer is the size of the window. The days of having an application draw directly into the framebuffer are well in the past.
Not sure what you think "having an SVG renderer in memory" means exactly, typically the way an SVG renderer works is that you give it a huge chunk of memory and ask it to draw pixel data there from the SVG file. So even though the SVG is small on disk, rendering a 1000x1000 image from an SVG is gonna need a 1000x1000x3 byte pixel buffer (assuming no transparency or HDR shenanigans)
Depends on your financial situation, but $10 is nothing these days. That's the price of a bougie coffee, half the price of going out to eat, half the price of a movie ticket, or less than 2 gallons of gas in some states. For most people here, it's probably 20min of labor after taxes or less, for something you use constantly. You pay several times more, possibly 10x more, for the internet you use Kagi on. Really not a bad deal from that perspective.
So you live in one of the most expensive countries in the planet I guess, which forced you to get used to those absurdly high prices?
In my corner of the first-world, I'm paying:
* €6/mo mobile carrier with unlimited calls and what used to be 8 GB of data, but got raised (permanently without extra cost, across all customers) to 15 GB on last June. Paying a bit more could get you an "unlimited" plan.
* €10/mo for 500 Mbps fiber optic home internet, could be 750 for €15 but really I don't see the need for more speed. (How do you pay "10x more [than $10]" for Internet? That's crazy)
* Cinema is "expensive" at €12, while a premium IMAX costs around €16 (I guess, haven't gone in a while)
* Curiously enough, eating out does cost €20 per person for a "nothing special" restaurant meal; around €30 per person starts getting very nice.
> A regular cinema ticket is $22.83 to the nearest movie theater and that isnt a "premium" thing like IMAX
For about that price you can get a monthly subscription to a lot of local cinemas and unlimited viewings here. In my city all three cinemas are in this system so we just go see a movie whenever we want. Doesn't include IMAX ones and chains of course.
Your mobile carrier and your fiber connection are great deals. That doesn't make $10 per month for Kagi an "absurdly high price". It's still a good deal. And they are completely different things.
I have very cheap electricity. If I compared other prices to my electrical bill, I couldn't purchase food, gas, Internet, or anything really. Because I'd say they are "absurdly high prices".
Well, the currency symbol might throw a hint. Because Americans of course use USD and rest of the world is pressured into using USD on online forums :)
Also the $22.83 for something that should be a round number.
Slapping sales tax on before the final price (but after the price in your head) is one of America's less charming quirks. No one else in the entire world does it.
That's what gets me too. I've been tasked previously to help a young relative with budgeting, and there were so many "It's only $x a month!" items we found that it was ridiculous.
It's pushed me in the other direction, away from subscriptions. For most things, if I see that it's being sold as a subscription, I just walk away. Obviously this doesn't work for internet service, etc., but it's possible to avoid for most things.
These people either don't understand what living in a "world" means or are just too stuck into "but rest of you don't pay" that it will be hard for them grasp anything beyond what's written in stone on those grey surfaces for them. What they also don't understand that a small fraction of paying customers in some of such countries might or will outspend entire country's regular spending in the "paying world". They also don't understand that to achieve that unlike physical goods these companies don't have to open agencies, distributors, warehouses, retail chains etc to "sell".
PS. Some of these fine people are still living in 1940s and 50s and maybe even the 70s (read Davos etc), or have lenses from that time that they are fitting in their worldview glasses.
Also, people in North America who don’t have tech jobs exist. I make pretty good money as a teacher, and it’s still significantly less than many of the parent posters salaries.
We’re talking median annual income of $10,000. I could forgive someone getting paid that not wanting to spend that $10 on an internet search engine instead of food.
Okay, but why single out Kagi? Everything is too expensive if you don't have money. Should all companies in the world stop making their products, except energy, food, and shelter?
And $10 is about 1% of your monthly income in your example numbers, meaning it's perfectly fine also for somebody making $10 000 per year.
> And $10 is about 1% of your monthly income in your example numbers, meaning it's perfectly fine also for somebody making $10 000 per year.
What on Earth? Ok I'll bite. $70 is about 1% of median monthly income for someone making $80K/yr, meaning it's perfectly fine for somebody with the median US income, by your own logic. Would you pay $70/mo for a search engine?
And no, no one should stop making their products. No idea how you'd come to that conclusion after reading my comment (that said, companies could definitely stand to introduce regional pricing).
If the search engine offered $70 of value or more, I'd pay that, why not? Provided I had that money to spare. A bicycle is more expensive than that, but I don't blame bicycle makers if I can't afford a bike, especially if I don't want a bike.
> In many countries car is not something essential thanks to public transport.
Is that true in many entire countries? It seems like most of the countries I've visited, there are usually places within the country where transit isn't very good, and if you point at a map and say "I want to visit this part of the county" the answer is "You should rent a car, because there's no good transit connection there."
I absolutely believe this to be true in many cities, though.
Even in the US, which is already very HCoL, I think you seriously underestimate the number of households who've either never had who have cut household Internet. Lots of households where everyone's Internet access is on smartphones via MNVO mobile carriers, typically on $10-$20/mo/line plans with 5-25GB/mo/line.
No, not basically, it simply doesn't have them, Ternary means three as in it operates on 3 operands, and/or operates on 2 operands. They are also not equivalent.
x = a ? b : c # x is b, same as you would if a {x=b} else {x=c}
lua and/or
a,b,c = true, 1, 2
x = a and b or c -- x is b
a,b,c = true, false, 2
x = a and b or c -- x is c
The or is dependent on its previous operand, so b will return false and skips to c, even if you meant for it to be b. you must use an if then else. However, you can have more than a ternary, if there is no need for short-circuit evaluation, as in, any of the operand is not a function CALL like c(), and you want to remain inside an expression, then you can do this instead
select (select is a native C function, this is faster than the table creation below)
That takes me back a bit. It's a perl-ism. I used to think it was a great design feature but I've come to strongly prefer "There should be one way to do it, and it should be obvious"
I cannot think of a legitimate purpose for residential proxies existing. They take advantage of people who don't understand what they're being asked to give "consent" to, and then offer up those people's internet connections to whatever actor wants to abuse it, including malware authors, aggressive scrapers, and anyone with ill intent.
Why do you think this rampant abuse is a good thing? What benefit does this provide to society?
Why? The only thing that's vaguely objectionable is the fact the consent screen's wording of "download public web data from the internet" omits important information on what's actually happening and the associated risks. Otherwise I'm not sure how you can come up with a principled justification of the ban beyond just "AI scrapers bad" or "hiding identity". Tor relays and VPNs are basically doing the same thing, except with clearer disclosure about what actually goes on.
Does there need to be a principled justification beyond that? I used to be on the side of the traffic, as in, it does not matter where traffic originates as long as it's not abusive. But the fact is that too many scrapers exist which are, in fact, bad. Their behavior is bad, their programming is bad, and they result in way too high costs for free infrastructure, thus they are morally bad.
I expect AT&T and Comcast to offer a residential proxy service any day now.
Bear in mind the scrapers wouldn’t need to use these proxies were they not being blocked by the sites they are scraping. So it’s being used to evade blocks.
For some content the level of scraping is outweighing real users, driving up costs and pushing them towards more closed models.
Wikipedia for example make content available free, if you start hammering the site they will rate limit you to keep the lights on. If you need the data fast in bulk they have a paid program to get it without scraping. But some prefer to neither adhere to reasonable request limits nor pay for their use of the infra; instead they choose to pay these grifters to avoid the rate limits.
From the content hosting side (getting reamed by scrapers overloading infrastructure), the problem is that we have to be able to set "reasonable" ratelimits to share finite network uplink and server cpu resources between all of our real users and these scrapers.
When you can identify the nature of the traffic (quickly in realtime, based on simple deterministic rules), you can protect the resources: you can rate/concurrency -limit the AI scrapers in the name of saving resources for the real humans, effectively putting the scrapers in a lower priority band (which is how it generally worked for search engine scrapers before!).
The problem is they're using resiproxies to disperse and whitewash their traffic, making it extremely difficult to tell their requests apart from the legitimate human requests. They're basically lying to us about the origin, and thus denying us the ability to put them in a lower priority band than humans.
They may scrape us at, say, 25K reqs/second, but it's coming from 50K random residential eyeball IPs at an average rate of only 0.5 reqs/second/IP, and then they're intentionally lying with the UA and headers and other fingerprint details as best they can to "blend in" with the humans so that we can't differentiate.
Let's do an analogy: Imagine if there was a neighborhood grocery store you and all your neighbors rely on for food. It's cheap because they keep their margins low, and more importantly the next store down the road is like 50 miles further away. That store 50 miles down the road also charges double the price. Now they've decided to play arbitrage: they load up 100 employees in the back of an air conditioned semi, clothe them to look like local shoppers, park it 3 blocks from your neighborhood store hidden inside a fenced property, and have them all go in and buy out all the inventory in the store over the course of a couple hours. The store just looks like it's having a great sales day at first. All these customers waiting in line, each getting just a few things at a time. But two hours later, the store shelves are empty, the semi is loaded up, and they're headed 50 miles back to double the price and sell it to someone else. You go in to buy some veggies to cook dinner and there's nothing to buy.
We've been playing this game with AI scrapers and resiproxies for way too long, and someone needs to hold them accountable for their fraud.
All the arguments you made applies to VPNs or tor as well. I'm sure rightsholders would be very happy if VPNs are banned, because that gets rid of one avenue for pirating with impunity. Same goes with every ad network ever, which has to fight click fraud.
This is why I don't run a tor endpoint; possibly objectionable traffic I don't control sourced from my network. All it takes is one horrible request to come from your IP and you're on a list
But if these are popular apps / APIs, then the number of affected households is significant. Authorities / investigators will have to treat IPs as likely proxies and not the geolocation of the human initiating the request.
>We're choosing a license that is usable by the entire community.
What a weaselly way to put it.
A GPL library, as I'm sure you know, is perfectly usable by anyone including jujutsu and anyone else. They just have to also license under the GPL and this is no barrier to open source projects.
I love how he uses the word "community", effectively washing away what is really happening which is taking a community protected asset and turning it into a corporate one.
Ok, my coffee just kicked in and I'm incensed. Might go do an FSF donation.
People with this attitude are why the drains in my apartment keep backing up and my landlord sends emails threatening to evict whoever's flushing things they shouldn't.
reply