* Posts by Michael Wojcik

12274 publicly visible posts • joined 21 Dec 2007

Intel ships crypto-mining ASIC at the worst possible time

Michael Wojcik Silver badge

Probably not. Most users choose passwords that are too easy to crack, so even for salted cryptographic hashes the pre-image can be found for relatively small numbers of accounts quickly enough that it's not worth using specialized hardware. Just hashcat running on a vanilla PC is often plenty fast.

Good password verifiers use Argon2 (probably the best choice, when used with appropriate parameters), bcrypt, scrypt, or PBKDF2. An ASIC designed for Bitcoin-blockchain-hashing won't support any of those, and Argon2 in particular is memory-hard and so not amenable to compute-based hardware acceleration.

So the password-cracking use cases where a generic SHA1 or SHA2 hardware engine is useful are limited.

Michael Wojcik Silver badge

Re: Crypto is toast?

crypto is not the same thing as "digital currency"

For one thing, most of cryptography has nothing to do with money.

But if we're talking specifically about cryptocurrency – then, yes, you can have purely virtual currencies that don't use any of the distinguishing features of cryptocurrencies, such as (half-assed versions of) Merkle-graph ledgers or proof-of-X consensus mechanisms. Indeed, we pretty much already have those, except for the relatively small amount of exchange still conducted with cash.

I sure could be wrong about CBCDs. Maybe they're the greatest thing since sliced bread.

They're easier to trace than cash is. That makes them pretty great for surveillance. I don't believe I've seen any other argument supporting them.

Michael Wojcik Silver badge

Re: The sooner, the better

True. Crony capitalism is likely roughly contemporaneous with the invention of the second capitalist.

On the other hand, much of the crony capitalism of yore now looks rather cheap and cheerful. Remember when Teapot Dome led to a US cabinet member going to prison? You don't get that sort of backlash these days.

Firefox kills another tracking cookie workaround

Michael Wojcik Silver badge

It breaks more than "some hacks". The query string is part of the HTTP specification, and stripping it will break some conforming sites. For some people that may be an acceptable trade-off. It isn't for me, not least because I have software I've written which makes use of query strings, and I'm not inclined to rewrite it to accommodate a user agent deliberately violating the specification.

But I haven't used Firefox since they broke my extensions, so I don't particularly care one way or the other. And since this is optional and off by default, I don't much care if Firebox gives it to the users and lets them make their own decision.

OpenSea phishing threat after rogue insider leaks customer email addresses

Michael Wojcik Silver badge

If only

Skepticism is healthy, here.

Yes, well, good luck with that. We're talking about a group of users self-selected for a lack of it.

Open source body quits GitHub, urges you to do the same

Michael Wojcik Silver badge

Re: Alternatively

It doesn't even need to be git. That's designed for a project on the scale of the Linux kernel, which relatively few of us are working at.

And more importantly, it's designed for a truly distributed use case. Most of the projects using GitHub are using it as a single central server, which is not where git has any significant advantages.

It'd make more sense to be using SourceForge and Subversion for that use case. Subversion's model is easier to understand (the vast majority of git users seem to have no idea of what its internal representation actually is) and better suited to the central-repository use case.

Most projects seem to be using git because most projects are using git.

Old-school editor Vim hits version 9 with faster scripting language

Michael Wojcik Silver badge

Re: Others preferred

vim is my editor for all text-based files on all the platforms I work on that support it. (IBM mysteriously have not yet added vim to ISPF yet.)

I've been a professional software developer since '88, and had to use a lot of editors and IDEs before and since. I'm not saying I'd recommend anything in the vi family to anyone, but I've used vi, then vim (and gvim on Windows, due to some sort of occasional issue with running Windows vim under Cygwin bash that I can't be bothered to sort out) for too long to be inclined to switch to anything else.

Also, I hate every IDE I've ever used; none of them come close to the power of shell + my editor of choice + my debugger of choice + POSIX text tools + a decent build system and so forth. I really do not see the appeal of having a lot of not-really-very-good tools baked into the build system, when much better ones are available right there on the command line, and are trivially scriptable.

NSO claims 'more than 5' EU states use Pegasus spyware

Michael Wojcik Silver badge

Re: Sell strike aircraft not spyware

Tu quoque fallacy. One bad act does not excuse another.

Michael Wojcik Silver badge

Certainly no one who's paying any attention believe NSO Group are the only smartphone-APT vendors. Others such as Cytrox and Candiru have been exposed; some of them operate in the open. NSO have just become the most notorious thanks to a series of (unfortunate, for them) high-profile cases and the Pegasus Project exposé.

They're bad actors, and I'm happy to see them squirm; I'd be happier yet if they were shut down. But they're far from the only ones.

Michael Wojcik Silver badge

I'm curious to know what the score is for the USA in 2022.

Michael Wojcik Silver badge

Re: I don't understand

Different exploits for different use cases.

The NSA exploits leaked by Shadow Brokers were very useful to many people, and remain useful in many cases because lots of folks never update their systems. But they don't include zero-click APTs for current Android and iOS devices.

Pegasus really is very well-done malware, and then there are all the services provided by NSO Group once it's installed – you don't need your own penetration team to make use of it. You can buy similar capabilities from other top-shelf malware vendors, but there's nothing equivalent available for free.

Michael Wojcik Silver badge

The vulnerabilities exploited by Pegasus are more than adequately explained by normal programming errors. Given the state of software development, there's no need to go to the expense and risk of planting agents within the organizations doing the development. Those resources can be put to better use elsewhere.

Michael Wojcik Silver badge

Re: Hackers of the World Unite

Yes, there are a number of commentators here who seem to believe Pegasus is a static malware package that uses a single exploit each for Android and iOS. It's not. It's an evolving software product, just like other ISVs produce, and it makes use of multiple exploits that change over time.

As with all software security, this is a game of whack-a-mole.

Totaled Tesla goes up in flames three weeks after crash

Michael Wojcik Silver badge

Re: "after two Walmart stores equipped with the panels caught fire"

Didn't the whistleblower's report say the installers were covering non-functioning cells with black electrical tape, leading to overheating? I know, I should look this up before posting, but, you know, Internet.

Michael Wojcik Silver badge

Re: So when one of these things is junked ...

OK, OK, so an EV murdered your parents in front of you when you were a child and you've dedicated your life and your considerable froth-posting skills to unending vengeance. We get it.

Michael Wojcik Silver badge

Re: Deja vu again

I'm not a fan of EVs myself, but, yeah, it's not like ICE vehicles aren't full of combustible and flammable materials, hazardous waste, etc. Complex machines that have to perform a number of functions generally will be.

The spontaneous-fire issue with EV batteries is newsworthy mostly because it's novel. I have a friend who had a towing service and car lot on one of his commercial properties for several years, and while there was never a major fire there, that was at least partly luck. You get gasoline spills and whatnot at a wrecking yard. And water isn't great for putting out gasoline fires, either.

Hell, remember magnesium-block engines?

ZTE intros 'cloud laptop' that draws just five watts of power

Michael Wojcik Silver badge

Re: Yay, we have finally reinvented the terminal

Yeah. And X11 was used properly in the days of X terminals, with mostly protocol messages flowing between the client and server, and let the ddx layer render. Very little of this QT-style "I'll do my own rendering into a bitmap and shove it over to the server" crap.

So you didn't need nearly as much network bandwidth. And since the primitives could compress a lot of information and rendering was slow compared to today's hardware, latency was less noticeable, too. If an xterm sent 800 characters in a single XDrawString to a server, it would have a little while before the next message needed to get there.

Oh, well.

SpaceX: 5G expansion could kill US Starlink broadband

Michael Wojcik Silver badge

Re: 56k

I remember using BBSes over 300-baud modems well, but that's partly because we use Teams at work, and it simulates the experience with great fidelity.

Michael Wojcik Silver badge

Re: Don't Forget

He wrote NINE HUNDRED in BLOCK CAPITALS. What MORE ANALYSIS do you NEED?

Michael Wojcik Silver badge

Re: Don't Forget

Indeed, he should be more like me. I hate Starlink and Musk, but I also hate 5G, so I'm neutral on this one.

DMCA can't be used to sidestep First Amendment, court rules

Michael Wojcik Silver badge

"hipster slang"? There's a big disparity between the demographics of the Occupy movement (which coined the "one-percenter" label) and the hipster subculture. The former was dominated by progressives, a significant portion of them older (about 20% over 45, according to the survey by Cordero-Guzman & Schultz), and mostly lower-income (about 85% under $75K/yr). Hipsterism is dominated by upper-middle-class and affluent teens and young adults, and is culturally retrogressive, with a postmodern iconography scavenged indiscriminately from the real and imagined past. There's little ground for calling "one-percenter" a "hipster" term.

There's no reason for a judge to avoid using vernacular terms to describe a defendant's state of mind when they express the appropriate idea; in fact, when they're terms that the defendant might use, they clarify the opinion by providing relevant connotations. Using them would be very weak evidence of bias indeed, and frankly I'm not sure how you would draw that conclusion.

Legal writing is often so stogy that it obscures its own meaning. The movement for more use of plain language in legal writing is of benefit to us all. It certainly shouldn't be obstructed by unwarranted shibboleths like this.

Linus Torvalds says Rust is coming to the Linux kernel 'real soon now'

Michael Wojcik Silver badge

Re: Seriously, are programmers that bad?

I agree. I've been writing code in C since 1988, before the language was standardized. I had the original K&R book mostly memorized, and most of the C90 standard memorized; I reviewed the changes to the language in C94 (which admittedly wasn't much), C99, and C11. I've read the Rationales that accompany the standards. I've read (and re-read) a number of books on C development, such as van der Linden's Expert C Programming and Jones' The New C Standard.

I've written, tested, debugged, and maintained hundreds of thousands of lines of C, my own and other people's, most of it system software such as middleware and application engines. I've done device drivers, graphics kernels, compilers, debuggers. I've worked on embedded systems, micros, minis, mainframes. C is still the language I work in most often.

Software quality is one of my research areas; security is another. These are things of considerable concern to me. I do extensive refactoring and prefactoring of code to wrap the (very primitive) C standard library in higher-level abstractions and simplify implementing cross-cutting aspects.

I still make mistakes that the Rust ownership model and borrow checker would catch at compile time. I know that because I've written a little Rust and I'm gradually doing more of it.

I've worked with a great many programming languages, from pretty much all the families, from assembler (on a dozen architectures) through 3GLs, functional, OO, and multiparadigm languages. I've used scripting languages and data-flow languages and constraint languages and lots of DSLs.

Rust is pretty good. It makes a substantial contribution to improving software quality. A very disciplined C developer can indeed write C which is much, much better than run-of-the-mill C code; but automating the detection of significant classes of issues at compilation time is still better.

Michael Wojcik Silver badge

Re: Error Types

Velocity is a vector, but it still has units, so the Metric-versus-English problem still applies. OP didn't say "velocity" in the example was a scalar type; it could have been a vector (in the hypothetical program).

Original Acorn Arthur project lead explains RISC OS genesis

Michael Wojcik Silver badge

Re: Gold

Agreed. I never used an Acorn machine – there weren't that many of them this side of the Atlantic – but it's always good to read these accounts.

Bipolar transistors made from organic materials for the first time

Michael Wojcik Silver badge

Re: Gatekeeping

And it's not like hobbyists don't have all sorts of ways to explore and tinker and make things. Just look at Hackaday or similar sites to see all the great things people are doing on their own.

If someone wants to play with custom chips, there are FPGAs, which will suit many purposes. I mean, most folks tinkering in the shed aren't looking to build thousands of commercial-grade CPUs to sell, so the performance and gate counts of off-the-shelf FPGAs would probably be fine for whatever experiments they want to do. Hell, simulators are probably fine for most of it. People have implemented SPARC-64 on FPGAs, for example.

It's really not clear what the hell OP was thinking people might do at home, but looking at the vast array of projects documented on "maker" sites like Hackaday I don't think individuals or even small teams would be able to be much more ambitious even with access to a fab.

Mega's unbreakable encryption proves to be anything but

Michael Wojcik Silver badge

Re: repeat after me

It's not always in key management. People make plenty of other mistakes, too. I note of the attacks listed in the article, none appear to be key-management vulnerabilities as such. They have a couple of oracles that leak key material, which is a protocol implementation error; they have integrity violations, which is separate from keying; and they appear to have a vulnerability which escalates the key-recovery attacks which may be due to the use of ECB mode. (I haven't read the paper and it isn't clear from the article.)

There are a great many mistakes people make. Many of them have to do with key generation, key hygiene, and other keying issues; but many do not.

Michael Wojcik Silver badge

Re: Weird timing

It's quite likely various groups have examined it and found these or other vulnerabilities, and kept them to themselves. You know there's a whole industry around selling vulnerabilities and exploits that haven't been published, right? There's a good free RAND study on that business.

And researchers research the things that attract their attention. It's not like the IT-security community is rigorously organized. Someone says, hmm, today I'll poke at this thing. Read researcher blogs if you want to see how it generally goes. Some people (e.g. SANS researchers) typically chase attacks that come into their honeypots; some track down malware and analyze it (Marcus Hutchins does a bunch of this, as does someone who posts to Full Disclosure as "malvuln"); some go after particular commercial targets (e.g. Stefan Kanthak and Microsoft, particularly software installers); some follow what's hot in the news (Graham Cluley, say, or Paul Ducklin); some are more interested in people (Brian Krebs) or policy (Bruce Schneier).

So this may just be the first time a prominent research organization has had some of its people publish research on Mega. Or maybe it's happened before and you and I just didn't notice. It's a big industry.

Michael Wojcik Silver badge

Re: Puzzled Old Fool Wonders About Permanently Stored Keys.....

Did I miss something?

An opportunity to learn how Diffie-Hellman (which should really be "Diffie-Hellman-Markle", as Diffie pointed out some years ago, and arguably should be called "Diffie-Hellman-Markle-but-only-because-Ellis-Cocks-Williamson-weren't-allowed-to-publish") key exchange works without UNNECESSARY SHOUTING.

OP's post was wrong. That's the other thing you missed.

Encrypted data requires a key to decrypt it; that's what "encryption" means. Can you replace the actual key data with a procedure to generate it? Sure. Does that gain you anything, from a technical or legal perspective? It does not. By Kerckhoff's Principle, whatever is secret is the key; making the key fancy doesn't mean it stops being a key. And laws are rarely stymied by someone being a clever dick. A judge isn't going to say "oh well done, you've got us there!". He'll just throw you in the pen for contempt.

DARPA study challenges assumptions about distributed ledger (and Bitcoin) security

Michael Wojcik Silver badge

Re: What exactly is new here?

It's also worth noting that the issues mentioned in the article – I haven't read the DARPA report – have all been documented in published research before. There were papers on Bitcoin network partitioning in Colyer's Morning Paper when that was still active, for example.

But reproduction and confirmation of results is useful, even if it isn't new to people who have been following the research.

Graphical desktop system X Window just turned 38

Michael Wojcik Silver badge

Re: Back in the old days

I was writing X11 applications, window managers, libraries, and extensions in the late 1980s / early 1990s, and I didn't need a "wall" of documentation. There was book 0, the protocol (which was also the specification); book 1 for the libx11 API; and book 2 for the major widget sets, if memory serves. It wasn't something you'd slip into your hip pocket but it wasn't SNA, either.

Michael Wojcik Silver badge

Re: What I like about X

Some X11 servers came with the DPS X extension built in. AIX's did, for one. (There aren't any AIX workstations now, I believe, just headless servers; so "AIX X11 server" is a thing of the past.)

I remember doing a bit of DPS stuff under X11 on AIX 3 back in the day.

A miserable work week spent toiling inside 'the metaverse'

Michael Wojcik Silver badge

A virtual what now?

spent in headsets and a virtual "office"

Initially misread that as "a virtual 'orifice'". I suspect that's both a better description of the experience, and a more plausible use case.

Michael Wojcik Silver badge

Re: Usability, frustration, anxiety, visual fatigue, motion sickness

The point of Metaverse is to make money for Meta. Anything else is a secondary consideration.

(As for VR meetings – ugh.)

Michael Wojcik Silver badge

Re: So in conclusion

Of course not. For a bicycle you want a CLI.

Michael Wojcik Silver badge

Re: Eye strain and nausea

I've found New Mexico sunshine and no headset at all works just fine for me.

Michael Wojcik Silver badge

Re: Disembodied business casual

When I were a lad, we had to imagine gnawing our colleagues' limbs off for our dismemberment fantasies. And they hadn't washed, either.

Cloudflare explains how it managed to break the internet

Michael Wojcik Silver badge

Re: CDNs are evil!

Well, yeah. And the web was ruined by Javascript (and arguably by CSS, and even graphical browsers, though those are useful for viewing useful graphic assets like charts and plots). And the web ruined Usenet. And really with a few improvements to Gopher or WAIS we could have dispensed with the web in the first place. And GUIs ruined UIs. And so on.

As Nick said in Metropolitan, I'm not entirely joking.

But, curmudgeonly as I am, even I make use of some online services that wouldn't be feasible without CDNs or some other edge-delivery mechanism. (Someone else mentioned IPFS, but I'm dubious.) Could I live without them? Absolutely. Would I miss them if they vanished? Eh, a bit, but to be honest I'd miss good old fashioned paper books far more if I lost those.

Still, I can't pretend I get no value from CDNs. And I suspect that's true for the vast majority of people who do anything online.

Michael Wojcik Silver badge

Cloudflare is used for things that aren't exclusively web-related, such as DNS. Per comments above.

But, yeah, if you weren't caught out by using Cloudflare-backed DNS, you probably wouldn't have observed too many issues with your SSH connections or whatever.

I missed the outage, thanks to my time zone and working hours, but it probably wouldn't have troubled me too much since I'd still have the corporate network and there's no shortage of things I can be doing.

Michael Wojcik Silver badge

I have mixed feelings about Cloudflare, but they are generally quite good about explaining what went wrong. They also publish a lot of good technical content in general.

Mark Boost, on the other hand, sounds like a spoiled brat. "Everything isn't perfect! My gratification isn't immediate! How dare you!"

I've been using the public Internet since a few years after Flag Day, and I've managed to avoid panicking when I can't "access the online services that are part of the fabric of all our lives". Sometimes there are, y'know, network interruptions. Or power interruptions. Grow the fuck up, Mark.

Investors start betting against Bitcoin with short-trade products

Michael Wojcik Silver badge

Technically, though, OP is correct. That's not "intrinsic value". It's exchange value.

The problems with the cryptocurrency fans is, first, they're hoping the exchange value of the particular horses they've picked in a very crowded race for new, unregulated, volatile exchange media, many of them with various other unfortunate properties, will outperform the established top-down (i.e. government-issued) currencies.1 And sometimes they do, for the short term. But it's a highly risky position to take – and the short term is the only term we've had with cryptocurrency. No one knows what that market will look like in ten years.

And second, cryptocurrency only succeeds as a medium of exchange (and thereby has exchange value) if you can actually exchange it for something with use value. Sometimes you can, apparently; that's what made the Silk Road successful. But I sure wouldn't want to depend on it.

So government currencies have superior exchange value to cryptocurrencies now, and they may always (with the possible exception of government-issued cryptocurrencies, which, ugh, I can't even). But they're not different in the type of value they have, just in the amount and liquidity of that value.

1Of course cryptocurrencies aren't the only example of bottom-up consensus currencies, even in the modern era. There are plenty of groups of people in places like Papua New Guinea using those, and for a while in Somalian markets the merchants were circulating their own notes. But historically bottom-up currencies have only succeeded in fairly small markets where there was a strong in-group identity and widely-observed mores against exploiting them.

Michael Wojcik Silver badge

Re: Bitcoin is still "worth" about £20,000

I wouldn't pay $25 for all the BTC in the world

Really? I would.

I mean, it'd be a great line to drop at parties. "What do I do? Oh, I work in computers. Also I own all the Bitcoin. Yup, bought it all, shut the whole thing down. Just a hobby, really."

Or: "Yeah, I remember when everyone was talking about Bitcoin a few years back. Whatever happened to that?" "Well, funny you should ask..."

Also, by definition "all the BTC" would be an NFT, and $25 is pretty cheap for one of those. "Sure, I dabbled in the NFT fad, just for a lark. Only spent a few dollars on it. Got all the Bitcoins."

It's the sort of thing Hat from XKCD might do.

Google, EFF back Cloudflare in row over pirate streams

Michael Wojcik Silver badge

Someone's being a lawyer on the Internet!

Info on 1.5m people stolen from US bank in cyberattack

Michael Wojcik Silver badge

Re: "it was compromised between December and April 2021"

It was actually some time between December 1970 and April 2021. Maybe multiple times. Maybe after April too.

Michael Wojcik Silver badge

Re: Identity theft protection services

Also, anyone who hasn't put a credit freeze with each of the big three credit reporting agencies (Equifax, Experian, TransUnion) should.

Anyone in the US, anyway. By law, freezing at the big three is now free. Just do it. Do it for your underage children, too; if they have SSNs, they're vulnerable.

And then freeze at as many of the smaller agencies as you can. There are dozens of them, so good luck. Innovis and Chex are a good place to start. Here's one article which lists some of them. I've only skimmed it so I can't vouch for its quality.

Michael Wojcik Silver badge

We've received free "identity theft protection" dozens of times, thanks to the regular parade of breaches. It's never notified us of anything. On the other hand, we've never discovered evidence of successful identity theft – just the occasional compromised debit or credit card details (which has been a widespread problem in the US thanks to foot-dragging on adopting EMV).

Usually what it means is we can expect a flurry of offers to start paying for the "service" in a few months.

A great day for non-robots: iOS 16 will bypass CAPTCHAs

Michael Wojcik Silver badge

In what context have you seen CAPTCHAs used as a security mechanism to prevent malware from impersonating you?

Every use I've ever seen of the damn things is an attempt to block bots from 1) creating accounts or 2) posting fake UGC.

CAPTCHAs were a bad idea when they were invented and have gotten steadily worse, because of course they degrade into problems which are easier for machines than they are for people. Anything that helps get rid of them is fine with me. (I am not an Apple user. Haven't liked anything they've done since the //e, and don't care for the corporate attitude.)

Michael Wojcik Silver badge

I just tell 'em to go back to Vega.

Michael Wojcik Silver badge

Many of my friends are Apple users, and only a few are lumberjacks.

For a few days earlier this year, rogue GitHub apps could have hijacked countless repos

Michael Wojcik Silver badge

Re: Am I glad that I'm not in this circus

It doesn't entirely "get rid of the problem".

Using a private code repository that's not shared with people and organizations outside yours reduces the attack surface and risk quite a bit, yes.

Using an in-house code repository that's not accessible on the public Internet reduces it further. But as we know, the "egg model" (hard network perimeter, soft inside) fails all over the place, because some attackers do get in, and then they pivot and elevate. So security is improved but there are still serious vulnerabilities.

Using a code repository that is just a code repository and not some glorified all-in-one mess of repository and CI/CD system and code-review tool and problem-ticketing tool and probably there's a flight simulator in there somewhere, like GitHub Enterprise, considerably reduces the attack surface and further improves security.

Using a code repository where some developer hasn't broken the permissions mechanism with a random change that wasn't caught until an external security researcher looked at it improves security.

You can never get to absolutely secure – there's no such thing. But, yeah, not using public fucking GitHub certainly improves the situation.

Seventy-three million developers can be wrong.

Unbelievably clever: Redbean 2 – a single-file web server that runs on six OSes

Michael Wojcik Silver badge

Re: Portable Executable Format

the APE format leverages that by embedding a binary structure that can alternately be interpreted as a script loader or as an executable container

Yes, plus some other goodies.

Basically, PEs are recognized on Windows by the magic number in the first two bytes, which happens to be "MZ" (for good historical reasons) in ASCII. There are similar magic numbers for various binary executable formats used by many other OSes. (Claiming "any x86 OS" is clearly a little broad, because who knows how many people have implemented their own experimental OSes with crazy formats and conventions.)

Bourne shell scripts have to contain legal Bourne shell commands, but don't have to start with anything in particular, because when they were introduced the interpreter ("hash-bang") line concept hadn't been introduced.

So, when a POSIX OS is asked to execute a file, it sees if it starts with the magic number of any of the executable formats it knows how to run. If not, it has to try to run it as a Bourne shell script. (It can't really apply any heuristics except that if the first byte is binary 0, it can't be a valid Bourne shell script. Otherwise, in POSIX land, even a 2-byte file could be a valid script, because you can use any character other than NUL or / in a filename, and the script might just execute another file. But I digress.)

So, I can start a Bourne shell script with "MZ" and it looks like a PE to Windows. If I write that script carefully, I can actually make it both a valid Bourne script and a valid PE, because they're both pretty forgiving. In the case of APE, the script starts off by turning that MZ into the beginning of a variable name, as you can see if you follow the link in the article.

Then, if it's running as a PE, great; you just stick in the various PE sections after redirecting around the script stuff. If it's running as a script, it can do various things to get itself re-executed as the proper sort of file.

And then there's the web-app zip trick, which is one of the first tricks you learn when writing polyglots, and one that was used by Phil Karn's original PKZip (in the pksfx utility). A zip file has its metadata at the end, and the directory in the metadata contains offsets to the compressed contents. So anything can come before the zip data; decompressors will start at the end of the file and then jump into the middle of it. So you just take your executable and append the zip data to it, and you have both an executable and a zip archive.

I do this occasionally with a PNG image and a zip archive. The PNG image is of text that reads "This is a zip file. Rename it with a zip extension and open it again." It's handy for sending zips to people whose email clients block them, for example.