skysight-inc/HackerNews huggingface dataset:
How do you use lisp style macros when you have 500 developers working on a single product?

If you have 500 developers on a java project, you tell the new person which version of java you’re using, you mention whatever libraries or frameworks you lean on heavily and you give them a walk through the subsystems, their key components and essential abstractions and then you spend time showing how the build system is setup and how to create an environment for the system. Then they start knocking out features. There’s a bit more than I’ve said but overall It’s pretty straightforward, any java-for-hire person knows the score and everyone just cracks on with it.

How do you do this when the language itself is programmable? Clojure probably avoids my concern by two facts - it embraces immutability and it only has macros, it doesnt have reader macros.

Common Lisp has neither of those - it might be common to write in an immutable style but in Common Lisp you can (setf ) til your heart’s content. You can also define reader macros - i recently followed an example to implement json parsing in the reader. I’m still equal parts impressed, amazed and horrified.

So. You can probably tell I’ve fallen for lisp in a big way, but how do you scale up to a big dev team? Much as i love lisp in my short journey so far, it seems like a super power that could only be leveraged by up to a “two pizza team”.
> Scientific Acoustical Evidence Establishes a High Probability That Two Gunmen Fired at President John F. Kennedy

[0](https://www.archives.gov/research/jfk/select-committee-repor...)
Lichess has a 'fishnet' of donated servers [0] that allow you to analyse using Stockfish on proper hardware. You can have up to 20 deep analyses a day.

The web client uses Stockfish compiled to WASM which is decently fast.

If you're not an IM/GM, it's "good enough"

[0] https://github.com/niklasf/fishnet
> That still sounds like a revolution to me.

The term "revolution", while it does not have to imply bloodshed, does imply some kind of struggle involved. My point about what happened in the countries of Eastern Europe when the Soviet Union fell was that there was no struggle at all, not even a bloodless one. Everyone just said "about time" and went about the business of running their own countries.
Lots of interesting things in the design document: https://github.com/rui314/mold/blob/main/docs/design.md
Are you asking when the X server has been exploited? There have been a lot of published root priv exploits published over the years. A few were just published yesterday: https://lists.x.org/archives/xorg/2021-December/060840.html

This type of thing is pretty common in old applications like this with a lot of hand-rolled networking code written in C.
That would cause a division by zero. ;-)
OOh, ooh, ooh, me too!

A couple months into my first job, the chief engineer, who was an ME in an EE company, told me to figure out how a certain filter worked. I sat down at my desk with the diagram for hours struggling with it. Then I got up to go to the bathroom or something and came back in through a different door and saw the schematic upside down and that from that perspective it looked totally different. It was just a 2-port network; I know all about 2-port networks!

A few minutes later I was done :-)
I understood you perfectly; I simply don't agree. Your model for decision-making bears no resemblance to reality at Amazon or anywhere else.
That sounds somewhat like "Imposter Syndrome".

All of us have to combat that Syndrome at some time or other. For many of us, it strikes more than once.

In my case, I've had it strike in several of my 'professions': Pharmacist, Programmer, Pilot.

I'm beginning to suspect that 'Imposter Syndrome' is a normal 'Rite of Passage' - on moving from mid-level to a higher-than-normal level of expertise in that particular field. You get the 'Am I good enough to match those others who are already in the upper echelons of the field?' doubts.
Many Omicron cases in fully vaccinated students
Nobody here is trying to take your experience away from you, if Wayland makes you happy then by all means, keep using it. Without users on the cutting edge, it's hard to debug new software. However, what others have been saying here, is that x11 typically doesn't have screen tearing issues on the majority of hardware/software configurations. Yes, it is possible to remove a composition pipeline and disable all of the safeguards put in place to eliminate screen-tearing. If you're using a barebones system like i3wm or similarly stark systems, you will probably notice tearing; however, the vast majority of hardware/software combos that people actually use these days do not exhibit this issue. On my Nvidia and Intel machines, I do not notice any tearing on fresh installs without configuration. This goes for gaming, video watching, 3D modelling, reading, website scrolling and quite literally everything else I do on my desktop and laptop.
While you are completely right, I applaud both James and you for working to potentially remove one bottleneck. If wins are significant enough and people are not blocked by request processing anymore, we'll see them work on frameworks which are better optimized too.
There was a case here in Germany where the police report revealed that they apparently spent a lot of time looking for evidence of a hidden partition/encrypted data etc because a PC owned by single man with zero evidence of porn was unusual. (but didn't find anything in the end, and didn't claim anything they didn't have evidence for)
USB-C? or just USB-A only? Us mac folks from the era of no-USB-A are curious.
To add to this, if you grab SBCL or another free CL and dig around you’ll see a ton of the language is implemented as macros.

I haven’t looked at the Clojure source but I imagine it’s similar.
Cloudflare has interesting results as well. Though not as dramatic as this blog.

> “ On average, with HTTP/3 we see the first byte appearing after 176ms. With HTTP/2 we see 201ms, meaning HTTP/3 is already performing 12.4% better!”

https://blog.cloudflare.com/http-3-vs-http-2/
Yeah if he knew even one person back in America, he could arrange to return.
Heck, just because he's American he has in his head the idea that he could go anywhere. He went there after all; he could go back.

Pick at the verbiage all you like; an American playing at being a poor subsistence farmer is theatre. The guy gave a TED talk after all. Did he do that from his 3rd-world farm?
Fonts You Should Be Using If You Are a Designer
Font Matters For Products
And yet, it does.

> either because the 10x 300k total comp developers you found aren't actually 10x

That's a possibility. Honestly I've seen both approaches (going with prevailing wages, CoL or whatever metric) vs just matching what's happening in the Valley no matter where and the caliber of resumes you get with the second option is simply on an other level.

> or that they're so in demand that finding/recruiting them is expensive enough that it massively increases the cost

The trick is to adopt a different mindset.

You have to understand that these guys are never on the market. They'll get offers and interviews long before they publicly announce they are looking for a new job. Google has second year interns coming-in that won't work anywhere else but Mountain View for the next 7 years because they'll get an offer long before graduation.

It's all about finding a pipeline with a high signal to noise ratio and investing in it.
My parents have worked extensively on a Soviet bug for bug clone of this (with an incomplete sed job of replacing references to ATT UNIX) running on an an EVM/ES 370 (a laboriously built bug for bug clone of the IBM 370.) The whole setup would even play “Yankee Doodle Dandy” when it crashed.

This was my parents first exposure to UNIX: they have used indigenous machines (Minsk series, an early RISC-ish design), as well as PDPs but the PDPs they used did not run any UNIX variant (likely due to lack of MMU or sufficient core.)

Dear lazyweb, has anyone been able to get this going on the Herculus emulator? I am giving my father (if you read this site and know him, please dont disclose) a surface tablet for New Years (per russian custom of giving gifts on secular holidays), would be neat to install this inside Hercules (or other emulator), if needed under WSL2 (which runs on even the cheapest surface.)
Rather than try to refute or explain any of these (as everyone else is doing), I just want to say I think some of these are quite good questions (the last two intrigue me in particular).
I used to have to deal with this at my previous job (including log4j).

We were rarely vulnerable to CVEs mentioned by end users or pinged by our own internal tooling, but that wasn't the point.

The customers (a large percentage of Fortune 500) would just get pinged by their security teams. The customer would come to us, we'd say "yes, a patch is on its way" or "we've researched it, we're not vulnerable, it's fine".

(Our particular bit of product only had Java command line tools, but you never know what customers would do with them and whether they'd end up somewhere in a chain where those command line tools could be, deep down, kicked off from some user input on a public facing webpage).

Also the problem is that "we've researched it, we're not vulnerable, it's fine" often isn't good enough for the customer's internal security team, and our customers would just get hassled by them each time a scan was run.

We'd also spend a disproportionate amount of support time responding to "what about CVE-2021-xxxxx?" and arguing the case, even if it is just copy-and-paste the same old response again and again, it's still toil.

So, quite often, the easiest solution was to say "we've researched it, we're not vulnerable, but we're patching it anyway".

The problem with this approach is that you slowly build up a considerable number of third party packages that need to be version bumped each time you do a new maintenance release, and that puts quite a load on QA departments, etc.

Anyway, don't do that kind of thing any more and I certainly don't miss it.
Presumably you don’t want your FRIEND to lose too much money even if you’re taking them on a bit of a grift
Looking at the loop, what prevent a slow client to block the iteration? I understand that it's UDP so fire and forget but shoudn't there be a thread pool to handle that in parallel?
I don't have a Dyson vacuum. But when I got new carpet the company I bought it from gave us a "How to care for your new carpet" brochure. And one of the first things was "do not use a Dyson".

I asked about it and they said that they can ruin your carpet. Too much suction, I think is what they said. It's been a few years.
Author here.

Jitsi and MediaSoup both seemed to have good congestion control at the time.

And, yes, as mentioned, the primary reason for writing a new one was performance/scalability.
>Personally, I know that I need a focus for my intellectual life. It needn’t be employment, but “work” is a fair way to describe it.

Alas, alas, work has been co-opted to mean employment in most people's minds.

There's learning, there's helping, there's contributing, there are a million things that aren't idling and require effort, but net you with no money.

So they don't count as "work".
> Personally, I'm willing to pay for a Browser that does not also need an ad network to support it.

Ok, now go with the other 28 people that think the same and see if you can hire one developer.

Or let's start much lower in the stack: let me know of ONE web service that is based on open standards and that you are paying right now.
I really don't understand this insistence of covering the full width of the computer with keys. The numpad is less than useless most of the time and pushes the main keyboard to the left of the computer, which means to the left of the screen.

I wouldn't mind adding extra keys around the main keyboard, but at least put the main keyboard in the middle of the bottom, like God intended it to be.
I spent a lot of time on chess.com (including paying for membership) but recently switched to lichess, because simply it feels a better, more polished, product. Love the fact it does not have ads (https://lichess.org/blog/YF-ZORQAACAA89PI/why-lichess-will-a.... ) unlike chess.com which is ad-infested.

Lichess is very customizable. Love the everyday tournaments and the community there as well. Would pay for it.

The in-game analysis in lichess is fantastic (too bad my favorite WebKit browser doesn't support WASM SIMD, looking at you Bug #222382 https://bugs.webkit.org/show_bug.cgi?id=222382 ) so I don't get the full Stockfish NNUE. That is the only thing I miss really.
I'm American and I've always heard them used as distinct terms. I think your experience may be unusual in this regard.
That’s pretty straightforward for anyone with some experience behind a bolt gun.
I was on Elon's side until that Texas move. (I believe this money saving move is just a start. Elon and his delicate ego, along with that overpriced stock (I let that slide for years because I was a fan boy.) It's weird how worship pans out. I was giving him the benefit of doubt too much. Guess what--going to Mars is a childish dream, and feel it's just another tax dodge. His quote today is "I will be paying more tax than anyone in history" Yea--because you know tax rates are going to rise. You know your overpriced stock will drop to a third, or maybe less than $100 of what it is now eventually. Get out while you can slick? Date another techno singer? Let the fools holding your stock get wiped out.

I'm glad people are seeing these wealthy parasites for what they are.

As to Dyson--don't get me started. Granted I only knew him, until today, for that rediculious vacuum that I see around twin with "free" signs, and those narcisstic tv commercials.
> You read the docs (books), figure it out, and seek SME's for guidance. Just like everything else.

Going a little beyond the case of the article, for something like interpersonal relationships, there are as many methods as there are practitioners, many of them diametrically opposed to each other. What's considered best varies by culture, by demographics, fades in and out like fashion, works for some personalities and relationships and not others, might be harmful in ways not currently understood. It's not like math where there are empirically correct answers that can be logically proven. Certainly one can do what one considers best based on the current situation and general consensus, but I don't think it would be surprising if some people find that their best intentions are considered strange or unacceptable some time down the road, as society changes.

Getting back to the article, the author did not mention whether they talked to the father about their needs and wants. It is possible that the father thought he was solving for family quite adequately. We don't have both sides of the story.
Yeah. Juicero wasn't even a juicer.

It was an outright scam.
Author here.

All of these things are built around WebRTC to some degree, which was built on previous open source work and standards. We all benefit from many contributions over many years.
I have also left Python for projects where I can chose the tools, but I have not stuck with Go. I went to Racket which has much like Python a "Batteries included" feeling, it is a very easy language with a lot of power and a really good JIT compiler. For me, it is perfect for exploration and algorithm design. For example, I could develop an algorithm in Racket and easily port it to C++11 which was what the client / employer ultimately wanted - still having a much quicker total development time.

For things that are performance-critical or require high reliability, I have successfully used Rust, even if I am still much slower writing it. One thing I like is that the resulting code is not more verbose. Which also means that it is easy to read even after months of not touching it.
It's not like this stuff is hard to reverse but those skills are a bit more scarce and it requires more effort.

My opinion is that you'll get relatively more blackhat "eyes" on your code and fewer whitehat "eyes" if you go closed source.

Personally, I don't know anyone who would reverse a closed-source wallet to report bugs "out of the goodness of their hearts", but I do know a bunch of people who would report bugs in good faith to open-source projects.
USB-C is easier. There's tons of magnetic breakaway cables to build your own USB-C BusKill. See the documentation:

* https://docs.buskill.in/buskill-app/en/stable/hardware_dev/i...

The reason this campaign is limited to USB-A is because there's no USB-A magnetic breakaway cables on the market.

* https://buskill.in/buy

Please support the campaign to make it available to folks who need USB-A BusKill cables.
Ask HN: Platform for long form discourse?
Just trying to gauge interest in a platform for long-form discourse. Wherein people can write an essay on a particular topic, and others can refute or support by writing an essay in response.

HackerNews discussion is great, but sometimes I wish the discourse could be more fleshed out.

I imagine trolling and spam would be minimal, since it is high-effort.
Right, age is used as a proxy for stale, because we often don't have anything better.

A lot of web systems work this way - DNS records for example use a "TTL" which means "time to live." If the TTL is 60, then you throw it out of the cache after 60 seconds even if you have room in the cache, and you have no reason to believe it's invalid. This lets independent entities (like a DNS authority) make a change and get it rolled out everywhere.

I think the reason this is common is that proving cache invalidity is so hard, especially with the typical "dumb" cache appliances that are widely used. They just do stuff like cache the response bytes for a particular URL; they might not even understand HTTP beyond interpreting the request's headers, and certainly don't really understand the response.
Hey, thanks! Great job on Bjoern by the way!

Yeah, I did get some inspiration from Bjoern for this project. Was also a learning project for me. I used this project to pick up C and learn a bit more about HTTP!

Hoping to add a few more features to the server side of things, still not finished, but I agree, there is only so much you can do to optimize things when you're making calls to Python anyway.
Do you know what logging is? It's something basically all developers use to understand what is happening inside their program. log4j provides an easy to use and flexible logging facility so programmers can quickly move past basics and into getting the work done.

In the old days, programmers would write their own logging code. In the modern era, basically all operational environments want to get that logging data and tools like splunk and SIEM products use it for understanding how well services are running, looking for security problems, etc. Logs also need to be rotated, not overflow the hard disk, might need to be sent elsewhere. So for the combination of being easy to use but flexible to configure, something like log4j is perfect.

Basically all languages have something like log4j.

slf4j is also a popular java logging package. Sometimes slf4j and log4j are used together.

How would you do it "cleaner"? Write your own?
I'm not an expert on programming languages and for me they are the format that I obey to express myself to the computer to make it do things, Therefore I won't be able to tell you what are the strong points and advantages of Swift over other alternatives.

What I can tell you though, is that the language is easy to read thanks to the choices they made in the way the syntax is and the language has enough abstraction tools to let me keep the parts of the code that I'm not actively working on away. For example, I like to use the property wrappers and extensions to put away the code that I'm done working on.

I also like that its strongly typed but also gives me enough wiggle room with generics.

I like the concept of protocols to vaguely define the basics of some kind of data structure and be able to pass around different flavours of it as if I'm on a weakly typed language where functions can take whatever you throw at them.

Another thing that I like about swift is that the toolset Apple provides. I used to do JavaScript as my main language but I got sick and tired of the amount of effort to keep the stack together. Endless number of tools that have many alternatives that do the same thing in a slightly different way, hours and days spent in configuring them is something that I don't want to go through anymore.

With Swift and the tools that Apple provide(various frameworks and xCode) starting something new to thinker on is as simple as creating a new Word document. It reminds me of the PHP workflows a bit, where you type your code in a text fil, put it in a folder and see the results immediately.

Essentially, I like the comfort of using Swift.
Are you possibly confusing it with the concept of hydrostatic shock which is more about the wound channel irrespective of bullet deformation?
They're fundamental. They're simple in that they're easy to define and reason about. That doesn't mean that it's impossible to make mistakes with them and so on.

We don't really need Rust to "teach us" that.
I really like this kind of a tutorial - start simple, show how to optimize and what to optimize for, and when things get rough, plug in scotch :)
Privacy, Selfishness, and the Internet Commons: Time to Stop Opting Out
It's famously a moment when Americans can tell you precisely where they were when they heard. That's probably a bit exaggerated, but not by much. When I've asked people who were of age at the time, they can indeed tell me where they were.
> Sococo today is a sad shadow of that. They went open-source and lost all our IP instantly. Just another WebRTC client last I knew.

I did not know the name, given the explosion of this exact technology the last 2 years that is very sad indeed.
EFF’s new job posting for a “senior decentralization fellow” to work on Web3
No, no. Not that kind of free market.
Slow mode would increase the battery life from 5 to 10 minutes though.
Patch fixing critical Log4j 0-day has its own vulnerability that’s under exploit
Author here.

Jitsi is compatible with e2ee. For group calls, almost all of the work for e2ee is in the clients. And Jitsi can work with such clients.
You're just teaching your kids that they can't trust you with anything. They'll probably borrow old devices from friends and keep them hidden anyway. And don't be surprised when they hide parties, alcohol etc from you, even when they might need your help.

You might think you're doing something positive here - but all you're doing is ensuring that your kids will forever treat you as an adversary. Don't be surprised when they leave home after high school and never speak to you again.
It's funny how polarizing they are. I have one of the handheld battery powered ones with the long stick so you can clean the floor, and it honestly works better than any vacuum cleaner I've ever owned before, and pulling the lever to dump out the contents into the trash is immensely satisfying. I love it.

I definitely think that people hate more things, in the past few years. It's no longer enough just to dislike something, you have to really despise it, tell all your friends, and advertise that online.

I don't think I like this trend.