Hacker Newsnew | past | comments | ask | show | jobs | submit | more fredrb's commentslogin

Right. Impossible might have been an exaggeration, I will fix that. The point is that if you're reading a file with the text "hello world", you can only make out the characters because you know the encoding. Given two completely different encodings that map the same hex values in the message it would be impossible to determine which is the correct string. There is no such thing as plain text.


> Given two completely different encodings that map the same hex values in the message it would be impossible to determine which is the correct string.

Sorry, but I don't agree with this either. You can, as a human being (or smart enough AI), look at the result in both encodings, and make an educated guess as to which is correct. If they are wholly different as you say, then one should be gibberish, and one should map to some dictionary.


What you are feeling is called cognitive dissonance. You have the idea of text so hammered into your mind, that when you realize it's merely a convention that makes it readable in practice without needing to know the encoding, you cannot even concede, despite this being an obvious truth. This phenomenon is called "un*x braindamage".

More or less all possible interpretations of what this person said are correct. But UN*X braindamage also comes with dunning-kruger due to the fact that you've memorized so many factoids after many years and think someone doesn't know what they're talking about when they get them wrong despite their overall idea being correct.


So does most templating languages.


My worst experience was when an interviewer told me to stop doing the exercise because time was up, and proceed to say that they could "solve this exercise in 30 seconds by copy-pasting an answer from StackOverflow". They mentioned in the beginning of the interview that I could Google whatever I wanted and then said I "should've taken the hint if I wanted to complete the exercise".

The complete interview was a joke. The person didn't know which position I was applying to; another guy joined the interview halfway through and asked if he should take over; and the worst: the main interviewer was boasting about working 12 hours a day as a contractor and getting double the salary from the actual employees.

They didn't make an offer.


> Well; code review is not QA. My approval means - I'm OK with how the code layer is knitted. It doesn't mean I've tested the changes.

I'm 100% on-board with this. However, I understand were OP's mindset comes from. A few years ago I was working at a development shop in a fairly large project, where we had little to no automated tests. We frequently had PRs that would break main features. At some point developers were required to perform smoke tests alongside code reviews.


There are also other approaches to the problem, like Jump Hash, Multi-Probe and Maglev hashing. Each of them offer a different combination of load balancing, scalability and performance trade-offs. [1] provides a good analysis of the available methods and their tradeoffs.

[1]: https://dgryski.medium.com/consistent-hashing-algorithmic-tr...


This is very interesting. Unfortunately it seems to be closed source and they're still working on a more technical blog post.

I wonder how they encode all the information in the PNG file? Apart from the .zip with the entire ROM I assume they snapshot the current memory state on the beginning of the Quote and all the subsequent inputs.


You can see the source here: https://glitch.com/~tenmile we haven't taken the time to figure out what precisely what the appropriate license should be, though it will probably need to be GPL since the emulator we use is GPL licensed.

That said, the basics of making a quote are so simple that it should be pretty easy to add Playable Quote capabilities to other emulators with a minimal amount of code.

A full writeup of how it works is here: https://joel.franusic.com/playable_quotes_for_game_boy

Thanks for reminding me that our site said the post wasn't ready yet, I've just updated it with the link to that blog post!


Most gameboy games use banked memory, swapped in as 16k chunks. I'd wager a guess that the recording process monitors what chunks get banked in during the recorded gameplay, removes any bank that isn't used, and then restarts the demo if that removed data is accessed, as a failsafe.

The Raccoon demo behaves the way I might expect this to work: most potential player inputs allow you to reach the Raccoon, trigger his two text prompts, and cut the grass with Link's sword. But you can't enter any other screen, can't leave the second screen out the bottom, and can't perform most other actions; the moment you do, the game would need to run code that the quote never accessed, which triggers the failsafe. Even performing certain "safe" actions out of order occasionally fails, I'm guessing due to the RNG for stuff like leaf particles and whatnot.


We actually monitor each individual byte of memory accessed, then add some (configurable) padding around those bytes to make the quotes more durable.

You can see what that looks like in this visualization of the Racoon demo: https://tenmile.quote.games/quote-visualizer.html#drop=https...


That's extremely cool, thanks a bunch for the clarification! I'm working on an NES emulator that runs in the browser, and while it's not fit for purpose yet (lacks save states and recorded-input playback), this might just inspire those features. Seems like it should be a fun weekend project :)


Awesome! I'm really happy to hear that. I expect that you're going to have a LOT of fun with that project. Please let me know if you ever need another pair of eyes to help with your project, even if it doesn't involve adding support for Playable Quotes. As I recall, the Game Boy shares a lot of design features with the NES.

Oh, and regarding recorded input playback. That is something we haven't gotten working yet. Some of the details for that are in our blog post. The short version is that button presses can happen in the middle of a scan-line, which can make it really tricky to play back if the emulator wasn't designed with that in mind!


It doesn't sound like they include the entire ROM, only the parts necessary to play back the recording. If you "take control", the game may try to access parts of the ROM which are missing, which causes the quote to reset. This happens frequently with the Metroid II example - the Tetris one seems much more robust.


Exactly right! Part of a quote is a "ROM validity mask" which is checked on each memory access. When an "invalid" memory address is requested, we'll fire a callback which in this case just resets the game.

The durability of each quote depends on the actions taken while the quote was being made. In the quote of Metroid II, for example, many of the sprites were not recorded, so unless you do exactly what was done in the recording, you'll get a reset.

Here's a visualization of the Metroid II quote: https://tenmile.quote.games/quote-visualizer.html#drop=https...


> How to match "interview kind" to candidate? maybe ask them which they prefer, I guess?

I don't think it's a matter of candidate preference but rather position need.

Some companies need Computer Science / Engineer mindset to solve complex problems. Some companies need XYZ framework developers to deliver customer projects. FAANG companies usually need the Engineering role and developed an interview model to select those.

The problem is when companies that need developers apply the same interview mindset that Google does.


I recently switched jobs and got interviews in 5 big companies for mid/senior Software Engineering positions. All their processes were fairly similar: Two coding interviews, one system design interview and a conversation with the hiring manager. I might be biased because this process was beneficial for me, but here are my 2 cents on it:

It's easier to get a position in a stack you don't have professional experience with. You're tested for your ability to learn CS concepts, not stack specific knowledge. All 5 positions I interviewed to had different technologies. If I had to learn the specifics of each before applying, I would likely not get offered any positions.


Do they avoid all dynamic typed languages or only Python in particular?


All of them, but Python is the only one (apart from Javascript) that's approved for internal use.


Wouldn't a tracing app make more sense than having a rigorous border tests? It takes one miss-tested infected person to start a second wave in the country. So I would assume that the investment to make sure businesses provide the QR pays off testing everyone and risking another lockdown. I'm also not sure countries have the resources to enforce huge amounts of tests at the border.


> I'm also not sure countries have the resources to enforce huge amounts of tests at the border.

Right.

One issue with testing is that the only test you can do for masses in a border are basic health checks like temperature, but aside from all general issues with such kind of test (people are exhausted after travelling on a plane, having to do a test, ...) with COVID symptoms often only appear after one had been infectious for a while already, so one can pass by undetected and still spread.

Things like PCR tests take time and effort and have notable cost, which makes it hard to apply on a larger entrance port.

Either shut down completely (maybe based on origin region or recently visited regions) or be prepared to handle afterwards ... tracing contacts to identify potential carriers after ridentifying infected is a way which is at least a bit promising.


> Either shut down completely (maybe based on origin region or recently visited regions) or be prepared to handle afterwards

If you only shut down based on recently visited regions, you're likely to import cases anyways. With CoVID-19, it takes several weeks to identify an outbreak in a region (especially without extensive testing). By the time you shut down travel from a given region, you've probably already been importing cases for weeks.

The WHO has gotten a huge amount of flak for not calling for travel restrictions during this pandemic. But their recommendations were based on the ineffectiveness of travel restrictions,* according to previous research. They recommended screening passengers for symptoms, but also told countries to take measures to limit spread (like testing and contact tracing), on the assumption that countries would import cases.

* The WHO's recommendations were also based on the International Health Regulations, an international treaty that basically every country on Earth has joined. Most of the public is unaware of the IHR or what it says about travel restrictions, or of the history of the WHO (one of its founding goals was to stop countries from automatically shutting their borders whenever there was an outbreak, and instead to take rational, evidence-based measures).


At present NZ have very strict border restriction in place so they have already illuminated that border issue.


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

Search: