Hacker News new | past | comments | ask | show | jobs | submit | apkallum's comments login

That's really interesting. Could you give some examples?


I created a new consulting business for improving relevance of site search results for say e-commerce, etc. At the time my company did a mix of big data and search consulting.

I took about half my hours to write a book (Relevant Search) along with 20 of my own. I created a tool Quepid (http://quepid.com) to help optimize relevance for Solr and Elasticsearch. Along with colleagues, I started a conference: Haystack (http://haystackconf.com) focused on the domain. I also made an open source plugin for integrating machine learning capabilities into Elasticsearch, and got Wikimedia to partner building it out further.

All that fed the sales funnel for the services I was building out somewhat separate from the companies main business. As the demand picked up, we matured the products we offered in that market.

Eventually the companies focus completely changed to what we were doing and away from the old model.

I will say, while the company would probably try to support anyone doing this, ongoing support depended on results and momentum. I was lucky to have some success, so got to keep building after early proof of market interest.


The amount of bureaucracy a typical adult deals with is astonishing. I remember hearing once that it may be economical for some families to group together and appoint one person responsible for dealing with bureaucracy + 'professional' consumerism a la Costco deals and such.

How ironic that all that individualism will lead to a communal living arrangements again - at least for those wanting to create families.


Intentionally shifting the meaning of the term opensource is unacceptable. Open source means surrendering your monopoly over commercial exploitation of your code.

See Drew DeVault's article: https://drewdevault.com/2021/01/20/FOSS-is-to-surrender-your...


Thanks, we'll review this and other folks' comments and see if we can make a change that works for us and maintains an OSS ethos. This is our first launch FWIW, we're appreciative of the feedback but clearly seemed to have ruffled some feathers


Could you expand on the ROM game commands bit? Does it mean that all actions are serialized?


It's a networked game... how else could it work?


I just don't know what a 'ROM game command' is. Seems more likely it would be controller inputs to one person's emulator? Or perhaps everyone has an emulator and the inputs are simply shared.


To me it seems like just a somewhat awkward way to phrase exactly what you think it means.


It’s probably really simple: if you normally load a ROM game and start a multiplayer game you control all the other players input. This simply goes next step and makes other inputs be controlled by other players.


These things usually work by syncing the emulator clocks between clients, and then sending player inputs over the network along with the data to sync.


> ROM game commands

This phrase doesn't mean anything.

The game list includes games that do not support PlayStation Link Cable, so this has to implement netplay the same way other emulators do:

Both host and client emulate the game in sync, exchanging controller input

Edit: Seems like I was wrong about the latter, it runs the emulator on the host only, who sends video/audio from clients (and they send inputs).


I’d be curious to see how feasible a rollback-based implementation would be for emulating the game.


If you're referring to constantly sending save states back and forth, some emulators work this way currently.

If I'm not mistaken, RetroArch's networking functions in that way.


Rollback networking is essentially event sourcing. Game states are immutable, and new game states are derived from adding inputs (events).

You keep the last dozen game states around in memory, and if you receive an input from the past, you rewind to the last game state prior, add it to your input stream, and fast forward to the present.

It has the same base advantages and drawbacks as RTS networking - the core logic is written as though the game is single player, and complexity can be scaled arbitrarily without bloating bandwidth requirements.

But in addition, you get the benefit of zero input latency (play a multiplayer RTS game and send a unit around - they won't move for 200ms or so), and the drawback of an absolute clusterfuck time rewind debugging madness if any inadvertent mutation of your immutable data happens.

The reason you do rollback with something like this is it gives you zero latency, and you can retrofit it on to an emulator without changing any game code just by using memcpy() on the game state.

Source: I've developed about a dozen titles using rollback networking.


I find this hard to conceptualize/unite with the players view of the game - so if an input arrives out of order the engine can essentially just reapply the new adjusted stream of events to correct itself? From a data modelling perspective that seems fine.

However, in those situations what does the player see in game? IIRC rollback was popularised in fighting games like Street Fighter - so does the player see one "universe" only for that branch to suddenly rewind and replay to an alternate universe where a tiny action happened/does not happen?


That's exactly what happens. If you are writing the game yourself, you can do interpolation to fix things up gradually.

You can also delay significant events such as death until the rollback threshold has been passed, so you don't run in to knife edge situations where, e.g., it looks like you died and your character starts to ragdoll but then you snap back when it turns out you killed the enemy instead.

The key to it not being too disruptive is keeping the maximum rollback threshold fairly low. If you add inputs and your ping is greater than the threshold, they get delayed to a later frame, and your inputs start to feel sluggish (the server would enforce the delay, but you'd also add it client side).


Thank you these types of comments are why I frequent HN! Really insightful, first time I came across rollback I had one of those loving CS/SWE moments. So I'm grateful that you're so obliging to my curiosity!

Out of interest are there any toy projects out there you can point to that can explore the concepts here with no first hand experience with game dev?


Hmm, I haven't come across any, although you can probably dive in and build a prototype system without too much trouble.

My recommendation would probably be to build it without netcode to start (two local clients connected over a virtual pipe), and using a system where you can easily serialize the game state - C with memcpy(), JavaScript reading/writing to json, Clojure or similar. I use C# with compile time generated codes to store data in slots - it's not fun.

While not rollback, the original AOE networking writeup is probably the best I've come across as an introduction to deterministic multiplayer. There's the GGPO framework that you can get off the shelf, but it's pretty heavy weight.

There are some real head scratching moments with debugging rollback, but in general for games that aren't too performance intensive it shines. I actually developed an entire strategy game prototype over a period of three weeks in single player before bothering to test it worked in multiplayer. It did first try. Four days later, it was live in public beta (starjack.io if you're interested, which peaked at around 400 concurrent players).

https://www.gamasutra.com/view/feature/131503/1500_archers_o... https://en.wikipedia.org/wiki/GGPO


Ah man a history lesson involving AOE netcode. This is the best - will take a look, thanks again!

Also well played on starjack, very impressive


Hmmm, it seems I repeatedly have this discussion with others re: ORMs are inferior. If there is one point I initially wanted the article to make is to use relational databases first, and ORMs second. (i.e: as opposed to NoSQL solutions.) Perhaps I should edit the intro to the article to reflect that.


This is a different author at Monadical. The author of this article still uses Linux. (Source: I work at said company.)


How can I DM you?


B2B apps developed in the west are unlikely to be useful for developing markets given the disparate priorities and market structure between developing and developed economies.

However, for B2C products (e. g: Figma, PhotoPea) you could charge a much lower price based on billing address, similar to how for example Spotify costs much less in the Philippines than in the UK.


It's sad and upsetting, but when will people learn that Facebook, Google et al do not care at all about individual users? Their model simply does not factor in the worries of a single user.

(Worse is how they want to propagate the idea that software should be free and of highest quality, thus preventing any communal attempts at creating different models.)

I advice everyone who has an account to at least download their data to keep a copy of it: https://www.facebook.com/help/1701730696756992


> when will people learn that Facebook, Google et al do not care at all about individual users?

When will people learn, not just Facebook, Google et al, but no large company cares about individual users? Coca-Cola, Delta Air Lines, Ford, Unilever, Visa, Walmart do not care about individual users.

Not because all of them are bad, but simply because they physically cannot deal with every complaint. Even worse, when they become better at handling complaints, people start complaining more. So they focus on some more important complaints, and some users get thrown overboard. This is sad, but this is inevitable.

That said, it would be great to have a paid technical support. You have lost an access to Google account (hacked, lost password, not logged in for two years, whatever), pay $100-1000 (if it's really valuable to you), and a special qualified person will do a proper background check (e. g. call your employer) to verify that you is really someone who you claim to be.


It's a little difference with Facebook and Google, because unlike the other companies you mentioned, users are not the customers of Facebook and Google -- advertisers are. There is very little incentive to make their users happy when their users are not paying for the service.


> It's a little difference with Facebook and Google, because unlike the other companies you mentioned, users are not the customers of Facebook and Google -- advertisers are.

This is so tiring.

Also, I've been paying Google real money for half a decade or so, so I am definitely their customer.

That said I'm well aware that that doesn't seem to mean anything in Google land and I might be thrown out for anything tomorrow with no explanation and no way to get my account back except complaining in social media.


It's still true on an institutional level, though.

Paying customers at Google are pin money, AdSense is bread and butter.

If there's a conflict, AdSense wins, period. There's a firmly entrenched culture where user accounts are a cost center, to be managed "at scale", that carries over to paying accounts. That attitude shouldn't carry over, of course; nonetheless, it does, as you recognize in your last paragraph.


> There is very little incentive to make their users happy when their users are not paying for the service

This is plainly obviously wrong.

When users are not happy, they leave the service, and advertizers stop paying.

Even more, companies are much more afraid to lose users than to lose advertizers. Companies can live years without advertizers (by borrowing money for example or by burning reserves), but if a company lost it's users, the company is finished.


Yes, in some way. But sole complaints are simply not hurting FB. How many of the people complaining would've used Instagram otherwise or even go as far as closing their account? I doubt the can even zoom in their Dashboard far enough to see the impact.

The real problem here is that for a single account, you're far more dependent on Instagram than Instagram is on you.


> you're far more dependent on Instagram than Instagram is on you

Same way, if you have a Ford car, you depend on Ford much more than Ford on you.

> But sole complaints are simply not hurting FB.

Same as complaints on bad Ford service don't really hurt Ford.

Anyway, that has nothing to do with the fact that users of Facebook are not paying Facebook.

> There is very little incentive to make their users happy when their users are not paying for the service

This quote [typo] is very incorrect. I'm not going to argue that Facebook/Google support is good or bad, I'm just pointing out this statement is false.


> Same way, if you have a Ford car, you depend on Ford much more than Ford on you.

But the latter is contractually obligated to help you to some extend due to warranty etc.. Also, Ford has far less lock-in than Instagram.

> > There is very little incentive to make their users happy when their users are not paying for the service > > This quite is very incorrect.

I'm not disagreeing with you here; I'm disagreeing with your point that users are (far) more important than advertisers. Single-user complaints or unhappiness tends to be ignored, I doubt the same is true for advertisers. The recent Reddit changes, for example, show this very clearly (to be fair: I don't have an FB-example as I don't follow it in any way).


That actually isn’t true now that Oculus is requiring Facebook login.


Something like that does exist for Google account access problems - you can pay a few dollars (which also ties you to a presumably-authenticated credit card, and so helps authenticate you to Google) for an expedited response.


Never heard of it. Can you share some link please?


It's a part of Google one, no idea how good it is though.


When will people learn that capitalism literally doesn't give a shit about people.


Capitalism is an economic and political system.

An economic and political system technically literally cannot care about people, same way as temperature, gravity, philosophy or history cannot care about people.


This is an extremely reductive. Temperature or gravity are not composed of people, who have the ability to make change within the system they comprise.


Let me rephrase.

Too high or too low temperature environment can hurt people. People with a soldeing iron can hurt people. People putting other people in the fridge can hurt people. Just temperature is not something which can do anything to anyone.

Capitalist companies, people living in capitalism, governments under capitalism, taxes and so on may be good or bad for people.

But saying "capitalism does not give a shit about people" is just literally nonsense. Of course it doesn't because an economic and political system is not an actor.

I could infer from the original comment that all actors under capitalism "do not give a shit", but that's obviously untrue. For example, wikipedia lives under capitalism and benefits from the capitalist system, and obiously it is good for people.

I could assume that the actor mean very narrow group of actors when they said "capitalism", but I won't because I will likely be wrong about understanding what the author really wanted to say (rich people? all people? large corporations? any corporations? including non-profits? and so on). It would be better if the author added some clarity to their comments. Would be better if the author said what exactly they wanted to say without throwing literally meaningless socialist slogans.


Well, socialism (in its original form, not USSR-style "socialism") for example is an economic system that, by its definition, cares about people and their wellness. Capitalism, in contrast, is an economic system that, by its definition, doesn't care about people or their wellness. Just like democracy is a political system that cares about the people, whereas monarchy is a political system that doesn't.

If you want to be pedantic, you can say that the proper phrasing would be something like "socialism is an economic system whose defined goals are people's wellness", "capitalism is an economic system whose defined goals have nothing to do with people's wellness (they are profit for the owners of capital, and perhaps innovation)". But "caring for" is obvious shorthand for this.

You can, of course, say that individual actors living under any of these systems may or may not care about the people, and that's true. But the system itself may be designed with or without the people in mind, and different systems fall on different sides of this idea - for better or for worse.


I really don't like these oversimplifications.

It is like saying, railroads don't care about people, railroads are only interested in trains moving fast and reliably.

Or it is like saying, doctors (even under socialism) don't care about people, they only care about getting their salaries.

Smarter people make one step further concluding that fast and reliable trains are beneficial to people, doctors heal sick people, and capitalism generally make people wealthier.

> capitalism is an economic system whose defined goals have nothing to do with people's wellness (they are profit for the owners of capital, and perhaps innovation)"

Adam Smith' first book called "The Wealth of the Nations" not "The Wealth of the Richest People in Power").

I would not go that far to define a "goal" of capitalism. It is just a system of rules and principles, there's no goal in it.

And these rules and principles are profitable for both capital owners (they can grow their capital), and for regular dudes (who can be paid better because market provides them with more opportunities to pick different jobs and higher quality jobs and who can use cheaper good and services).


I'm sorry but this still treats capitalism as some ridgid, immutable force. This is demonstrably untrue. We, today, have capitalism shaped by the will of the people. The degree to which we allow it to be shaped is the actual point of contention, not the malleability itself.

I also find it unfortunate that you'd choose to represent such potential flexibility in the system as "meaningless socialist slogans." That makes it feel like you're not engaging in good faith with the central argument.


> That makes it feel like you're not engaging in good faith with the central argument.

There was no argument besides that socialist slogan.

I could get arguments like:

Large companies are inefficient under capitalism, they provide less value than they take from the society.

or

Capitalism is a very inefficient system of distribution of goods and services.

But there were none.


The argument is pretty clear to me: without holding corporate feet to the fire, we will suffer to varying degrees by their will.

If that's your definition of socialism, well, I'd argue that you do not actually know what socialism is.


I’ve read somewhere that Facebook even embeds tracking pixels in the HTML of the data export, so keep this in mind if you ever actually look at the exported data.


Would you be kind enough to post more information about this?


Google produces irrelevant results no matter what I try (searching anything about Facebook tracking pixels brings up tons of marketing-related SEO spam) so I suggest someone with a Facebook account just tries it and reports back. Until then, better safe than sorry, assume the worst (which at this point should be the norm when dealing with the company we're talking about) and proceed accordingly.


They don't for standard picture but they do embbed their own metadata

https://iptc.org/news/what-does-facebook-do-with-your-photo-...

https://www.carlseibert.com/facebooks-hidden-metadata-codes/

You may be thinking of PhotoDNA which is used for different purposes

https://www.microsoft.com/en-us/photodna


I have heard images are also marked


Images on public Facebook are indeed marked (a unique ID is embedded in every picture's EXIF data) so I wouldn't be surprised if the exported ones were too (not necessarily for malicious reason even, if the images are being marked at upload time, Facebook may not even have the original unmarked image anymore).


David Spivak and other folks at Azimuth Forum[0] have been great at providing high quality discussions on ideas in this course and others. Many thanks.

[0] https://forum.azimuthproject.org


Good point and strongly agree. John Baez [0] also merits mention as the originator of Azimuth and the creator of the Applied Category Theory course [1] on the back of Fong & Spivak's paper [2].

[0]https://www.azimuthproject.org/azimuth/show/John+Baez [1]https://forum.azimuthproject.org/discussion/1717/welcome-to-... [2]http://math.mit.edu/~dspivak/teaching/sp18/7Sketches.pdf


Is this Spivak related to the author of the famous Calculus book?


David and Michael Spivak are not related


Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: