skysight-inc/HackerNews huggingface dataset:
In my opinion it is wrong, but not more wrong than the hundreds of thousands of people working on advertising, violating people's privacy and manipulating them to make them click on ads, buy garbage they don't need or fall victim to scams/malware (off which the advertising company makes money too).

The fact that you recognize this is wrong and are at least looking for advice makes you better than the aforementioned people who "look the other way" as long as the money keeps coming.
Rendering Essentials in Unity, for Software Engineers
What can it do?
Bless Glenn Greenwald for taking a stand against journalistic bias.
Thumb was removed from ARMv8 (AArch64). If you use 32-but legacy, it may exist on some chips; but it’s no longer the benefit it once was.
Maybe you can solve it like this: internally represent the document as DOM objects. Have element nodes contain a list of children which can be either raw strings (representing text nodes), or other element node objects. The render function of element nodes would know to escape the contents of text nodes before concatenating them with their rendered element node siblings. It would be type safe since it knows all the types of children it can contain.

It's like SQL parameterized queries: delay the concatenation until the last possible moment to reduce the area where errors can occur.

But I think maybe that just moves the opportunity for error to the render function, so I don't know if that is really an improvement on "smart constructors".
I mean, they can probably give you a toothpaste advertisement the day before you run out, in this regard it's good for its official purpose.

You may think it should better the world by challenging obtuse viewpoints and spreading truth but that s asking a lot for a marketing platform. You wouldnt ask that of JCDecaux panels on your bus stop, right?
In Haskell, you would use an algebraic data type that can only hold legal values. You would typically only use a newtype when you're just giving a new name to the same type.

Having a Magnitude newtype over Int doesn't change the range of permissible values but does prevent using a Length where a Magnitude was expected, for example.

In all typed languages you'll eventually see a function with multiple arguments of the same type and have to check the documentation (or worse, implementation) to know what each is for. Having a zero cost type alias to make it clear is an improvement and IMO is a form of type safety.

Having a data type that can hold illegal values is a bad idea. Using an Int for Length implies you know what to do with negative lengths, for example. A newtype won't help there.
Agreed! Love Colonization. Wish there was a remake. First game I thought of when seeing this list.

Privateer was amazing too.
Also, I highly recommend Foobar2000 Mobile. I use it on Android as my primary player.
It seems to me that there is no practical alternative. The impractical alternative is to extend the language so that its type system implements the feature you want. (For example, adding bounded integers.)

I don't see how that helps, though, because there could be bugs in your language extension, and it has to be maintained. It's just going about it the hard way. It would be sort of like avoiding "unsafe" in Rust by extending the compiler instead.
I disagree, and I think this kind of fundamentalism hurts the adoption of type safety. It's like saying that a non-machine-checkable mathematical proof is not a proof - something few working mathematicians would agree with.

In a well-formed program it is impossible to have a OneToFive that has not passed through toOneToFive. That's type safety by any reasonable definition. It's not as much type safety as you'd gain through explicitly modelling the internals, but that's a difference of degree, not kind. Sure, using `Generic` or any number of other things lets you break your rules - but so does using `unsafeCoerce` on the constructive version.

I'd argue that newtypes provide a better cost/benefit than essentially any other language feature. The author purports to embrace the idea that the type system is a tool to be used pragmatically, but that's exactly what using a newtype does: you enforce that appropriate checks are applied to any use of any given type, but what's "appropriate" is an internal concern for that module. Whereas expecting to be able to construct every domain datatype rigorously from first principles is simply not realistic in a lot of business cases; that constructive model may well be opaque or simply not exist for the domain you're working in. (Yes, this may well mean the domain you're working in is fundamentally incoherent - but if that incoherence is present in the real process that you're modelling, then your model has a responsibility to faithfully reproduce it).

This kind of newtype use can be done compositionally - one module can be reasoned about without needing to understand the internals of the modules you're depending on - which is the essence of practical, effective programming tools. A technique that only works in a "closed world" will always be severely limited in its applications.
I modified the embedded app-manifest inside Winamp.exe because Winamp incorrectly claims to support high-DPI mode. After patching that I’m able to use Winamp on my 200% displays without turning on Winamp’s built-in pixel-doubling.
I dunno, if my competitor emailed me I would be pretty tight lipped.

A student, not so much.

Its not game over of competition finds out but I don't need to hand it to them.
The contract could include a provision that you can only pursue damages from them after relevant insurance claims.
It seems you haven’t looked around. Go runs on both Cortex-M and AVR: https://tinygo.org/

AVR support is more of a work in progress than the Cortex-M support, but it does exist.
> But the second article is false on its face a self claimed hard left antifa associate killed someone in portland less than a month ago. So the claim that there has been no death puts the whole article in the making stuff up as they go along camp.

Or you could just, like, check the date line.
Might wanna let the Nobel Committee know that.

https://en.wikipedia.org/wiki/Dennis_Gabor
(The following comment may not have anything to do with Haskell’s use of the word “name,” but I’ve wondered about this for a long time.)

Forcing someone to write iFoo instead of foo isn’t type safety, but it’s a certain kind of safety that I haven’t seen clearly spelled out. Actually I recall Joel on Software mentioning it once.

I don’t like it, but it’s always seemed interesting. Another example is in lisp:

*current-input-port*

to indicate that a variable is dynamic, you can end it with an asterisk. But this is only a convention. I’ve always felt that LET should automatically do dynamic binding for any name that ends with . But then of course that runs into surprising corner cases when the user wants to e.g. write foo-+ foo-/ foo- foo—

You could argue that names aren’t type safety, but I would disagree that they aren’t any kind of safety. A good naming convention is one of the safest ways to program in an otherwise hostile domain. But that raises the question: what kind of safety is it? I’m not sure it even has a name, other than Hungarian notation, which is both imprecise and not sufficiently general for the concept.

EDIT: Ah, the post was “Making Wrong Code Look Wrong” by Joel on Software: https://www.joelonsoftware.com/2005/05/11/making-wrong-code-... (with discussion from 11mo ago: https://news.ycombinator.com/item?id=21482993)

The idea really should have a name.
And later versions of Winamp bundled or included popular third-party plugins and features too. IIRC things like Jump-to-File and the Media library were originally written by third-parties and were license-to or acquired-by Nullsoft... I think? Then there’s probably some stuff AOL added too.
Huh? Im not sure what you're saying, but it behaves like every other player wrt controls and never observed boot delay, it opens as soon as I click it.
Soil fungi act like a support network for trees, study shows
> Why should the lingua franca of any country be a foreign language, it should be a local language

Hear, hear. But good luck convincing Americans to learn the local indigenous languages or go back where they came from...
A photophoretic-Trap volumetric display (i.e. holograms) [2018]
Are you suggesting using Proxy to create a type that masks an Int?

How would you deal with text that can only contain certain characters for example?
I’m not aware of any raging worldwide pandemic like we have today though - not in anyone’s lifetimes going back a few generations.
Am a data scientist and don’t do anything with JavaScript but I love seeing stuff like this just to get a feel for the lay of the land and how everything fits together.
Only if you don’t have adblock
It's probably a good idea to sit down and document all the services you have and use.

List them, credentials, what you use from them, how you use it. Just a sentence or two. Doesn't have to be complicated or super detailed, but it'll help everyone a lot.

As questions come up about them, start expanding on the description for them answering them.

That document will make onboarding more people easier in the future. It might make sense to split it into a document for each in the future as it grows, but start small.
I look forward to testing it out.

I wonder how this will impact Sendgrid, Constant Contact, etc.
This is a great post, nice work! Once it was identified the root cause was due to it leveraging an ancient stat -- would it have been easier/safer to patch the syscall table to point stat at stat64? Presumably that can be done without rolling your own kernel module?
If you don't do it, someone else will. This is a systemic problem that needs to be dealt with systemically. So whether you do the job or not, doesn't change much about the situation.

But there may be something greater than that, your own personal integrity. You acknowledge that it isn't right with you. It's up to you whether or not that personal integrity is worth the money.
The degree to which neurogenesis improves memory is far from settled, or accepted.
This is a $60K 4K display... I'm missing what makes it revolutionary?!?
A certain Dr. Smalley would be very insulted to hear that, as he's pioneered a pretty good method for making those: https://www.researchgate.net/publication/322723302_A_photoph...
Maybe it's because you're on a high speed SSD. Spinning rust suffers greatly from Windows 10's bloat.
An extremely good example I've found for this is canonicalization in all forms. Frequently there are scenarios where there are many ways to represent something, but only one official Right Way.

https://en.wikipedia.org/wiki/Canonicalization#Usage_cases
Bengali is very much a descendent of Sanskrit. Assamese (and Oriya) is essentially a somewhat distant dialect of Bengali. Most languages of Asia that aren't part of the Chinese world (Chinese, Japanese, Korean, and modern Vietnamese) have tons of Sanskrit or Pali (or both) in them. Tamil has lots of sanskrit in it (good examples are naka meaning finger nail, singa meaning lion, ampala from ambara meaning sky) it just has less than other dravidian languages, presumbaly because of its much older literary tradition. Literaly Malayalam looks literary Tamil, with all the words converted to Sanskrit. It's kind of funny!
This could also be free promotion for the German hosting company Uberspace who hosts the youtube-dl.org website, including its DNS records. (.org is still vulnerable to DMCA of course)

https://uberspace.de/en/about/houserules/
I also founded, grew, but have not yet sold a boutique software services co.

I see on your profile you sold to a client. We have had that option before but the multiple on our earnings was too low to actually consider it. Curious what your revenue/earnings multiple was on the acquisition. Also curious about the handcuff terms. Giving up autonomy over my daily life is hard to swallow without 8 figures.
Oh IF is just how I have generally lived my life, long before it was "a thing". So not much to compare.

I did have a really good experience doing long fasted running in the morning. At first I couldn't go three miles without breakfast. But eventually I could do twelve straight out of bed and feel great.

As I understand, fasting trains your body to supply blood glucose from fat stores, which breaks your brain's craving for sugary foods- which are a crutch for getting your blood sugar up. (Remember, your brain runs mainly on blood glucose)

Keto does the same thing a different way. But to me IF is way easier and healthier. (I strive to eat a Mediterranean style diet which ain't Keto!)

I would say the experience for me is really good- as long as I avoid the cliff, which is what I was warning about. Basically, just don't try to get all extreme thinking longer fasts are always better.
Krita 4.4.1 Released
I really do hope Tesla prevents ignition - remotely or by any other means!

You know, it's an electric car, ignition is something you don't want to ever encounter with it.
Thanks for taking the time to explain this stuff!

> IPv6 is specifically designed so that routing stops at the /64 level and uses NDP after that

I thought IPv6 also supported subnets, DHCP, and static configuration, just like IPv4? Have I misunderstood? If SLAAC and NDP specifically require the full /64 that's fine, I just don't understand what the upsides to such a design choice would be. (But I'm obviously not a networking expert!)

> > perhaps your ISP is abusive

> If you want multiple subnets, ask your ISP to give you a larger block than a /64.

Long ago, I recall an ISP that charged extra for more than one active device. Their supplied router was perfectly capable of NAT but you had to pay extra if you wanted to use it (and there were multiple service tiers depending on how many devices you had). Obviously, the only reasonable way to proceed was to NAT everything using your own router behind theirs.

That particular practice seems unlikely to fly these days, but the point is that if an artificial restriction is possible to implement or information is freely available such capabilities will almost inevitably be abused by bad actors (see browser fingerprinting for a concrete example).

> NDP is just ICMP messages. It doesn't scale with the number of devices

Sorry, it seems I'm really bad at articulating this particular question about scaling. I was specifically wondering about a much smaller subnet, say 2^16. Once a significant fraction (say 90%) of the address space is being utilized, any attempt to select a new address at random should result in a proportional number of collisions. So if you were regularly cycling addresses, it seems there would be a _lot_ of overhead in that case.

> Every device on the subnet is getting every NDP packet anyway, because that's how subnets work.

That seems like it would break down at some point. Which is (one of the reasons, I thought) why subnets and VLANs and all that other stuff existed. If the answer is just "put that stuff in a block larger than /64" that's fine, I'd just never heard that before and don't understand the reasoning behind it. (It's not as though a single subnet is ever expected to exceed 2^32 active addresses?! So why insist on having 2^48?)
Not directly applicable to RIAA here as they started this by issuing the takedown requests, but I often get around the Streisand effect by ignoring things and then issuing takedown notices later.

Like for example, if something came out that some persons might use to try an embarrass me, I let it stay out for a while and don't really address it.
Two to three people tweet it and it doesn't go further, hundreds of people weren't compelled to save it "for the lulz". Then a few weeks or months later I get the service to take it down, the person that posted barely notices or understands that their voice is not strong enough and the bar to change that is much higher and they've moved on to some other issue de jour.

Yes, there is a possibility that it circulates pretty far initially, or that the thing being shared gets ingrained into the consciousness as truth, but in those circumstances providing a reaction involving the law or lawyers would still amplify it.
Happy you like the stack :)
As long as you don't name it evil-mode.
Why is "doing functional programming" important?
> Oh! I see. Wow, is full genome duplication very common?

Yes. And in more complex organisms, you also have the intermediate step of chromosomal duplication.

In humans, for example, besides the common XX and XY variants, there are also XXX, XXY, XXYY, and so on. Note that sex chromosome duplications in particular are not inheritable, but there are many others that are.

Meanwhile, chromosomal deletions and fusions are also possible. For instance, chimpanzees, gorillas, and orangutans have 48 chromosomes, while humans have 46 (usually, anyway). In the human branch after we split off from chimps two chromosomes fused to create chromosome 2 (this is a simplification, as there was a lot of swapping and patching that occurred before the fusion at various points in our common ancestry).

It's probably important to realize that the mechanisms of evolution itself have evolved to both allow and leverage this sort of accidental cut and paste modification without the organism simply failing outright. That isn't to say that such changes are likely to be beneficial, but they are often neutral in the immediate aftermath, and therefore eventually a possible source of generativity. This is very different from how source code works, and also very different from how genetic algorithms typically work.
> to maximise wealth, they re-invest.

Creating more jobs, total assholes really.
> XPath/XSLT 2+ also have only a single implementation

As far as XPath goes, that's wrong:

1. Saxon (the one you talk about)

2. BaseX (an XQuery 3.1 processor)

3. Xidel (implements many XQuery 3.1 features)

4. eXistdb

5. fonto-xpath (NodeJS)

6. frameless.io (JS, also XSL)

And these are the ones, which face the public internet. I think, Microsoft has an 2.x implementation, I am pretty sure, IBM and Oracle do so, as well.

Now, as for XSL-T, you are right: the easily available implementations are Saxon, but, as it seems, also frameless.io (which I just found out about a few minutes ago, so I may be wrong). But again, I guess, that big enterprise has their own solutions bundled.
Forget about the surface. The only interesting places on Venus are all in the upper atmosphere.

In fact its cloud tops are an overwhelmingly better place to colonize than Mars. So, yes, balloons! No, you don't need extreme electronics; COTS is fine.

There's unlimited hydrogen, oxygen, carbon, nitrogen, and sulfur there, to fabricate into plastics, carbon structure, and breathing air. Lots of solar energy, too. Air pressure is Earth-normal, temperature is Earth-normal. Breathing air is buoyant. Day is ~100 hours, depending on latitude.

The ground is more like the bottom of the sea than it is land. The pressure is so high the air behaves more like water.
This suggests strongly that Mungi, iguana, and every other multi-server OS on L4 is a failure on a practical level. No doubt some papers were published and cited.

Question: Why did none of the operating systems written on L4 work on a practical level to get useful work done?

QNX is the one I have heard of most often when someone wants to tout a microkernel based OS success. In fact I've never heard another OS being suggested in that context.

Given the repeated claims about the benefits of microkernels, complexity management, better security, self-healing faults, lower bug density etc etc. Why isn't QNX the hottest OS that everyone wants to run for just about everything? Certainly everything that needs to be secure on a hostile network. Some might not want the performance trade off of essentially making your cache smaller so things run slower but plenty wouldn't mind that trade off at all. Yet it hasn't taken off or even gotten a toehold that I can see. Nobody has ever tried to sell me QNX for anything. Remember pwn2own and the various variants - never saw QNX even entered there...

Why is that? I feel like there is something being left out of the standard discussion of these things that is crucial. RMS said Hurd didn't work out because it was really hard to debug. Is that it? Is there some other reason why microkernels are just too hard to deal with? Are the benefits a bit illusory? Is it something else?

These are genunine questions. Usually when I ask them I'm met with a wall of unsubstantiated claims and anger bordering on abuse. But still no microkernel based OS I can run to do useful work. I wish I understood why I don't have a microkernel based OS to even play with better.
> In a well-formed program it is impossible to have a OneToFive that has not passed through toOneToFive.

I think this is the key. In any (type) system, there’s an opportunity to chicanery the compiler. The degree to which you have to treat users of that system like children depends on how likely you think they are to behave badly.

If a “well-formed program” is something you can reasonably expect in your environment, you can also reasonably assume you also received a nominal type because it was validated. If it’s not, the expectation is that someone is lying to the compiler... and then you treat someone like they’re misbehaving. Even if they’re not.
that's called a debugger, put a breakpoint somewhere, the application will pause right there and show you all the variables.
If you think that is yellow journalism, may I present to you a survey conducted by researchers from Princeton university:
https://paa2015.princeton.edu/papers/153481

Please scroll to page 8. The data shows about 27% of Indian households ADMITS to practising untouchability.

May I present to you another survey - this time from EPW.
https://www.epw.in/journal/2020/2/special-articles/continuin...

You can see a summary of this research here:
https://newsmeter.in/more-than-40-of-brahmin-households-prac...

You are looking for anecdotal data when I am presenting you with actual survey data. You want to extrapolate from your own situation (as well as mine) to decide what the situation is nation-wide. That is not how things work.

In your particular situation - which may not be representative of the situation of others, you may not be a racist/casteist in your thinking, but you certainly can't extrapolate from that for what the situation is like across the board.
A file copy of the contents is not a preservation of the original media in its entirety. There might not even be any "files" to copy, depending on the platform (many Amiga games would bypass having a filesystem entirely and access data in a raw, direct manner).

Working with disk images allows recovering "deleted" contents, or otherwise recovering data from "slack space" (say, if a file was edited and shortened, the data after the new end of the file in the final sector is likely still present).
They can probably touch type on their cell phone, just not on a full QWERTY keyboard.
The entire point of a good type system is to reduce the need for extra cognitive diligence around your data/code. The more corner cases you have to be careful around, the less helpful the type system is.
pilot data is not what you think it is. Pilot data is about finding parameters, testing procedures. It is neither a consistent nor a full replica of an actual experiment.
After Winamp, Justin went on to create Reaper, which is one of the great audio DAW softwares of the world

https://www.reaper.fm/index.php

The way this software runs so efficiently and in such a minimal footprint... is amazing.
You have quite a few interesting assumptions within that comment:

1) Does interrupting generally increase or decrease communication efficiency.

2) Do males interrupt more? (I believe you are right about this as I recall some studies)

3) Should we optimize for dealing with feelings rather than efficiency? For example: Will the decreased efficiency result in more lost lives due to a delayed cure for cancer or heart disease?