jkeisling/hacker-news-corpus-2007-2022 huggingface dataset:
My initial thought was that this was a serious waste of adspend for Pixar - but when I think about it a little deeper, I see two possibilities that make it worthwhile.

1. Things like this TechCrunch post which serve as "promotionbait" because it's the first ever Trending Topic ad, offering additional ROI on top of this.

2. The possibility Twitter cut Pixar a large deal on this in exchange for the ad offering some real adnetwork validity/proof of large, successful customers (which will see huge box office #s, although how they correlate to this will be hard to measure).

It's really a strange play in general because Toy Story will undoubtedly become a trending topic once the movie is about to release, so I have considerable doubts that Pixar made this move for any significant dollar amount.
btw, this is made with (in?) TiddlyWiki (https://tiddlywiki.com/)
Yes, exactly right. Sorry my post wasn't clear.
Or the Taelon Commonality, for Earth, Final Conflict fans.
I like that the screenshot says "11 seconds ago". An idle thought while setting up my new MacBook Air became a TC post in record time!
Why would you need a translation?
I think that the Eastern Bloc is largely irrelevant. The programmers here are from top notch to complete morons. From anecdotal evidence - this is the same everywhere in the world.

I know of similar projects where the contractors who fucked up where from all around the world.

Incompetence knows no national borders.
The article mentions many uses of generics but it doesn't go over one of my favorites, which is that parametricity gives you "theorems for free".

For example, I recently wrote a compiler in Ocaml for a scripting language. The type I used for the syntax tree has lots of type parametsrs:

type ('id, 'str, 'enum) stmtf =
(* big ADT definition goes here... *)

The 'id type parameter is the type of identifiers (names), 'str is for strings (they get interpolated) and 'enum is for constants.

These type parameters give me some flexibility. When the parser builds the first syntax tree everything is still a string:

type syntaxtree = (string, string, string) stmtf

and after a pass to bind names the strings get converted to more informative types:

type boundtree = (nameId, interpolation, string) stmtf

Up to now, we could get this flexibility by being untyped and defining all these fields in stmtf as "void pointer" or "interface". But the generics lets us make everything type safe. Central to this is the "functor map" over stmtf:

val map_sstmtf:
id: ('i1 -> 'i2) ->
str: ('s1 -> 's2) ->
enum: ('e1 -> 'e2) ->
('i1, 's1, 'e1) sstmtf ->
('i2, 's2, 'e2) sstmtf

It takes 3 functions telling what to do to the id, str and enum fields, respectively and converts the stmtf by applying those fucntions to each field. The neat thing is that in the implementation of map_stmtf if we forget to apply apply one of these callbacks to one of the fields the code would not typeckeck. The code also won't typecheck if we apply a callback to the wrong field - say apply the "id" callback to a "str" field. This lets us catch at compile time bugs that wouldn't even have been caught at runtime because in the initial syntaxtree both "id" and "str" fields are represented by "string" and are thus prone to being confused with one another. Both of these turned out to be pretty useful as I evolved my language and changed the structure of my syntax tree.

Liberal use of type parameters also gave many other benefits. For example it was trivial to modify the tree to add a line number next to all identifiers, all I had to do was update the type definition and then see the compilation errors to find the parts of my code that had to be updated.

type syntaxtree = ((position * string), string, string) stmtf

Finally, one extremely neat trick is that you can use type parameters in some places where you would have used recursive types. This pattern is described pretty well in this post I'm linking to and its the sort of thing that you can't really do without generics.

http://lambda-the-ultimate.org/node/4170#comment-63836
i wonder why author choose to drill holes.. i'd think a cutting disk + slots would be better for airflow, and could be made to look a little better aesthetically
>Talking about GC… When Apple introduced GC they told us that it was the latest and greatest shit. It was the future. When introducing GC they told us that "hey - we have ported Xcode to GC - look it is that easy.". So they had more apps using GC from day 1 than using Swift from day 1 (well the WWDC app written in Swift does not count…). Apple had to ship GC-capable versions of their frameworks from day 1. They were even more committed to GC than they are now to Swift so it would not surprise me at all to see Swift let go in a couple of years and buried deep.

No way for Swift to "let go". It solves a problem (having a modern language for OS X to go forward") that Objective-C doesn't.

Besides swift makes sense even without a new set of frameworks. People use it already and are productive. Sure, Swift inspired frameworks would be a better fit, but that not a show-stopper.

GC wasn't that much a deal to let go, because they found a way to do the same thing without it (ARC). It's not like they had to rewrite anything for the new post-GC era.
> I met someone who was specifically using `dict()` instead of `{}` because, he told me, the CPython parser was much slower on the later than on the former and that it was noticeable on larger code base.

I've been told by code reviewers to use micro-optimisations like this before.

My default reply is "I think this way is faster, since the shorter code results in fewer cache misses. I'd be happy to change it if you show me some benchmarks."

Of course, the cache may or may not affect anything; the point is to burst their philosophical bubble with an example of why measurements are needed.

There's also the good old fashioned "If we cared that much about performance, we wouldn't be using the branching logic of a templating system in an interpreted language."
I've been working on Juju for 18 months, which is over 250k LOC and have not missed generics at all.
> And in cases where a function returns an error and a value (where the error generally indicates the validity of the value), you'll get a compile error if you don't check the error.

This compiles:

package main
import "errors"
func main() {
x, err := f()
if err != nil {
return
}
y, err := g()
h(x, y)
}
func f() (x int, err error) { return 1000, nil }
func g() (y int, err error) { err = errors.New("boo"); return }
func h(x, y int) { println(x/y) }

(I do write Go most days and rather like it, but apologists for its weak parts are legion)
Windows also breaks existing workflows and software with every new release, and then cuts support in less than a decade.
> Compared to your average all-in-one home router, however, these are also markedly less shitty.

Unless, of course, you find spyware shitty... Which one would think most reasonable people do.
No pun intended against Aurelia, but this reminds me...

https://twitter.com/iamdevloper/status/540481335362875392

"I think I've had milk last longer than some JavaScript frameworks."
The video, the intro, the docs, ... None of them seem to mention testing. That's a disappointment.

Anyone got a link on how to test an Aurelia app?
A reminder to take medical news from mainstream press with a grain of salt.
Shout out for Haverford folks in tech. Are you in the bay area? Not a ton of us out here. We did meet up last week though: https://www.facebook.com/events/743588762415575/ add yourself to the group.
How is it not an answer? He's saying that the "greed" described by the original commenter is the same source of innovation that's given us all of the modern amenities we enjoy today.

Conversely, I would say outright dismissing the pursuit of growth is not an answer.
True. This is old. Not sure why it got upvoted. Maybe HN memory is being recycled. My other articles submitted were nicer, but when there is "google" next to your link, people seem to get closer. So this worked more as an experiment of audience than a link itself. Anyway if you never seen it, its ok.
Tl;dr people spend more time thinking than typing, but the benefit of fast typing is the ability for your hands to keep up with your brain.
They've been drilling since 1995. More background from a story earlier this year at http://www.times.spb.ru/index.php?action_id=2&story_id=3...
Holy Libertarian hyperbole:

He convinces the FCC to require right-wing channels to link to left-wing channels, Christian channels to link to Muslim channels, vegetarian channels to link to meat-eating channels.
"The [linking] icon itself would not require anyone to read anything," Sunstein writes. "It would merely provide a signal, to the viewer, where a different point of view might be consulted." The FCC approves Sunstein's plan for a "Fairness Doctrine" for the online world, and the FCC sets up a new Bureau of Links to enforce the practice.
The article is actually misleading. It's not the WWW that was born on Christmas 1990 - it was the first edition of the WorldWideWeb browser that was released exactly 20 years ago.

References:
- http://www.w3.org/People/Berners-Lee/WorldWideWeb

Interesting stuff: WorldWideWeb (the browser) was written in Objective-C on a NeXT computer by Tim Berners-Lee himself.
Pretty cool and fun to read through.

If I can make one suggestion: make clicking any part of the Tweet card element go to the Tweet in context. That's the main action I will want to take, so it's a little annoying that it's relegated to one small link in the top right.
Your point holds even mathematically/logically. Consider addition vs subtraction. Living in a world where we're just adding, life is simple (1 + 5 + 32 + 67 + x + y + ...). But when we subtract, we're introduced to weird new concepts like zero and negative numbers. These new concepts require foundational shifts.

This of course also applies to multiplication (constructive) vs division (destructive), where division introduces us to the weird concept of infinity when dividing by zero.

And also exponentiation (constructive) and root-taking (destructive), where the latter introduces us to imaginary numbers when taking the root of negative numbers.
Yeah, I was curious about that as well. The README file links to a Google Groups discussion about the name change that seems to have been memory-holed, but apparently it was renamed to avoid confusion with a NetBSD component: https://news.ycombinator.com/item?id=15712659
> Normally anything that poses a real threat would not create any exemptions.

Define "real threat". Are we talking about an imminent threat, a potential threat, a long-term strategic threat, etc?

The immediacy in which someone handles a threat depends on the details. For instance, high cholesterol and a heart attack are both a threat to someone's health. While you'd want to address both of those issues, one of them you might immediately call 911 for, and the other you might schedule an appointment for next week.
The purpose of the language is clear to me: make it practical to prove that >90% of a C file-munging library is safe from several common types of errors. I will be looking into reorganizing some of my existing C library code of this type into large Wuffs components and small interaction-with-outside-world components.
Does anyone know how this compares with libgccjit ? What are the difference in their use cases?

(I note that Guile picked lightning, and emacs chose libgccjit for instance for what seems to be similar roles.)
the lawsuit is worth reading, hopefully it sets a precedent https://www.courthousenews.com/wp-content/uploads/2021/04/mi...
1024 is a soft limit you can change through ulimit.

The actual limit can be seen via 'sysctl fs.file-max'. On my stock install it's 13160005.
I dual booted Win10 and Ubuntu on my laptop and I could only use the dedicated graphic card in Ubuntu if I turned Windows off with the power unplugged. Maybe that was a symptom of similar properties?
This wouldn't be a silver bullet, many hardware have their own controllers, with their own firmware and their own state that the kernel cannot directly control. And for the same type of hardware some might have a full reset with a power cycle, and other might not.
For some reference you can look at the GPU reset bug for navi 10 and below.
If your phone is supported, you could install CyanogenMod (it works fine without gapps installed). From there you can use f-droid for apps, but possibly Amazon App Store could be a good alternative to the Google Play morass.
Glad to see there's an Atom plugin[0] named after the Jean-Claude Van Damme movie Timecop[1]

[0] https://github.com/atom/timecop

[1] http://en.wikipedia.org/wiki/Timecop
Have you ever had a chronic illness?
See your point (btw I liked the comment you posted about your gf; I feel the same way).

Okay then, there should be an option to mask your identity as anonymous, if you're not totally comfortable with a subject and post it like that. But those who would comment under their (real) name could get a higher priority for that given comment.

EDIT: an algorithm to verify identity (far from perfect and not necessarily for HN)

1) Give 1 person a verified account (linked to facebook) who the admins know personally.
2) Let that person invite her _facebook friends_ to the system.
... and so on
Hm, good point. Very philosophical. While most things in life are spectrums, I believe there are boundaries that can be discovered and shared. These allow us to make better-than-arbitrary decisions which lead to better outcomes over the long term.
This is exactly what Facebook agreed not to do when they purchased WhatsApp.
I think it's pretty unlikely that this will be made to work in a modern environment in a useful way. I think the primary benefit will be historical interest and possibly the reuse of some of the component parts.

http://lispblog.xach.com/post/107215169193/corman-lisp-sourc... has some more context. I'd have posted it myself directly, but xach.com is blacklisted from HN.
>
I'm a naturally skeptical person so when I see even the proponents of anthropogenic global warming theory going about their lives business as usual it really raises alarm bells with me.

I'm always confused why sceptics are sceptical of anthropogenic climate change, but not of the acres of bullshit coming from the denialists. Especially when a lot of it is trivially easy to see as bullshit.
This is because monads are quite simple and effective abstractions, yet they've proven hard to explain effectively, because contrary to other well known abstractions (let's take as an example the Iterator), monads are more abstract and have been used to describe things that don't bear a resemblance to each other in the minds of beginners.

Lets take the Iterator - which is simple to explain (an API that allows you to iterate over a collection of items only once, a collection of items which may be infinite), but that has on the other hand strong limitations in what you can implement under it (e.g. the API calls are synchronous and you can only get the items one by one, sequentially). An Iterator can be a Monad if you provide a flatMap / bind implementation with the right behavior and lo and behold, this operation doesn't care about how the items are produced (synchronously or asynchronously or in what order). In OOP terms, you could have Iterator be a subtype of Monad, with the Monad being the more generic interface.

So it's hard to explain because it is very generic, can be applied to many things and everybody has an aha! moment once they spot the resemblance in the various monad implementations, hence the urge to write a blog post.
When we talk with investors one of the top questions is "What is your IP?" and that can mean a range of things but typically means "Do you have a patent?"

When we were starting out I did a lot of reading on patents, the system of patents litigation etc...and decided that the best thing for us would be to ignore the whole patent system and just push forward our technology into the marketplace hoping that we would be moving so quickly that trade secrets would keep us covered for the foreseeable future.

The thinking was: A patent only gives us the ability to argue our case for infringement in court. As a startup there is no possible way that we would be able to afford a lengthy IP court battle without serious VC money or revenue, at which point we should have been able to get the patent stuff figured out easily. Besides, a patent just tells the world how to do what you are doing which makes it easy to rip-off or change slightly as the ability to cover every single use case/implementation in a patent is basically impossible.

I still believe this, but we had so much pressure from investors (that usually didn't invest) that I spent a good 80+ hours writing/drawing our patent and getting the provisional done. Seemed like a good compromise.
The original blog post: http://blog.mgechev.com/2014/12/26/multi-user-video-conferen...
Not sure exactly how it happened. It started out as watching Minecraft videos and morphed into other game reviewers. Lately it's been everything from fashion shows to scripted shows like Video Game High School (https://www.youtube.com/show/videogamehighschoolvghs)

A couple years ago we dropped cable TV because everyone was watching Netflix, now I'm thinking about dropping Netflix because the kids all watch Youtube (and I don't need to be wasting time on Netflix).
TheLadders - On-site, Full time, NYC, No visa sponsorship at this time

We're hiring for a number of positions. Backend jvm engineers, front end javascript developers, iOS, android, and data engineers.

If you're interested in working in a fast paced, highly collaborative environment, we might be the company you are looking for. We invest in our people, providing an annual training stipend, excellent health care, unlimited vacation and more.

If you're interested in some more about the specifics of our open positions, email me: jconnolly@theladders.com.

For more information about how we work and some of the fun problems we're solving, check out http://dev.theladders.com.
It's not just SIM swapping that's the problem.

The protocol/network used for international SMS (SS7) is supposedly very insecure and can be used to hijack messages.
I think a direct comparison between Obama and Trump is a bit dishonest. Obama did some bad things, sure, but Trump's behaviour is unprecedented.
"Hausfrauenpanzer", pronounced somewhat like "House-Frown-Pun-Tser".
In case anyone was wondering.
There’s exactly one model of cybertruck that tows 14k lbs. what’s your point?
> Halogens burn out quickly

No, they don't, they last about twice as long as normal incandescents.

> I had a bunch of them in my previous apartment, and had to replace a bulb every few months or so.

Which says nothing. How long did they last? And did you compare to normal incandescents in the same appartment? Some places have increased mains voltage that just causes bulbs to burn out faster. BTW a problem that you can avoid with high-quality LEDs.

> There were even dark marks on the ceiling from the heat.

Well, possibly there was, but the solution to that is CFL or LEDs, not normal incandescents, because those produce even more heat. Halogen are more efficient because they run the filament hotter, but therefore the amount of heat they give off is lower (lower wattage for the same amount of light, plus higher proportion of that is converted to light instead of heat).
What you are describing here is approaching usability. And when it comes to usability simplicity doesn't matter on its own, there are four other things to always keep in mind together with simplicity: consistency, flexibility, universality and familiarity. And then understanding what users need your piece of text for applying those concept to come up with the best balance to make users think and learn as little as possible throughout the whole lifecycle of the use.

Take, for example, familiarity. If you use a richer vocabulary that your users already familiar with, they certainly wouldn't need to learn more words and the piece with richer vocabulary would be easier for them to go through, than the longer piece with poorer vocabulary.

Simple doesn't mean more usable, but it's a pretty straightforward concept to understand, there is no confusion around it.
> foreign trucks are unprofitable in the US.

Toyota trucks are everywhere and our family 1995 Toyota t-100 regularly had people stopping us making offers on it from about 2005ish until I gave it to my half-brother in 2013 with almost 140k miles on it (which is nothing for a Toyota), I even had people knock on the door of our house offering to buy it when it wasn't for sale. The Indiana State Police (I live in Indiana) even had some of their fleet as Toyota pickups for years (they still might). Actually, I'm quite confident I received more offers for my t-100 than I did for my '67 c-10 and I'd regularly get stopped and asked if I was willing to sell it too (which I finally did when someone offered me twice what I'd paid for it, which I'm still sore about I really miss that truck).

To be fair though, Toyota does manufacture a lot of vehicles in Canada and the United States which gets around the 'chicken tax'.

The reason you don't see a lot of imported pickups is because most of them are absolutely tiny, when you see an Isuzu truck for example it looks about as practical as an El Camino.
Yep. Can't move for them down here. And we've got a beach.
Turkish and Japanese both typically end sentences with verbs, IIRC. There are probably several others; I really should just buy a copy of Comrie's _The World's Major Languages_ already.

In German (which I'm at least a little familiar with, unlike those two), auxiliary verbs stack at the end of the sentence: "I have eaten my breakfast." -> "Ich habe mein Frühstück gegessen." (lit. "I have my breakfast eaten.") It's unusual to have more than a couple, though - human languages typically don't nest very deeply.

OTOH, comparing natural languages and programming languages may not be that useful - programming language design places a high priority on avoiding ambiguity, while natural languages assume have quite a bit of it. It may be better to consider programming languages as a kind of notation for math, logic, rules, instructions, declarations, etc. Kenneth Iverson had some interesting ideas about that.

Another issue with method calls is that many things don't have a clear primary actor. In single-dispatch OOP languages, this turns into ugly workarounds (e.g. the Visitor pattern), "who owns this method?" debates, and tedious rewriting. Multimethods avoid that issue entirely.
Man, this is a terrible infographic imo, though this sort of thing gets linkshared around the internet like wildfire, so I must be in the minority on that. Some parts of it are fine, like the map, but some parts would be a lot more straightforward as a few sentences or some normal bullet points, instead of that confusing mess of flow-chart-esque lines in the "Vitamin D - ESSENTIAL FOR / INFLUENCES / SUSPECTED EFFECT" section. And the graphics in the "D-Day" section aren't really telling me much at all.

Also, why does the whole thing have to be one giant image?