skysight-inc/HackerNews huggingface dataset:
I originally tried this with a project I am working on, moving as much of the logic as possible into the DB. But abandoned the effort quickly in part because the logic I need to implement was simply too complex and was better expressed & validated in a client side language.

plpgsql performance is a serious issue for anything non trivial.

debugging is slow and challenging.

General rules I apply with procs

* try to keep procs to SQL, not plpgsql. More performant usually and sometimes pg will inline these. But sometimes I've found forcing it as plpgsql is good too, as it effectively 'fences' the query planner just like CTEs used to. As supportive as I am with pg's philosophy on querying hinting, sometimes you need to press your thumb on the scales a bit.

* procs for very complex and subtle queries where performance is not such a concern but readabiltiy of client code or dependent queries is useful. Like a client side function, something whose inputs and outputs are easy to reason about and you can easily build client side regression tests to validate.

* consider using plpgsql proc instead of recursive CTE for things where CTE recursion is needed. I've found for some types of jobs, plpgsql outperforms a recursive CTE. I think bc query planning for recursive CTES is very difficult.
If my understanding is correct they can initiate a move out on their side, and owners would have to approve it in GitHub. That would be better than forcing everyone to email them.
While the design of Curio is quite interesting, it's may not be a good choice, not for technical reasons, but for logistical reasons: the chances it gets a wide adoption are slim to None.

And since we are stuck with colored functions in python, the choice of stack matters very much.

Now, if you want easier concurrency, and a solution to a lot of concurrency problems that curio solves, while still being compatible with asyncio, use anyio:

https://anyio.readthedocs.io/en/stable/

It's a layer that works on top of asyncio, so it's compatible with all of it. But it features the nursery concept from Trio, which makes async programming so much simpler and safer.
At the moment for your typical developer in Agile Disney World, productivity is move a ticket from in-progress to done.

Identifying what is high impact, or what’s it’s important to focus on continuously is a form of autonomy that is oddly not offered too much to most of us.
Given that these have custom GPUs, do older games still work on them? For example games from Blizzard? What about software for ML?
Just registered, no way to post. i'm out.
Re:#1
I wouldn’t call Bush, McCain, not Romney “piece of shit racists.” If you think they are racist, please describe. Or they are racist in the way everyone is racist due to systemic racism. Or another way, they aren’t racist in a notable way.
A lot of people don’t use favorites. I don’t, and out of the few random accounts i’ve looked at, none of them had any favorites either. Doesn’t invalidate the data but it does skew towards people who do have favorites.

Another source of data is articles where people comment. You could also do ML to analyze whether the comments are positive or negative, guess the commenter’s age and demographic, etc.

If someone comments on a particular topic, especially if it’s not as popular, it shows they’re interested in the topic. Maybe look at the writing styles and content of people interested in certain topics. Are people interested in X topic more likely to be negative? etc
Curio's spiritual successor is Trio [1], which was written by one of the main Curio contributors and is more actively maintained (and, at this point, much more widely used). Like Curio, it's much easier to use than asyncio, although ideas from it are gradually being incorporated back into asyncio e.g. asyncio.run() was inspired by curio.run()/trio.run().

I have used Trio in real projects and I thoroughly recommend it.

This blog post [2] by the creator of Trio explains some of the benefits of those libraries in a very readable way.

[1] https://trio.readthedocs.io/en/stable/

[2] https://vorpus.org/blog/some-thoughts-on-asynchronous-api-de...
This is like those reviews of operating systems that are 50% about the installation process, even though most people install their own operating system at most once, and most likely zero times. Then go on to use it for years and years. Making the "issues" listed in the review something that affects 0.01% of the time interacting with the product being reviewed.

Most developers are working on a codebase where they did not personally write that "void main(...)" boilerplate! Someone else did all the initial scaffolding, they joined the team years later, and they're adding new feature "X".

In terms of productivity, all of those things you listed as negatives due to the mental load they impose are absolutely essential for this scenario of a team member joining and having to modify a large code base. Scopes, lifetimes, classes, interfaces, etc... are the levers for the mind that enable teams to work together successfully.
If requiring you to do stuff for some reward instead of just giving it to you is "discouraging users" in your mind, I think you've missed the point of many games.

Maybe they're all games you made, maybe they're all games built in a community, maybe it's a fan made extension of another game. Those all have reasons you may want to add access to something based on data from another game. Perhaps it's a core mechanic, where puzzles are only solvable by completing tasks in other games. Perhaps it's just letting you play as Guybrush Threepwood if you've played the first Monkey Island.

It doesn't have to be all within games. Gated access to communities perhaps (a speedrunning discord if you've got a certain achievement).

The ingenuity of game devs never ceases to surprise me, and sharing data between programs is fundamental to lots of interesting systems so the idea that sharable data between games provides no utility is odd to me.
I mean I agree, just pointing out that you're not really convincing anyone here and complaining about this isn't very productive since you, I, and everyone else here understands what is meant.
The FTC is free to make the arguments you and others are making here. I would bet you large sums of money that those arguments will not prevail. In fact I'm quite sure they won't bring cases using those arguments because they know that and don't want to be embarrassed. They will probably bring different arguments and also lobby for other regulatory changes, and I'm all for all of that, but they won't come to court saying "Amazon has a monopoly on e-commerce", because lawyers don't like it when judges laugh at them.
If we're comparing it with government run services, I'd have thought a better comparison than firefighting would be Bail Bonds, but for Employment.
GOTO cosplaying should go away with structured concurrency (via TaskGroup) being adopted in 3.11, as pioneered by Trio.

Check out anyio if you want to use them now.
Why? One cosmic accident and you're toast
In theory, sure. However, having done that dance before, the limitations between a degoogled Android (basically open source apps only, since F-Droid doesn't allow proprietary apps, and nearly all proprietary apps depend on Play Services APIs anyways), you end up with something less useful than a PinePhone.

And at the end of the day, Android was written by Google for Google to serve Google. Trying to use a phone as your daily driver running developed by your enemy is hardly a way to get through life. Just get a phone that doesn't hate you. Like a PinePhone. Or an iPhone, which has all sort of issues but at least gives you a reasonably private and secure device at the expense of gobs of money.
The bureaucracy would just grow to meet the needs of the growing bureaucracy.
Maybe I'm just not understanding the terms correctly. My understanding is that covid vaccines do still reduce the odds of becoming infected with covid when exposed. We don't have conclusive evidence of this because the sort of people who get vaccinated aren't identical to those who don't but it's decently convincing just based on case counts. I also see a number of studies suggesting vaccination reduces the probability of spreading covid even with delta.
> you're dealing with the Raft protocol. The different is it's built into Nomad compared to Kubernetes where it's a separate service

I don't really follow this. etcd uses raft for consensus, yes, and it's built in. Kubernetes components don't use raft across independent services. Etcd is the only component that requires consensus through raft. In hashi stack, vault and nomad (at least) both require consensus through raft. So the effect is much bigger in that sense.

> I think Nomad's biggest selling point is that it can run more than just containers. I'm still not convince that's it's much better. At best it's equal.

Totally agree. The driver model was very forward looking compared to k8s. CRDs help, but it's putting a square peg in a round hole when you want to swap out Pods/containers.
I'm confused by your comment, jira doesn't force sprints or scrum on it's users. Could you explain?
The last page is a little amusing. Whitfield Diffie did quite a bit more than just being Sun’s CSO. Same for most other co-authors.
Issuing tether was basically an unregulated bank loan system. With a regular loan the created money is destroyed when you repay it. In theory that would happen to the tether when you redeem it for dollars. The problem is really just that tether was lying about how they were operating.
I worked with a Federal Contractor once (you, as a rule, have to go through a middleman to work with US Govt, and that's where most of the profit ends up). Their requirement was that we use their hardware in their datacenter to do our work and never move data out of there. So they asked us for configs. I priced it out, it came to something like $120K in total, sent them the specs. They tore it up and bought $1.2M worth of hardware instead. Insane CPUs, maxed out RAM, Infiniband, you name it. We didn't need any of that. Literally 10x the price. Ever since then I have extra bad taste in my mouth when filing my taxes, and I know for a fact that merely passing money through the government makes most of it disappear into a black hole.
> If you let people import their stuff, it's an excellent way to bootstrap a player base

So, its good for a competitor to the original game developer. What motivates the original developer? If they want to bootstrap a new game feom an old game user base and purchases DB, they can do it without a public database of assets while excluding competitors from the same opportunity.
>One reason this didn't take hold is that they found that this interface forced a driver to take their eyes off the road to do basic functions like changing the climate settings.

...which still applies today just as well as it did back then.
You may need to save it, but you can rotate just one page in Preview and keep the rest in its original position. I also like that you can click the title in Preview, edit it, change the location, without having to close the document.
> this means the difference between hostile regimes being funded and terrorizing people vs. a family being able to build a business for themselves and live a peaceful life.

Indeed, cryptocurrencies help war-mongering regimes bypass international anti-terrorist sanctions.
No, the NFTs are uniquely identifiable.
> I looked into sxmo and I think it falls clearly into the "clever hack" category and not in the "actually usable" category.

Agree to disagree? Also I think you’re being somewhat disingenuous or uncharitable here.

sxmo has clearly had a unique vision for mobile Linux for power users and executed on just that.

All core phone functionality is available through regular, composable shell-scripts. And all major events can be hooked by simple user-controlled scripts in $HOME/.config/sxmo without any other alterations to the OS at large, no root required. It successfully employs a tiling window-manager by default to allow simple(!) mobile-oriented multi-tasking.

That’s quite something of its own, with no equivalent anywhere else in mobile space, Linux-based or not.

This is clearly a power-user enabling mobile Linux shell, and it’s making no excuses about it.

Sure there might be technical improvements which are possible at several levels in the stack. I’m not debating that.

That does however in no way take away from the vision behind it and how well that has been executed so far.
It's a misunderstanding of what the house of cards is about, though.

One of the first empires to use fiat currency was the Yuan dynasty, and it worked, because if your currency is backed by the mongols, you're absolutely going to act as if it makes sense, even if it seems crazy to you. The backing of money is not precious metals, nor currency, but rather force - a state can demand tax in it, and exact retribution if their taxes are not paid. The state could demand taxes in cowries, and people would collect cowries, because you are going to get imprisoned if you don't pay your tax.

The fiat-currency house of cards collapses when people think the state isn't going to be able to pay their bills and collect their dues. Cryptocurrencies are more like tulips. There's nothing behind the curtain - it's just a weird social eddy that's grown out of all proportion.
Two things have kept "good enough" versions of these kinds of systems from being widely deployed:

1) Batteries are inherently dismal, and getting enough of a sci-fi aesthetic and feature set to wow the military brass will always demand enough power to be at the edge of battery logistics hell

2) Infantrymen will destroy any cable you come up with in five minutes
Is there any other source for this aside from a YT video? I mean I would tend to believe it, but extraordinary claims...
"A Closed and Common Orbit", the second in the series) is my favorite book ever.
Two spaces in front of each line of the code block. As written, right now, your comment is hard to parse:

import threading

def produce():
global global_foo
local_foo = "potato"
global_foo = local_foo

def consume():
global global_foo
local_foo = global_foo
global_foo = None

if __name__ == '__main__':
produce()
thread = threading.Thread(target=consume)
thread.start()
thread.join()
So is having the right to hold other currencies and assets.

Tell that to an Argentinian who has had their life ruined because of the lack of foresight from the the people who run their society.
Extreme selection bias.
I think they do matter from the p.o.v. of the people footing the bill for the results. I have yet to work on a product/project where mgt doesn't care about when it gets done and how much it will cost. Call it productivity, call it velocity, but the people paying care and someone always pays.
Can you just use a Linode? It’s $5/month. I bought a Linode VM and set up a server and database on it.

Main drawback is efficiency, idk how fast a linode works once you have users. But once you have users if you can make money off them, you can migrate to AWS.
Missed in this analysis is just how much time it takes to debug. I have found over the years that I spend at least an order of magnitude more time debugging something than writing it. And that gets worse if the debugging is separated from the writing by days, weeks, or months, because of the context reload and the general head-scratching trying to figure how it is supposed to work and what I did wrong.

I found over the years to avoid long debugging sessions, I can instead write better tests, do smaller commits, and write less clever code. To prevent the kinds of bugs that crop up months later, it's really important to write really good, comprehensive tests.

A lot of tests that are too coupled with the design are also bad, though. They slow refactoring. So you have to get good at writing the kinds of tests that don't inhibit refactorings, or get good at designing things so you don't have to refactor.

Coding speed is irrelevant in the long run. It's only relevant for quick scripts and throwaway code.

Don't get sucked into debugging.
This is more specifically about any reference counted system, though it also includes unique owner approaches and others.

Namely, when you free an object, whether it involves manually written code to release anything it holds recursively, or through some form of reference counter, you do not know the size of object graph you're freeing. If you add any custom release logic to the mix (destructors, any kind of shutdown logic, etc), you also don't know how much extra work unrelated to simple memory management will be also involved.

This means that naive manual memory management, or reference counting systems, have usually unbounded and unpredictable pause times (in addition to various costs involved in implementation details, whether it's malloc()/free() or refcounting). You do not know if object X going out of scope isn't the sole owner of a huge object graph.

This is one of (though not only) reason manual memory management and refcounting aren't considered good options in real-time compared to static allocation of everything (object pools, static stack analysis & limits) or RT Garbage Collector algorithms, though of course it depends on how deep into the rabbit hole you go.

Garbage Collector systems tend to have more control over pauses, but majority of algorithms used optimise for throughput, not latency or predictability. Thus you have "huge GC pause" as GC uses fastest space/time algorithm and "pays down the debt" for making allocation stupidly fast (often single Compare-And-Swap operation, sometimes not even that if each thread uses separate nursery and can keep local heap-end pointer).

However you can also setup environment towards low latency and predictability, probably the most famous example being IBM Metronome (available in J9 and recently open sourced), which uses a static quanta of time for GC and minor variability is the noise of multiple threads of execution synchronizing. This works by dividing available time between mutator (your "work" code) and collector (GC) statically, so that GC will for example always run for 30ms then mutator for 70ms then GC for 30ms and so on. Similar techniques exist for amortizing pathological performance of reference counting by pushing actual deallocation into separate collector thread or similarly scheduled slice (depends on whether you're fine with possibly unpredictable contention between two threads or want more strict timing).

A lot of very hard real time is more about predictability in the end.
It has a lot of recommendations of vlog garbage (essentially reality TV). Truly awful.

It also has a lot of current events, like sports and news.
"The long now" isn't the right model for how humans actually live in the world. In reality, people find their level very quickly and historical circumstances don't hold people down for long.

Lots of examples:

-Vietnamese boat people arrived in the mid-70's with nothing. They quickly became successful and still are.

-Jews lost so much in WW2, including half their families. They quickly became successful after the war and still are. They didn't sit around in ghettos forever.

-Nigerian immigrants to America often come with little wealth and yet do better than American whites economically.

-Iranian immigrants arrived after the 1979 revolution with nothing. Now they do very well - better than average whites.

If "the long now" was real, none of these would be possible and all immigrant groups who arrived poor in the last 50 years would still be poor.

This is actually a really important thing to learn because it's critical in your mental model of the world. You think some event 50+ years ago will keep families in poverty for literal multiple generations - it's not true at all. Families rise and fall much much quicker than this. If someone is in poverty that long (in the context of a somewhat free society) it is because of internal issues, not circumstances.

Society at large treats slave-descended blacks no worse than African-immigrant blacks (or other nonwhite immigrants); the difference in outcomes comes from their own internal issues. The sooner we can acknowledge the actual source the problem the sooner we can make progress on solving it.
Webcam is rumored to be 1080p. At the price point of a Macbook Pro it should be a 4K webcam. We'll see, maybe the rumors are wrong.
We know how long it takes Apple to upgrade their webcams so we might be stuck with 1080p until 2030.
Sure. Spending money on implementing okayish PDF forms support.. I'm going to out on a limb here and say that it wasn't done out a position of strength.
Blockchain can fix this
> Also, I can quickly select another specialized search engine for a search.

Chrome's unified bar currently supports that. Type a fragment of a site name and hit tab... If the site published a standard search mapping in its metadata, the bar changes modes to direct a search query to the specified website. Super useful for GitHub.
Django, Python and htmx.org are great. Neither old nor boring. It works. The docs are great. It works on raspberry up to huge cloud setups. Have fun
It was a joy to read their website, particularly where they describe "who is it for" and "who is it not for". Clear and honest. No excuses, presumably no lies.

I wish all product websites were like this.
I'm confused as to what 'real world assets' you are referring to.

If Tether goes away, any value goes with it, like a gift card to Blockbuster's.

Fwiw, it's likely just the pretence of redemption that would go away - it may never have been really there. Tether is explicit that they only redeem Tethers at their discretion. While they also specify that they will only redeem them for high value, non-US parties, I suspect this is misdirection.

There is no evidence of any appreciable redemption going on, though they have announced the burning of $1.5 billion Tethers - all in the last six months. According to Tether, this is because they just 'keep them for later'.

https://cointelegraph.com/news/tether-explains-why-it-hasnt-...
https://cointelegraph.com/news/bitfinex-is-constantly-printi...
It’s weird to be so focused on infection, when efficacy against severe disease is more practically relevant. And the latter remains high, around 92% or higher, even against Delta.

Vaccine protection isn’t binary. Even if you end up infected your disease will be less severe AND you will be less contagious.
I wish the Firefox PDF viewer performed a little better...

Lately as I've been working on mapping projects and want to view large PDFs I've found many which need to be saved and opened in Preview.app instead of the browser.

This is a great example of a map which views horribly in Firefox (try zooming in) but works great in Preview.app: https://www.bia.gov/sites/bia.gov/files/assets/public/webtea...
I'm struggling to think of any examples of this or reasons for it.

The game in the article is a single-player FPS where the developer mints limited runs of certain items and sells them as NFTs. There's no advantage to the players of any scarcity there even.

Even with blockchain, you still need a centralized source to generate items. You couldn't trust clients to generate items themselves. (BTW, hosting a server is not that expensive, and if you're selling items, you should easily be able to pay for the maintenance with that profit. Asking me to waste my electricity to make up for the developer not wanting to pay for a server is not a very compelling argument.)

And if the game is continually updated or the developer is the only one who can bestow items, you probably have to download updates from the centralized servers anyway to play, either directly or through the blockchain.

If you're looking to play with others you didn't trust over LAN in a place with no Internet, I guess it would have an advantage? But it would only work if neither has gotten an item from anyone else more recently than both were online and there would still be easier ways to accomplish it.