skysight-inc/HackerNews huggingface dataset:
I once worked for a startup that used Rails for building their web app. I would say around 50% of all development was in Rails. For things that demanded more performance or correctness on complex tasks, there were some Java services and some Postgres sprocs.

Our user-friendly and featureful website was a big part of our appeal. A lot of the non-Rails functionality was the unseen "secret sauce".

I think this approach worked well. Most of what you need for a web app is commodity functionality. Correctness is not even particularly important in many cases. The Rails ecosystem has a lot of useful tools that make it easy. For example, there are multiple options for automatically adding a comprehensive admin panel. This let our non-technical admins manually accomplish CRUD tasks in the web app's domain. This allowed us to avoid overengineering. We could implement something that covered 80% of cases, and manually handle any edge cases or things that happened infrequently. An example is locking user accounts when a person left a customer's company; they could just email us and an admin would manually go in and check the "locked" box for the user. This allowed us to move very fast on new web app features, and focus on other aspects of the system.

There were downsides, of course. One of the big pain points was upgrading Rails itself, and dealing with dependency hell at times with various libraries. You also have to know many things about how Rails works, which involves a lot of quasi-mysterious and implicitly-performed things. For example, I recall frequently coming across function calls, and then I would look for the function definition, only to find that it was a function that doesn't exist in the code and was generated at runtime by Rails.
Re the second quote and response:

One pattern I bump up against from time to time is the delta between using a perfectly defensible technique for a given use-case (safe delimiters when constructing an input for a specific function) versus a desire to have each decision be driven by some universal law (e.g. "if you're streaming data between services, using null bytes as delimiters might not be safe if consuming services may truncate at null bytes, so NEVER use null bytes as delimiters because they can be unsafe")

It's not even a matter of one "side" being right or wrong. You can simultaneously be right that this is perfectly safe in this use-case, while someone else can be right to be concerned ("need to consider possible") because the code will forever be one refactor or copy/paste away from this concatenated string being re-used somewhere else.
Equally loathsome and unreliable, without hardly any space savings! Utterly pointless.
I'm not an early bird. I work out with a group at start times between 4:45 and 5:45 AM five days a week. Most of the other people I work out with are also not early birds. We workout early in the morning because that is the only time of day where we don't have other demands on our time.

Nobody is being tortured (literally or figuratively) and it is highly generalizable.
Latour’s not so hard to grok, certainly much easier than the Deleuzes and Derridas of the world. Approach his work as more or less philosophical anthropology rather than, like, pure philosophy. Indeed, humans a situated in overlapping spaces and how we make meaning in those spaces is at the heart of his work, from Lab Life through Actor Network Theory. What makes him easier to grok, and set him a little bit apart, is that he steadfastly refused to deny that there was a reality other than the socially constructed ones we make/negotiate. So you have to really pay attention to particular contexts and study it very carefully in order to understand what’s happening in that space. It’s not just social constructivism all the way down.

(He was famous for Lab Life, of course, but he did the exact same sort of detailed anthropological-philosophical analysis of French courts too.)
Some neat details , including some cool pictures.

[https://faraday.ac.uk/wp-content/uploads/2021/04/Faraday_Ins...]
Hi, I tried to download the extension but it requires a google account and currently developer approval.
Can you give us more information?
Will it be paid?
Thanks
It doesn't work now so it's never going to work?
Bartender sold to some sketchy company. We’ve all been moving to the open source Ice app now.
I did no side projects when they were babies/toddlers. I did side projects that related to hobbies we did together when they were kids. I stopped again when they hit early teenage years and the parenting got harder again. And now I'm back to side project as they are in later teenage years and mostly independent.

So it comes and goes. Family definitely gets the priority, but family evolves and your free time evolves with it.
'I will not make any more boring art' [John Baldessari; 1971]
I don't know about usefulness but it does let us write identifiers using Unicode characters. For example:

public class Foo {
public static void main(String[] args) {
double \u03c0 = 3.14159265;
System.out.println("\u03c0 = " + \u03c0);
}
}

Output:

$ javac Foo.java && java Foo
π = 3.14159265

Of course, nowadays we can simply write this with any decent editor:

public class Foo {
public static void main(String[] args) {
double π = 3.14159265;
System.out.println("π = " + π);
}
}

Support for Unicode escape sequences is a result of how the Java Language Specification (JLS) defines InputCharacter. Quoting from Section 3.4 of JLS <https://docs.oracle.com/javase/specs/jls/se23/jls23.pdf>:

InputCharacter:
UnicodeInputCharacter but not CR or LF

UnicodeInputCharacter is defined as the following in section 3.3:

UnicodeInputCharacter:
UnicodeEscape
RawInputCharacter

UnicodeEscape:
\ UnicodeMarker HexDigit HexDigit HexDigit HexDigit

UnicodeMarker:
u {u}

HexDigit:
(one of)
0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F

RawInputCharacter:
any Unicode character

As a result the lexical analyser honours Unicode escape sequences absolutely anywhere in the program text. For example, this is a valid Java program:

public class Bar {
public static void \u006d\u0061\u0069\u006e(String[] args) {
System.out.println("hello, world");
}
}

Here is the output:

$ javac Bar.java && java Bar
hello, world

However, this is an incorrect Java program:

public class Baz {
// This comment contains \u6d.
public static void main(String[] args) {
System.out.println("hello, world");
}
}

Here is the error:

$ javac Baz.java
Baz.java:2: error: illegal unicode escape
// This comment contains \u6d.
^
1 error

Yes, this is an error even if the illegal Unicode escape sequence occurs in a comment!
How did you verify that?
This Week in KDE Plasma: spoooooky ooooooooom notifications
Hello, I wanted to say I've been working on a peer-to-peer library and I'm very much interested in your work on symmetric NAT punching (which as far as I know is novel.) Your work is exactly what I was looking for. Good job on the research. It will have far-reaching applications. I'd be interesting in implementing your algorithms depending on the difficulty some time. Are they patented or is this something anyone can use?

Here's a link to an over-view for my system:
https://p2pd.readthedocs.io/en/latest/p2p/connect.html

My system can't handle symmetric --- symmetric. But could in theory handle other types of NATs ---- symmetric. Depending on the exact NAT types and delta types.
Yup, I agree. Shaping is commenting there about Latour being memorably aphoristic.
Username over 52 Characters? No Password Required, Says Okta
Candid interview with SpaceX engineer about stage zero for F9/Heavy and Starbase [video]
Is 'blood the mary' a typo? Did you mean to say 'bloody mary'?
If the guy is so gracious and forgiving, why would he be upset by me substituting his middle name with slang for "sex"?
Oh yeah that was by design. Didn't want to hammer players down too hard in tutorial XD AI is a bit more challenging in Survival Mode! And the Daily Challenge is the same pattern for all users and changes daily.
I think it makes the biggest difference out of my habits. I kind of picked up on it when I realized that I never struggled to sleep when I went camping out in the woods. My body would instantly fall into sleepiness when it got dark out because I had no artificial light keeping me up as well as no easy access entertainment like TV
There is no choice, everything's moving to digital because it's cheaper.

Tesla literally changed their entire UX and UI from one day to the other confusing my in-law for weeks.

What used to be standard icons on all cars on analog knobs and buttons are now stylized bs all different from car to car. Every car I need to learn its own menus and try to find where are things hidden, as someone who has to lease cars often I truly hate it.

Your washer example is comedy because it either confirms that it's yet another digital crap for something like this to happen. Never had good washers/fridges or whatever had their physical buttons or knobs break bar a stove one in 37 years of my life because of an accident, and fixing it was few euros without the need of service.
Multi-file editing, code review, custom instructions for VSCode Copilot
> Personally, I believe that enterprise software complexity increases inevitably over time. Can system complexity be reduced?

I've started to think about keeping track of various sources of complexity. Team X or Manager Y request a feature that no one else seems to care about, but that _must_ be done. When Team X is gone or no longer needs this thing, or Manager Y moves on to a new role or company... can we then revisit and strip out the complexity they required we add to the system? While removing features is never popular, there seems to be little value in maintaining features no one is using, especially when they add seemingly needless complexity to the system. When these things aren't tracked, it's hard to go back to them or remember exactly why they were done in the first place, so they tend to live on indefinitely, "just in case."
One could even set up an auto-responder email that returns TOTP code: if you include your own password in an incoming email, it returns a new TOTP code.

If you properly set up your mail client and server, it should also be TLS encrypted, so no MITM attack vector either.
The Lounge: a Modern, responsive, cross-platform, self-hosted web IRC client
This is beyond that, it's more a move to remove the VM than make JS a generic VM.
The Election Information Hub by Perplexity
Ah. In that case, I reject the premise. Chat-based UX is kinda awful, and while some companies are pushing it, I don't know many people who actually thrive in such apps. I doubt such UX will result in people no longer visiting web pages.
I think my favorite C trigraph was something like

do_action() ??!??! handle_error()

It almost looks like special error handling syntax but still remains satisfying once you realize it's an || logical-or statement and it's using short circuiting rules to execute handle error if the action returns a non-zero value.
PDF is over 30 years old. I’m pretty sure people had different idea of „portable” back then. It’s still really good for printing…
The linked Atlas Obscura article is probably better.

https://www.atlasobscura.com/articles/what-are-gremlins
Having a simple syntax might be fine for computers but syntax is mainly designed to be read and written by humans. Having a simple one like lisp then just makes syntactic discussions a semantic problem, just shifting the layers.

And I think an complex syntax is far easier to read and write than a simple syntax with complex semantics. You also get a faster feedback loop in case the syntax of your code is wrong vs the semantics (which might be undiscovered until runtime).
It’s less size of model and more mem throughout and npu tops that’s the limiting factor for this class of device

Which means you can do larger but it’ll become ever slower
And that’s the beauty of it. When has “simple is better” not ended up being true!? Whenever I read about ‘interest rates’ and other monetary policy blah blah, all I see is a group of people high on their own supply, all thinking that they’ve come up with something ‘cool’ and ‘smart’ and ‘elegant’. But, in reality, it breaks with some degree of regularity.
I recently learned php's heredoc can have space before it and it will remove those spaces from the lines in the string:

$a = <<<EOL
This is
not indented
but this has 4 spaces of indentation
EOL;

But the spaces have to match, if any line has less spaces than the EOL it gives an error.
In this day and age we could skip all of that and report on the actual average of all the stocks in the exchange, instead of only a fraction.
In the author's defense, the mogwai were advertised as gremlins:

[1] https://www.youtube.com/watch?v=iUI891ejeYc

The magnitude of the Gremlins bait-and-switch still baffles me. They marketed it as a family/kids' film; it was a horror/comedy for adults. How did the studio think that was going to play out?

Anyway, unless you've seen the film or heard people like us rant about it, it's a pretty easy mistake to make.
"And EV batteries turn out to be very recyclable. In fact, some data says recycled battery minerals can perform better than "freshly" refined material."
The way I prioritize my time (work / family / hobbies / ...) I don't do any serious side projects.

However, when I became a father I started valuing my time much higher (watching less YouTube and reducing other time sinks).

So it made me more productive but also heavily reduced the time available.
Those words are "taboo" because they convey a direct "you are property or worse and I can hurt you and you can't stop me" violent threat. At the moment, at least in some parts of the world, that _violence_ is what is taboo. Maybe some people don't understand the implicit meaning, but lots of people do, especially the ones who're threatened.

That article didn't discuss class / culture, so whatever a nobel who's threatening an underling might say, "peon" or whatever, wasn't mentioned. Elsewhere someone made the distinction between 'insult' and 'slur' which I think is a good way to distinguish vulgarity/insult from threat.
> slow it down enough that you breath too slow and feel a bit deprived from oxygen

A resource that I've been using lately that has some details regarding this particular part of the breathing process: https://midlmeditation.com/meditation-for-anxiety
I promise you I mean this sincerely, and not in a memey internet insult kind of way - are you perhaps autistic?

I ask because this is exactly the type of comment one of my siblings would make, and she is on the spectrum. She wouldn't be able to understand the social dynamics at play here, whereas for other folks it's just common sense. "Optional" is not really optional in some social settings, and that's something autistic folks struggle with being aware of, much less understanding. The activity may be optional in the most pedantic sense; you won't be struck down by lightning if you decide not to participate. But there will be consequences.

All of which is another reason why this whole exercise is an awful idea, considering that the number of autistic folks in software engineering is probably a bit higher than the population baseline.
It's also hard to beat the global network of on-site warranty service. One colleague had their broken TP keyboard replaced over an hour right next to us and got a fresh battery replacement >2y in.

Another one managed to sort out their dead TP motherboard while remoting from a small town in SEA.

All covered under warranty, no questions asked.
I'm on the introvert side too fwiw, I just feel like inventing a dead cat is a pretty out there response for the situation, which was a gentle push to be a little more open than usual for those that feel comfortable. Definitely can be taken too far in either direction. Without any place for chit chat being set up for it though, at least in my company, the 'natural' amount of sharing is basically zero, which feels like not enough for me.
NiCad batteries have similar recycling characteristics - the nickel comes out extremely pure, much purer then it went in.
I don't understand why you wouldn't use Tree Sitter's syntax highlighting for this. I mean it's not going to be as fast but that clearly isn't an issue here.

Is this a "no third party dependencies" thing?
Forth has a default syntax, but Forth code can execute during the compilation process allowing it to accept/compile custom syntaxes.
Dark Sky was fucking awesome
I think this post highlights one of the core reasons why tech jobs suck so much and why burnout is so common among such smart people.

It is because a lot of these jobs are oriented towards PERFORMANCE REVIEWS that are based on BS unrelated to the actual work - such as feelings of others or sometimes # of commits.

Big tech management has departed from being leaders to being raters and rankers of things they are unqualified to rate and rank. They have organizational authority which they should be using to make good choices for customers, employees and projects. But the management only uses it for reviews.

Of course, this is toxic. No one wants to be led by people who don't care more than them and don't contribute in helping the work. Why wouldn't someone get burned out in such an environment?
What Made Dostoevsky Immortal
Great article! I think the tiny size of the cards, the Z80 VM, and the high-ish level "scripting" API make the E-Reader a really interesting platform. I might try writing something for it if I ever get around to it.
Mark Gurman: "Steve Jobs Would Be Ripping Apple 'To Shreds' over AI Timeline" [video]
TIL. Crazy times, at least Intel finally admitted failure in their fab, I guess. Still doesn’t get the latest nodes, though.
Location: Toronto, ON, Canada

Remote: open to remote and hybrid

Willing to relocate: yes

Technologies: Python, Ruby / Rails, Java / Spring, SQL, React, Node, TypeScript

Résumé/CV: https://drive.google.com/file/d/12Y-5sDYN0lKb9opZ4BX7_0YiCiJ...

Email: suvorov2024@icloud.com

10 years in the industry, with the last 4 an an EM / team lead. 70/30 backend/frontend focus - and equally enjoying both coding and people work, especially when it comes to mentorship. Reach out if you need an all-team, zero drama senior dev.
Yes, I always imagined this being just a silly exercise in pulling out a finite outcome from infinity. It’s not meant to be provable or disprovable, just hard to comprehend because we cannot think in infinite terms.

Relatedly, I wrote an essay that covers this a few years back: https://medium.com/@beadey.teigh/typewriters-29309c8e3b71
"We are introducing a new charge for public IPv4 addresses. Effective February 1, 2024 there will be a charge of $0.005 per IP per hour for all public IPv4 addresses"

https://aws.amazon.com/blogs/aws/new-aws-public-ipv4-address...
Apple has plenty of money and lawyers. If they are 100% sure they win, they have no reason to be afraid of such a lawsuit.

By your logic, Apple could also be sued for not doing it. See how your logic doesn't add up?
> The reverence for a company that does, in the end, "just" process payments

It is funny how the more unimportant the company is, the more this kind of reverence is expected.

For me there was a stark contrast between two jobs I had:

Consultancy where I worked on software for local government that millions literally depend on? Keep your work-life 100% separate.

Marketing startup that spammed Google with crazy amounts of SEO-spam? Lots of instructions from HR to ask about personal matters in 1-on-1 meetings, weekly 2h mandatory confraternization followed by free beer, random CEO speech about his favorite topic for 1h every month.
I don't see it that way. He wanted to work there. They paid him for his time and from his account all of the passion was his own. I'm not speaking against those who just want to do what's required, but is it really wrong to hire someone who is passionate about the work?
I doubt they would have actually merged operations. The NIH at Intel is so strong that it would have virtually annihilated it otherwise.
Among humanist sciences, history is probably the most satisfying one for geeks, because there is a concept of truth that, once established, is almost as indisputable as a law of nature. We know Julius Caesar was publicly stabbed by multiple people - that is a fact. You can argue about killers' identities, location, motives, repercussions, etc etc, but nobody can realistically deny that it happened without an even stronger theory of how to make all sources consistent.
Deleuze is a fairly traditional philosopher once you get to know him. Derrida kinda wants to burn the very things he needs to convey ideas, so understanding Derrida feels like something Derrida wouldn't approve.
It doesn't show on desktop either. It's a hash link to no anchor.
> A single E-Reader dotstrip can store 2,192 bytes of data, which is just over 2kb. But there is some overhead with the headers […] data on the dotstrip is compressed though

> In the end I didn't need to do too much space optimization to keep Solitaire down to two dotstrips

So, a full implementation of Solitaire in ~4KiB. Count me impressed!

I like to show off that my own (as a web app: https://FreeSolitaire.win) is "only" 21KiB, but that’s small fry in comparaison!
Unfortunately I am in position where I have to master mixes done in Logic and this backwards crap can easily add up to half an hour onto every track. Sick of it. Dying on that hill!
> Can someone explain what it is that makes batteries wear out to begin with.

For lithium ion batteries, effectively what happens is little crystals start forming which cut down on total usable surface area and in the worst case short out the cell. If you've ever seen copper plating using electrolysis, effectively that is happening in the battery. The charge and discharge cycle end up pulling over materials between the cathode and anode which aren't desirable.

> them work again after they’re shredded into “black mass”?

The process of separating the component parts is something we do anyways with virgin materials. It's mostly just chemical reactions to remove desired elements and compounds and then reform them into a workable byproduct.

But what should also be stated is that by weight, batteries are mostly metal. It's a metal foil coated in a thin layer lithium goo. Even if we simply ignored the lithium goo, most of the metal could be recycled by simple melting down the metal foil and jacket.

The goo has valuable elements which is why there's effort to recycle it.
I don't use Google Authenticator for TOTP. Instead, I use Aegis which can encrypt private keys and is available in F-droid. It allows offline backup too.

I am perplexed about "as good as my Google password": isn't your email verification as good as one of your registrar password, DNS/Cloudflare password and email password? How is this different?

With hardware key, losing it only matters if you lost the password at the same time: MFA means multiple factors, so that's a password + MFA. If you are referring to a hw passkey, that might be different.

Gaining access to your email server/domain name does not necessarily require Cloudflare to be hacked.

It all sounds like you really are not fully understanding the security risks between different options, and that this is really mostly about you not wanting to lose the convenience you have. Which is fine, but again, you should be honest about that (or might need to better evaluate your security posture).
How to solve cryptic crosswords – the ultimate beginner's guide