Yes! The Gavotte en Rondeau from the 3rd Partita is probably my favorite Bach piece, beating out even the cello suites. Here's a lovely performance by Kavakos: https://www.youtube.com/watch?v=UNy9fH7VaV4
Hilary Hahn did the same thing a few years ago. In one case, played a movement from a sonata that wasn't in the program, and in another replayed a movement from earlier. Both very interesting, and fantastic performances!
Btw, there's a pretty well known origami version of the SR-71 by Toshikazu Kawasaki. One square, no cuts, the usual. I folded it as a kid from diagrams in "Origami for the Connoisseur". It's not as detailed as the papercraft version, but I think it symbolizes the real airplane very well.
That's pretty awesome. I'd love to see the Lockheed F-117 Nighthawk get the same treatment. Seems like its angular design would lend itself well towards an origami version.
I think Hollow Knight and Silksong are mostly special for their art style, the movement feel is pretty average.
Among 2D platformers in general, I think the medal for best movement feel goes to the Fancy Pants Adventure series. (You can still play it online on sites that have Flash replacements, start with the 4th game because it has everything.) But that's a deliberately easy game, you just run through the levels and have fun.
Among difficult precision platformers, I'd say the N/N+/N++ series has the best movement. (The first game is also still playable online.) Be careful, this one is like a drug, it has a huge number of levels and it's really hard to stop playing.
The thing that makes HK and Silksong stand out to me is the full picture. Everything is well done. The movement feels great, the combat feels great, the exploration feels great, the progression feels great, the boss fights are awesome, the art and music are amazing, the characters are fun and the story is engaging, it just has everything.
These people are extremely talented and put years of effort into this game to make it perfect, impatient fans be damned and it shows.
Just tried both the ones you mentioned and I have to say I absolutely hate the movement. It is extremely floaty, meaning there is a ton of acceleration and deceleration. Maybe that's the point, but it's not what I enjoy at all. Same reason I didn't enjoy the Ori games.
Yeah, N++ is super floaty, there's A LOT of inertia. It might feel off at the beginning, but when you get the hang of it, it's just beautiful. It's the opposite of twitchy. You work to preserve the momentum through jumps and corners and evasion maneuvers, it's got that sleek race-y feel. I get it, it's not for everyone, but for me it's bonkers good.
I'd also put Super Meat Boy up there for good platforming feel. But yeah, Fancy Pants is fantastic, it's what I always wanted Sonic games to feel like.
If you haven't triend Sundered yet I recommend it. If you go with the unlock path that specializes in movement abilities then the game gets really wild by the end.
This is a great point. Everyone who has talked with chatbots at all: please note that all contents of your past conversations with chatbots (that already exist now, and that you can't meaningfully delete!) could be used in the future to target ads to you, manipulate you financially and politically, and sell "personalized influence on you specifically" as a service to the highest bidder. Just wanted to make sure y'all understand that.
EDIT: I want to add that "training on chat logs" isn't even the issue. In fact it understates the danger. It's better to imagine things like this: when a future ad-bot or influence-bot talks to you, it will receive your past chatlogs with other bots as context, useful to know what'll work on you or not.
EDIT 2: And your chatlogs with other people I guess, if they happened on a platform that stored them and later got desperate enough to sell them. This is just getting worse and worse as I think about it.
Turn that around and think of the AI itself as the exploiter. In the world of agent driven daily tasks, AI will indeed want to look at your historical chats to find a way to "strongly suggest" you do task 1..[n] for whatever master plan it has for it's user base.
Ah yes, the plot of Neuromancer. Truly interesting times we are living in. Man made horrors entirely within the realm of our comprehension. We could stop it but that would decrease profits so we won't.
Could this argument not be made for anything plugged in to OpenAI's API? If so, I don't see how it's a response to the point.
If you make an app for interacting with an LLM and in the app the user has access to all sorts of stolen databases, and other conveniences for black hats, then you've got what was described above. Or I'm missing something?
Honestly, retargeting/personalized ads have never bothered me. If I'm gonna see ads anyway, I'd much rather get ads that might actually interest me, versus wildly irrelevant pharmaceutical drugs and other nonsense.
The ads won't be for the product which will bring you maximum value. They will be for the product that will bring the advertiser maximum profit (for example, by manipulating you into buying something overpriced). The products which are really good and cheap, giving all their surplus value to you and just a little bit to the maker, will lose the bidding for the ad slot.
Not necessary. If economies of scale exist, that means that a popular product is going to be inherently superior in terms of price or quality than an unpopular one. Companies that advertise effectively can offer a better product precisely because they advertise and have large market share. (Whether they do it or not is a question of market conditions, business strategy, public policy and ultimately their own decisions.)
Surplus value isn't really that useful of a concept when it comes to understanding the world.
Really? Because the most common place I've seen this logic break down, is the bizarre habit of people to derive some sort of status and self-worth from using an unpopular product. And to then to vehemently defend that choice in the face of all evidence to the contrary.
No "artisanal" product, from food to cosmetics to clothing and furniture is ever worth it unless value-for-money (and money in general) is of no significance to you. But people buy them.
I really can't go trough every product class, but take furniture as a painfully obvious example. The amount of money you'd have to spend to get furniture of a similar quality to IKEA is mind-boggling. Trust me, I've done it. Yet I know of people in Sweden who put considerable effort in acquiring second-hand furniture because IKEA is somehow beneath them.
Again, there situations where economies of scale don't exist and situations where a business may not be interested in selling a cheaper or superior product. But they are rarer than we'd like to admit.
Right. I think ai on the user's side is going to be necessary soon. Then they can negotiate with the advertiser's AI to determine what to show. This will need to be on the platform level or the hardware level.
This solves the problem of seeing ads that are not best for the user.
You are talking about running ads auctions locally. This is never going to happen because if the company was inclined to rank ads by relevance they could already do so at their end. Just use an ad blocker.
Then why in twenty years of personalization am I still seeing junk ads? I don't want to hear about your drop-shipping or LLM wrapping business. The overwhelming majority of ads are junk. Yes, they bother me.
Because they are selling to the advertisers and their own imagination of their 'brand'. If the advertising customer base weren't stupid then 'advertiser friendly' wouldn't exist as they would be smart enough to realize that you won't offend people by advertising to content that they are watching for entertainment, or from people saying 'die'.
I wish I could fund an as campaign to free people from the perception that ads are to sell you products
Ads are there to change your behavior to make you more likely to buy products, e.g., put downward pressure on your self esteem to make you feel "less than" unless you live a lifestyle that happens to involve buying X product
They are not made in your best interest, they are adverserial psycho-tech that have a side effect of building a economic and political profile on you for whoever needs to know what messaging might resonate with you
This, yes, thank you. Advertising is behavioral modification. They even talk about it out in the open, and if you are unconvinced, hear it from the horse's mouth:
This is not how personal targeting works. Here's how:
> Each Shiftkey nurse is offered a different pay-scale for each shift. Apps use commercially available financial data – purchased on the cheap from the chaotic, unregulated data broker sector – to predict how desperate each nurse is. The less money you have in your bank accounts and the more you owe on your credit cards, the lower the wage the app will offer you.
I'm the complete opposite and don't really understand your position.
I'd rather see totally irrelevant ads because they're easy to ignore or dismiss. Targeted ads distract your thought processes explicitly because they know what will distract you; make you want something where there was previously no wanting. Targeted advertising is productised ADHD; it is anti-productive.
Like the start of Madness' One Step Beyond: "Hey you! Don't watch that, watch this!"
Part of the issue is that this enables companies to give smaller discounts to people they identify as more likely to want a product. The net effect of understanding much more about every person on earth is that people will increasingly find the price of goods to be just about the max they would be willing to pay. This shifts more profit to companies, and ultimately to the AI companies that enable this type of personalization.
You get ads that actually interest you with targeted ads? You might be one of the only people with that experience. The whole meme with targeted ads is “I looked up toilet paper on Amazon once now I get ads for charmin all over the web”
I stopped using TikTok and Instagram because I was impulse purchasing too much stupid crap from their advertisement. So there are at least two of us out there.
I got toys for my nephews, things for my insecurities, things I think are neat. socks with pockets on them! Compelled, I mean, now that I know $thing-that-will-fix-my-problem exists, how could I not? Worst part of it is, I didn't even know I had that problem before watching the ad!
This sounds right to me: most of the comments I've written, on most sites, haven't been useful to me socially. The people I was talking to were strangers and remained strangers. But sometimes the act of commenting helped me understand something; sometimes my comments helped other people understand something; and sometimes, very often, reading other people's comments helped me understand something. So it's not valuable for socializing, but it is valuable for other things.
That said, there's another problem with comment culture that seems worth mentioning. I seem to have gotten good at expressing thoughts that fit in a comment. That gives me a false sense of competence; but when I need to write something longer, like a blog post several pages long, the structure just completely falls apart. And writing a book I can't even imagine. It seems writing at different lengths is essentially different skills, which need to be practiced separately. And if that's the case, then as Annie Dillard says, why not just write something long to begin with? I'm actually thinking of that now.
I want you to know I read this comment and appreciated it.
I have just finished writing a book. It took fifty-five months from its inception. Twenty-four months since I signed the contract, and I was thirteen months late. I have written books before, and this was a book on something that I am pretty much the only authority on (my own methods of working), but still it was a slog. This book is the last one. Never again. It's so overwhelming to me. I felt like some hermit building a church on an island.
I got the final proofs of the thing, today. It's a wonderful sense of accomplishment. But, no, never again!
> So it's not valuable for socializing, but it is valuable for other things.
I think what you described up to this point is a valuable form of socializing—exchanging information. So maybe “comment culture” isn’t absolutely valuable, but I guess that makes it no different than other forms of socialization; dependent on how useful the interaction is to the parties involved.
marginalia_nu put it well elsewhere
> It shouldn't be taken as a replacement for having a social life, but can be a very good complement if your social life isn't as intellectually stimulating as you would like.
And it looks like this is where the author of this blog post erred.
Your last part about long-form writing is interesting and one of the consequences of frequent commenting, microblogging and short-form communications in general that I can relate to. The two practices do feel separate. I figure they’re about as distinct from one another as a conversation is to a lecture.
Nobody mentioned nested data in BigQuery? It's a superset of SQL where fields can be arrays of structs (so basically nested tables) and there's some extra syntax to nest/unnest things, so you can often get everything you wanted in one result set.
For sure... the use of JSON here seems orthogonal to Jamie's point of constructing complex nested values in SQL with a single backend query. Modern SQLs support all this as native types (presuming the result can fit in a homogeneous relational type, which it can in this case), e.g., Jamie's query can be written with a record expression (duckdb dialect):
with theTitle as (
from title.parquet
where tconst = 'tt3890160'
),
principals as (
select array_agg({id:principal.nconst,name:primaryName,category:category})
from principal.parquet, person.parquet
where principal.tconst = (from theTitle select tconst)
and person.nconst = principal.nconst
),
characters as (
select array_agg(c.character) as characters, p.u.name
from principal_character.parquet c
join (select unnest((from principals)) as u) p
on c.character is not null and u.id=c.nconst and c.tconst=(select tconst from theTitle)
group by p.u
)
select {
title: (select primaryTitle from theTitle),
director: list_transform(
list_filter((from principals), lambda elem: elem.category='director'),
lambda elem: elem.name),
writer: list_transform(
list_filter((from principals), lambda elem: elem.category='writer'),
lambda elem: elem.name),
genres: (select genres from theTitle),
characters: (select array_agg({name:name,characters:characters}) from characters),
} as result
And if you query typeof on the result, you'll get:
STRUCT(
title VARCHAR,
director VARCHAR[],
writer VARCHAR[],
genres VARCHAR,
characters STRUCT(
"name" VARCHAR,
characters VARCHAR[]
)[]
)
Table-valued functions (I think these are not exclusive to GoogleSQL?) are also very nice. Every time I see scripts with a long block of with statements part of me dies inside.
I think if the animation "helps you understand what's changing and why", sometimes that's a sign that the change could be redesigned - moved to a different part of the screen, for example - so that it becomes clearer without needing to be animated.
For example, if pressing a "Save" button makes a "Save successful" toast appear on top of the screen, it's tempting to animate it in, so that the user notices it. But it's better to replace the button text with "Saved" and gray it out, which achieves the same goal and feels great without any animation.
In general I think toasts are a borderline antipattern, particularly those presented as a chance for the user to undo some action that they accidentally triggered (doubling the panic since now the undo has become a time bomb). Just don’t make the consequencial action so easy to trigger in the first place and where relevant (on iOS or desktop) support the standard undo stack.
Toasts on large displays are definitely an anti-pattern, they're just too far from where the action that triggered them actually happened.
On mobile it's a bit different, because often you don't have the space to put an "undo" button or status text right next to the thing you just did. So you put it at the bottom or something in a toast.
Still not good, but more justifiable.
Also iOS does not have reliable undo actions. Android does, but on iOS there isn't an equivalent. No back button. Well, maybe a back button but definitely not required and not enforced in any way.
Still iffy on mobile because the way the device is being held can’t be assumed. The area the toast appears is very easily hidden by a hovering thumb for instance, especially for people with larger hands.
Undo and back are conceptually similar but different. On iOS, consistently anywhere you can enter text you can give your phone a quick shake (similar to a person shaking their head “no”) and it’ll offer to undo the last edit. Many apps like Reminders use this for actions like item completion too. There’s a native undo stack you can use to leverage this as a third party dev. There’s also a gesture that can trigger this but I have yet to commit that to memory.
Android does not have an undo gesture. Some skins (like Samsung’s) implement something similar but it’s not consistent and it’s limited to text editing.
For going back, all apps built with native iOS UI toolkits have a swipe gesture that goes back to the previous screen. Cross platform apps built with other frameworks are notoriously bad about not implementing this, though. It’s true that there’s no cross-app back gesture, but swiping back and forth on the home bar is a rough approximation.
IME it's the exact opposite. That iOS undo action is more or less theoretical - the apps that support that are some of Apples... And that's it.
The android back action is universally supported. Its literally a button, still, to this day, persistent on your screen by the OS.
Also, the "swipe back" action on iOS is more or less fake. Its applied so inconsistently it might as well not exist.
In my head "back" and "undo" are usually the same thing. iOS has a good interface, but this is one glaring blind spot they missed to Android and browsers. It actually makes iOS quiet frustrating to use.
Also, barely related: but the "shaking your device is like shaking your head no" thing is the stupidest thing I've ever heard in my life. I'm sure Apple thinks its very intuitive and good design, but it's really, really not. That's one of the least discoverable things I've ever heard. Apple please don't do that.
Swipe to go back support is pretty wide if you select for iOS-first apps (I do). It’s glaring when I try to use it and it’s not there, so when that happens I’ll either go find an alternative or drop back to the web app (where Safari will definitely implement it).
My Android devices all have the gesture bar enabled because the old style button bar is an eyesore and easy to trigger accidentally (Android’s swiping from the right to go back is also too easy to trigger as a right-handed person, but that’s another story).
My metal model for the undo/back split actually follows desktop browsers. Cmd-Z isn’t going to undo navigation while Cmd-[ will, and so the two are separate and distinct.
With saving, I usually add a confirmation directly next to the save button, so the save button itself doesn't change state (people often like pressing save multiple times!). But even then, I find a little bit of animation that moves the "saved" text away from the button to indicate where it's come from can be really helpful for intuitively connecting the two interactions. The animation should be fast (100-150ms max, often as low as 75ms), and subtle (just a slight step to the side), but it gives the user more of a feeling about what's happening.
> With saving, I usually add a confirmation directly next to the save button, so the save button itself doesn't change state (people often like pressing save multiple times!).
There is no problem with the button changing states as long as it only happens after the current document state was successfully saved and becomes active again when you make changes to the document. That way the button doesn't represent the outcome of some action but the sate of the document - unsaved changes = button enabled, no unsaved changes = button disabled.
I think the main contribution of Bear at first was centralizing and codifying a certain visual style: minimalistic, with a single narrow column. It's basically "the Medium layout, but indie". And the thing is, that style in itself is not copyrightable. To achieve it, you don't need to use bearblog. You just need a few tens of lines of CSS, which you can very easily write yourself.
Today there's another thing going for Bear: the discovery page. It's gradually becoming a driver of visibility, attracting more authors to Bear to get readers who are there. But I'm wary of these "flywheel" kind of things, even if they have an indie look. To me it still feels better to have my own website, and participate only in those discovery systems that support it, like Reddit or HN.
You can also participate in openring to provide that type of small-web discoverability to other authors you like: https://git.sr.ht/~sircmpwn/openring.