skysight-inc/HackerNews huggingface dataset:
When emulating original arcade cabinet games it gets even harder to be pixel perfect. Many used custom horizontal and vertical scanning frequencies because they were speccing the specific CRT in the game's cabinet. This changed not only the frame rate but the number of scan lines.

Emulating a collection of these games precisely requires a CRT that can scan at multiple frequency ranges. Fortunately, such monitors were made by arcade monitor manufacturers both for new OEM cabinets and monitor field replacement in existing cabinets. For my custom emulation cabinet I chose a Wells Gardner D9200, widely considered one of the best such monitors ever made. Fortunately, I originally built my cabinet back in 2008 when these CRTs were still being made. Of course, the PC and software have been updated many times but IMHO, there is no better single CRT for broad-based emulation of many titles in one system.

The D9200 accepts analog RGB input and will scan at an incredibly wide range of frequencies enabling the cabinet to emulate virtually all raster CRT based arcade games. Once you acquire such a monitor, proper emulation requires feeding it a native analog signal to avoid external transcoding. The last graphics card manufactured with native analog output was the Radeon R9 280x released in 2013. It's also the fastest GPU available for a purist emulation system. Although analog retro emulation doesn't typically require a GPU that fast, it can be useful if you also want to natively emulate titles from sixth generation home consoles such as PS2, Sega Dreamcast and Nintendo Gamecube which had 3D titles but still output analog video to CRTs at 480P.

To complete a pixel perfect emulation system you'll need to run a special version of the MAME arcade emulator called GroovyMAME, which works together with a specially hacked graphics card driver called CRT EMUDriver. This driver allows precisely setting the scanning frequencies of analog graphics card output. The maintainers of GMAME release new versions monthly in sync with MAME and have been doing so for over a decade. If you really want to do it right, I recommend the active community of hardcore retro analog purists at http://forum.arcadecontrols.com/index.php/board,52.0.html. Having played, worked on and owned many analog CRT based game cabs in the 1980s, I thought I knew a lot about retro analog emulation but I always learn something new there.

So called "Pixel Perfect" retro analog emulation of original arcade cabinets and home consoles isn't necessarily easy but it is possible - and IMHO absolutely worth it.
I'm using this technique in a compiler [1]. One thing I really like about it is that, unlike pointers, I can reuse the integer indices (`ExprRef` in the article) between arrays. So, for example, I have separate arrays for the AST and computed types, which allows the AST to be immutable. (perhaps the article already mentions this advantage, but I didn't see it in the list of advantages)

[1] https://github.com/audulus/lyte
> without very refined standard methods

Doesn't every mature web framework prevent CSRF out-of-the-box with default middleware?
We're generating a whole lot more videos and fire department complaints about Cruise vehicles doing bad things at emergency scenes than you'd expect for such a small number of vehicles.

It's also the least structured portion with the least clear rules than any other part of the driving task, so it stands to reason it would be worse.
I will, just as soon as I'm done with 'oven-baked'
I recently completed the specialization with Andrew Ng and think it’s a fantastic introduction to ML. It has a good blend of theory, practical tips, and coding.

If anyone is interested, I’ve published detailed notes and my submissions for the lab assignments:

https://github.com/pmulard/machine-learning-specialization-a...
Yes but this clients, not nodes. So this actor does not control a large share of the network, they just use a large share of the network.
> With AI, this is easier than ever

lolololololol, god i wish reddit would. that would be such an incredible fire.
Well it's always profitable to attract the attention of rich tech-bros like Elon Musk, so I wish this scientist a lot of money.
4. Models are taught like an end, but courses don't teach you to mix them for debugging. They are usually a means to an end for example say you are using decision trees and your models are acting up, you could still try some debugging techniques from linear regression like residual analysis or plotting variable slopes of each variable vs Y to debug before jumping for shapley values.

The reason is not that using shapley values is bad, they are great, but you can get a lot of insight by having some base models that are simpler to debug.
Why is Convex Optimization (EE364a) not included?

https://stanford.edu/class/ee364a/

https://www.youtube.com/playlist?list=PL3940DD956CDF0622

It's one of the best courses to take if you want to obtain some fundamental understanding of the mathematical concepts behind AI.

Yes there's much more to it than NNs/transformers/'Attention is all you need' paper/whatever else is trendy right now. No, don't expect to do important, as in employable, work if you won't be spending some time truly understanding the mathematical foundations.
I have a good heart, but no one to show it to :(
The mantra to elaborate is "Up or Out" because at that salary level you have more options available to you as well. You actually know that you can, at any time, quit your job and find another one at a marginally lower or usually the same salary as you're currently making. So if you don't go up in salary, you get out. Generally you start to plan your exit with that salary increase in mine. Every recruiter wants to know they can make you more money, don't lie, tell them "Here's what I make now, and I'm currently employed at that level". Then bounce when the bullshit to money ratio reaches its limit for you.
> Each Unix timestamp corresponds to one unique point in time which also has some representation in civil time

This is plain false. For example 1435708799 corresponds to both 2015-06-30T23:59:59Z and 2015-06-30T23:59:60Z
Mufun (Euclidean ducks and generative music)
Them being leveraged in foreign currency would suggest they don’t want to flood the market and devalue this massive holding.
By using a GC language you avoid a few of them. By using Rust with a proper framework you should avoid most of them, if not all. A proper type system can save your ass very often.
Surely there's some luck involved, but wouldn't the Taylor Swift analogy be more like "develop a product that leverages your talents and is likely to have mass appeal, work your ass off perfecting your ability to deliver that product, take the extreme negative externalities of success in your business without complaining, and once you get traction double down on the working your ass off part?" Oh and also "have sufficient business acumen to stare down Apple and win?"
These things are considered jokes pretty much everywhere.
Maybe there should be a proper wiki for this. A sort of wikipedia but not for abstract knowledge but for url's (that fit a certain profile: blog posts and the like).

A browser extension could pull the wiki data when visiting a url that has been commented on.

The possibilities for abuse and gaming would be there of-course. As with wikipedia and any multi-user online platforms it would be down to policies, moderator tools and enforcing accountability to try to keep negative patterns spiral out of control.

But fundamentally, once a url is permanent published resource it makes sense to think how we document public reactions to it.
I've seen lots of %Y%m%d on filenames timestamped by humans.

People timestamp stuff for different reasons. If you do it to avoid collisions then adding sub-second precision makes sense, but in many contexts second or even day precision is all you care about.

The important point is that %Y%m%d%H%M%S is human parsable and still sorts correctly (though humans typically prefer %Y-%m-%d %H:%M:%S for readability)
Wow, we've reached the day when academic papers are more accessible than tweets.
There's a saying from Eastern Europe: first learn a trade, then follow your dreams. If the dreams don't work out, you'll still be able to earn a living.
Show HN: Turbo Native in 15 minutes [video]
I think you’re assuming (incorrectly) that Google will have a monopoly on SDC technology. There are already many big players in the space, so the profit maximizing strategy is probably much closer to what the consumer actually wants.

It doesn’t seem to me like there’s a big competitive moat other than $xxb in R&D costs, so if there is unmet consumer demand for self-owned SDC, it’s probably safe to assume someone will cough up the R&D costs.
Reopening the Key West Agreement and giving the Army (even if just CAS) a fixed wing combat air arm would be... a seismic event.
Yes of course, but the original example was Blender, running on today's hardware. IMO this is just sloppy engineering in this case.
>one of the most exhaustively studied substances in the human food supply

About a year ago, this single fact changed my mind about it being 'very bad' for you. If given a choice between a sugar drink (cola) and an aspartame flavored drink ('zero' cola), I will take the aspartame.
> does operator overloading turn c++ and others into the weakly typed language?

Polymorphism is not the same as implicit type conversion. For example, in Haskell, `*` is defined for both integers and doubles so 3 * 4 and 3.0 * 4.0 both work without type conversion. But JavaScript converts strings to numbers in "3" * "4".

> does typescript-like type checking (which barks on 1+”1”) with “disallow emit on error” turn javascript into the strongly typed one?

I think so. And this is not surprising. TypeScript is a different language from JavaScript (even if it’s a superset of it).
My expectation as a performer is that you need to also increase my salary if you want me to keep performing at that level. I'm _not_ an investment, I'm a professional, if they want to keep me, they in turn, must keep me happy for them to remain happy.
I kind of hope you're joking, but just in case you're not I'll explain.

Because if I make a mistake every 3000 hours of driving, that's a mistake every 5-10 years. I am allowed to continue driving by the law.

If Waymo makes a mistake every 6000 hours of driving, and drives 50,000 hours per year, that's 8 per year. Said system would be twice as safe as me but would pretty much immediately get suspended if it's treated as "one driver."
Thanks for answering, what you wrote here is exactly the sort of thing I'm talking about. Something implicit that's known but not obvious if you look at the first few lectures of the first few courses (or blogs or announcements, etc).

You mention bag of tricks and that's indeed one issue but its worse than that because it includes knowing what "silent problems" needs a trick applied to it in the first place!

Indeed, despite using vectors everywhere, NN are bad with numerical input encoded as themselves! Its almost like the only kind of variables you can have are fixed size enums. That you then encode into vectors that are as far apart as possible, and unit vectors ("one hot vectors") do this. But that's not quite it and sometimes you can still some meaningful metric on the input that's preserved in the encoding (example: word embeddings). And so its again unclear what you can give it and what you can't.

In this toy example, I have an idea of what the shape of the solution is. But generally I do not and would not know to use a base 15 encoding or to send it the last 5 (or 15) outputs as inputs. I know you already sort of addressed this point in your last few paragraphs.

I'm still trying out toy problems at the time so it might be a "waste" of your time to troubleshoot these but I'm happy to take you up on the offer. HN doesn't have PMs though.

Do you remember when you first learned about the things you are using in your reply here? Was it in a course or just asking someone else who worked on NN for longer? I learned through by googling and finding comment threads like these! But they are not easy to collect or find together.
It really isn't the same as someone asking for money in return for nothing.
Whilst the city doesn't control the laws here, they control the police. So if the city intends to sabotage self driving cars? They'd lock the car down for illegal parking when arriving at the police station.
Show HN: Script – A text editor for digitally interconnected documents
script is a text editor powering truly digital documents recently launched. Feel free to play with and share your feedback.
Total Economic Impact of M1 Mac in the Enterprise
Concurrency, parallelism, async, multithreading is my favourite subject that I am interested in but I am not an expert.

Thank you for this article.

I think the ergonomics of modern programming languages for concurrency and parallelism is not there yet but I like structured concurrency.

In one of my projects I generate a dependency graph of work and then parallelise on all a node's egress edges in the graph. I just .join() threads in each node's thread on all ancestors of that node. This is how https://devops-pipeline.com/ works.

One approach to performance from parallelism, split/shard your data between threads and represent your concurrency AND parallelism as a tree of computation where leafs (leaves) of the tree never need to communicate until they complete leads to high performance because of Amdahls law and avoidance of synchronization during processing. Single core performance is fast and if you multithread it right you can get a performance boost. Single threaded can be faster than naïve multithreading due to synchronization overheads ( http://www.frankmcsherry.org/assets/COST.pdf )

My other approach is to create a syntax to represent multithreaded, concurrent and parallel state machines.

Kafka makes it fairly easy to parallelise pipelines and Go pipelines can be created, I just want to use a notation!

Here's my notation which I run on 2 threads:

thread(s) = state1(yes) | send(message) | receive(message2);
thread(r) = state1(yes) | receive(message) | send(message2);

This syntax is inspired by prolog facts. thread(s) and thread(r) are facts that the program waits for and need to be fired before the rest of the pipeline after the =. When state1(yes) is fired, the statemachine moves to the next state after the | pipe symbol. One thread sends send(message) a message and the other receives a message receive(message). You can also put multiple facts in each state line which provides asynchrony of multiple events joining into one state, kind of like multiple nodes connecting to a single node in a graph:

order(orderno) checkout-received(orderno) = take-payment | save-order(orderno) | send-email-confirmation

This waits for order(orderno) and checkout-received(orderno) separate events and then moves to the take-payment action.

I have a simple Java parser and runtime for this syntax. What I like about it is that it combines state machines, parallelism and asynchrony.
Good. I hate gifs so much.
There are no benchmarks that test that. It's my experience and the experience of others who use LLMs for such tasks.

Down below there's a comment pushing back on saying Summarization has been solved. Even he/she is saying hallucination is rare.
It seems like the heart of the problem is that idea that anything can be proven to be safe.

Some people have a hard time understanding that this can be impossible.
> Of course, Bohm says, you can never truly plumb your own mind; any attempt to examine your thought changes it--just as the measurement of an electron alters its course. We cannot achieve final self-knowledge, Bohm seems to imply, any more we can achieve a final theory of physics.

I found Bohm through Krishnamurti, which is all I have to say about whatever bias I have on this subject. So, of course, I was nodding along as I read this article.

> Bohm hopes scientists will eventually move beyond mechanistic and even mathematical paradigms. “We have an assumption now that’s getting stronger and stronger that mathematics is the only way to deal with reality,” Bohm says. “Because it’s worked so well for a while, we’ve assumed that it has to be that way.”

Bohm's ideas on implicate order and his call to move past the mechanistic paradigm reminds me of E.F. Schumacher's critique on "materialistic scientism" and its limitations in the face of the unknown:

> Since the findings of science, on account of its methodical restriction and its systematic disregard of higher levels, never contain any evidence of the existence of such levels, the process is self-reinforcing: faith, instead of being taken as a guide leading the intellect to an understanding of the higher levels, is seen as opposing and rejecting the intellect and is therefore itself rejected.

I appreciate that Bohm opened a door for me into a subject which I was not intrinsically interested in, and I'm looking forward to what comes out of this conversation in the years ahead.
There's an infinite amount of words to be written on the topic about hypotheticals and techniques. The perspective change I can recommend is to set a new goal: I would like to find the highest quality agreement we can make.

Also, read some damn negotiation books. No, I'm not going to link them here for you because unless you decide this is something you want to learn about and track them down yourself, you don't value them. I learned by collecting the syllabi of a bunch of ivy league school courses on negotiation and then reading the common books. I like to say I didn't recieve an education in this so much as I stole it, so I don't have the prestige, but that's just the part that isn't worth anything. That's just the very beginning of the knowledge you are across the table from if you haven't read any books.

You can't collaborate, cooperate, align or choose freely in any situation unless you have done so with the knowledgable consent to what you are willing to do and not do. Further, you cannot be considered a peer or equal to anyone who you have not actively decided how to relate to based on a negotiation of your respective interests. I hear "but, X people aren't good negotiators because Y," to which I call bullshit. If their survival strategy has been based on acquiescing and being agreeable on the way in and then reneging or turning on people once they gain some leverage, the only thing they are not-good at is negotiating in good faith. It is the one thing that all people capable of language and cognition are almost equally equipped to do, and it divides people who take responsibility for themselves from the careless. It's a moral competence.

It also changes how you relate to the world. It can effect your relationships when suddenly you take your own health and interests into consideration and begin to express and satisfy them, so test slowly. That said, find some books and read them, they change peoples lives.
Anybody who noticed semantics correctly translated? a [1,2]==[1,2] will be different in Python and JS.
What did you mean that I misconstrued?
I had a person trying to tell me that aspartame is dangerous because it decomposed into aspartic acid, which is a toxin. Apparently an amino acid can be a toxin even when your body makes it and the proteins in your body contain about a kilogram of it.
I'm a technical architect supporting pre and post sales accounts. So a little selling a little support. There's 30 ish on my team and from conversations with others my weekly hours isn't completely out of line with others. Some days I work more but I rarely do 10+ hours of work in a week.

Work is defined as client facing meetings, documentation creation, answering technical questions for account managers and client success.
Alfred Jarry
> Bohm rejects the claim of Stephen Hawking and others that physics can achieve a final theory, or “theory of everything,” that explains the world. Science is an infinite, “inexhaustible process,” Bohm says

I don't know who he was referring to by `and others` but I'm pretty sure that `final theory` that Hawking and many people are trying hard to get is not about explaining everything. It should be a theory that explains fundamental forces/particles and their interactions. So the term `everything` is well-defined, and it is far from the everyday usage of the word `everything`. A theory of everything would not necessarily address all aspects of existence or answer questions beyond the realm of fundamental physics.
3 things that matter the most:

- Common life Goals (the WHAT. HOW can differ a bit and that's ok).

- Willingness to compromise (you can't have it all your way)

- Mutual Trust & Respect (the word "love" is overrated in my opinion)

Rest are just details.
After 13 years here, that's one of the biggest issues with the HN-expertee-comment-ism that is so widely remarked upon.

One person asserts a brutalist simplification about technology far outside their education and expertise.

Another, given the brutalist simplification, ties it to something within our common field.

Then, we have 1000s of people reading who are conditioned to spew optimism about "take room temperature superconductor[1] and cool it and lower the pressure and raise the temperature, tada!" and a false analogy like "doubting this would be like IBM failing to adopt [a commonplace technique] in semiconductor manufacturing"

[1] from where?
Let’s hope they’re better at taking feedback than you are on their behalf.
We should just shorten copyright to get around that problem.
HockeyStack (YC S23) Is Hiring Founding Engineers
> This is even more apparent with BOTW/TotK where despite these being different from Zelda, an open world with zelda skinned on it, I still need to play it.

A more charitable read of the situation is that you've grown attached to the lore, characters and aesthetics (both visual and musical cues/themes) such that you're looking forward to the next installment of this work of fiction.

That's just Nintendo being good stewards of a franchise. There's millions of alternate pathways Nintendo could start making gobs of money (look at what The Pokemon Company turned that franchise into these days, yeesh!) But by taking their time it signals to me they really do think hard and long about every aspect of the design (naturally, nobody and no game dev team is perfect though).

> Zelda, an open world with zelda skinned on it

That's being deliberately reductive. And whatever the point, according to the creators BotW/TotK is the future direction of the franchise (similar to Link to the Past setting up OoT, WW, TP and SS). I'm not a fan of this "not MY Zelda!" attitude. Zelda II was shit on but it had a lot of cool ideas, and now thanks to the Zelda Cycle it's back on people's radar. Same for Major's Mask and Wind Waker to an extent.

BotW is a triumph and it'd be hard to convince me otherwise. (I did lose interest in TotK after leaving the starting area, but I blame that on the reuse of Hyrule. I don't want to hunt hundreds of Koroks again, I already did that!)

I didn't get the Link's Awakening remake because I'm extremely sensitive to frame stutter and Nintendo never fixed it, but it's an easy recommendation for 99% of Zelda fans who don't like the new direction. I'm hoping they tackle the Oracle games next and include the cut content from the cancelled third game.
A console game will have hundreds if not thousands of API calls, particularly in the io/gfx code
Man, I wish we had this guy leading our org. The higher up the chain you go in my company, the more grasping and inhuman the people become.
Nostr with the nodes acting as relays, instead of having separate relays?
> It’s customary for scientists working on the edge of discovery to patent their findings and further their work as more evidence emerges.

Yes, it IS customary, unfortunately. You can keep amending the claims, as long as they're "supported" by the spec, so as to avoid Allowance or Rejection. Slimy, but sometimes it works.

Even if it's Allowed, you can file a new one and claim Priority to the original date. Legal gamesmanship.