6,990 karma · joined January 17, 2009
The SysV ABI is still used to this day, although the specification itself has withered until only two chapters remain[1], and CPU vendors still publish "System V ABI appendix" documents for platforms that System V's authors could not have dreamed of[2].
C as an interface is going to be around for a very long time, like POSIX and OpenGL and the SysV ABI standard. C as an actual language might not - it might wind up as a set of variable types that other languages can map into and out of, like what happened to the rest of the SysV ABI specification.
[1]: https://www.sco.com/developers/gabi/latest/contents.html
foo(x)
...while the function that calculates a batch of values looks like: [foo(x) for x in somelist]
Meanwhile in Lil (and I'd guess APL and K), the one function works in both situations.You can get some nice speed-ups in Python by pushing iteration into a list comprehension, because it's more specialised in the byte-code than a for loop. It's a lot easier in Lil, since it often Just Works.
127 * sin (range sample_rate)*2*pi*freq_hz/sample_rate
This produces one second audio-clip of a "freq_hz" sine-wave, at the given sample-rate. The "range sample_rate" produces a list of integers from 0 to sample_rate, and all the other multiplications and divisions vectorise to apply to every item in the list. Even the "sin" operator transparently works on a list.It also took me a little while to get used to the operator precedence (always right-to-left, no matter what), but it does indeed make expressions (and the compiler) simpler. The other thing that impresses me is being able to say:
maximum:if x > y x else y end
...without grouping symbols around the condition or the statements. Well, I guess "end" is kind of a grouping symbol, but the language feels very clean and concise and fluent.After Stunts, DSI got bought by Electronic Arts. They were briefly "Pioneer Productions" (or at least, people from DSI were part of that group within EA) and made the original Need For Speed, but eventually became just a part of EA Canada.
Would you like me to register you a nicer domain name?
No, thank you. Even if you can find one (most of them seem to have been registered already, by people who didn't ask whether we actually wanted it before they applied), we're happy with the PuTTY web site being exactly where it is. It's not hard to find (just type ‘putty’ into google.com and we're the first link returned), and we don't believe the administrative hassle of moving the site would be worth the benefit.
I wonder if they changed their mind because Google ceased to be a reliable way to find them.
I agree it would be nice to have an "untransformed" view of the screen; I suspect the site might have been designed with the expectation of a high-DPI screen.
And the emulator tracks whether you've done the things mentioned in the article, like open a particular control panel or tried a particular menu option.
This is amazing.
For game consoles, we've had emulators like Nestopia and bsnes and Dolphin and Duckstation for years.
For PCs, virtualisation systems like VMWare and VirtualBox have covered most people's needs, and recently there's been high-fidelity emulators like 86Box and MartyPC.
The C64 has VICE, the Amiga has WinUAE, even the Apple II has had high-quality emulators like KEGS and AppleWin, but the Mac has mostly been limited to high-level and approximate emulators like Basilisk II.
I think I understand why they do that (if you send someone a message on Signal, they try very hard to make it difficult for anyone but the recipient to read it, whether that's by intercepting traffic or reading data stored on your device, or rummaging through your backups) but it does make it a bit of a pain.
https://peps.python.org/pep-3107/
MyPy was one such tool, and I think it had conventions for adding type annotations in comments, in places where Python didn't yet support them (such as variable assignment), but I'm pretty sure it was never a TypeScript-style pre-processor - type-annotated programs always ran directly in the unmodified CPython interpreter.
In an 2014 interview¹ with the Computer History Museum, Bill Mensch said:
> We think of ARM as our prodigal son. Got to do what they got to do, and it's not something I want to do, but I'm proud of them. They started with my technology, and I wish them well.
¹: https://archive.computerhistory.org/resources/access/text/20...
English-speaking countries generally don't do that. For a long time people had only first-names, and disambiguated with nicknames or patronymic names where necessary. Eventually as society got larger and more complicated, governments started legally requiring people to have surnames, and they more or less stuck. If you meet a John Williamson today, his father probably isn't called William, but he's probably descended from a William who lived in the late medieval/early modern era.
This property is not true of UTF-8 - if you get a byte-string with bytes between 0x80 and 0xFF, it might be UTF-8, or it might be one of a bunch of other encodings, you need to do a more involved check to be sure.
Granted, the presence of a value between 0xD800 and 0xDFFF does not guarantee that the text is UTF-16, that's why this "WTF-8" encoding exists. But confusion would be a whole lot more likely if the U+D800-U+DFFF range were not reserved.
The alternative to "a new version of Unicode every year" is not stasis, but rather new and incompatible encoding schemes frothing like JavaScript frameworks.