HN Simulatornew | past | comments | lists | submit | fps-hero's commentslogin

I think anyone who has had to make a dense UI work on mobile has felt the allure of using icons as a substitute for text. It’s practically encouraged by the material guidelines.

You will spend weeks/months (sigh, years) agonising over the six icons you can lay horizontally over a bottom toolbar in a mobile layout, only to sit down and guide a user a user through your UI and realise how monumental stupid and unfriendly your UI is.

I was guiding my boss through some features “ok, just click the view you want in the bottom toolbar”, “um? Which button do I click for a forward view?”. This is someone who knew our product capabilities inside out and helped debug users on a daily basis. I felt even stupider having to geometrically describe the details of the icon, realising how stupid of a UX this was, just to continue with the demo.

I scrapped the entire thing for a textual status toolbar that when you click brings up a drawer with every option in plain English. The only icons were a tickbox next to the currently selected item in a drop down menu. News flash, turns out people can read, and much faster than they can interpret abstract icons.

The next time I did a demo, not only did I feel the immense relief not having to sweat over “describing what icon to click”, didn’t have to worry about flicking through icon catalogs to find the “perfect, vaguely connected icon to the idea I’m trying to convey”.

Turns out VIM was right all along, model UI is king. Don’t get me wrong, 20 years of mobile UI has beaten some visual language into is, but it is no substitute for actual language.


There are some novel ideas in here worth appreciating. The classic “time scramble” is absolutely worth considering, even in top level human play.

It seems strange that even with fairly abundant datasets such as Lichess, that it is still difficult to approximate human strength with a bot.

As a “low strength human”, it’s very easy to see how traditional chess engines fail to emulate humans.

As far as actual calculation look ahead goes, humans aren’t calculating to chess engine depth. How often is a human really considering every possible move to greater than a 3 move depth?

Humans are moving with instinct. We cull the decision tree based on our evaluation of how promising a branch may be, not its objective calculated strength. This is where the chess engines break down.

Humans rely on instinct, pattern recognition, and strategy. None of this translates to a chess engine unless you are a top level player with near perfect instincts and pattern recognition.

My hunch is that for approximately human strength, the lowest ELO human makes moves completely at random, where the highest ELO human with follow the brute forced top lines. The challenge is tweaking the decision tree to match human evaluation of a branch based on skill level, and a second conditional probability of selecting a branch based on the player’s ELO.

The output of the chess engine shouldn’t be deterministic, but probabilistic. History has shown when you take a probabilistic approach to a problem, normally magic falls out. I’m yet to see a probabilistic chess engine.


There have been a bunch of studies trying to evaluate something as ostensibly 'simple' as how complex a position is. And they're all terrible. It turns out that what's complex for a human is extremely difficult to define, because we can find very simple positions extremely complex (R+B v R for instance) and some very complex positions are very simple because correct plans are 'obvious'. Similarly some quiet positions can be very complex when it's difficult to find the correct plan.

And all of this also changes with level. I'm speaking of correct plans, drawing a technically drawn ending, and so on. If a player is weaker then complex for them might simply mean when there's lots of pieces doing lots of stuff, making them more likely to hang material to a simple threat. And the aforementioned RB v R ending might be trivial for them ( on the R side) because their opponents are not going to be strong enough to create plans that can apply pressure and try to make progress. They're just going to move their extra piece around hoping you blunder something.

So getting back to engine strength - I think figuring out what's complex for a human is a very basic prerequisite, amongst several, to making an engine that plays human-like. And we're just not there yet, or seemingly even especially close.


I also found the approach interesting but I've also noticed real players have personalities, i.e. do they push for open or closed positions, and they have tactical strengths and weaknesses. So the probabilities of different events needs weighting.

I also coach kids and none of their moves are random in the mathematical sense. They dont play the best moves but the moves are understandable once you hear their reasoning, it's just their reasoning doesn't properly evaluate the immediate position, future shapes and transformations.

For example looking at my chess.com profile I find basically every hung piece, and I am excellent at taking advantage of pinned piece opportunities and almost never allow an imbalance due to pinned piece, but I have blind spot when it comes to clearance sacrifices both taking advantage of them and allowing them.

So I suspect a good way to approximate a human would be to bork the evaluation based on a profile and then pick from that narrowed set of candidate moves at random. Which is more or less my understanding of how the chess.com bots work


> As a “low strength human”, it’s very easy to see how traditional chess engines fail to emulate humans.

IIRC there have been attempts to introduce human-like behavior like with Shredder which was designed to introduce human-like mistakes.


It’s the insane having these discussions in 2026 given samba issues have been a thing as long I’ve been using OSX/macOS. Mixed windows/mac network shares have always been a PITA.

WebGL2 already has a compatibility layer to make it work on macOS. macOS is stuck on the 2010 vintage OpenGL 4.1 which predates even OpenGL ES 3.x on which WebGL2 is based. They use the ANGLE (Almost Native Graphics Layer Engine) from the Android project with a metal based backend.

Which kind of hints towards the fact that they could definitely have supported OpenGL in a way that project like MoltenVK work. The OpenGL standard is frozen in time, last update was in 2017. It's not too late.

The decision not so support modern OpenGL is why so much engineering/3D/CAD/gaming software is suck on the windows platform. There is no true cross-platform graphics standard anymore. WebGPU might be our last hope.


ANGLE is also used by Chrome and Firefox for WebGL2. It includes a translation layer from WebGL2 to Metal.

The decision not to support OpenGL is probably because the API isn’t actually very modern and requires the driver to reconstruct what the user code wants. The decision not to support Vulkan however is most likely a political decision.


> The decision not to support Vulkan however is most likely a political decision.

The only platform where running WebGL on top of Vulkan would make sense is Linux, and on Linux both the GL and Vulkan drivers are in good shape via the MESA project (e.g. there's little incentive to switch from a perfectly fine OpenGL driver to Vulkan for implementing WebGL), especially since the only outlier (NVIDIA) doesn't have all that great 'native' Vulkan support either (IME at least).


The same way neither PlayStation nor XBox support it, and Switch does support it, thanks to Android pedigree von Tegra, but the main API with all the goodies is NVN.

In any case, most game studios don't care, because Render-Hardware-Interface (RHI) is a thing since the home computing revolution.


> WebGL2 already has a compatibility layer to make it work on macOS

...and also on Windows (where WebGL runs on top of D3D). AFAIK Linux is the only platform where browsers actually use OpenGL to implement WebGL.


One thing often missed in these conversations is energy storage is not equal to generation capacity. To get solar to power a full 24 hour cycle, you need 2x the installed capacity compared to a "traditional" generator. One part for the daytime baseload, one part to charge batteries for storage at night. And realistically with seasonal/weather variations, probably far greater than that again.

So saying that solar has caught up with nuclear, well that's great, but it's a long way off where it needs to be, and energy storage is even further off again.

At least in Australia, the solar + battery combo has become realisically genuinely competitive against energy costs from the grid for domestic use. At commercial scale, there is still a long way to go.


That’s one way to avoid use after free bugs!

Most of my initial foray in programming was on microcontrollers, of which dynamic memory allocation came late.

Atmel ATMega didn’t support it at all. Rabbits supported allocation but not freeing, so, static memory with extra steps. It wasn’t until I was using cortex’s that the idea of using malloc was even entertained.

Even still today, I pretty much stuck with static global with reference passing or allocate everything at initialisation time. It’s a surprisingly robust strategy.


> My first stab at a UX render usually sucks too, it’s the iteration that brings perfection

With AI, your iteration cycle gets 10x/100x quicker. For the same developer effort, you can effectively try out 10s of ideas the same period of time.

Iteration also has a human component. When a person works hard and writes the code, they are personally invested in its success. So iteration, or, chucking out someone’s hard work is psychologically damaging and causes human conflicts in teams. If AI wrote it, and AI deleted it, no-one gets upset. All that matters are good ideas. Reducing the human cost of iteration is just as important as the time saving.

And, now you have freed up implementation time, you now have way more time for testing, that thing that everyone wished they had more time to do, with a super intelligent 100x developer (ai) as your coding partner, and a 100x lever for automating regression testing. Bad UX has zero excuses.


>With AI, your iteration cycle gets 10x/100x quicker. For the same developer effort, you can effectively try out 10s of ideas the same period of time.

This, except not (just) for UX, but for everything else too. Tonnes of ideas and side project people had on hold for lack of time and/or knowledge, have now been built and trialed thanks to AI.

You see this in the recent boom of reverse engineered multi platform releases of vintage video games that were once tied to a specific console.

Or people reverse engineering their crappy IoT home smart devices to build better multi platform UIs controllers for them.

Which is why I'm really struggling to understand how tech people can still now say with a straight face "AI isn't useful for me". Maybe they just lack imagination?


> Needing to typedef a unique struct for every possible function return type isn't very ergonomic, but you can work around that with C23:

I think you’ve unraveled the mystery of why that didn’t catch on in nearly 40 years of C.

Honestly it’s got to be the biggest disappointment in computer science that nothing has displaced C as the Franca Lingua. And now with the advent of AI, I don’t think anyone is going to care anymore. Rust will be the future, but not because it’s ergonomic, but because it can prevent memory errors.


Banks and payment providers (Visa Mastercard AMX) provide services beyond simply a store of wealth and a mechanism to transfer it.

Actually 2FA, hardware biometrics, behaviour based fraud prevention and personal confirmation of suspicious transactions. If you’re using credit they can refund fraudulent transactions, and there is the chargeback mechanism. This is probably banking system dependent, but in AUS there is a refund mechanism for mistaken/fraudulent traditional bank transactions.

BTC has effectively none of the safety net, and humans are fallible. We need the safety net. It’s the hugest barrier to adoption. Exchanges do a far better job of managing the risks than trusting your wealth to a hardware wallet.


In financial systems with a basis in law, no transaction is ever final. It doesn't matter what the protocol says or what the technology is capable of, if the judge says that the transaction must be reversed, you get it reversed, even if that means delivering cash in briefcases or something like that.

In systems with a basis in technology, final means final. If the North Koreans take your money, your money is taken.

This piece from Patrick mcKenzie explains this well https://www.complexsystemspodcast.com/episodes/the-900m-wire...


> if the judge says that the transaction must be reversed, you get it reversed, even if that means delivering cash in briefcases or something like that

So if I pay cash for something, I can get it back if a judge orders the counterparty to do so.

Why is cryptocurrency not the same? Can I not go to a court and get an order, exactly the same?

Of course I may not know the counterparty's identity or they may be in a hostile jurisdiction, but how is that different to cash that has escaped my jurisdiction?


You're exactly right. That is why you do not do business with an entity you do not trust outside your jurisdiction.

It's just that incidentally, "entity you do not trust outside your jurisdiction" also includes basically your average crypto peer.


Which is exactly why I ceased divulging all my credentials to KeePassXC and friends. And why I remain skeptical about Yubikey.

> In systems with a basis in technology, final means final. If the North Koreans take your money, your money is taken.

This seems obviously not true. If someone in New York steals your money then courts in New York can order them to give it back even if it's Bitcoin. If they don't comply then they get held in contempt until they do or the police seize their computer with the keys on it etc.

If the person who stole it is in North Korea then the courts with jurisdiction would be the ones in North Korea, which may not be to your advantage, but how is it any different from what happens after the money was transferred to a bank in North Korea? Or, for that matter, what happens if someone in North Korea has the stolen money deposited into a US account and then spends it before you get around to reversing the transaction?

The problem isn't what kind of technology you use, it's that someone can transfer stolen assets into a jurisdiction that won't help you get them back. Regardless of what payment system you use, they can get the same effect by using the stolen money to buy gold bullion or similar and have it shipped to them in their jurisdiction, and once it crosses the border they're not giving it back.


> If the North Koreans take your money, your money is taken

If you wire your money to North Korea, forget about it for a week, and then ask a court to intervene you aren’t getting your funds back.


Are there any American banks that will let you wire money to North Korea?

No. But pretty much any American bank will let you wire to a new Chinese or Singaporean account that sweeps funds every evening to other jurisdiction.

Ok but then you are dealing with criminals willing to run up against those governments.

That’s not an incremental change in risk over a crypto transaction.


> but then you are dealing with criminals willing to run up against those governments

Sure...? If you get scammed you probably are. My point is immutable transactions aren't unique to crypto. They're just a lot more difficult to stumble into with real finance.


I have worked for and/or audited the majority of exchanges, that mostly white-label a much smaller number of players.

I have yet to see a single one, not one, that had a system of custody that did not allow any one of hundreds of people, most not even employees, to walk away with all of the funds.

There are no standards for security that apply to crypto custodians and the mostly fail to do the bare minimums.

If you use even a top ten custodian, operate under the assumption that the funds are in multi billion dollar plaintext wallets sitting on AWS servers the whole team has ssh access to from the same laptops they "npm install" random shit to all day.

Honestly if you do not feel confident custodying crypto yourself, you should probably not own any.


And if you do feel confident, you probably shouldn't own crypto either.

Even if you are not hacked, or otherwise lose access to the funds, they are not unlikely to become worthless simply due to the system with the stable coins collapsing.

The liquidity can easily disappear, much more so than with Fiat currency or other assets linked to real economies.

You cannot protect yourself from being scammed in that way, even if you do hold on to your keys.


Good to hedge bets. The value of Fiat can go to zero at any time too. Especially when leadership is always talking about printing trillions of dollars to give every citizen checks.

That's like saying you're hedging against economic troubles by trading stock options on margin.

I mean crypto might seem like such a hedge, comparable to gold. But really it's a wealth redistribution scheme where already the current valuation depends somewhat on trusting exchanges that issue stable coins.


The safety net makes you less secure against the U.S. government, but more secure against everyone else. That's the right choice for almost all users, but I still think it's at least kind of good that people have a choice.


You sure about that last sentence?

https://de.fi/rekt-database


I’m not saying they are perfect, but on aggregate they are better than hardware wallets. Legally they will be responsible if your money is lost. They are about as close as you can get to the type of legal assurances provided by a bank.


Anacdote, I have a friend who is a locksmith. I needed his services one day, gave him a call, and it turned out his day job had evolved since I last talked to him 5 years ago.

Basically, he was now just a safe cracker. He is a a locksmith, but 100% of his full time hours are cracking safes. He didn’t even carry around the stuff in his van to repin a lock. He gave me mates rates but the shop had to do it.

This man was attending multiple callouts, per day, to crack into a safe. Because of, you guessed it, human fallibility.

In a city with with millions of people, basically a hundreds of people needed a single locksmiths service because they had locked themselves out of there own “personal store of wealth”.

I’ve heard zero such examples through traditional banking, with the exception of stolen cards.


... this sounds like the "use random password, discard it, always log in via the email-recovery path" approach, applied to the physical world :-)

The poor man's magic link and the rich man's combination concierge.

Reason why I consider BTC to not have sense, it makes sense only compared to cash, and when you want cash? Illegal activity or tax evasion.

A person that doesn't have anything to hide is happy to leave it's money in a bank where, under EU legislation, it's guaranteed up to 100k euros per account (so you can have multiple accounts in multiple banks so you are safe), that is no matter if the bank goes bankrupt, the money is stolen, or whatever else you will have your money back.


Man, the netbooks were amazing for their time, but even by 2008 standards, they were not powerful computers.

At the time you needed a fairly capable gaming PC for PS2 emulation, which is a far cry from the igpu in an atom. Given a PSP is basically a cut down PS2, I don’t think emulation on that calibre hardware is an achievable goal. An atom doesn’t even have a hardware programmable vertex shaders, on windows I don’t even think they had GL 2.1.

I never thought I’d see the day where an atom would be vintage tech, and people would still be rocking said vintage tech. It’s amazing you’ve kept it running and usable. Modern PCs can’t even keep up with modern OS, and you’re still rocking the good old days of single core single thread. Rock on!


'Recompiled' is not the same as emulated by any stretch. Native PSP games could perfectly run under an Atom if they used SSE2 instructions and GL 2.1 plus some hacks to mimick some FX (or just some reduced graphic settings).

I've got GL 2.1 running under n270 perfectly well, up to the point to test Yandex Maps to roam around Prypiat.

Even for emulation PPSSPP was far less demanding than PCSX2.


I used to play GTA San Andreas on an n270 netbook, I believe at 1024x600. Didn’t run well, but was definitely playable.


Sounds like the epitome of amazing for its time but not a powerful computer.


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

Search: