Live data from Hacker News

αcτµαlly pδrταblε εxεcµταblε

justine.storage.googleapis.com

211–220 of 309 posts

Re: αcτµαlly pδrταblε εxεcµταblε

#211

I believe that scripts without a shebang line cannot be executed by execve. They will only run if the shell sees them before the kernel does. It's an annoying limitation of this approach and it wasn't clear to me whether this technique includes a workaround for this. Also the push for code signing everywhere is going to make this harder in the future as well. (I heard a rumor that the workaround to run unsigned execu…

Author here. I considered doing that. Then I learned about things like how MSVC 2017 would wrap the main() function of C programs with telemetry. The push for code signing, retpoline, aslr, etc. worries me too, from a software freedom standpoint, and the same goes for how difficult it's become to build native software from scratch, thanks to the shift from autotools to a whole new set of competitors like bazel, cmake, ninja, gin, etc. Secure boot is another red flag. By 2018 it almost felt like we were entering a world in which, for all practical purposes, we couldn't share native software easily in either source or binary forms. If PC platforms ever do manage to get consumers to accept the iPhone App Store restriction model, it'll likely stay that way. Best way to prevent that from happening is to use Actually Portable Executable. The more people who continue to depend directly on canonical long-standing stock platform abis, the more impossible it becomes for platforms to re-imagine them every few years. I'll take UNIX+WIN32 over things like XUL any day, since I don't want to fall into the JS dev trap of having to rewrite my app with each passing moon.

Also note that the execve() shebang thing is a one-time cost. The printf statement in the header will overwrite the first 64-bytes of the executable, the first time it's invoked, so it becomes a canonical ELF or Mach-O executable for subsequent invocations. The one-time cost is also cheap. The shell script only needs three system calls (open, write, and execve) to patch the binary appropriately. The generation of this header is also abstracted by the GNU ld script, which made it easy for me to encode the ELF header relocations as octal printf codes!

Re: αcτµαlly pδrταblε εxεcµταblε

#212
post #199
post #74

People... Please stop using foreign alphabets like that! It's a nightmare for those of us who know the alphabets. It took me a good 20 seconds to read the title. And it's magnitudes worse when someone uses cyrillic for instance and it's native to me.

It's not even that, why does this headline deserve to stick out from others on the HN front page? What's the next step, make your title bold or twenty lines long for an unfair click advantage? > 𝐀𝐜𝐭𝐮𝐚𝐥𝐥𝐲 𝐩𝐨𝐫𝐭𝐚𝐛𝐥𝐞 𝐞𝐱𝐞𝐜𝐮𝐭𝐚𝐛𝐥𝐞 I'd rather see submissions stand out for their content.

I guess for HN OP should have refactored the title to be "Actually Portable Executable" but I thought the whole point of the title was that it's something we can interpret that has been "written in something else" which is fitting given what the article discusses? It's a direct copy/paste from the source and I don't think OP was trying to stand out in any unfair way.

Re: αcτµαlly pδrταblε εxεcµταblε

#213
post #206
post #152

It's a very cool hack and technically interesting, but I can't say that I share the author's "serious" rationale: >So I think it's really the best of times to be optimistic about systems engineering. We agree more on sharing things in common than we ever have. There are still outliers like the plans coming out of Apple and Microsoft we hear about in the news, where they've sought to pivot PCs towards ARM. [...] >If a…

Author here. The intention behind the post is actually very simple. I want to be able to write stdio socket programs that run at native speed, and share them with my friends online. I don't want to have conversations like here's how you install steel bank common lisp and compile tensorflow and remove the toolbar that oracle bundled in the installer. I'm also not concerned about running software on telephones since do…

I wish more people had this mentality. Thanks for taking the time to share, both the content of the post, and posting here about your rationale.

Re: αcτµαlly pδrταblε εxεcµταblε

#214
post #199
post #74

People... Please stop using foreign alphabets like that! It's a nightmare for those of us who know the alphabets. It took me a good 20 seconds to read the title. And it's magnitudes worse when someone uses cyrillic for instance and it's native to me.

It's not even that, why does this headline deserve to stick out from others on the HN front page? What's the next step, make your title bold or twenty lines long for an unfair click advantage? > 𝐀𝐜𝐭𝐮𝐚𝐥𝐥𝐲 𝐩𝐨𝐫𝐭𝐚𝐛𝐥𝐞 𝐞𝐱𝐞𝐜𝐮𝐭𝐚𝐛𝐥𝐞 I'd rather see submissions stand out for their content.

FWIW, the title stands out, but at least for me it's not working in the favor of the article. Unless it was for the content ("actually portable executable"), I would actually stay away from articles with such strange fonts.

Re: αcτµαlly pδrταblε εxεcµταblε

#215
post #74

People... Please stop using foreign alphabets like that! It's a nightmare for those of us who know the alphabets. It took me a good 20 seconds to read the title. And it's magnitudes worse when someone uses cyrillic for instance and it's native to me.

It's a bad thing to do for attention, like hacker elite speak using numbers would be, but is that why the author did that? Did you read the article? It's about a file that can be read by all Unix, Windows, and MacOS. Part of how that happens is one OS mistakes some other text for executable code while the other OS doesn't.

Therefore the title of the article written in multiple language letters and somewhat readable in one language despite that is a good introduction.

Re: αcτµαlly pδrταblε εxεcµταblε

#216
post #74

People... Please stop using foreign alphabets like that! It's a nightmare for those of us who know the alphabets. It took me a good 20 seconds to read the title. And it's magnitudes worse when someone uses cyrillic for instance and it's native to me.

Really? You didn't find it clever enough to muster a little smile?

The things that bother some people.

Re: αcτµαlly pδrταblε εxεcµταblε

#217

Earlier quoted context omitted.

Not GP, but I'll take a crack at this. The stupid game would be making your article title not an immediately obvious summary of your article. The stupid prize would be this HN thread now that is only discussing the title, instead of the actual article.

Which, I would argue, says at least as much about the HN crowd as it does about whoever posted the article under this specific title. EDIT: more specifically .. it's rather ironic how judgmental (and honestly: pretty darn pretentiously) so many here instantly get, yet how there is this implied assumption that the collective wisdom and judgement of this community is above criticism itself, somehow. It might say far mo…

It's probably more virtue signalling than actually being upset. Complaining is a way for the complainer to show off they know the actual pronunciations.

Re: αcτµαlly pδrταblε εxεcµταblε

#218
post #69
post #66

> the x86_64 patents should expire this year. Apple could have probably made their own x86 chip without paying royalties. The free/open architecture that we've always dreamed of, might turn out to be the one we're already using. I've never seen anyone mention this before. Is this really in the cards? Or are all the extensions patented as well, so that a hypothetical Apple (or whoever else takes it on) x86 wouldn't be…

https://www.blopeur.com/2020/04/08/Intel-x86-patent-never-en...

> Transmeta tried it and failed

Author has clearly not heard about NexGen! They implemented a RISC architecture that code morphed x86 i586 design. They were then bought out by AMD who shortly thereafter adopted the design for their own architecture. Then Intel had no choice but to adopt NexGen architecture as well lool. We all use NexGen Architecture now. The most famous microprocessor no one's heard of. I only know because NexGen was based in Milpitas and that's where I live, so Milpitas Architecture is like hometown pride.

As for patents, Xed is tiny (only ~4kb) and it allows us to distinguish the which instructions belong to which microarchitectures, e.g. k8, sse3, sse4, avx. That gives us a clear accurate picture of the intellectual property rolloff, thereby enabling a fabless chip or emulator to simply ignore the encumbered parts of the encoding space. The tradeoff is you can't patent troll Intel (due to Xed being licensed Apache 2.0) and I think that's fair.

Re: αcτµαlly pδrταblε εxεcµταblε

#220
post #206
post #152

It's a very cool hack and technically interesting, but I can't say that I share the author's "serious" rationale: >So I think it's really the best of times to be optimistic about systems engineering. We agree more on sharing things in common than we ever have. There are still outliers like the plans coming out of Apple and Microsoft we hear about in the news, where they've sought to pivot PCs towards ARM. [...] >If a…

Author here. The intention behind the post is actually very simple. I want to be able to write stdio socket programs that run at native speed, and share them with my friends online. I don't want to have conversations like here's how you install steel bank common lisp and compile tensorflow and remove the toolbar that oracle bundled in the installer. I'm also not concerned about running software on telephones since do…

> I'm also not concerned about running software on telephones since doing so requires obtaining authorization from Google

That's not actually true. Fortnite has an APK download many users download straight from the internet and run on their Android phones for example. There's no requirement to run Google authorized software as long as you are willing to check a checkbox in the phone settings.

Post reply on HN