skysight-inc/HackerNews huggingface dataset:
There used to be Userland Frontier, which was actually earlier and better than AppleScript!

https://en.wikipedia.org/wiki/UserLand_Software#Frontier

>UserLand's first product release of April 1989 was UserLand IPC, a developer tool for interprocess communication that was intended to evolve into a cross-platform RPC tool. In January 1992 UserLand released version 1.0 of Frontier, a scripting environment for the Macintosh which included an object database and a scripting language named UserTalk. At the time of its original release, Frontier was the only system-level scripting environment for the Macintosh, but Apple was working on its own scripting language, AppleScript, and started bundling it with the MacOS 7 system software. As a consequence, most Macintosh scripting work came to be done in the less powerful, but free, scripting language provided by Apple.

Both AppleScript and Frontier supported Apple's "Open Scripting Architecture" (kind of like OLE Automation via Apple Events).

https://developer.apple.com/library/archive/documentation/La...

https://en.wikipedia.org/wiki/AppleScript#Open_Scripting_Arc...

Now Automator lets you use "JavaScript for Automation" instead of AppleScript.

>Under OS X Yosemite and later versions of macOS, the JavaScript for Automation (JXA) component remains the only serious OSA language alternative to AppleScript, though the Macintosh versions of Perl, Python, Ruby, and Tcl all support native means of working with Apple events without being OSA components.

https://hackernoon.com/javascript-for-automation-in-macos-3b...

https://apple-dev.groups.io/g/jxa/wiki/JXA-Resources

https://github.com/JXA-Cookbook/JXA-Cookbook/wiki

As an example task similar to what the article discusses, whose source code is actually readable, here's a script to change the font of all text in all master slides in Keynote. (Probably the world's first JXA script written in Literate CoffeeScript).

https://github.com/JXA-Cookbook/JXA-Cookbook/wiki/Examples#k...

I wrote more about Frontier and other automation tools:

https://news.ycombinator.com/item?id=20425970

>The thing that's missing from "Google Docs" is a decent collaborative outliner called "Google Trees", that does to "NLS" and "Frontier" what "Google Sheets" did to "VisiCalc" and "Excel".
Your phrasing suggests (I might be wrong) that (a) the expected answer is no, in your optinion, and that (b) Python is a relevant factor. If that is so, I wonder if you would consider an equivalent program written in C to be systems programming.

(My personal opinion is that the whole discussion is moot, a "systems programming" category is ill-defined and not needed.)
My brothers a cop and I disclosed and served. They didn’t seem to mind. The cops had little to do with the trial though. The crime was reported by a family member and they just simply picked the guy up. The crazy part was when it was Friday. We were still hung. Guy comes in and says ok times up either you guys vote or come back Monday and the two hold outs went “yeah well I don’t agree but I don’t want to come back Monday” and that was that. That part still rattles in my brain.
There's an use-case in twelve factor apps where GC pauses would be unacceptable but high availability would allow downtime of an individual stateless app instance. So instead of spending any time GCing, just eat memory and throw it all away and start over fresh as necessary. With various tricks, an instance can be swapped quickly (start a new instance just before killing)... probably want some sort of user-space "OOM killer" to handle it. ulimits lower than JVM option limits would work too, but wouldn't have fast restarts without some magic.
Doesn’t that have an even worse problem, in that if you use a query for an extended period, the results are going to change out from under you while you’re scanning them? Seems like you can’t build a stable crawler on that — you’d need to store the actual result list, not redo the query each time.
Dream, and then do. Do you live somewhere without municipal fiber? If so, champion the cause! It pays dividends to your local community, and clearly has the potential to increase quality of life.

https://muninetworks.org/content/muni-fiber-models-fact-shee...
Yeah that was my plan over the last 10 years at 4 different companies. No dice. Now I'm so burned out on programming I can't bear to try it all again. I can't go back to programming, last job I became so depressed that I was regularly thinking about suicide. Now in stuck because I can't program and no one will take me for another job. I might end up working in a super market at this rate.
Well if you read it in isolation, perhaps so. in context, the three sentences taken together, the last closing with "and still remains the primary factor, especially closer to coasts." seems to point to the correct main cause.

Sure it's sloppily written, but so is nearly every article on astronomy or medicine etc. But I'd generally like more science in my science reporting than I'm ever going to get.

And as it's a longer one, I wonder how much time they get to boil down a 500 page report to 1 page pop-science piece.
I'm not sure this counts as a privacy problem. Freedom from harassment is important, but it does not fall under privacy. I'd even say that it is more important than privacy. Privacy is about what others can learn about you, not what they can do to you.
So far the goal is faster debug builds, both in compile times and performance of the generated code.
> The fundamental difference is that university forces one to learn the unfunny parts. For computer science it means for example functional programming, database normal forms, language theory, anything with mathematics inside, etc.

Yeah, I agree totally, the difference is fundamental and really worrying. To think that the university managed to even convince you, that there are "unfunny" parts in programming! Pretty sad if you ask me...

> But I don’t think it the case.

Well, of course. You invested so much time and (if you're unlucky enough to be living in such places) money into it, it's obvious that you will defend it, consciously or not.

In reality, a university is just a place that provides a set of services to the populace. Like all such places, it comes with a set of rules. And that's it - if you can find a replacement for the services you need, then it really "is not required" to get them specifically from the university. It may be hard to replace the "signaling" part of it, but it doesn't seem impossible - there are at least many well-documented examples of it being possible - while almost all the other services are already cheaply available online and in hackerspaces. With the added bonus that in the latter you interact with people genuinely interested in the subject, not people who came to pay their way to a "good education", who find said subject... unfunny.
When you program in C, the knobs that you’re setting are the bits of a file or flash memory.

When your program in Verilog, the knobs are the bits of a bunch of LUTs.

Insisting to call it configuration is not only pedantic. It is also not used this way by anybody else. And it’s confusing because it overloads a term that is used universally by all FPGA tools.

It’s hard to see how that makes it any different than just wrong.

Imagine the following conversation in isolation:

“Hey John, what are doing today?” - “I’m configuring my FPGA!”

Ask anyone in the field what is being described above. I guarantee you that nobody would answer that John is writing RTL.
When there's a 'neg'[1] in the headline, I usually check out the comments here first. Very frequently, as in this this case, I then don't feel the need to actually read the article - the comments here are probably more informative.

[1] Persuasion technique which tries to get the subject to want the approval of the persuader, by criticizing them, directly or by implication.
Sorry but I don't really care. Laying fiber is a dead simple procedure that is rather inexpensive. The main reason it doesn't happen are political reasons. Other countries are responsible to solve their political problems themselves. I have neither any influence, ability or responsibility for the political process in other countries (which is certainly a good thing). Former poor soviet block countries built their own internet literally with their bare hands in the 90s despite being rather poor. So it is not a matter of wealth.

Littering LEO means disrupting the currently most fruitful branch of physics. Particle physics with accelerators is in a crisis right now and the best way to learn about the Universe is astronomy. What Musk does is a crime against humanity.
Yes, I’m an astronomer and I can tell you this SpaceX statement is pure BS. The astronomy community absolutely thought of this before any of these satellites were launched. I’ve personally talked about it at public outreach events (and it was members of the public who brought it up) and topic has definitely come up at professional meetings...but there is just a general feeling of powerlessness, both from the point of how do you fight a company like SpaceX and a charlatan like Musk, and also from the point of many members of the public don’t care.

I also know a lot of people directly involved in SSA and all of them are very concerned with how much these new constellations are going to increase the risk of collisions, and they all think it’s completely irresponsible when the SpaceX cultists just dismiss the concerns with, “space is a big place,” or, “they’ll deorbit in 20 years or so.”
>The USA has a lot of Aircraft Carriers, none of which could withstand 50 time-on-target (hit at the same time) ship killers at 5000 MPH. China could easily deal with them all.

Do you have any source on China's missile defense?
"There's no reason someone should have to learn object oriented programming in order to be able to do 4 actions across 2 apps."

Object-oriented programming is extremely simple and is taught in high school and earlier.
Hemp is a plant which consumes CO2 from the atmosphere. Using it as part of a structure keeps it sequestered within that structure.
This scheduler is probably the most salient feature of Go, but is only indirectly described in the language specification.

Perhaps it is just me, but it seems all this user space rigamarole to map bits of execution onto cores points to an overall architecture “smell”. This should be performed and enabled by the OS.

You can see the seams between the OS and the go runtime tear a little whenever a library acquires an ownership lock where the thread id is recorded. In Go, computation moves freely between threads, so that lock doesn’t work (at least without special instructions to the runtime to lock that goroutine to a thread).

The whole POSIX threading model seems broken in this context.
It seems like it would be easier to make a WebAssembly front end rather than MIR. Just compile rust to WASM and use GCC compile to unusual instruction sets. There might be a small performance hit, but the WASM frontend could be likely be upstreamed into GCC.

Why was MIR chosen instead of WASM?
> There’s absolutely no use case out there, where I search for something, and then I say, hey, I believe my search result will be item #3175 in the current sort order.

I actually have a use case. When the search filtering functionality is lacking or overly complicated to use. For example with Gmail if I can't be bothered to look up how date filtering works, since I receive emails at a fairly constant rate I can sort of guess that item #3175 might be around the date I'm looking for.

I strongly disagree with anyone that thinks Facebook "got it right" with their timeline. As far as my experience goes it's very easy to see something interesting on the Facebook timeline only for it to refresh and lose it forever. It can be very frustrating not to be able to get a consistent timeline.
Apple was in danger of going out of business in 1997 when Microsoft publicly invested $150 million in Apple stock. Microsoft's motivation here was probably to make Microsoft look less like a monopoly to governments, reporters and voters

This is apocryphal and not what happened.

At the time that Microsoft invested $150M in Apple, Apple had $4 billion in the bank through loans. Also, Apple turned around and in that same quarter, paid $100 million to buy out Power Computing’s Mac license. Apple also continued to lose money for the next two or three years. The net $50 million wouldn’t have made a difference.
Hi, the reason for using C99 is that it is fully compatible with other languages.
If you write a library in Rust you might be tempted to use Rust only feature which will then make it hard to wrap the library for other languages. And if you don't use those features from Rust in your library people will comment that your library isn't Rust enough. Same thing applies to C++.
To that extent my advice is to write C in C rather than C in Rust or C++.

Also if people don't have a Rust toolchain setup, compiling the library and using it from source would be hard. In some cases integrating Rust in their toolchain could be hard.

Regarding metal and vulkan I will edit the article to mention Vulkan there too alongside metal. Thanks for your feedback.
Well, pagination would be kind of the dumb way to do that. Smarter would be allowing users to query using a timestamp and then simply jump back to 1st of July 2007 or whatever it is you are looking at. Google photos does this pretty nicely. Using timestamps is also a smarter way to implement pagination if you do actually need it: select * where timestamp < x order by timestamp desc limit 10; Pretty cheap query to run if you have an index on the timestamp and you can just grab the next timestamp from the last result.

I've been doing search stuff for a while and this kind of UX requirement always pops up when you are dealing with junior designers or POs. They're thinking "hmm search" lets have some paging and just blindly copy a broken UX.

HN solved it nicely by just having a load more. I might hit that a few times but rarely more than a couple of times. One weird thing with that is that new articles often get added in between clicks in which case articles from the previous page reappear on the next page.
Pagination also takes advantage of spatial memory, so it's far far easier for me to find something when pagination is available instead of just search/sort/infinite scroll.

I've actually clicked 10+ pages back in gmail many times to find an email I could only vaguely remember, knowing roughly where in the history it should be, that I was completely unable to find with search due to a misremembered detail.
Articles about scientific papers should be required to link right at the top. Oftentimes all the hyperlinks are to other articles by the same journalist or publisher. It's insanity. A firefox plugin that somehow finds the original source and pops it up would be incredible.
At night, bats patrol the Mafra Palace Library in search of book-eating pests
Getting stuck in their review / re-categorization process sucks. It’s not transparent, can take awhile, and often the outcome (their choice of category) doesn’t make sense. My experiences were primarily in optics and physics, with a bit of ML.

I wonder if the moderators are somewhat disconnected from the communities that they are moderating. Or, at least, if they are active researchers maybe they aren’t fully aware of all the trends in certain sub fields their area covers.
ImageMagick [1]. You can do all kinds of really cool tasks with it and a little shell script. It’s a free software hidden gem, for sure.

[1] https://imagemagick.org/script/index.php
> No rational being is denying climate change

I would agree, yet we have many of those people in our government. The US president and vice president are both climate change deniers.

> governments are not promoting pollution or whatever

The current US administration has rolled back many clean water acts and signed away protected land to mine for resources.

> There are many other issues that are currently equally, if not more, important than climate change.

Please, do tell, because I don't see it.
Evaluating the performance of past climate model projections
Both of those comics assume you are automating your own manual task. It gets even more tenuous when you are fielding stakeholder requests to automate _their_ manual tasks, when developers cost substantially more than the entry level folks that end up being assigned these manual tasks, and you don't know how long the business process that requires this manual task will even persist in its current form.

That's where the opportunity may lie with no-code type platforms, to empower other departments to automate and maintain their own idiosyncratic workflows.
So the ends justify the means?

Great, why doesn't Musk trade in Ivory? There's a tidy profit to be had. Maybe he can donate a couple dollars to PETA, and everything's fine.
The LHC@Home BOINC project had issues due to this. Work units calculated on Intel CPUs would frequently not match the same work unit calculated on AMD CPUs. They traced it down to the subtle difference in results from certain instructions, like shown in parent.

Since the LHC@Home project simulated protons circulating in the LHC, the small differences added up over the typically large number of time steps.

IIRC their solution was to pay a small price and use software implementations of those instructions, but I can't find the reference right now.
Okay, but:

* Alpha is more than a decade past end of life.
* Hppa is EOL as of 6 years ago.
* ia64 goes EOL next month.

.. and the list goes on. These aren't going concerns outside of some hobbyist work, and GCC has had difficulty retaining maintainers for some of the hardware and has threatened deprecation of them (in fact IA-64 is facing this exact situation and is going to be marked deprecated in GCC 10, and vanish in 11 https://gcc.gnu.org/ml/gcc/2019-06/msg00125.html). With instruction set support in that state, the odds are reasonable that bugs will be exposed, and difficulty will be had trying to support and fix them (exasperated by scarcity of hardware)

Adding support for obsolete hardware is not much of a good argument for taking on the work of supporting two compilers.
I just changed jobs from developing on Windows to developing on a Linux virtual machine in Windows. I miss AutoHotkey so much. There are so many things that the command line can't do -- GUI commands, window switchers, and so on.

It's a great example of how "learn to automate" can beat "learn to code". When you know how to do something by hand, learning enough about a program's API to do the same thing is a separate learning curve and may not be possible. Telling AutoHotkey "Do it like I do by hand, just faster" always works.
The first author of this Geophysical Research Letters paper has also made a Twitter thread in layman's language to explain their paper: https://twitter.com/hausfath/status/1202271427807678464
You _can_ write plain text code, add an Applescript or Javascript block. Or just use Script Editor directly instead of going through Automator.

Apple Events are quite powerful and let you add a lot of functionality.
I love rasterization. It's such a cool algorithm. Everyone should write a software rasterizer! Why bother? Because it's heckin' cool, mate. But beyond that, it will also give you a much deeper understanding of a modern graphics pipeline (just in time for it to be replaced by AI rendering within the next decade).

I used Chris Hecker's 5-part series to learn how to do rasterization: http://www.chrishecker.com/Miscellaneous_Technical_Articles

He walks you through the math and the code simultaneously, which is deliciously rare. Usually you get one or the other, but having both is delightful.
Running out does not mean going to 0. It means too low to support much of the sea life.
What is often overlooked in these sort of discussions, is the fact that there is more to take into consideration than "efficiency".

Certain tasks are in theory executable without specialised tools, if one is willing to pay for "the inefficient ways", but in practice they are just not feasible because the lengthy / convoluted workflow that results means that you are always having to focus on the minutae, which prevents treating all but the simplest issues.

For example, I could in theory write the space shuttle code in pure assembler, using a pen and paper, and huge teams. "It would just take very long". In practice you would never get it working.
That developer must be misinformed. I have been developing a native component that needs to interface with C++ APIs from the app and Objective C APIs from iOS. The only thing you need to remember is to not mix exceptions from C++ and Objective C. The object models are also incompatible, but the compiler prevents you from mixing them.
Very much agreed. In fact, I'd say that "building the right thing" often enables "building the thing right": by not spending time building things that are unimportant, you can spend time making the things that are work better.

Needing to get to market faster doesn't mean skimping on, say, a proper CI setup; it means not trying to do everything, and focusing on delivering and iterating on only those features that are relevant to the market.
As a side point, Civilization players do talk about game strategy in terms of turn number. "By turn 70 you should..."
Gurgel was the name of the founder. João Augusto Amaral Gurgel. https://pt.wikipedia.org/wiki/Jo%C3%A3o_Augusto_Amaral_Gurge...
What would be a good resource to learn Lisp in terms of problem solving or doing projects? I feel I only learn something when I use it to solve a problem in the real world.
> While this is a pain in the butt it also makes the game fascinating to play - you are an interloper in the space it provides and are not welcome.

Very comparable to the Dark Souls franchise with its animation priority, personally I'd also put The Long Dark into the same category.

TLD was a particularly surprising experience, after decades of mindless spriting around in video games, this was the first one that really managed to punish me for rushing things when there's no need to rush.
> Throughout human history, there’s been a sort of “pain is gain” approach to the repetitive. There was value in putting your head down, getting into a rhythm, and working hard at menial tasks.

I was surprised when my sister told me, "I don't think everyone has that instinct to make things better all the time". That's like my fundamental drive! But she doesn't, and I guess I see why. Things didn't get better for hundreds of generations at a time while we were evolving, so inventing is not an instinct.
Supply chain & logistics is a huge part of what the military does. Don’t understand why you’re so sour.
I believe they're going to address this with an update?

https://keybase.io/blog/dealing-with-spam
Also from the article: "when was the last time you googled for SQL and then went to page #18375 to find that particular blog post that you were looking for?"

The key difference in use cases here is that one is searching my stuff, and one is searching everywhere. Nobody wants page #18375 of everything. People do occasionally want page #3175 of their own stuff.
> If you're using the ones that are almost cloth-like strength, those really shouldn't be flushed down most sewage systems, even if they're marked as supposedly "flushable"

I have a kind of wet-wipes which are almost cloth-like strength, but dissolve into just a milky jelly liquid if they are in water for a few minutes (I’ve checked products tests first before choosing this specific brand, they even dissolve fast enough to work in train toilets without clogging them up, if you wait a bit before flushing).

NDR Markt has tested different brands available at German stores in 2016, and showed quite extreme differences, while some products had already mostly dissolved after 10 minutes, others were after 3 hours still without any change: https://www.ndr.de/ratgeber/verbraucher/Wie-Feuchttuecher-di...