skysight-inc/HackerNews huggingface dataset:
> What bothers me is that people have told me that I should just allow AI for literally everything because it's the future and you should be teaching them the future or something,

I wonder what "people" told you that. My personal experience is that such advice usually comes from people who understand neither AI nor what I teach. Most of them are university administrators of sorts, and AI is a problem for them more than for me.

Introductory classes teach skills that can be performed reasonably well by AI. Those skills are the foundation you need to build higher level skills. Just like kids need to know how to read to be functional in society and in their later classes, despite screen readers doing an excellent job.

When I teach a foundations class this is my focus, and I don't fool myself or my students into thinking that they will be using those skills directly, but I try to convey the idea that the skills pervade through much of what they will later learn and do.

However that means that I cannot force students to learn. They can cheat, and it's easy, and I prefer spending my efforts on helping the learners than catching the cheaters.

The university administrators, however, are in the business of selling diplomas, which are only worth what the lowest common deminator is worth. So cheaters are a big problem for them. Typically for such people, they just bury their heads in the sand and prefer to claim that teaching students to use chatGPT (that lowest common denominator) is where the value is.
We get audited for SOC2 and have to maintain a list of our vendors.
> Because mastery is, at the end of the day, converting an intellectual process into intuition, so you can go faster. Once a decision process is successfully ingrained, the intellectualized path is dead weight.

That's where you write a blog post, a company note, or a book if you got the time. The best proof of mastery is teaching because that's when you got confronted to the problems from another perspective (the other may not learn it as well as you do). And you won't have to repeat yourself that much if your arguments and process are written somewhere.
One quick thing to add to this: /dev/urandom does not generate "true" random numbers. TRNGs generate 1 bit out per bit of entropy they collect from the environment, while /dev/urandom will not stop generating random bits when it runs out of entropy. That makes it a CSPRNG that is seeded by a TRNG.

For all practical purposes, a CSPRNG seeded by a TRNG is almost as good as a TRNG, but it isn't quite the same.

Linux used to recommend /dev/random which actually was a TRNG (although its entropy collection would sometimes overestimate how much entropy it got, particularly on servers), but it wasn't practical to use as your primary cryptographic RNG because it was very slow.
Never have enough time to do everything I want
How does anyone cope with simply not having enough time? It seems like I never have enough time to do everything. And this is without even having a family
> Arrays in C have length information. Pointers do not.

This is 100% correct. The parent of the parent is confused (or is just using terminology incorrectly) as are the current siblings to my comment.

One post claims pointers carry length information so that free works. This has nothing to do with pointers, it has to do with the implementation of malloc and friends. It's only a promise of a successful malloc that you can free, nothing to do with the pointer other than it was returned by malloc. Pointers can point to all sorts of things, the only information they intrinsically have are the type of the object they point to and its address.

Two posts claim a function can return an array of bytes. This is impossible in C. You can't return an array of bytes. You can return a pointer that might point into a continuous sequence of bytes. You could also return a struct whose member is an array, but that's rarely done. When you return (or pass) what looks like an array syntactically, it is converted to a pointer to its first element.

Arrays, on the other hand, always carry length information via the sizeof operator. A special hand waving case would be you could define a pointer to an array (not a pointer to the first element of an array), so in effect the length is contained within the pointer type. E.g. char (*foo)[42] declared foo as a pointer to an array of char with length 42.
Tame JSON and XML with Apache Groovy
I tried GitHub copilot in vscode. It was immensely frustrating.

The main problem was context. It didn’t seem to know what files to use for our discussion, didn’t listen when I told it, didn’t remember when I told it, had no effective way that I could bring files in and out of the discussion.

All this led to a deeply frustrating session of interaction and frankly I hated it. Easier to use ChatGPT web ui and copy and paste in and out.

GitHub copilot I found better in jetbrains ides. It seemed mostly to know what I was asking about though it’s very long was from being good at managing context.

It’s surprising that after the amount of development they’ve put into copilot it still is so bad at what I’d consider to be barest minimum functionality to integrate into an IDE.
Yes, your collective memories are correct. Mozilla had a web browser before Firefox. It was part of the Mozilla Suite which itself was the open sourced version of Netscape Navigator. It contained "Navigator (a Web browser), Communicator (Mozilla Mail & Newsgroups), a Web page developer (Mozilla Composer), an IRC client (ChatZilla) and an electronic address book."

- https://en.wikipedia.org/wiki/Mozilla_Application_Suite

I made fun splash screens for it back in the day:

- https://johnhaller.com/useful-stuff/splash-screens-for-mozil...

After Firefox and Thunderbird were launched as individual apps, the Mozilla Suite became SeaMonkey, which is still maintained by a community of volunteer developers.
We grow up. Or use ketamine.
> Despite being a million years old, just second order matrix-style beam optics is actually still a really useful place to start for a lot of stuff

ha, you bet

TRANSPORT and MAD(X)
People have an appalling understanding of free markets. So many things that are considered "market failings" (like this article / housing / etc) are almost entirely driven by regulation and red tape.
https://x.com/hackerfantastic/status/1786485377617846348

gives a 3rd example to explain the problem and suggests a fix. The pty should be chown() to root after a root program is attached.
IMO you really shouldn't be bottle-necked by random number generation speed. If the kernel calls are what's slowing you down, you could use a strong user space PRNG (e.g. aes based) that is seeded with urandom. The other approach that would be not perfect but a lot better would be to re-randomize the lower 64 or 128 bits each time. That would cut down your rng requirements by a factor of ~10 while keeping much better uniformity since your jumps would be random and much bigger than the gap between primes.
> If students get good at how and when to spot errors and how to construct test scenarios that ensure the code is doing what it should

They lack the skills required to determine that, to fix those basic errors. But they'll still submit the code.
Why would someone be interviewing while intoxicated? If they'll do that, doesn't bode well for on-the-job performance.
3rd example, its a pty permission problem as the OP said in his initial post and he suggested a tested fix. https://x.com/hackerfantastic/status/1786485377617846348
> It’s going to be ugly for a while.

As a life long Bay Area resident I’ve gotta assume 10 years+ before non tech businesses find some casus belli to operate the ex-warehouse converted to open office buildings throughout SF.

I say non tech because if you’re a burgeoning tech company why on gods green earth would you choose SF? Because you want to poach all the ex-googlers at 300k+ TC expectations? Because you want to compete with Meta for Stanford and Berkeley grads (because they truly are so much better than all the other CS grads in the world)? Because you’re really really trying to nail down that contract with Kaiser Permensorrythreemonthsuntilyourappointmente? Because it’s the only way you can raise $100m on a $5b valuation for your macaroni and cheese only microwave?

SF is a gorgeous amazing city with a rich history and jaw dropping views and weather (bring a jacket) but man even as a major proponent I can’t make a business case outside of checks notes access to League of Legends themed investor meetings.
> The reason for this is if you take lower rent than previously your building value changes and your lenders make you cough up the difference to cover additional principal.

A good portion of loans (I would even say most, especially for CMBS) come with minimum DSCR requirements, so not having any rental income for too long can be worse than having less income.

https://www.investopedia.com/terms/d/dscr.asp
Add support for Qualcomm Oryon processor
Using statistical physics to corroborate 1940s social balance theory
There's a shopping center on Geary that has a Domino's, a Walgreens, a former Ross, and a former Blockbuster. It still has the slot for dropping off movies.
I worked on the 4th and 5th floor of this building for a few years, and there’s no reason why would want this building at a time when there is plenty of space on the market. The bottom floors were designed to be a 1970s data center, and so the city block sized floors only have windows on only one side. So during the winter months when it gets dark early, you might not see sunlight on weekdays except during your morning commute.

The plus side of this building is that it is one of, if not the most, seismically safe building in the city. So if you’re optimizing for that, you can probably get a great deal right now.
Ironically the Ecobee works for most of this. I had to set it up online but now it’s firewalled off and communicates locally with HomeKit. Not exactly what you seek I understand but the Ecobee does better locally than my Nest did.
*Excluding Tengen Toppa Gurren Lagann
Checkout https://awesome-selfhosted.net/tags/file-transfer---web-base...

I've used https://filebrowser.org/ and it's okay. I've also Seafile, but my current setup is sftp clients (Transmit nowadays) and Syncthing if I need the files on multiple computers.
I kinda just don't care what the OSI thinks
Is this why hearing aids are $4000 when they probably have $0.50 of components?
> I don’t think the FDA is in a position to asses whether those risks versus the benefits of mobility are an appropriate trade off for any individual.

Why wouldn't the FDA, which employs experts for that exact task, assess risks? Who is in a better position?

> I think people themselves know what’s best for them.

How can anyone but an expert evaluate the safety of a powered wheelchair?
Good point - I think one approach that may work is for banks to have the calling feature within the app - only they can initiate such calls. It bypasses all the issues with regular call spoofing etc but excludes customers who do not use the app (for them, just hang-up and call back, which has its own issues).
This just talks to the heritage of Lisp.

There are certainly other interactive languages, there are other interactive object oriented languages, but few rose to the level of Lisp when it became not just the systems programming language of specialized operating systems, but also the command shell and development tool for such systems.

It was also during a time where keyboard interaction was still the primary means of interface. Even with the creation of the Lisp machines and their large graphic displays, those displays were dominated by "terminal" windows.

Java has "toString". But Java has no heritage of interacting with it via a terminal interface. In the modern world of graphic displays, windowed environments, and IDEs, those larger tools expose the objects of the JVM (which are made quite transparent by the debugger infrastructure). Outside of "toString", there's not much call for language level specialized handling. IDEs did all of the heavy lifting.

I, too, have done things like "toDebugString" or something equivalent, that I could put in a watch expression in the debugger. And, that was "enough".

In Lisp, Lisp was "the tool", it was "the debugger", there wasn't really a separate artifact peering into the image. So, it required the ability to do all of that in and of itself.

A few years later, and Lisp likely would not have done this. Even Smalltalk doesn't do this. Its inspector is a generic tool. But ST was mostly a GUI based system. And, sure, you can just override STs inspect method. I'm guessing most don't.
For the Rust use case, JVM is fundamentally limited in ways that .NET isn't. Perhaps GraalVM does better but IL offers a direct 1:1 for many features that Rust needs, like struct generics.
Everyone keeps repeating it, but could you give evidence of that happening? Who are the commissioners? What about the staff?
One line of inline assembler makes the bignum school multiplication trivial: https://github.com/jcalvinowens/toy-rsa/blob/master/bfi.c#L4...

If I could go back in time and change one thing about the C language, I would add some notion of expanding multiplication. It's a shame Rust doesn't have it either. Hardware support is everywhere: hell, the Cortex M0 doesn't do division, but it has an expanding multiply!

This is from a very ugly little toy implementation of RSA I wrote a long time ago: https://github.com/jcalvinowens/toy-rsa

I found I could get away with the Fermat test, because the algorithm doesn't work if the primes aren't actually prime: the Fermat test is fast, and an encrypt/decrypt eliminates the extremely minuscule chance either prime is a fermat liar.

But I don't know if it can be proven there do not exist non-prime P/Q values which produce an RSA keypair which can successfully encrypt/decrypt messages. I'm sure this isn't kosher for a real implementation, but I've never found an answer.
And the self-hosted options are better than nothing, I'm currently getting code autocompletions via Starcoder+TabbyML on an M1 MacBook pro.
Indeed, it’s even common to negotiate for some months of discounted (or zero) rent, as long as you don’t change the official rent!
> There are cultural and political ramifications that make enforcing this difficult (read rich parents that want those good grades).

Seems to be a reason behind a lot of things wrong with school right now.
It really depends on the style and the gym, and whether you're doing it for fun/fitness or competitively.

I've spent years doing no contact karate, and years more doing full contact (but not full force) sparring in Thai and Western kickboxing. For the latter, there's not really a performative aspect to it. Nobody is watching, there's no forms, no real room for fancy flourishes that waste time. I get punched in the face a lot (I'm not very good), and have had the wind knocked out of me many times. I've also spent significant time doing the song and dance (literally) kickboxing at the local YMCA, which was more like Zumba than traditional martial arts.

All of it is great fun and exercise. There's nothing wrong with any of those approaches as long as it fits what you're looking for. There are a LOT of gyms and styles and teachers out there!
Hei, cool man, thank you! :) haha. I will look it up

edit: Oh, look at this: 1975: https://adsabs.harvard.edu/full/1975LPSC....6.2597N

BTW I love this document system whatever it is. Very interesting: https://articles.adsabs.harvard.edu/cgi-bin/nph-iarticle_que...

cratering in the Earth-moon system: consequences for age determination by crater counting
Yes. And you only need approval if you aren’t already meeting the quotas. I know what DEI is. It’s discrimination
Sometimes this gets taken advantage of by the vendor. The government doesn't have the ability to design and specify things properly themselves when the deal is signed. The vendor might know that things are wrong at that point but wait until afterwards to point out all the problems and correctly claim changes in scope and requirements at significant expense. At least I was told that happened on the California rail project.
Thanks for clarifying. And I agree with you. Users doing manual domain matching by gut feeling and glancing on the critical path was not a great idea, but made even worse by jittery companies who confused DNS with their org chart. So in that sense passkeys are superior, even to (traditional) pw managers. I’d be the first to cheer for a great passkey integration in my pw-manager of choice.

What I worry about is that companies will (yet again) grossly misuse improved auth technology to make the combined auth flows an even bigger shit mound than it already is, both for users and the poor souls who have to implement them. I don’t know exactly how, but I’m sure they’ll find a way.
Building inspectors? The guys who complain when you move your toilet 2 feet to the left from where it was on your plan? Those guys use Java 1.0.
Example: Using a calculator in school when learning how to add/subtract/multiply/divide.
A funny argument to make when the “contract” is entirely automated, without negotiation or consideration.

Such agreements should not be enforceable in the first place.
Even on the Desktop Web Browser (where I was), by default the scrollbars are hidden (macOS). It is not apparent that the content is scrollable but confined in a frame/container. I had to stumble on it when I graze over the Magic Mouse because the cursor is outside of the content (inside the frame/container).

Contents inside a frame is OK but make it apparent, say, have a thin border, with a lightly different backgound and have the scrollbar forced if the content is larger than the defined height of the frame.
What you're searching for is static linking. Also see https://en.wikipedia.org/wiki/Static_library. That's mostly what Go do. For libraries that are used throughout the system (standard libraries,...), it does not make sense for every software to have its own copy, so dynamic linking is kinda the norm. And sometimes license.
Bro made all the difficult requests in wood rather than software
tbh I don't think they exist. And I'm, like, half okay with that - it's entirely justified paranoia, bad actors of all skill levels undeniably exist and they hide successfully for many years, but I do believe good actors exist. It's why I chose mullvad.

At best you have stuff like attestation... but we all know those have a long history of being flawed and are subject to loads of side channels that can't be attested against. Plus VPNs are such a honeypot in every conceivable way that TONS of state-actor-level efforts are entirely reasonable, and that could easily include cheating on basically all attestation systems imaginable. We're just kinda stuck trusting history and lack of public leaks / correlated actions / whistleblowers IMO.

Or, frankly, the Mozilla partnering counts for a lot to me. I won't use their setup because it doesn't have non-vpn-app options, but they're a group I mostly trust to have people's safety at heart.

Personally, stuff like Tor (where by construction you only need to touch a couple good actors to be reasonably secure, and anyone can contribute) is about the only mostly-actually-trustworthy kind of system. You can expect malicious actors to participate there, and still have a reasonable level of privacy, particularly if you check a few personally (which is feasible because anyone can contribute). Tor and similar have plenty of issues, but structurally they're much more sound by design than any centralized VPN can ever be. Now if only they were even a tiny fraction as usable...
Maybe the person calling the FDA "nonsensical" should be someone who has actually researched, manufactured, and sold a pharmaceutical product, not some rando on HN. People who dismiss patient safety cannot be taken seriously in my worldview - which thankfully every developed country's regulatory body shares.
I've observed another meta as well: IDEs/language servers.

I was writing a Wordpress plugin and by default in PHP all function definitions are global, e.g. is_single that WP defines is global. Naturally to avoid conflicts you would use a namespace, but since most of the examples I saw used prefixed function names, I decided to try that as well.

In my opinion, coding just feels much clearer when you prefix all your names, like my_library_my_func. When I see my_library_, I just immediately know that is my code. If you use different prefixes for different modules, you can tell from a glance which modules a piece of code interacts with. In C++, you can tell a random word is a field by the simple fact everyone prefixes them with m_. I've seen people using prefixes for pointers as well.

This is the same concept you have when designing an UI. Everyone agrees a problem with hamburger menus is that you don't know what's inside the burger until you click on it. If you want people to be aware something exists, you need to make it appear on screen, explicitly.

Instead, languages have evolved toward the very opposite. We ran away from self-documentating variable names and prefixes, and toward namespaces, "const" and other keywords, and "OOP" that feels less object-orientated and more press-the-dot-key-to-get-a-list-of-methods orientated. We depend on docstrings that show in the IDE, and then on auto-generated documentation from those docstrings. Typescript is probably the worst case of this, because it gives you a lot of tools to make the dot work the way you want, you'll spend way too much tinkering with the dot instead of just writing code that actually runs.

Thanks to this, when you look at code, you have to wait until your language server figures out what you're looking at for you. If the IDE doesn't work, it's effectively impossible to code anything in many cases. But the variable names are shorter so people think it's cleaner and better, like removing features from an UI to make it cleaner.
> People use the same words for different concepts and different words for the same concepts.

Left unchecked, it will be amplified by LLMs. Detecting and ignoring the poisoned data requires way more "intelligence" than the current approaches can achieve.

Not sure if it'll exactly be bad, some naming schemes are just bad anyways. Old man yells at a cloud using words incorrectly...
For huge mistakes sure. But unless people even top of the chain are more worried about fixing the problem than looking good you have a recipe for disaster.
Rustc_codegen_GCC: Progress Report #32
Crazy, the climate change program at Columbia University is $96,000+ just for the tuition. I don't know why people laughed/ applauded for the slide of the Walking Dead as everyone in the audience voted for those losers.
Astrophysics Data System
Automated AI generated spam on social media is the culmination of late stage capitalism
I tried using the pycharm copilot and that lasted a couple days. I think the UI side of picking between copilot and regular autocomplete needs to be ironed out a bit better, but I think those are short term problems. What actually stopped me was the suggestions for comments. When the grey text appeared as I was typing I realized how much it was guiding what I should think about and how hard it was to express what I wanted. I would try to type my thoughts but be derailed as I saw an alternate wording appear like an unwanted whisper that is just ahead of your thoughts. I think the same was happening in code to a large extent as well but the comments really hammered it home.

The simple code is just that, simple. Taking care of the simple code may free you to think about the bigger things, but the copilot grey text whisper in my face as I am typing crushes my bigger thinking and removes all the gains from taking away the small stuff. I don't actually need to be faster at the small stuff. I need to think clearer about the big things.

I will check back on this in a bit but for now my reaction is decidedly 'meh'.
does Preview in macOS not fit the bill?
Ah this clarifies why I’ve had an employer talk about “millions in free upgrades” for office space they looked at.