skysight-inc/HackerNews huggingface dataset:
When India liberalized in 1991 and welcomed foreign investment again rick Coke simply bought out a lot of local competitors. Even today my favorite local soda 'thums up' is marketed as a separate drink by Coke in India.

A water scarce country like India should really not promote high consumption of soda and sugar based drinks. However the same cannot be said about other industries.

Pre liberalization India used to be a country of license permit raj. Handful of local companies were highly inefficient and did not produce quality products or have incentive to improve and innovate. Liberalization did introduce competition and a lot of international products like Honda motorcycles and scooters. Indian 2 wheeler manufacturers like Bajaj had to innovate to compete and did become succesful.

However a lot of sectors today are facing the problem from cheap Chinese products. Even though we are a much poorer country a lot of local products could not compete with Chinese imports. A classic example is furniture. Wood was always expensive here and it was crafted into something useful by local carpenters and artisans for what i would consider were reasonable prices. However a lot of urban furniture is now imported from China.
My understanding is that there's a period of time after receiving a cease-and-desist that you can remove the offending GPL library without opening your codebase. After that, there's no harm to either side:

They don't have to release code and the licensed software's owners don't have their rights violated any further

Of course, IANAL
We do have a limited retention policy for the package server logs we keep (which include client IP addresses). It's not publicly stated anywhere right now, but one reason why we need to keep IP addresses is for abuse mitigation. We have been hit in the past by users that do things like download large (100MB+) files from our package cache servers multiple times a second for days on end. This is a particularly easy case to catch (since it easily pops to the top of any analysis you'd care to run, across any timespan) but there are more subtle forms that require a longer time window of analysis (e.g. users that download once per hour, all month) that would be lost in the noise without the ability to see what's going on.

This comment is not meant to serve as an official policy, just pointing out one of the reasons why we can't delete IP addresses like 1.1.1.1 and 8.8.8.8 do; because the abuse vectors for a server that serves the community large resources is very different from that of a DNS server.

Most of the "abuse" we see is not malicious in nature, but is instead users that have some kind of very poorly-configured autoinstaller on a cluster. In the case of a catastrophic issue like the one mentioned above, we null-routed the IP address, reached out to the abuse contact for that IP, and worked with the user to architect a better system. Everyone is happy now, and we can continue to provide a high quality service for the community without breaking the bank.
Tell HN: iPhones Don't Support Webgl2
...and I learned that the hard way.

Last week I shared a small project I did using my 3D engine, but iphone users weren't able to view it.

https://victorribeiro.com/3Dsphere/

well, I wasn't able to debug it, cause I don't own an iPhone. So, I bought an iPhone as a gift to my mom, and tried to debug my app from there, with no succes, of course, cause I use a old stable version of debian and I was going through all kinds os hell trying to debug remote an website on iPhone on my linux machine.

Anyways, I was able to figure it out by doing something very very simple, that worked like a charm. Since you don't have a console on iPhone to see whats going on, I did the following:

try{
doSomething()
}catch(e){
div.innerHTML = e
}

this way I was able to figure it out where my code was breaking. And after 30 minutes of investigation, I came to the obvious conclusion (if I have read the documentation): iPhones don't support webgl2. FML!!!

Anyways, I have converte the project to webgl1 and should work now.
I think there are a couple of things at play here.

One is the use of code quality tools like CodeClimate. It's true that those can sometimes be extremely aggressive when it comes to duplicate code to the point that I find their complaints to be uselessely beside the point. This is especially true if you have typical "structural" duplication like "many controllers start with the same sequence of steps" etc. or is even worse when you have to use configuration DSLs etc.

OTOH, it has been my personal experience that many people, if they use CodeClimate etc., routinely just ignore them for the most part, so I'm not always sure what the point of them is. But maybe other people have different experiences and some people really are routinely overabstracting the most coincidental of duplication in which case I agree that that is not a very useful thing to do.

As for the advice itself: it is definitely problematic if it is used as some sort of hard "rule". If it is taken as a heuristic / "rule of thumb", then it might be ok as long as you make sure people don't overemphasise it where other/better rules of thumb would be appropriate.

For example, if I were to write some billing code and somebody else just duplicated that code somewhere instead of using a shared abstraction, I would probably find that to be a serious code health issue as you really shouldn't perform billing calculations in two separate places: this is something that needs to be kept in sync across the code base; one sibling (nephew?) comment is right in pointing out that here you have to consider the cost of things that need to stay in sync accidentally going out of sync.

There are many more examples which is why I think that if you use "refactor on 3" as _one_ heuristic, it's fine, but if it's the sole one, then less so.
You seem to be confusing end user documentation with code documentation....an actual document that describes how to use the software vs comments in the code that describes how it works

>Sometime later, a new use case ”C” is added to the requirements, and this particular part of the code happens to already support C without making any changes.

Can you give an example of a new use case being introduced without the code changing? Why would this be documented in the code in the first place if nothing has changed?
Can It detect non terminal output and render normal ascii such as when pipe/redirect stdout/stderror to a file? or pipe to seed and avoid messing up with color code.

I recently release a tool with a nice table but many hate the format, the color and it even make `grep` impossible because color code make grep match every line :-(
Numbers at the start of titles are stripped, presumably to catch titles such as "10 great tips to improve your business".
I don't work on this particular thing, so I can't say precisely what the planned retention period is. I suspect 48 hours is too short, since people do take weekends ;). It'll probably become clear with experience what retention periods work. DNS servers are in a very unique position of course since they essentially get your browsing history.
I read the article, but had to use FF's reader mode. Why do people use #666 and a super light font weight for body text?!? My eyesight is fairly good, and it's still incredibly hard to read.
as an early gemini convert this is one of the reasons I wish solderpunk would split the gemini protocol and text/gemini mimetype specs. gemini can serve more than text/gemini (e.g. markdown as you suggest), so embedding the text/gemini mimetype into the protocol spec seems rather like embedding the html spec into the http one
Then call yourself a consultant and raise your prices ;-)
Indeed. Also, if it runs well on a 25 year old machine, it'll probably run well on a modern computer a thousand times faster ;-)

I always recommend developers to get the cheapest possible laptop for testing.
This may be heresey, but does it support mouse interaction, e.g. sorting by clicking on the column header like midnight commander does?
There's no way that second screenshot is WCAG 2.0 contrast compliant.
The First Time Colorado Tried Fracking with a Nuclear Bomb
https://github.com/willmcgugan/rich/blob/master/rich/console... shows that's it's directly using escape codes: http://ascii-table.com/ansi-escape-sequences-vt-100.php
If all cars in a city were limited to say 30-40kph and to a certain maximum weight it might be possible to limit the maximum kinetic energy in an accident and thus require less safety margins. You are not going to be able to take it out of the "safe zone" though.
> The founders were, in fact, people who made serious errors of moral judgment, in the way the tweet you link points out. That's a reason we shouldn't, in fact, trust every opinion they had. We can still follow their opinions on process and principles - we can believe that all men were created equal, and take it to the logical conclusion that they didn't. We can believe in a representative democracy with certain features. We can believe in the various branches of government. We can believe, as they did, that people with their facilities of reason can govern better than any king with divine right.

Agreed. Add to that separation of powers, federalism, limited government, protection of private property, gun rights, free speech, religious freedom, etc. Because those are also principles that the country is built upon.

> A healthy software development project has leadership that feels comfortable changing the software as they learn more about how people are using it.

Your software analogy is very good, but it supports my point, not yours. Software, like our country, is built on structural principles. Kubernetes is built on containerization. UNIX is based on exposing everything as a file. L4 is based on various principles associated with microkernels. Those principles transcend any specific features. For example, you can argue against systemd on the basis that it contradicts the UNIX principle of having small, independent programs that each do one thing. We shouldn't be able to attack those principles through ad hominem attacks on the people who articulated them.

> If you really think that admitting that the founders owned slaves is an attack on the heart of America

That's not what the tweet is doing. Read the whole thing. The tweet is invoking that fact to attack one of the founding principles, specifically gun rights.

Apply your software analogy to the logic of the tweet, say in the context of ReiserFS: https://en.wikipedia.org/wiki/ReiserFS. ReiserFS has a design principle that various kinds of metadata are stored in a "single, combined B+ tree keyed by a universal object ID." That principle permeates the structure of the whole file system. Is it proper to attack that principle by saying "Hans Reiser murdered his wife?" That's exactly the sort of reasoning in the tweet.
This is wrong, misguided and naive.

International trade when done with effective reciprocity and managing the trade deficit, can lead to competition on a larger scale, better outcome for consumers and specialization in particular aspect of manufacturing or services.

Even domestically, specialization is how human species became to me. If humans continued to be inwards looking and never engaged in barter-trade or any kind of bilateral exchange either with monetary instrument or goods/services; we would still be caves.

National to international trade is just one more step in the expansion of trade that we all benefit from. We have proof that it works when all parties are rational and cooperative. If we found aliens on another planet, it would only make sense to trade with them (just increasing the abstraction layer from national to international to interplanetary).
I tried the Notion plugin/clipper before Nimbus, but the Notion one failed on 2 out of the first 3 sites I attempted :/
Travelling the world, one of the things that always strikes me is how omnipresent Coke and Pepsi are. But at the same time, every part of the world has it's own local twist on sugary sodas. The duopoly is so nice: You want something familiar, you always have it. You want something that cements a place in your mind, you have that too manufactured by the same conglomerates!

A sip of Thums up takes me back to my college days (in India), just like Fresca teleports me to Costa Rica, The orangey goodnesss of Kas takes me to the coast of Malaga in Spain, and I can't even think of Mexico without tasting the many flavours of Jarritos available there!
I doubt it. Those problems are close to impossible to solve for ordinary students, therefore many talented but not necessarily genius students lost the opportunity to get good education. I'm a firm believer that students need to be pushed to stay in their discomfort zone, but Jewish Problems can easily push most students into panic zone.
But… it was initially blocked when blocking several apps from China. Why would China being able to compromise it make it more likely to be unblocked by India?
And in this case it was a good thing. These are just normal machines (4 socket?) tied together with an interconnect.

So the rule works surprisingly well!
Indian companies are slowly avoiding chinese products, for example all the chinese apps are now not allowed.

https://www.businessinsider.in/tech/apps/news/checkout-the-n...

Also today's news, Hero Cycles of India is shelving its plans to do business with China in light of recent changes.

https://indianexpress.com/article/cities/chandigarh/plans-bu...
You might also enjoy Stefan Karpinski’s talk at JuliaCon 2019 about how multiple dispatch helps make the language more expressive (than OOP, for Eg). The unreasonable effectiveness of multiple dispatch https://youtu.be/kc9HwsxE1OY

It seems like such an elegant idea, I’m somewhat surprised no one seems to have run with it earlier.
Related from a few months ago: https://news.ycombinator.com/item?id=23070821
HiddenAds up to no good again and spreading via Android gaming apps
Those progress bars look delicious
When the impossible goal is to solve a 10x hard problem in 1x time live during an oral exam, no. But it did have a filter effect, so that the Jewish students who did pass the entrance test were much higher ability than their average peers.
> WW2 wasn't really that long ago and neither was the the American civil war, both wars based on race and atrocities

I don't think the Japanese attack on Pearl Harbor was racially motivated.

> in America we aren't as far gone (but there are people in America who probably wouldn't mind killing other groups).

I agree. I think the definitely-not-fascist leftists in USA are dangerously close to lynching whites. Oddly, so many American whites are deluded into believing leftist activism mania is about making a cute incremental improvement rather than burning it all to the ground.

That national socialism (combined with 20th century eugenics) could become as popular as it did in Nazi Germany had been surprising to me. Given the state of the modern leftist cult, it's no longer surprising. People can actually be deluded to such an extent!
Anche io, era una battuta - saluti!
“No, tap water isn't drinkable anywhere in China.”

FWIW, I drank tap water at large, western hotels in Shanghai and Shenzhen without issue - most recently in 2012 ...
Pretty much, although with high paying consulting jobs you usually are hired because you're trusted for some reason. Either through friends / friend of friends and/or industry fame.
A guide to SwiftUI’s state management system
The pithy version of this is “Paying McKinsey to look at your watch and tell you the time.”
I think the subtle shift of view here is that the URL shows the address where the content is located, more so than where the content was actually fetched from.

An example of where this occurs today is caching. You could be hitting a cache anywhere along the way. Hell you could be seeing an "offline" version, but the website would still show you the "address" of the content.

This is no different, you're hitting a different cache, but the "URL" you see is the canonical address of the content you are looking at, not where it was actually fetched from.
UBC quietly changes references to Taiwan amid sensitive political climate
Even Jesus himself often referred to specific verses in the Old Testament: "Jesus said to him, “Again it is written, ‘You shall not put the Lord your God to the test.’” (Matthew 4:7; cf. Luke 4:12)" "“You have heard that it was said, ‘An eye for an eye and a tooth for a tooth.’” (Matthew 5:38)" So the Scripture must have been "Balkanized" before Christianity existed. Which is not so strange given that it served both as religion and as a code of law.
I’ve been tempted to build a website that features articles about journalists who use hyperbole like this to polarize and spin nasty narratives.

It’s damaging to our society and the virtual signaling is at an all time high. They go write an article like this, saying X is evil, but it’s so hypocritical.

How can journalists justify themselves when they do this?
It would be interesting to see koalas compared as well
you can have images and they don't always display as anything. the author of the user agent decides how they are displayed. you could in-line them if you wanted to, but only a few clients do that at the moment. there are no hints to the client about how some content could, should, or should "always display as".

It's text. The client displays that text and renders links, headings, etc, however it wishes. If it really wants to, it could just not format them at all. There's a gemini client made for plan9's acme text editor that doesn't render links, and instead displays them verbatim, because the plan9 plumber can handle the hyperlinking aspect. All of that is eye candy and fluff.

If a client finds a link to an image, it can in-line it if it wants. If you wrote a client, when it found a link to an image, it would in-line it "with nothing to either side." That's not something that has to be specced.
As I said the first time this topic was posted:

This article is ironic coming from such a math phobic publication as Nature:

http://www.dam.brown.edu/people/mumford/blog/2014/Grothendie...
Many people use Moore's Law to mean some kind of "law of accelerated returns" - which actually is a thing, and it kind of does work like the author implies:

https://www.kurzweilai.net/the-law-of-accelerating-returns
I think one of the cool thing about pattern matching or language(In my case, it's Elixir) that support function operator is we can have same method with different argument sigunatures. So we don't have to duplicate or inherit whatever and still share some common method.
Weight is optional. A new Miata weighs exactly as much as a 1998, only 200lb more than a 1989. An entire 2020 Honda Fit weighs 200lb more than a 2020 Miata. Those are death traps and outliers, some might say. Consider that a 2020 F150 starts at 4,000lb while a 2000 F150 started at 4,000lb.

Cars don't weigh substantially more than they did 20 years ago. Specific models do tend to gain weight over time, but that's not relevant if comparing the cars themselves. A 2000 Honda Civic is an entirely different car than a 2020 Honda Civic. The 20 year old Civic is more similar to the Fit. The 2020 Fit weighs as much as the 2000 Civic, despite being larger, roomier, quieter, and safer. It's not that cars have gained weight in the last 20 years, simply that massive vehicles boasting extravagantly obvious externalized safety problems are grossly irresponsible and popular.

What hasn't changed is a regulatory neglect of vehicle safety to non-participants. When a lifted Dodge Ram decapitates everyone in a Honda Fit, the statistical penalty is scored against the Fit. We don't measure safety like this in other regulatory domains. NHTSA used to provide crash injury and fatality data separated by occupants and non-occupants. I haven't seen that detail provided since 2008, but I'd be happy to be corrected if I'm wrong: https://cdan.dot.gov/query
How do we get people from their gut reaction to this, to realizing that it is the most likely path toward lasting peace?
Anydesk for iOS is a thing, my days of explaining GUIs over the phone are over.
I’m just waiting to read “This research was funded in part by the Molson Coors Brewing Company”.

Ask HN: Should I start drinking regularly?
I wonder how much of vehicle usage is "I want to carry big things around that don't fit on an electric bicycle" and how much is "I want to get somewhere fast".
As an aside, I recently found out that Microsoft's version of the hamburger menu, the 9 dots in a square, is called a "waffle".
This “shut up and do what I tell you” mentality is remarkably similar to that of the management in the consulting firm I was in, and is a big reason I left. They hired experts, asked them to give their opinion, then ignored it and/or shouted it down when it didn’t conform to their previous expectations. I would then be told I was incompetent and that my opinion was not valid, always without evidence. Interesting to see the pattern here as well.

I’m glad the attacks have gone from consulting partners to random anonymous commenters on the internet though.
There's no need to imply I'm morally outraged when I posted this in about as un-outraged a manner possible. It's easy for you or I to think it's ridiculous when we have knowledge of the history of these names as examples throughout computing, but it feels like no rational person could look at them in this context and not think that a person who lacks that background knowledge may draw the wrong conclusion.
Pretty expensive domain. Wonder if it was bought using ICO fugazi money, since this looks like the content is oddly interested in fringe crypto content.
I used Eye Candy all the time (it was not a Kai Krause project). Back then, all the UI was skeuomorphic, and Eye Candy did a great job on that.
If you unintentionally destroy property and have to pay for it, you’re in debt.

We even have a concept of life debt.

Some debt is intentional, some incidental.

Most technical debt I’ve seen was not intentional, just a well meaning design that was created to serve a purpose that eventually outgrew it, and that’s when the interest started to pile up.

And happening passively is exactly what it does, interest rates change, your ability to make downpayments change. All part of the very well functioning metaphor in this context.
Pretty much. In addition there is no real enforcement to see that only the sites requested are blocked. And ISPs (Jio especially) have started taking creative license with block orders. For a lot of ISPs this blocking is implemented at DNS resolution level, which is easy to bypass (just change your DNS resolver), but the most popular ISP (Jio) does not do it this way, and is pretty much impossible to get around.
Xcxcxcc
https://gitlab.com/gitlab-org/gitlab/-/issues/226847

https://gitlab.com/gitlab-org/gitlab/-/issues/226848

https://gitlab.com/gitlab-org/gitlab/-/issues/226847

https://gitlab.com/gitlab-org/gitlab/-/issues/226848
https://gitlab.com/gitlab-org/gitlab/-/issues/226854

https://gitlab.com/gitlab-org/gitlab/-/issues/226855

https://gitlab.com/gitlab-org/gitlab/-/issues/226860

https://gitlab.com/gitlab-org/gitlab/-/issues/226861

https://gitlab.com/gitlab-org/gitlab/-/issues/226862

https://gitlab.com/gitlab-org/gitlab/-/issues/226863
Install Extensions Ungoogled Chromium
> "Failure to accelerate progress now," the IEA report said, "risks pushing the transition to net-zero emissions further into the future."

And pushing the transition into the future is a problem, because...? I begin to take issue with this kind of language. It does not say much to a casual reader. I believe the time for this overly polite, overly cautious language is over. How about

"Failure to accelerate progress now risks to end human civilisation as we know it."
We really gain skill for this over time.

As I gain experience, I find that I understand in more details existing codebases. This increased my chance of a successful refactoring. Especially when replacing a core abstraction without a full rewrite.