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

It's not so easy any more if you try to rotate the hypercube and have to visualize intersections with arbitrary hyperplanes. Already in 3 dimensions the intersection of a cube and a plane can be a non-regular polygon with 3-6 sides.

So apparently the Elvish spoken in the Peter Jackson movies is as far from the language imagined by Tolkien as the famous Portuguese-English phrasebook is from natural English. That's one childhood fantasy broken. What about the Klingon spoken in Star Trek movies?


The difference is that tlhIngan Hol was created to be spoken in movies and shows, not just to explore the parts of language development that were interesting to the creator. So usually, the tlhIngan Hol used in Star Trek movies and shows is about as good as it's going to get. Sometimes the actors have terrible pronunciation, and sometimes the writers make up names for people and places that aren't actually possible in tlhIngan Hol phonology and we have to just roll with it. And modern Star Trek shows have mostly done a better job than the classics, because they bother to have a Klingon language consultant on staff (I was gobsmacked when in ST: Starfleet Academy they used "qeylIS" and "Qo'noS" rather than "Kahless" and "Chronos") . But unlike Quenya or Sindarin, you can have an actual natural conversation in Klingon, as long as you avoid topics for which the Klingon Language Institute hasn't developed vocabulary.


> they bother to have a Klingon language consultant on staff

I realize there's a fair bit of money to be made, and also that many people are super invested in their favorite science fiction series, but the fact that "a Klingon language consultant" is a real thing still makes me think "wow!".


I'm currently reading a book written by the guy who created the Dothraki and High Valerian languages for Game of Thrones. He had to make what already existed in the books for, so there were a few things already set.

He was a consultant in the show as well as he was the one who had to get the actors to speak it well.

The book is called The Art of Language, and if you have an interest in conlangs, you should give it a try.


>Sometimes the actors have terrible pronunciation

I'm sure this could be easily dismissed as a regional (planetary?) accent.


If Ctrl sets bit 6 to 0, and Shift sets bit 5 to 1, the logical extension is to use Ctrl and Shift together to set the top bits to 01. Surely there must be a system somewhere that maps Ctrl-Shift-A to !, Ctrl-Shift-B to " etc.


It's more that shift flips that bit. Also I'd call them bit 0 and 1 and not 5 and 6 as 'normally' you count bits from the right (least significant to most significant). But there are lots of differences for 'normal' of course ('middle endian' :-P )


I guess in this system, you'd also type lowercase letters by holding shift?


There are plenty of old-school companies in Europe still working on moving to the cloud. Now that there is a burgeoning movement towards avoiding American cloud providers, Oxide could have an opportunity to sell "private cloud" servers instead. If they play their cards right, they could make significant inroads in European markets.


Companies who are still 'on-prem' are not necessary 'old school' and they don't just exist in Europe and many are not planning on moving everything to cloud and just haven't done it yet.


It's probably much more exciting to implement stuff like this when you can experiment with your own ideas to figure out the solution from scratch, compared to someone who sees it as a trivial exercise in signal processing, which they can't be bothered to implement.


Most likely his ancient astronaut theory was the inspiration for the entire Stargate franchise. Of course to make the movie believable they had to give Jackson a more academic background than von Däniken had.


Perhaps the most comparable 1990s system would be the SGI Origin 2800 (https://en.wikipedia.org/wiki/SGI_Origin_2000) with 128 processors in a single shared-memory multiprocessing system. The full system took up nine racks. The successor SGI Origin 3800 was available with up to 512 processors in 2002.


Interesting that they chose not to implement any method to detect whether a given iterator has been invalidated, even though the implementation would be easy. Seems it would be a useful extension, especially since any serious usage of this vector type would already be relying on functionality not provided by the standard vector class.


Umm... how did you manage to learn those hex codes? You just read a lot of machine code and it started to make sense?


I started out writing machine code without an assembler and so had to hand assemble a lot of stuff. After a while you end up just knowing the common codes and can write your program directly. This was also useful because it was possible to write or modify programs directly through an interface sometimes called a "front panel" where you could change individual bytes in memory.

Back in 1985 I did some hand-coding like this because I didn't have access to an assembler: https://blog.jgc.org/2013/04/how-i-coded-in-1985.html and I typed the whole program in through the keypad.


Same here. On/For the ZX Spectrum, looking up the hex-codes in the back of the orange book. At least it was spiral-bound to make it easier.

Later still I'd be patching binaries to ensure their serial-checks passed, on Intel.


I had a similar experience of writing machine code for Z80-based computers (Amstrad CPC) in the 90's, as a teenager. I didn't have an assembler so I manually converted mnemonics to hex. I still remember a few opcodes: CD for CALL, C9 for RET, 01 for LD BC, 21 for LD HL... Needless to say, the process was tedious and error-prone. Calculating relative jumps was a pain. So was keeping track of offsets and addresses of variables and jump targets. I tended to insert nops to avoid having to recalculate everything in case I needed to modify some code... I can't say I miss these times.

I'm quite sure none of my friends knew any CPU opcode; however, people usually remembered a few phone numbers.


The instruction sets were a lot simpler at the time. The 8080 instruction set listing is only a few pages, and some of that is instructions you rarely use like RRC and DAA. The operand fields are always in the same place. My own summary of the instruction set is at https://dercuano.github.io/notes/8080-opcode-map.html#addtoc....


It wasn't unusual in the 80s to type in machine code listings to a PC; I remember doing this as an 8-year-old from magazines, but I didn't understand any of the stuff I was typing in.


Typing from mags, getting interested in how the magic works by learning to use a hex monitor and trying out things. I was a kid so time enough.

I didn't know you could do it differently for years after I started.


I implemented a PDP-11 in 2007-10 and I can still read PDP-11 Octal


On MIPS you can simulate atomics with a load-linked/store-conditional (LL/SC) loop. If another processor has changed the same address between the LL and SC instructions, the SC fails to store the result and you have to retry. The underlying idea is that the processors would have to communicate memory accesses to each other via the cache coherence protocol anyway, so they can easily detect conflicting writes between the LL and SC instructions. It gets more complicated with out-of-order execution...

    loop: LL r2, (r1)
          ADD r3, r2, 1
          SC r3, (r1)
          BEQ r3, 0, loop
          NOP


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

Search: