Translating technological terms throws up some peculiar challenges - <AUTHOR> http://www.economist.com/news/international/21620221-translating-technological-terms-throws-up-some-peculiar-challenges-cookies-caches-and-cows

<comment><USER2> A few hopefully relevant thoughts about translating docs

1) translating a piece of english UI will almost double the length of it. That's annoying.

2) documentation is hard to write and to maintain, and sometimes it's hard to read and use documentation. Creating multilingual documentation is even harder, and it's nearly impossible to have an entire coverage of the docs in all languages, which leads to incomplete or outdated/incorrect documentation - which, as the saying goes, is worse than none. Multilingual software inevitably makes the documentation situation of a software worse. Trying to apply language A docs to a language B interface is hell.

3) documentation alone isn't part of the story; forum threads, answered support questions and that kind of discussion-style paradocumentation is ranges in importance from helpful to just full-on essential and that kind of stuff is never _really_ translated. Trying to get help from a mostly english community for a software translated is hell.

4) The sublanguage used in a given UI isn't written in a given tongue; really, it's written in a pidgin made of the original language of the application _plus_ the slang of the domain of the application, which is usually tied to one, say, culture or spoken language in particular; very large software also typically creates its own sub-language, which separates itself from actual tongue the UI could say to have been written in. After all, any description of a what a software does, expressed in a language evolved for the interaction of human beings in the real, material world, _must_ be a vague and fragile metaphor. Translating metaphors is nearly impossible. It's hell. It's poetry, but when poetry is not the goal, it's hell.

That also means that to read the documentation and UI of an application amounts to learning the sublanguage of that application, which as I explained is different from the actual human language it was written in. I can understand that "save" means "serialize the relevant subset of the application state to a file" without knowing anything about the "dictionary" meaning of the English word "save". It's not the same thing. "Save" could be replaced by "blub" as far as I'm concerned, but it's convenient for people who speak english to associate "serialize" to the concept of preserving, of keeping. But it's not as important as the consistency of the language developed to describe the concepts and operations of that application. A single "blub" is better than "Save" _and_ "Sauvegarder". Duplicating the pidgin a software develops for itself makes using that software a special kind of hell.

Conclusion: it's easy to end up in situations where I have to use french software here in Quebec. Most of my friends have laptops and phones with french UIs. It makes using them a pain in the ass.

I absolutely, deeply despise translated UIs; translating a UI is almost systematically a counter-productive activity. It's hell.

</comment><comment><USER3> While i appreciate that they're trying to do good, for people interested in communicating with people from other cultures translated technological terms have always been a massive bane. I live in germany and while germans generally have little patriotism they're fierce defenders of their language, which led to all sorts of domain-specific terms being translated across many different kinds of media. Be it movies, books, technical manuals, programming instructions.

And for all of them it's a common theme that someone who believes they know a thing, might even consider themselves an expert, they have trouble then branching out of their linguistic bubble. When talking to experts in their domain, from another language, they suddenly cannot communicate anymore, even if they speak the other language fluently, as they need to learn an entirely new vocabulary just for basic interaction.

And this is not just a theoretical situation. I've had problems when talking about books i read in my youth, because often important words or even names had been changed and the person i was talking with knew the same characters, concepts or ideas i knew but neither of us knew under what names the other knew them. I learned Perl on the internet, on my own, using exclusively the english source documents; when talking to german Perl programmers i've repeatedly had issues because they had learned it in german courses which used german CS terms. Instead of actually discussing business we spent half the time sorting out what to call a thing. I also translated MMO content professionally for a while. While our translations were great and allowed the germans a perfectly fluid native experience, we found that many germans tended to switch the game to english after a while, because they couldn't talk to other players since the item names, skill names and location names were all different.

There are some situations where it's fine to use a translated term. Example: Mouse. In german the word is written Maus and pronounced identically. In such a situation where the difference is minimal, a translatio can be fine.

However in all other situation i believe translation of domain-specific words does damage in the long term.

<comment><USER4> > I live in germany and while germans generally have little patriotism they're > fierce defenders of their language, which led to all sorts of domain- > specific terms being translated across many different kinds of media. Be it > movies, books, technical manuals, programming instructions.

I wish this was more of a thing in my culture.

<comment><USER5> I'm curious, why?

<comment><USER4> Because this:

[https://news.ycombinator.com/item?id=8374821](https://news.ycombinator.com/item?id=8374821)

And I think it's just silly to say things like "snowboard" outside of English, instead of just translating it. It's just "snow" and "board", that can be easily and seamlessly be translated. But where I'm from, people are too lazy for that/don't care.

</comment></comment></comment></comment><comment><USER6> It's an interesting article and I can certainly get behind the sentiment of making software more accessible to non-english speakers. That said, if another language already has a word with the desired meaning, why not use it instead of inventing a new one?

This is a two-way street. Much of the english vocabulary comes from other languages: trek, pundit, taboo, gauntlet, moped, etc. And many languages use english loanwords for technical terms. Just try translating "internet" to other languages. Even Japanese is "インターネット" (intaanetto)[1].

1\. [https://translate.google.com/#en/ja/internet](https://translate.google.com/#en/ja/internet)

<comment><USER4> > That said, if another language already has a word with the desired meaning, > why not use it instead of inventing a new one?

To maintain consistency? I think there is value trying to keep a language somewhat internally consistent. I'm guessing that it makes the language easier to learn, at least in the future - less loanwords (or bastardized loanwords) might for example mean less grammatical exceptions.

Of course, it's not like one has to come up with a completely unique word for something, to make it _not-like_ English. But one might want to adapt it to the language by for example translating the words that went into it (like "mouse" as in "computer mouse").

> This is a two-way street. Much of the english vocabulary comes from other > languages:

English is also kind of a nightmare when it comes to phonetics, which last I read was due to all the different major languages that has been influenced by. But I guess it wouldn't be a problem if the spelling of the language was more consistent, and originally foreign words can be Anglicised to fit in, so I guess that isn't a problem because of old loanwords, really.

</comment></comment><comment><USER7> > _"windows" became "eyes"._

That is quite possibly because the word "window" literally is "wind-ow" or "wind-eye" — i.e. an eye, or opening, for the wind to blow through, which it did before windows had glass, and instead had shutters, like eyelids.

</comment><comment><USER8> There's an obvious bias here. The piece ends with "localisation may keep small languages alive". Isn't that adding to the problem? We don't try to keep small programming languages alive (except a few diehards). Many small languages are the problem itself. They're not something to aim for.

I should add that I'm not complaining about making phones more accessible to more people. That's absolutely great. But why try to go further and use it as an excuse to drag out languages that the world would be better off without?

<comment><USER4> > There's an obvious bias here.

It's good that this was posted to a programming community, then. So that it can balance that bias out with its own "less languages are good because it is more immediately practical, who needs multiple languages anyway?"-bias.

</comment></comment><comment><USER9> I'm amused that the article fails to note that as of 2012 Windows was available in 109 languages[1]...

[1] [http://blogs.technet.com/b/terminology/archive/2012/02/21/14...](http://blogs.technet.com/b/terminology/archive/2012/02/21/14-new- languages-announced-for-windows-8.aspx)

</comment><comment><AUTHOR> It would be interesting to review the full list of creative translations:

"Crash" became hookii (a cow falling over but not dying)

"timeout" became a honaama (your fish has got away)

"Aspect ratio" became jeendondiral, a rebuke from elders when a fishing net is wrongly woven.

<comment><USER10> I was curious why they translated "aspect ratio" the way they did. To me translating something like "crash" into a cow falling over makes sense because "crash" is used in an idiosyncratic way there.

But "aspect ratio" is straightforward and not idiosyncratic. It's the ratio of the screen height to width. Surely the target language has some words for describing the scale of things or ratios or some similar concept?

<comment><USER11> I think that it is the context of how the term is mostly used that resulted in the change:

Think about an aspect ratio button on your TV remote. You use that to "correct" the aspect ratio of the content for your screen. In this context of correcting aspect ratio, a wrongly woven net makes sense.

<comment><USER10> I guess I have to take your word on that one. I haven't used a TV remote in years and I've never had to correct the aspect ratio.

</comment></comment></comment></comment><comment><USER12> Maybe the translators' jobs would be easier if we avoided jargon in our user interfaces. Are there any jargon words or phrases that are common in UIs that we could do just as well without?

<comment><USER13> Was it Joel who wrote a piece on the old Windows wizard for indexing a help file? It asked a question in a jargon-free way, with the result that neither the novice nor the expert understood what it was asking. In that case the clear solution was to stop asking the question, and later versions of Windows did so. When communicating information it's important to give enough detail to act on it; otherwise why bring it up?</comment></comment>


With Rule 41, Committee Proposes to Grant New Hacking Powers to the Government - <AUTHOR> https://www.eff.org/deeplinks/2016/04/rule-41-little-known-committee-proposes-grant-new-hacking-powers-government <comment><USER3> The EFF would be more effective if they suggested alternatives to things they do not like, instead of just laying out doom and gloom scenarios that depend on pessimistic (and often unrealistic) readings of bills, rules, and so on and then saying we must defeat the thing.

I would like to see how they would suggest addressing the problem that this rule change is meant to address:

1\. Bad guy, B, is conducting felony F in district D.

2\. B uses a computer, C, as part of this.

3\. B is hiding the location of C using technological means. C may or may not be in D.

4\. Law enforcement has enough evidence to satisfy the 4th Amendment requirements and get a warrant to search C remotely, but since they do not know where C is actually located, they don't know _which_ court is the proper court to issue that warrant.

This proposed change makes it so that a judge in D could issue the warrant allowing a remote search of C, regardless of whether or not C is actually in D.

<comment><USER4> This is not a matter of the EFF 'not liking', rather the EFF fears this is overly broad and ripe for abuse.

Not only is rule 41 potential overreach but it is enacted by the backdoor avoiding Congressional oversight.

Your list is too short, the EFF reason well. One could add:

5\. They have copies of everything sent over the wire, so they have the contents of C at NSA H.Q. already. Just get a warrant to look at it there.

6\. They already have access to all B's meta-data.

7\. Conversly E commits a crime using his memory.

8\. Or F commits a crime using a pen and paper, which he then hides at a remote location.

This new power purports to address a non-existent problem.

Snowden argues the FBI had the meta-data for the Apple phone, thus they already knew what was on it. So, again, why the big show about cracking it ? [1]

Locative privacy is essential for journalism and many human rights - <USER2> malicious actors could gain access to the hacking malware.

For my money the EFF argue with great caution, care and reason and actively defend civil rights against overreach.

[1] From Snowden in debate with Chomsky & Greenwald: [https://theintercept.com/2016/03/30/edward-snowden-noam- chom...](https://theintercept.com/2016/03/30/edward-snowden-noam-chomsky- glenn-greenwald-a-conversation-on-privacy/)

<comment><USER3> > Not only is rule 41 potential overreach but it is enacted by the backdoor > avoiding Congressional oversight.

That's wrong. It's being enacted by the same procedure that is used for all of the rules of the Federal Rules of Criminal Procedure, as specified by Congress in the Rules Enabling Act, which includes Congressional oversight. After the Supreme Court approves a proposed rule change, there is a delay to allow Congress to say no if they wish.

> 5\. They have copies of everything sent over the wire, so they have the > contents of C at NSA H.Q. already. Just get a warrant to look at it there.

You are greatly overestimating what the NSA has. They don't have everything that goes over the internet, and much of what they do intercept is encrypted with methods that they are not known to be able to defeat.

<comment><USER4> I accept Congress can disavow this before December the 1st, hence the EFF's call to action - but the article does state this is a new & overreaching use of this procedure.

 _" By law, the rules and proposals are supposed to be procedural and must not change substantive rights. But the amendment to Rule 41 isn't procedural at all. It creates new avenues for government hacking that were never approved by Congress."_

> overestimating what the NSA has.

The secret rooms at AT&T, like 641A that Mark Klein whistleblew in 2006, suggests they had the potential for universal domestic collection capability of everything domestic since 2003.

Other Five Eyes may have similar hardwired intercepts abroad. Snowden's XKeyscore slide shows collection of 'nearly everything a user does online'[1].

Otherwise I agree that encryption exists that the NSA is not known to be able to defeat with the caveat that courts can currently order decryption and jail those in contempt.

[1] [http://www.theguardian.com/world/2013/jul/31/nsa-top- secret-...](http://www.theguardian.com/world/2013/jul/31/nsa-top-secret- program-online-data)</comment></comment></comment></comment>


How USAir Turned My Grumpy Mood Around - <AUTHOR> http://www.chrisbrogan.com/how-usair-turned-my-grumpy-mood-around/

<comment><USER2> _She became instantly human. We talked. She knew that I wasn't happy, and she knew nothing she said about the situation mattered, so she just acted human._

This is precisely why I don't fly USAir. I don't have a problem with their flight attendants, but the desk agents and people on the ground have been _total jerks_ to me. Namely, stunts like walking away from the desk just after I've walked towards them from the front across an empty terminal -- and my alternative is a 7 minute walk to the main terminal!

After that experience, it was nothing but Southwest for me for awhile!

I think I was on the tarmac that day. No westbound flights. We sat there for something like two hours. The word was that the FAA was running some kind of test.

</comment><comment><AUTHOR> A terrible situation + good & creative customer service = A Customer Advocate. I love it.

</comment><comment><USER3> That's nice. I avoid USAir at all costs. They have a terrible reputation with tracking baggage, and, sure enough, last time I flew them (to a multi-week gig, no less) it took me 2 days of constant phone calls for them to locate my bags.</comment>


8086 Microcode Disassembled - <AUTHOR> https://www.reenigne.org/blog/8086-microcode-disassembled/ <comment><USER2> Chris Gerlinsky did a talk last year on the process he uses to decap chips and extract their ROM bits with a microscope: [https://youtu.be/4YpSevQWCX8](https://youtu.be/4YpSevQWCX8)

My favorite line was when he described how one hint you've got the decoding right might be stumbling upon a recognizable ASCII string, and said "sometimes the only ASCII text you find is a copyright notice... keep putting those in, that's great!"

</comment><comment><USER3> One thing I've always wondered: in what ways is the design of microcode instruction-sets for CISC-ISA CPUs, different from the design of outward- presenting RISC ISAs?

For example, does microcode tend to have instructions that "half complete" a transfer-level operation, leaving some registers in an indeterminate state, under the assumption (which is, in practice, a guarantee) that they'll always have another ucode op executed after them that does "the rest of" the operation and so puts things right?

Or, for another example, on CISC CPUs that have a small set of system-visible registers, and use register renaming to map them to a larger register file (e.g. x86_64), do the user-visible register names make it into the microcode; or do the microcode ops function directly on register-file offsets?

To answer these questions, though, we'd probably need a _survey_ of microcode for various CPUs, including modern ones. So I'm not holding my breath. Unless an engineer from Intel or the like wants to jump in!

\</comment><comment>

I've also been curious whether there are any lessons in the design of microcode ISAs, that can be applied in the design of abstract-machine bytecode ISAs.

Right now, most bytecode ISAs are semi-idealized RISC ISAs, with some load- time specialization of bytecode into VM-specific ops; but rarely is there recompilation of bytecode into VM-specific microcode. I'm curious why that is.

<comment><USER4> There's two vague categories of microcode, with different answers for each.

This article is an example of vertical microcode. 15 to 64 bit wide instructions that look a lot like a regular assembly, just what you'd expect after the first stage of decoding, with the some of the encoding wrinkles ironed out. Source register always in the same place in the bit pattern kind of stuff. This will normally look a lot like the host ISA; two address versus three address kind of stuff. Might still have memory RMW ops if it's a CISC ISA.

Then you have horizontal microcode, which is a wider word. I've seen 64 bits to 256 bits. It's simply most of the control lines for the processor uarch state concatenated together. You'll have sometimes dozens of fields that always mean the same thing, and when you look at the schematic you clearly say to yourself "oh, these three bits are this mux, the four bits next are this mux, this next line is an enable", etc."

It's not uncommon to have both. The 68k's main microcode looks vertical, then has a horizontal microcode for it's "nanocode" deeper in the core.

<comment><USER5> Could you explain the flow or how the vertical and horizontal microcode interact? If a bit pattern is read into the instruction register that pattern is used as an index into a translation ROM? Is that translation the horizontal microcode that drives everything including further lookup and translations to mico-ops i.e vertical microcode?

</comment></comment></comment><comment><USER6> Outstanding work - never fails to amaze me when people unearth little secrets like that 4 decades after the fact. That MUL/IMUL/IDIV status bit hack is one for the ages.

<comment><USER7> And he found it by "reading the code"!

</comment></comment><comment><USER8> Author here if anyone has any questions.

<comment><USER3> > While most of the unused parts of the ROM (64 instructions) are filled with > zeroes, there are a few parts which aren't. The following instructions > appear right at the end of the ROM [...]

Given that they're right at the end — and seemingly intentionally written there _after_ the rest of the unused space before them was zeroed — might those bytes be a checksum of the ROM?

<comment><USER8> I don't think there's anything on the chip that could compute a checksum of the microcode ROM contents. It could be some kind of copyright message perhaps, though I don't know how it's encoded and it's only 42 bits long so there isn't much space for anything meaningful.

<comment><USER3> I would guess that it's not a runtime-verified checksum, but rather a simple embedded "sum complement" value, used for ROM-mastering-time integrity verification.

A sum-complement value is a value computed _from_ some data, such that, when the data is checksummed with the sum-complement value now embedded _into_ it, the data will sum to zero. This approach to checksumming is useful, as any potential verifier just has to throw the image-as-a-whole through the checksumming algorithm, and ensure that the output is zero. It doesn't need one iota of knowledge about _what_ it's verifying. It doesn't even need an extra machine-register to hold the expected checksum.

These "blind" checksums allow ROM production hardware (programmers, copiers) to both pre-verify the integrity of the input image, and to post-verify that it has programmed the image onto a chip successfully. No special container format for the ROM image is required, nor is the ROM image required to be structured in any particular way (which is good, because ROMs are used for all sorts of things, not just code.) The ROM image can be any opaque blob, just as long as it sums to zero.

In fact, you don't even need a ROM "image" at all. It's possible to integrity- verify a programmed ROM "against itself"; and thus, a hand-programmed ROM (e.g. an EEPROM you programmed in your office) can be sent to the duplication facility to serve as the reference from which mask-ROM masks will be generated. The data on the EEPROM can be trusted, because it sums to zero. And the mask ROMs themselves can be checked for flaws by seeing whether _they_ sum to zero.

For smaller-scale ROM distribution, ROM-to-PROM bulk copiers are used. These copiers can be made to both pre-verify the source, and to post-verify the programmed copies. Using this approach to checksumming, the copier can avoid having to verify the source "against" the destination, instead only needing to verify the source once, and then verify the destinations against themselves. This both speeds up verification; and allows for the use of simpler microcontrollers in these copiers, which reduces their design cost. (By quite a lot, back in the 1970s, when all this was most relevant.)

You can see this approach to checksumming in practice in early-generation game cartridge ROMs, which almost always have these embedded sum-complement values (and so presumably were integrity-verified during mastering/duplication.) These sum-complement value fields get referred to by emulators as "the checksum" of the ROM image—but technically, they're not; if you're following along, you'll realize that "the checksum" of such ROM images is zero! :)

<comment><USER5> "In fact, you don't even need a ROM "image" at all."

What exactly is a ROM image? Is it just the ROM contents encoded in some defined file format? If so what would a common format be.

<comment><USER3> I was being kind of loose with terminology; technically, a "ROM image" is an image (i.e. a replica, like a disk image) _of_ a ROM chip.

ROM is random-access for reads—it's "memory" in the same sense that RAM is memory, wiring onto a device's address bus and so becoming part of that device's physical memory layout.

So when people say that a game-cartridge backup device or the like captures a "ROM image", what they really mean is that it captures "a snapshot of what the mapped region of the address space that the ROM chip _claims_ to map for — or seems to be wired to — looks like." Sometimes there's metadata in the ROM itself saying what region the ROM maps for. But since the ROM is just a physical chip sitting on the bus, it can map or not map for any address arbitrarily (as long as it has the correct address lines wired to discriminate that address from other addresses.)

This is what results in so-called "overdumps" — this is where a ROM chip doesn't actually respond to all the read requests that its mapping claims it does, and thus, for some reads (usually the ones at the top end of the ROM's address space) you don't get a response from the ROM, leaving the data bus floating ("open bus"), giving you undefined data for those reads.

This is why I say that a ROM image is technically an image of the address space a ROM occupies as discovered by requesting those addresses, and not an image of the ROM's contents per se: most ROM images are, in fact, overdumps. It's just that more modern systems have pull-up resistors on the data bus to ensure that reads the ROM doesn't deign to respond to, read off as zero.

ROM copiers are really "ROM image" copiers — they work by programming the destination ROM(s) with the data discovered by probing the source ROM's address space, as above. If the destination ROM is larger than the source ROM, the destination ROM will record an overdump of the source ROM.

All that being said, when originally _programming_ an EEPROM, the ROM- programming device doesn't actually interface to your computer as writable random-access memory. It interfaces as, essentially, a hybrid serial/block device — i.e. a device where you can _either_ write (program) one byte to an arbitrary address, _or_ write (program) a whole ROM-block (usually 64 bytes) at a time. You can also _erase_ an entire block.

In other words, functionally, an EEPROM accessed through a programming device acts very similarly to flash memory accessed through a flash controller. (Flash memory is, in essence, an EEPROM technology with very fast writes trading off against slower, block-at-a-time reads rather than bus-speed byte- at-a-time reads.)

What that means, in practice, is that there's no particular constraint on how you first program the data into the EEPROM you're going to be mastering PROMs with. There's no "ROM programmer file format", any more than there's a common file format used to descriptively represent the instructions the various mkfs(8) utils use to initialize filesystems onto a block device. Programming EEPROMs is a _procedure_ , not data per se.

That being said, if we wanted to represent the process of programming an EEPROM _using_ modern file formats, a CUE sheet (or equivalent) would probably be the best approach. A CUE sheet isn't a description of the intended result, but rather a sequence of instructions for an abstract "burner" to go through to _produce_ a result. Unlike a ROM image, which just tells you what you got when you tried to read from the addresses in an assumed-mapped memory region, a CUE sheet tells you what some other device originally tried to _put_ at those addresses, and so lets you figure out which reads are "true" answers from the ROM, vs "open bus" answers, vs. de-facto responses from a pull-up resistor. (It also lets you emulate the process of cell wear, and so figure out which cells were intentionally "programmed to death", allowing a faithful representation of "indeterminate state" addresses, much like the Applesauce image format[1] does for magnetic-flux media.)

[1] [https://wiki.reactivemicro.com/Applesauce#Applesauce_Image_F...](https://wiki.reactivemicro.com/Applesauce#Applesauce_Image_File_Format_.28.WOZ_and_.A2R.29)

So, to be clear, there's no _defined_ file format for ROMs _generally_. You know the size of the EEPROM chip sitting in the programmer; you have some data you'd like to write (maybe in a file; maybe as a stream); as long as the size of the data is less than the size of the chip, you can just dd(1) the data, blockwise, onto the programmer block-device, and you'll get a programmed EEPROM.

But if you want to make this friendly to consumers — say, if the EEPROM is your computer's BIOS ROM — then you take a ROM image you've constructed some other way; wrap it in your own format with checksums et al; create a "flasher" program that first verifies the integrity of the ROM image against the checksum, and then dd(1)s it to the EEPROM programmer block-device. Usually the file _extension_ OEMs decided on for these ROM-in-container files was ".bin". Doesn't mean anything; they were arbitrary formats, or sometimes not formats at all, just raw ROM images.

<comment><USER5> Thanks for the wonderfully detailed reply. I had a follow up question does the ROM designer or any part of the ROM itself ever have to know where in memory it is mapped to?

<comment><USER3> They almost certainly do. The set of system architectures that relied heavily on memory-mapped ROM, are almost exactly the same as the set of systems that don't have any concept of virtual memory, and where achieving position- independence (i.e. indirecting through some kind of symbol table) would be a huge waste of CPU cycle budget.

An interesting "exception that proves the rule" is the "option ROMs" ([https://en.wikipedia.org/wiki/Option_ROM](https://en.wikipedia.org/wiki/Option_ROM)) on modern PCI-e cards, e.g. GPUs, NVME controllers, etc. which provide capabilities to the BIOS, like writing to the GPU's framebuffer.

These ROMs _aren 't_ position-independent (i.e. they always get mapped to the same physical memory region during BIOS bring-up) but their contents _are_ position-independent code. This is because they're not actually ROM that lives on the CPU's address bus where the CPU could ever execute from it; but rather these ROMs live on the MMIO bus, which in x86 at least, can only be interacted with via specific IN/OUT instructions.

As such, even though BIOS option ROMs all wire to the same physical address† _on the MMIO bus_ , they get copied into RAM in order for the CPU to execute on them, and so the code in those ROM chips has to be position-independent code.

† You might wonder, then, how the BIOS manages to read off a particular option ROM, when multiple ROMs could be wired to the same MMIO address, and thereby _all_ respond to the same latched MMIO in request, making a mess of the MMIO data lines. My understanding of the spec, is that the BIOS just powers PCI/PCI-e devices on and off one by one during early boot, such that only one option ROM can be wired at a time; and does all its interaction with said ROM while it's isolated like this. The ability to do this "early power-on" — that maybe _only_ powers on the wired ROMs and nothing else — is an important part of what it means for a PCI device to be "Plug-and-Play"!

<comment><USER5> >"My understanding of the spec, is that the BIOS just powers PCI/PCI-e devices on and off one by one during early boot, such that only one option ROM can be wired at a time; and does all its interaction with said ROM while it's isolated like this. The ability to do this "early power-on" — that maybe only powers on the wired ROMs and nothing else — is an important part of what it means for a PCI device to be "Plug-and-Play"!"

Interesting is this what acutally makes the boot times for servers with a handlful of option ROMs so painfully slow then?

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> It seems like there have been a few disassembly write ups on the 8086 lately. Are the tools getting to the point where this is possible, or just enough people with enough serious interest in this? Coincidence? Am I seeing a pattern that isn't really there?

<comment><USER8> Probably not entirely a coincidence - Ken Shirriff is doing a series on the 8086 which may account for at least one of the other articles you've noticed. My disassembly was only possible because of Ken's high-resolution photos of the die with the metal layer removed - that's why it took me until now to do it.

<comment><USER9> so it's turtles all the way down? someone makes a break through that gets used by someone else to make a different break through kind of a thing. this is why science needs to be open. no one person/group can do it all. i just wish that research didn't have to be done in secret to protect potential patent ability. Let the work be published and the let the people responsible receive whatever credit/recognition/awards deserved.

kudos for your efforts!

</comment></comment></comment><comment><USER5> I apologize if this is a naive question but how do I make sense of microcode_8086.txt in the zip file? Just using line 1 or 000. I understand from the final column(s) that this concerns a MOV instruction and Mod R/M byte is that correct? How do I understand what everything to the left of that means?

000 A CD F H J L OPQR U R -> tmpb 4 none WB,NX 0100010??.00 MOV rm<->r

Similarly how do I understand what each of the different files in the zip file represents?

The authors states: >"I used bitract to extract the bits from the two main microcode ROMs, and also from the translation ROM which maps opcode bit patterns onto positions within the main microcode ROM."

Is the the translation ROM the translation.txt file then? Is that the key to understanding these files? If so why wouldn't there be more than the 38 or so Op codes listed?

<comment><USER8> The translation.txt file is the contents of the translation ROM which tells the CPU where in the microcode to go for long jumps, calls and EA decoding. The key.txt file has the details of all the mnemonics.

"000" \- this is just a line number "A CD F H J L OPQR U" \- these are the actual bits from the ROM. "R -> tmpb" \- this is a move operation (each microcode instruction can do a move as well as something else) copying the value from "R" (a register described by the word length bit and either the R field or the RM field of the modrm byte depending on the direction bit) to "tmpb" (an internal register not accessible from the user-level ISA). "4 none WB,NX" \- a type 4 instruction (bookkeeping) that tells the CPU that the next instruction is the last one in the microcode burst (NX) unless a write back (WB) to memory is needed. "0100010??.00" \- this is the bit pattern by which this line of microcode is addressed. This one means opcodes 0x88-0x8b. "MOV rm<->r" \- a comment added to say what this set of opcodes actually corresponds to x86 assembler, or what it does if it's a subroutine.

<comment><USER5> Thank you this really helps.

One last question do the individual files. There seems to be 3 distinct file groups:

0b.txt - 8t.txt

l0.txt - l3.txt

r0.txt-r3.txt

Do each of these represent different ROMs or different logical parts of the two ROMs? Or am I reading too much into the naming convention?

By the way - brilliant work. This is really a fascinating read.

<comment><USER8> The _b and_ t files are the bottom and top halves of the 9 "chunks" of the decoder above the main microcode ROM. The l* and r* files are the left and right halves of the four horizontal slices of the main ROM. I split them up that way because bitract needs the bits to be regularly spaced in both the horizontal and vertical directions.

Thanks - glad you enjoyed it!

</comment></comment></comment></comment><comment><USER10> The link to [https://www.righto.com/2020/06/a-look-at-die- of-8086-process...](https://www.righto.com/2020/06/a-look-at-die- of-8086-processor.html) is worth clicking

</comment><comment><USER11> Awesome stuff. Really nostalgic. An 8086 with yellow monochrome screen was my first computer. It ran Police Quest I, I think.

<comment><USER12> Have you used a green monochrome screen? I still remember the first time I got one, because it was cheaper than those newfangled amber screens.

At first I thought it was a little stupid because of how slow the fade was when the cursor blinked, and it wasn't nearly as sharp or vivid. But within the first few hours of hacking around, I recognized how much easier on the eyes it was without the flickery amber that wobbled when you clacked your teeth together, and the weird random "snow" when refreshing the screen in a text "animation."

If only fractals didn't take an hour or so to render back then, an animated one at modern speeds would have been quite soothing to watch that way.

Fractint - I'm shocked I actually remember the name. Downloading it from a BBS is how I got my _second_ computer virus! Exciting times. Nostalgic is right.

<comment><USER13> Have you come across coolretroterm? It simulates the snow and wobble of those screens, and I think, does a reasonable job. Not sure if it would work with a graphical program though.

<comment><USER12> I remember seeing it, I think from HN when I was still a lurker. I bookmarked it, but never got around to trying it.

Some things are best left to the fond memories. I got an sdf.org account a few months ago, and that quickly demonstrated to me that nostalgia occurs when things happened so long ago that you forgot about all the not-great things like lag, terms that don't agree on what a backspace is, newsgroup spam, every program having completely different idioms, etc. My newsfeed config randomly disappeared after the third day, which was a very accurate representation of "back in the day" that I had forgotten about until that moment.

</comment></comment></comment></comment><comment><USER14> Amazing work! Can't say I understood half of what you have written, but sure is some top quality work!

</comment><comment><USER15> Amazing!</comment>


Progressive Web Apps Are Here. Now What? - <AUTHOR> https://medium.com/wolfpack-digital/progressive-web-apps-are-here-now-what-d4147f68eab2 <comment><USER2> Now that progressive web apps have arrived I what will happen is that web apps will progress.</comment>


Built a Company with $200 - <AUTHOR> http://www.inc.com/magazine/201502/leigh-buchanan/bert-jacobs-life-is-good-bootstrapping.html?cid=sf01001

<comment><USER2> I've seen these guys give a talk at a conference. Powerful stuff including MVP.

When they started - they originally sketched out a bunch of characters and taped them to a wall and threw a pizza party and asked friends to leave notes on all their designs. The stick figure with a smile got all types of notes including stuff like, "I'd shag that guy." (exact phrase forgotten) They are really compelling guys.

<comment><AUTHOR> The fact that you can start a start-up with little or no money is a reality, and these guys are proof of it.</comment></comment>


Why Doctrine ORM is not suited for PHP - <AUTHOR> http://blog.bemycto.com/software-architecture/2015-05-17/doctrine-orm-not-suited-php/

<comment><USER2> I've never understood the fascination with Doctrine+Symphony. I've had the displeasure of working on 2 big projects with this combination and it was bloated and took up tons of memory+CPU.

You also basically need to learn a second doctrinized version of SQL on top of SQL (which is supposed to make things easier somehow).

One reason might be because hardware is cheaper than developers, which is why it's called an "enterprise" framework.

I much prefer smaller frameworks like Codeigniter. It still creates a nice base for you to work off of, but with a much, smaller, footprint.

<comment><AUTHOR> I think both Symfony and Doctrine have one big asset: the ability to deliver many similar projects quickly. And without great software engineering skills.

For companies that bring much more new projects than maintaining existing ones, it could be a good things. But I'm still thinking it's something you pay one day or another.</comment></comment>


Future of Screen Technology - 2014 - <AUTHOR> http://www.youtube.com/watch?v=g7_mOdi3O5E&feature=player_embedded

<comment><USER2> I want that mirror! I could stare at myself _and_ get work done!</comment>


Tesla's Model S Gets "Ludicrous" Mode, Will Do 0-60 in 2.8 Seconds - <AUTHOR> http://techcrunch.com/2015/07/17/teslas-model-s-gets-ludicrous-mode-will-do-0-60-in-2-8-seconds <comment><USER2> Even if not a software update, I still find Tesla's way of thinking of a car as an actual (continuously update/upgrade-able) product fascinating. Very rare for hardware.

It gives an amazing user experience, "Hey restart your car and it's now got X and Y". Respect.

Edit: clarifying the term "product".

<comment><USER3> Agreed. The 2015 Mazda3 we just bought has a horrible info/nav system that crashes and frequently stops responding. I'm guessing the actual chance of it ever being fixed at 0%. Tesla's get an automatic OTA update that would fix that kind of thing and it wouldn't be something you'd have to 'deal' with for the rest of your ownership of the vehicle.

<comment><USER4> I will never buy a vehicle with both an infotainment system and a steering wheel. Subaru lost a sale of a brand new car when the dealer sat down, turned the key, and the radio showed.... a loading bar.

Fuck that. I deal with shitty software enough everywhere else in my life. I'm not going to put up with that in a 4000lb piece of metal going 70 MPH.

<comment><USER5> Here I am trying to imagine a vehicle with infotainment but without a steering wheel. It raises so many questions!

Do you assume that we will purchase self driving cars frequently enough that the infotainment will keep pace? Do you anticipate purchasing a personal train or fighter jet? Do the handlebars on a motorcycle count as a steering wheel?

<comment><USER6> I'm trying to imagine a personal car without a steering wheel without an infotainment system.

Of course such vehicles will have infotainment. I've long been thinking about what sort of content would work best. Short, serialized content released on a weekday schedule would certainly be an opportunity. Perfect watercooler fodder.

<comment><USER7> Ads, of course, for some definition of 'works best' (extreme variant: self- driving car offers to pick up what you order while you are at work) If I were an employer, I might pay my personnel to have the infotainment part replaced by educational material on their way to work.

<comment><USER8> Nice idea...

As an _employee_ you could get the ride in the car free, as a perk, iff you watch the educational material _and_ pass a test on it. This would be assessed during the ride via onscreen multiple-choice questions; get less than 50% correct (or, turn it off) and you have to pay for the journey!

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> One thing I don't understand is the position of the big car makers(BMW, MB, AUDI) being a passive observer in this field.

Tesla is getting so much, that if any automaker that can deliver a car with half the specs of a model S, and keeping their model's prices as a mass produced car, would deliver a big punch to Tesla, and would greatly move the market forward.

Is it the investment necessary for building a network of charging stations?

I highly doubt it is because Tesla has more money for R&D than any other car maker.

Is getting a Model S, earns you the title of being an early adopter. Because I believe the market already shifted towards this type of vehicles, but I may be polarized, because I already desire an electric car.

<comment><USER10> The batteries in a Tesla aren't very green and sadly they are quite large. Big automakers think in volumes of millions of cars, Tesla delivers about 25K (EDIT: looks like 40K projected for this year[1]) cars a year.

[http://www.forbes.com/sites/greatspeculations/2015/05/12/tes...](http://www.forbes.com/sites/greatspeculations/2015/05/12/tesla- earnings-review-small-margin-production-improvements-in-q1-too-small- for-2015-targets/)

<comment><USER11> Isn't it an overstatement that the batteries aren't green? Yes, there are environmental impacts from the production, but still a lot less than the environmental impacts of all the oil that would otherwise be produced and burnt to fuel the car over its lifetime, no?

<comment><USER12> But, isn't the lifetime of the battery pack significantly lower than the (presumed) lifetime of the actual car? If your Model S stays on the road 20 years but requires 3-4 battery replacements, that's several big hits against its environmental friendliness.

<comment><USER13> The lifetime of the battery will likely be much longer than it's life in the car - if the plans for 'second life' re-use as static energy storage devices come to pass.

</comment></comment></comment></comment></comment><comment><USER14> Amazing, that's as fast as the Lamborghini Aventador [https://en.wikipedia.org/wiki/Lamborghini_Aventador](https://en.wikipedia.org/wiki/Lamborghini_Aventador)

<comment><USER15> In a straight line... The Tesla weighs more than an F150 and corners like a boat

<comment><USER16> It certainly weights a bit, but the CoG is much lower than any ICE car due to the battery pack running along the floor.

That gives it much better handling characteristics than an equivalent ICE car.

<comment><USER17> It [Tesla Model S CoG = 17.5-18"]'s competitive with supercars, i.e. that of the Ford GT [1], and better than the Porsche Boxster [2], which is not a supercar.

[1] [http://www.motortrend.com/oftheyear/car/1301_2013_motor_tren...](http://www.motortrend.com/oftheyear/car/1301_2013_motor_trend_car_of_the_year_tesla_model_s/viewall.html)

[2] [http://www.caranddriver.com/features/tesla- model-s-60-2015-1...](http://www.caranddriver.com/features/tesla- model-s-60-2015-10best-cars-feature)

<comment><USER15> Okay. Now what are their lap times? Center of gravity is one of the dozens of aspects working in conjunction that make cars fast. One of the most important being, weight.

<comment><USER18> [http://fastestlaps.com/cars/tesla_model_s_p85d.html](http://fastestlaps.com/cars/tesla_model_s_p85d.html)

Unfortunately only 1 track, but it's not pretty and turns in times slower than a Golf GTD (diesel) or Fiesta ST.

The P85 has a bit more tracks: [http://fastestlaps.com/cars/tesla_model_s_performance_model....](http://fastestlaps.com/cars/tesla_model_s_performance_model.html)

Around Willow Springs it's slower than a Ford Mustang Ecoboost (0-60 5.2s, 310hp), and around Laguna it's close to 3 seconds slower than a VW Golf R (0-60 4.5s, 300hp)

The Tesla is a luxury barge after all, not a sports car, so these results shouldn't exactly be surprising.

<comment><USER15> Exactly, yet people who have no clue about cars will say that because it has a faster 0-60 time it's a faster car. Teslas marketing department is damn good.

<comment><USER19> Cars spend most of their time between 0 and 60. It's a good area to optimize.

<comment><USER18> Smooth, effortless acceleration is definitely a luxury feature, too. This is exactly why 6 figure luxury sedans often have very powerful V8s, V10s, or even V12s.

Just don't confuse that with being a _fast_ car, at least not around a track.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER16> More impressive to me is the fact that the 90kWh battery is already trickling down to the Model S. It was originally developed for the Model X.

I think it's safe to say that we'll see Model X features moving down to the Model S much faster than previously thought. This is how you relentlessly improve a product instead of holding specific features to a Model without solid technical reasons.

<comment><USER20> I've been reading Henry Ford's autobiography ("My Life and Work"), and it seems like Musk is taking a page directly from Ford's playbook with continuous product (and component) updates that are (mostly) backwards compatible with previously-produced vehicles in the same model.

The parallels are pretty amazing, and they go much much deeper too (eg. fabrication automation, experimentation, engineering to the highest extent possible, etc).

<comment><USER21> I hope they don't go too much deep... [https://en.wikipedia.org/wiki/The_International_Jew](https://en.wikipedia.org/wiki/The_International_Jew)

</comment></comment></comment><comment><USER22> If you can do this as a $10k update "safely" with a computer-controlled pyro fuse, I wonder what you could do by hacking the firmware and replacing it with a piece of busbar. 2 seconds?

<comment><USER23> I feel like the limit of what these motors can do now is being held back by something they can't control anymore, tire grip.

I think a lot of these software updates on the acceleration speed aren't because they all of the sudden figured out how to get more power from the electric motor. I think it's from tweaking the "no-slip" system or whatever they call theirs. Basically when the car detects it's losing grip, it cuts back the power. I think this is a balancing act on how to get the system to push the limits of slipping without putting the average user into a ditch because they tried out the "ludicrous" mode.

I'm sure on static conditions in a lab, Tesla can make the thing do something like 2s. It would require something other than a regular tire on a regular road though.

<comment><USER24> What if the car actually used the suspension to 'drop' just a fraction of an inch lower to the ground (to increase its momentary, apparent weight) as soon as you punch the accelerator to get some extra grip? I wonder how much of a difference the momentary 'downforce' would make.

<comment><USER25> You'd be better off _raising_ the ride height as the dynamics of raising the ride height will increase downforce on the wheel/tire assembly at the start of the transient.

</comment></comment></comment></comment><comment><USER26> I like the Spaceballs reference. [https://www.youtube.com/watch?v=mk7VWcuVOf0](https://www.youtube.com/watch?v=mk7VWcuVOf0)

<comment><USER27> Incoming, "this isn't reddit" trolling. :)

I recently got to see this in the theater with my 6 year old. We have watched it at home dozens of times and he knows most of the big one liners. It was excellent. I love that the tesla team is willing to have so much fun with their upgrades. I can't wait until I can afford one.

</comment></comment><comment><USER28> More usefully, there's an option to increase the range to 300 miles. That's still only half the range of many stock gasoline cars, though.

<comment><USER29> You only need enough range to go as far as the next charger, or until your bladder is full, whichever is last. 300 miles is plenty (overkill, really) for long distance travel.

Gas car range is more about how many times per month you need to stop at the gas station in normal use. More range makes that more convenient. With home charging, the convenience of an electric car is better even with less range.

<comment><USER30> > 300 miles is plenty (overkill, really) for long distance travel.

Don't read trip with me, then. I drove from Hartford, CT to Dallas, TX last month in two days (900mi the first day, 750 the second). Trips like this are specifically why I nixed the Model S as an option and went with a turbodiesel Passat (with its 750+ highway mile range).

I realize I'm in the minority, but it is a notable minority. I don't want to be forced into an hour-long stop every 300 miles.

<comment><USER29> 900 miles in a day is stretching it, but not entirely out of the question. You can sustain a long distance average speed of about 55-60MPH (counting time for stops) in a Model S 85. It will be slower than you could do in a gas car if you push it. If you _don 't_ push it, it won't be any slower, and could even be faster. (Refueling a gas car takes a lot less time, but can't really be done concurrently with other things. If you were going to get coffee or whatever at each charging stop regardless, then you're looking at 5 minutes for gas versus zero for electricity. Accomplishing this with perfection is, of course, a bit of a challenge.)

Note that an hour every 300 miles isn't generally how you'd do it. Charging is faster the closer your battery is to empty, so your best bet is to work in the bottom ~50% of your charge range when possible, and spend ~20 minutes charging at intervals of ~150 miles. You'll note that this is about how far apart Tesla's superchargers are spaced. That, to me, is about the right interval for a quick coffee, bathroom, or stretch break. Your mileage may, of course, vary.

The biggest problem with your particular trip isn't the time for charging, but the general lack of charging infrastructure along the shortest route. If you route through superchargers, the distance is about 300 miles longer due to the need to take I-70 into Kansas to follow the chargers. This should improve with time, and current owners will benefit, but until it does there are some trips that are just not as good with superchargers. But improvements there pay off a lot better than improvements in range beyond 300 miles.

</comment></comment></comment></comment><comment><USER31> so it's a fuse that costs $5k or $10k. is it made from 5oz-10oz of solid platinum? what am i missing here [1]?

[1] [http://www.amazon.com/s/ref=nb_sb_noss_1?url=search- alias%3D...](http://www.amazon.com/s/ref=nb_sb_noss_1?url=search- alias%3Dautomotive&field-keywords=300a+fuse&rh=n%3A15684181%2Ck%3A300a+fuse)

<comment><USER32> What you are missing is that it's a 1500A fuse.

Source: [http://jalopnik.com/the-tesla-model-s-just-got-upgraded- to-l...](http://jalopnik.com/the-tesla-model-s-just-got-upgraded-to-ludicrous- speed-1718577723)

> While working on our goal of making the power train last a million miles, we > came up with the idea for an advanced smart fuse for the battery. Instead of > a standard fuse that just melts past a certain amperage, which means you > aren't exactly sure when it will or won't melt or if it will arc when it > does, we developed a fuse with its own electronics and a tiny lithium-ion > battery. It constantly monitors current at the millisecond level and is > pyro-actuated to cut power with extreme precision and certainty.

That was combined with upgrading the main pack contractor to use inconel (a high temperature space-grade superalloy) instead of steel, so that it remains springy under the heat of heavy current.

The net result is that we can safely increase max amp throughout from 1300 to 1500 Amps. If you don't know much about Amps, trust me this is a silly big number of Amps to be going through something the size of your little fingernail.

What this results in is a 10% improvement in the 0 to 60 mph time to 2.8 secs and a quarter mile time of 10.9 secs. Time to 155 mph is improved even more, resulting in a 20% reduction.

<comment><USER33> What a fantastic read! I wonder if they get any tech or materials from SpaceX?

<comment><USER32> Well, SpaceX uses inconel. They also must have a quite good understanding of pyrotechnics, as they need to use that in a lot of places, eg. stage separation.

So I'd say yes, at least on the tech transfer part.

<comment><USER34> Inconel has been around for decades. It's just a nickel alloy. Nothing terribly special about that.

</comment></comment></comment></comment></comment><comment><USER35> Does it cause it to go to plaid?

<comment><USER36> Aparently the new Roadster will. [1]

[1] [http://techcrunch.com/2015/07/17/surprise-tesla-is- working-o...](http://techcrunch.com/2015/07/17/surprise-tesla-is-working-on-a- new-roadster/?ncid=rss)

<comment><USER22> I assume that means awd for the new roadster; Otherwise I don't see how they could do tires.

<comment><USER37> Don't forget that strength-to-weight is a big determinant of acceleration, so the new Roadster wouldn't necessarily need to be AWD. (and here's hoping it's not!)

There are plenty of Benzes, BMWs, and domestic sports/sporty cars with massive acceleration "despite" being RWD. (See all the Viper vs Model S videos, for example)

A Model S drivetrain in something that _isn 't_ 2200kg long-wheelbase sedan would be amazing :)

</comment></comment></comment></comment><comment><USER38> 0-60 times are nice but I want to know what the 60-100 time is. That's what generally used for 1/4 mile estimates.

Is there any diagrams of information easily available about the couple style used between the motors and the wheel hubs? I wonder how they're done and what the limit of them is with the amount of torque they put out. In a previous life I used to build a lot of race cars and shearing axle bolts wasn't uncommon in drag applications.

It would be awesome to see them test out a full on drag tesla.

<comment><USER39> I'd imagine pretty good. It's got such a low drag coefficient, and at those speeds liquifying the tires is not as much of a problem. I'd think that the 60-100 times might be more impressive than it's 0-60 when compared to conventional cars!

<comment><USER40> Looks like an 2012 model that is _not_ the P85 and did _not_ have the OTA performance update from last year could do it in about 9 seconds. For a reference, that's faster than a BMW M5. Source: [https://www.youtube.com/watch?v=_03g4UHtCWo](https://www.youtube.com/watch?v=_03g4UHtCWo)

</comment></comment></comment><comment><USER41> On a different note: is it possible to opt out of Tesla software updates (for whatever reason)? AFAIK, this is not possible ([http://my.teslamotors.com/forum/forums/same-distasteful- appe...](http://my.teslamotors.com/forum/forums/same-distasteful-appeasing)) The two options when an update is available seem to be install now or later.

</comment><comment><USER42> It's a $10k upgrade, not cheap! I wonder which Ludacris song[1] was the hold music looping before today's Tesla press conference call...

[1] [http://www.theverge.com/2015/7/17/8994519/tesla-ludicrous- sp...](http://www.theverge.com/2015/7/17/8994519/tesla-ludicrous-speed- model-s)

<comment><USER42> Ok, I found it myself. It's "Beast Mode"! [1]

[1] [http://www.wired.com/2015/07/guess-elons-ludacris- fan/](http://www.wired.com/2015/07/guess-elons-ludacris-fan/)

</comment></comment><comment><USER43> How can they get that many amps out of the battery? It seems like you'd need a capactior to have that kind of power?

<comment><USER32> Well, the battery is not a single monolithic design, it is composed of thousands of small (think AA) cells. My uneducated hunch is that that design helps them extract power from many cells in parallel. It's also huge, taking almost all the floor of the car.

Not sure how they cool that beast though.

<comment><USER44> The batteries are actively liquid cooled.

</comment></comment></comment><comment><USER45> Tesla's seems to be beating a dead horse! Don't get me wrong; I love what Tesla does but making a faster production car seems to be an answer to the critics who I think have already taken home the message that the electric car is as fast as the best IC car!

I think what they should address is getting out the affordable Model 3 as fast to the market as they can. They may loose the game if the incumbents beat them to it. They would need volume to sustain their production and maintenance costs. Once every manufacturer gets onto the electric wagon, a lack of wider adoption, could become their Achilles heels.

<comment><USER32> Should that happen, my guess is that they would be quite happy to sell their batteries to everyone else.

<comment><USER46> Didn't Tesla already give away their battery intellectual property or similar? If they did why wouldn't these other companies not just produce it themselves to cut Tesla out?

<comment><USER32> Their patents, yes. That's just the beginning.

Now all that one needs to do is to poach their battery engineers. And build their own factories. And iron out the kinks.

It's not like a competitor will be able to get their tech and beat them at their own game overnight - while delivering a cheaper product!

</comment></comment></comment></comment><comment><USER47> and still no Model X or even serious updates about it... and yet I will still let them keep my $5k until it arrives...

</comment><comment><USER48> Seems like they took inspiration from the branding on the Chromebook Pixel LS (Ludicrous Speed)--the 16GB RAM, i7 one that I'm lucky enough to have ;-)

Fun fact: most cars today run about 20 separate operating systems. My guess is Tesla is fairly above average. Anyone have a figure on this?

<comment><USER49> > Seems like they took inspiration from the branding on the Chromebook Pixel > LS (Ludicrous Speed)

More likely, both Google and Tesla took inspiration from the movie _Spaceballs_.

</comment></comment><comment><USER50> I wonder if it will have a "Drake" mode to do 0-100 real quick.

</comment><comment><USER51> this alone will be a good enough excuse to get this car if you could afford it.

Asides Nissan GTR, supercars running in 300,000 USD will do roughly 3.0~3.1. hypercars like pagani, p1, porsche, laferrari achieve sub 3.0

I'm extremely impressed. Even more because this was just another regular software update.

<comment><USER45> It's not a software upgrade

      One catch: unlike most Tesla Model S tuning enhancements, this one isn't
      a software update — and it's not free. Why? Because Tesla had to make new,
      physical hardware to make this possible. Specifically, they had to make a
      fuse that didn't melt when you pulled ridiculously high amperages over it.

      The fuse upgrade will be a $10k option for new buyers, and cost $5k (before
      installation) for existing P85D owners.

</comment></comment><comment><USER52> Where is source code?

</comment><comment><USER53> No-one needs this, I predict accidents.

I hope insurance companies can determine which models have this and inexperienced drivers should pay more.

Just hope no-one kills anyone.

<comment><USER54> Well that's a pretty silly way to look at this. No one needs a car that can go faster than 85mph, but pretty much every car on the market can break that limit. What makes this different?

<comment><USER53> It takes a lot more effort to go more than 85mph (and the engine has to work differently depending on the environment).

Someone stepping on the pedal and being where a pedestrian is in 2 seconds could be very fatal for inexperienced drivers.

<comment><USER55> > Someone stepping on the pedal and being where a pedestrian is in 2 seconds > could be very fatal for inexperienced drivers.

Probably far more likely to be fatal for the pedestrian</comment></comment></comment></comment>


OpenGraphiti: OpenDNS Data Visualization Framework - <AUTHOR> http://www.opengraphiti.com

<comment><USER2> This looks amazingly cool. And it just happens that I have a specific and imminent need to work with visualizing semantic networks, making this very timely and appreciated here.</comment>


Meet Kano, the UK startup that lets anyone build and code their own computer - <AUTHOR> http://tech.eu/features/3265/kano-profile/

<comment><USER2> Am I missing something here? Just looks like a standard Raspberry Pi kit in stylish packaging. What sets Kano apart from, let's say, a Raspberry Pi kit from Maplins?

<comment><USER3> I don't get it either.</comment></comment>


Ask HN: Am I unhirable? - <AUTHOR> I'm starting to think there must be something seriously wrong with me, or that I should just give up on this industry entirely. I've just gone through my fourth round of "everything going great, take home project looks good, then a three sentence rejection letter saying something about 'many qualified candidates' two days later".<p>Is anyone else experiencing this? I feel like I've never gone through this level of flakiness before. If anyone from the hiring side of things could shed light on this, that would be amazing. For reference, this is seeking a mid-level front end position in the bay area as a self taught developer with 4 years experience at various startups. <comment><USER2> I'm really surprised that nobody has pointed out that your 4 rounds of rejection have all been in the most competitive city in the world for software developers. I am a software developer of average skill who lives in the midsouth and I swear to god I can't get recruiters to leave me alone. Have you considered expanding your search beyond the SF area? NYC, Chicago, and Atlanta all have world class tech scenes and are not nearly as competitive as the Bay Area. Nashville and Charlotte are rapidly evolving into tech centers as well, with relatively low cost of living.

Giving up on the software industry because you couldn't hack it in SF is like giving up on the NFL because you were a second round draft.

</comment><comment><USER3> Four rounds of interviews is not that many nowadays in 2018. In the past 2 years before I landed in my current role where I'm happy with, I went through about 8~10 rounds of on-sites like that (spread out over 2 years) before getting an offer. I have 13 years of experience in Silicon Valley with a CS degree at a Top 50 university (Top 10 public) and I'm not even seeking leadership positions, just IC, and in some cases just interviewing for mid level.

Anecdotally, trends in recruiting in tech startups have gotten strange. Companies nowadays like to complain about shortage of talent, but interviewers like to be super picky (I've been on that side of the fence the past couple years, to witness the passing of perfectly fine candidates who just didn't get A+ on the interviews by other interviewers). In 2008 I would interview for 2-3 companies and get an offer. In those days I also interviewed candidates for the employer and ended up hiring a lot of great engineers, whose interview performance would not be considered good by standards nowadays (but they did end up being perfectly good devs in the company we ended up hiring them at). Those days are mostly gone. FAANGs have popularized being extremely picky at hiring and smaller startups picked up on this and believe it to be the right way to hire.

It's a messed up situation.

</comment><comment><USER4> Take a close look at the others in the office when you 'walk through' to the conference room.

"Ripped jeans and Concert T's" vs "Suit & Tie" vs "other"

In my experience, the apparel of the others makes a huge difference on how you are perceived. If this is a 'Silicon Valley Garage hacker' wannabe and you show up wearing a full suit you will be ostracized before you open your mouth.

I've gone as far as hanging out at a bus stop near a potential employer and watch how the staff are dressed as they leave for the day, just to get a feel of what average is. Then make sure you dress _moderately_ better then that average.

This could also be double-speak for "you are too old, old man!"

<comment><AUTHOR> >Take a close look at the others in the office when you 'walk through' to the conference room.

If only it even got that far. I haven't landed on onsite in 4 months of interviewing. It's absolutely maddening having left a stable lucrative job to interview for all of these recruiters hounding me. I'm going broke from bay area rent payments and will be homeless soon. I don't know what to do at this point and have basically given up.

<comment><USER5> Is going back an option? I know it's hard to swallow your pride and employers have a wide range of policies on this, but some will be glad to get a knowledgeable long term employee back if there was no ill-will when you left.

</comment></comment></comment><comment><USER6> I am having the same problem. I have two decades of experience, but now I have a large gap in my employement. Most recently I spent 7 weeks interviewing with a company for a position I was super solid on, and then after 7 weeks, 3 in person interviews and being told I was "in background check phase" \-- even though we hadnt even signed a single document/filled out any paperwork I was ghosted for two weeks and then told "we are not adding to the team at this time"

I'm basically suicidal at this point. I have no freaking idea what to do.

I apply to many many jobs and get through multiple conversations and then either ghosted, lied to or rejected.

I would like to know if someone can run a background check on me and tell me what others might see?

I spoke to a friend and they said they know others who are experiencing this as well -- and effectively I am experiencing age-ism now that I am in my 40s

<comment><USER7> One of my biggest fears is being aged out of software development as I am almost 40. Over the last year I've been casually looking for a new job while currently employed. Yes I know its not the same, but bear with me. By November I had not yet found a new job and the culture at my current workplace had taken a turn for the worse. I began to worry that I was getting too old for the market. I never contemplated suicide, but I was scared. This is what I did.

1\. Setup personally customized email alerts for all the job sites I could find.

2\. Sent resumes out every day.

3\. I worked on myself. Nearly every day since I've solved leetcode problems, wrote open source software, learned Kotlin, relearned the fundamentals of functional programming, sharpened my python, bought a book on ML and wrote a series of jupyter notebooks working through the standard ML models.

I had many interviews during this time. For some of them I was horribly unprepared, but I used those failures to figure out what I had to know the next time. Within the last week I've received 3 offers. Yesterday I accepted one making great money, working from home, for a company I believe in.

Please fight the fear and keep grinding.

<comment><USER8> I am just wondering which other profession goes through this much grinding just to change a company at near 40!!?

</comment></comment></comment><comment><USER9> Ah, so you make it to the "culture fit" round of the interview... It's probably some personal issue. Make sure your hygiene is on point.

Keep applying, this industry is hot!

</comment><comment><USER10> I just posted this in another thread.

I'm Not Great at Technical Interviews. How I Got Hired: [https://sendgrid.com/blog/im-great-technical-interviews- got-...](https://sendgrid.com/blog/im-great-technical-interviews-got-hired/)

Maybe it is a technique you could leverage. I think the guy who wrote the article is possibly the best hire I've been a part of ever.

<comment><USER11> How many companies would this work at? Seems like more than a few might take exception to a potential employee trying to circumvent their normal hiring pipeline.

<comment><USER10> Probably depends on company size, and who you get your briefcase problem to.

</comment></comment></comment><comment><USER12> There's way too many factors to be able to say what the common reason is (if there is any).

You've worked for 'various startups', so obviously you're good enough to be hired by someone. You just need to find the right job.

I'd wager that more than 50% of candidates that get rejected have it happen for reasons completely unrelated to them. Last minute hiring plan changes, an interviewer having a bad day, disorganization, and arbitrary HR hoops can all be valid reasons. Also don't forget that hiring processes vary greatly company to company, and it was way more informal/disorganized than you are imagining in your head.

It's not very clear from your post, but are you making it to on-site interviews? If you are passing phone screens and getting the take-home, but not getting invited to on-sites, you could be punching above your weight a little bit. Try applying for more junior positions and see if you are seeing the same results. If you are making it to on-site interviews but not getting offers, it is either your in-person technical interviewing skills, or more likely, your personal skills.

Practicing technical interviewing skills is easy. Being 'likeable'/passing the 'culture fit' is much harder to nail down and really depends on the company / interviewer.

Four rejections is really not that many in the grand scheme of things. Keep applying, keep interviewing. Ask a friend or find someone online and practice interview them. Try to see things from the other perspective, and pretend that you really are going to give someone an offer. Hiring someone isn't as easy as 'we need someone, and this person can code'.

Also, consider expanding your search outside the bay area. I don't live or work there, but it seems like everything tech is exaggerated there. You are competing at the highest level there, so getting an offer will be harder than other cities.

</comment><comment><USER13> Don't fabulate stories in your head that are not useful to you. There is nothing "wrong" with you. The reasons could be manyfold. You could try to figure out why you didn't land a job, or, far more easy and effective, just keep going and focus on what you want, on your strengths, on how to sell yourself. Eventually, it'll work out.

Side note: we developers are a spoiled bunch. 4 rejections and you want to give up on the entire industry?

</comment><comment><USER14> mosalarynolife indicates it's the cultural fit part of the interview. If that's the case, do some googling on how to improve that part of your interview process. Another thought, is it possible they don't want to pay what you're asking?

I'm sure you're hirable. You probably already know this but keep your head up, don't take these rejections personally, all that stuff. If I were in your position I'd be tempted to believe I'm an imposter, so be on the lookout for signs of imposter syndrome.

</comment><comment><USER15> Companies are not looking to hire you (nothing personal) but merely to support some existing employee immigration routine which requires hiring company to prove there are no local, appropriately skilled candidates available.

Tons of these job offers are not really job offers but are merely necessary immigration steps for someone who already hired.

Guaranteed rejection for all unaware off-the-street applicants regardless of skills and experience.

</comment><comment><USER16> You have 4 years experience so obviously you are hireable. Keep at it, you'll find something eventually.

</comment><comment><USER17> That's happened to me a couple of times. Maybe you just need to look in a different city.

</comment><comment><USER18> You just need to Know why you are rejects from the HR and works on that area for the next interiew...I hope it helps...

</comment><comment><USER19> I am looking to hire for this role but i saw bay area, i don't think i can match your expectation. Maybe if u moved somewhere else in low COL, i can help u get remote jobs. As long as features are being implemented, no one cares about the interviews.</comment>


Founded on Freelance - <AUTHOR> http://www.theglobeandmail.com/report-on-business/small-business/business-incubator/founded-on-freelance/article1369268/

<comment><USER2> A while back my consulting co. had a call with her last business about working with them to comply with a regulation we have expertise in. They basically tried to pump us for information so they could do it on their own, presumably with freelancers.

1 year later and they still don't have it working... I guess freelancers don't work out on every project :)

</comment><comment><USER3> Sounds like a nightmare for everyone involved. A web design / SEO / social network promotion company, fully staffed with freelancers, working in a highly competitive and very low paying industry. It's going to be fun hustling shared-host resellers and the RentACoder crowd for $5 here and $8 there.

Individual/small-business "website design" is a ghetto.

<comment><USER4> Its a shame it is such a ghetto. I for one, am happy to pay an independent designer/developer good wages but they're hard to identify through the sea of muck.

</comment></comment><comment><USER5> I like the idea of this because there are benefits for both the employer and the freelancer. For employers, it's a labor model that's pay-as-you-go like cloud servers. For freelancers, you're motivated to complete tasks and not watching the clock for 8 hours waiting to run away. This doesn't fix the problem of stability for hired work or benefits like retirement or med insurance. Cool post!

</comment><comment><USER6> I have experience with something similar.

Working with Freelancers is not a bad idea, yes you might get it at a better cost - but if your business is based on being technically better or if you are trying to solve a hard problem - then this is not the route to take.

This model is good for commodity development where the problem is well known and so are the solutions.

</comment><comment><USER7> This is a service business. Paid contractors is to prevent cashflow issues when jobs stop.

</comment><comment><USER8> Who else has done something similar? What have your experiences been like?</comment>


The Moment in Adulthood When You Realize Your Parents' Cooking Kind of Sucks - <AUTHOR> https://munchies.vice.com/en_us/article/a3pp9z/the-moment-in-adulthood-when-you-realize-your-parents-cooking-kind-of-sucks <comment> crooked-v Adulthood? I realized I hated pork chops at age 8.</comment>


I've started offering an online backup service with SFTP, rsync and more. - <AUTHOR>

After I got really annoyed with current services for backups, their custom programs and limitations, I've started my own 'company' offering this sort of service.
I've designed a page myself over at http://www.royalbackup.com/ where I'm offering the service. I'm not selling small allocations since it would be a hassle to deal with too many customers for a few bucks.
More info is available on the site, and you can e-mail email@example.com for a free 100mB trial account for 7 days to take it for a spin.
Any opinions or suggestions are more than welcome.
More info: Public service has only been offered since yesterday, but I've had the service running for a while. Current uptime for bishop is >60 days, though it does get taken down from time to time for regular maintenance (security updates and such). <comment><USER2> I'm planning to switch to using tarsnap because of the robust security involved. Do you encrypt the backup and how? Who controls the keys?

<comment><AUTHOR> It seems like the guys at tarsnap have made their own application. The files are stored unencrypted, and it is the user's responsibility to encrypt them as the user sees fit, removing any limitation and not forcing the users to use only one protocol or application to store encrypted backups.

Using duplicity with a GPG key you can store your backups in an encrypted fashion.

<comment><USER3> +1 duplicity. It can backup to IMAP, meaning it can backup to gmail. Why pay $10+/mo to an online backup provider when Google provides 7GB of free storage (per captcha) inside some awesome tier1 datacenter?

</comment></comment></comment><comment><USER4> 1\. The tech details are great. However, maybe not on the first page. I understood them, but do people that use for example Mozy.com know what RAID6 is? A picture is worth 1k words.

2\. What are your typical upload/download speeds? What could I expect in terms of latency?

3\. I would suggest that people set up their own encryption before they upload the file(s). I don't think many people have considered that as an option.

<comment><AUTHOR> Added a link with more RAID6 info and a diagram.

Speeds can go up to 100mbps, but it varies based on how busy the server is, distance between your server and RB servers. You can ping bishop.royalbackup.com to get a rough idea of latency.

</comment></comment><comment><USER5> It looks almost exactly what rsync.net provides. They're established. Why aren't you telling me why your service is better than theirs?

Your prices do appear to be cheaper but as you've said with a much larger minimum quantity. Is cost the only significant differentiating factor?

<comment><AUTHOR> There isn't a lot to compete on, and trying to make a table that has a lot of green checks under for our features while the competitions has less checks or "limited" features seems a bit silly.

There is a larger minimum quantity, but when you look at it, you might want to have archives for your backup as well as synced up backups, so you'll need a bit more storage, and the space can get used up pretty fast.

</comment></comment><comment><USER6> You mention on your site that the servers are in "an N+1 redundant environment". Is it your own data center or is that outsourced?

Also, I would second jgrahamc's question re: encrypted backups.

<comment><AUTHOR> No, I don't own the datacenter, as I probably wouldn't bother with backup services if I had millions to throw on a datacenter, and instead I'd be selling rack space and bandwidth ;).

Regarding the encryption: the files stored are not encrypted, it is your task to encrypt them, with whatever method you choose, as I believe this removes some of the limitations I might impose if I were to forcefully encrypt everything, though I understand this can make it harder for newer users that are inexperienced.</comment></comment>


Jisp – A programmable language that compiles to JavaScript - <AUTHOR> http://jisp.io/

<comment><USER2> Prediction: it will die it's natural death in 6 months.

"Terser" should not be a programming language selling point. "Expressive" yes.

<comment><USER3> I know nothing about programming languages. What makes you predict that, and what makes you feel terseness cannot be a programming language's selling point?

<comment><USER4> One of the problems with terseness is that it can make code completely unreadable. You can write perfectly readable code with it, but the fact that it's easy to make dense, inscrutable code can make things a nightmare when you're looking at what someone else has made. Especially if that person is a Real Programmer[1].

Of course, a lot of people very much resent the idea of a programming language forcing them to do what they see as pandering to the lowest common denominator (That's what comments are for!). It really is up to the community as to how much description they really need.

[1][https://www.cs.utah.edu/~elb/folklore/mel.html](https://www.cs.utah.edu/~elb/folklore/mel.html)

</comment></comment></comment><comment> fake-name How the heck is it "terser"? The /example/ on that page is 23 lines/555 chars to produce javascript that is 17 lines/444 chars.

If you're going to boast about "terseness" as a selling point, you should at least ensure your examples actually demonstrate that to be at all true.

<comment><USER5> Well, the first 10 or so lines define a macro; I suspect the author was not counting those. This is not entirely unfair, since we're also not counting the code Gulp used to give you that nice builder-style API.

I was thrown off by this at first as well -- the text really doesn't match the visual impression. It might be smart to add a qualifier to the docs: "look how simple the macro is, and then look how concise the gulp definitions are after that."

</comment></comment><comment><USER6> Language author here. I feel pretty stupid for what I wrote in the documentation. Commenters here are entirely right to bash it for claims of terseness on the syntax level because that's not an advantage, just a questionable tradeoff.

I'm doing a complete rewrite with 0.4, overhauling the compiler's architecture (the current version is fairly embarrassing) and dropping some dead-end ideas and Ruby influences. Mostly done, but moving slowly. If anyone's interested, you're welcome to PRs. :)

<comment><USER7> Seriously now, and without meaning to diss your work -- ever considered contributing to wisp? The project needs extra hands.

<comment><USER6> Actually never heard of wisp. There's so many lispy dialects, smaller ones tend to get overlooked. I don't think I can get involved with another compiler at this point — got a bunch of other libraries underway, which have even muscled out jisp for the time being. Sorry :)

</comment></comment></comment><comment><USER8> Really? I would definitely expect this to be an equality test instead.

      ; assignment (name binding)
      (= myVar 'myValue')

</comment><comment><USER7> Personally, I find [https://github.com/Gozala/wisp](https://github.com/Gozala/wisp) to be a whole lot more coherent and readable (and probably more mature, too, even though it has much less documentation).

wisp also generates very nice JS code (and source maps), and my only real problem with it is that it lacks the time and resources ClojureScript clearly commands at this point.

(edited to add: wisp also has a fair amount of activity: [https://gitter.im/Gozala/wisp](https://gitter.im/Gozala/wisp))

</comment><comment><USER9> How does it compare to ClojureScript?

<comment><USER10> Came in here to post the same thing. As another Lisp to JavaScript transpiler and the popularity and support for ClojureScript already I think there needs to be some pretty compelling differences.

<comment> aaron-lebo It needs to be different than ClojureScript as well as more than a dozen other lisp-to-js projects. [1]

These are fun projects, and I don't doubt that the authors and a few individuals have or will get great use of of it, but the market is saturated with languages that compile JS right now and very few stick out or are likely to get critical mass. Even Coffeescript, which is probably the most popular one, has a small community.

[1] [https://github.com/jashkenas/coffeescript/wiki/list-of- langu...](https://github.com/jashkenas/coffeescript/wiki/list-of-languages- that-compile-to-js)

</comment></comment></comment><comment><USER11> Interesting project, but I doubt it will gain any traction. It would be good to provide some kind of a runtime and a standard library.

</comment><comment><USER12> Apologize if this is a dumb question but is the point here to make a language that's somewhat analogous to a stenographer typewriter or a Dvorak keyboard or something? In other words, you can write out new code in Jisp, then hit the compile button and it compiles to JS and you paste that into Sublime Text and you have thereby saved time?

<comment><USER13> Well if we want to get technical that's how every compiler works, except the stenographer is writing 0s and 1s instead of JS. Writing C saves you time over writing machine code, that's what a programming language is supposed to do. They make it easier for a human to give instructions to a computer.

</comment></comment><comment><USER14> I hope that the proliferation of JavaScript languages does not mean we need abandon the whole concept of "HTML static pages".

</comment><comment><USER15> You can do the same thing with Java using Google Web Toolkit: [http://www.gwtproject.org/overview.html](http://www.gwtproject.org/overview.html)

It lets you write both server & client code in java, and then the client code is compiled to highly optimized javascript.

<comment><USER16> A word of warning, there is plenty of google brain cancer in GWT, one of my personal favorites that elicited "wtf..."s frequently in a previous occupation:

[http://www.gwtproject.org/javadoc/latest/com/google/gwt/json...](http://www.gwtproject.org/javadoc/latest/com/google/gwt/json/client/JSONValue.html)

To this day I still can't fathom why someone thought it'd be acceptable to violate conventions by providing is<Type>() methods that do not return boolean results.

<comment><USER15> In my 1 year of using GWT, I've never had to use that class. Also, you're never required to use GWT's implementation of JSON, you're free to write your own.

</comment></comment></comment><comment><USER17> Those macros look unhygienic, unfortunately.

<comment><USER18> Unhygenic macros isn't a drawback, just implement a hygenic macro system on top (this isn't difficult).

That said, I don't see the need for this language. Wisp and Clojurescript seem to have a lot more mindshare and I don't see a big enough benefit here to warrant splitting the community.

</comment></comment><comment><USER19> no source maps? :( come on!

<comment><USER20> If you're a competent JS programmer you don't need source maps in this case. It's hard to tell from the examples, but it looks like generated JS is not particularly hard to read. Source maps are a must for things like FunScript, js_of_ocaml, Whalesong; they are not very useful in langs like Coffee.

Personally I dislike usage of source maps for Coffee. I want to know what code is being generated. It's good for your health to know this. Most serious C programmers know at least the basics of what asm their compiler generates from which C construct. They can read it (compiled asm) too. I see no reason why this shouldn't be true for Coffee and JS, where it's much, much easier to do anyway.

EDIT: also, as noted by my sibling, it's open source and on Github. You can just go and implement source maps support, I think your pull request would be quickly merged...

</comment></comment><comment><USER21> The correct term is 'transpilation'.

<comment><USER20> I wonder about that. On this page [http://en.wikipedia.org/wiki/Compiler](http://en.wikipedia.org/wiki/Compiler) the first sentence reads:

"A compiler is a computer program (or set of programs) that transforms source code written in a programming language (the source language) into another computer language (the target language, often having a binary form known as object code)"

It's even sourced. There's nothing here saying that "target language" can't be another high level language; and if you look at CoffeeScript (for example) implementation you'll see that it's structured as any other compiler would be. I think "transpilation" would be a bit more precise, but I don't think "compilation" is incorrect term.

<comment><USER21> _> "would be a bit more precise"_

I agree and stand corrected.</comment></comment></comment>


T-Mobile-bound Samsung Galaxy Note 2 gets additional confirmation - <AUTHOR> http://www.androidcentral.com/t-mobile-bound-samsung-galaxy-note-2-gets-additional-confirmation-tipsters

<comment><USER2> Hard to beat the 2M of preorder in 24hrs for the Iphone :)</comment>


Divshot lets you create websites quickly and easily, no coding required - <AUTHOR> http://theindustry.cc/?p=9665&preview=true&preview_id=9665&preview_nonce=9e6b7ab06c <comment><USER2> Since the link doesn't allow you to view it, here's the blog link:

[http://theindustry.cc/2012/09/25/divshot-lets-you-create- web...](http://theindustry.cc/2012/09/25/divshot-lets-you-create-websites- quickly-and-easily-no-coding-required/)

</comment><comment><USER3> fail: "You do not have permission to preview drafts"</comment>


Introduction to Automatic Differentiation - <AUTHOR> http://alexey.radul.name/ideas/2013/introduction-to-automatic-differentiation/ <comment><USER2> Q: "What's the derivative of a data structure anyway?" A: The Derivative of a Regular Type is its Type of One-Hole Contexts [http://strictlypositive.org/diff.pdf](http://strictlypositive.org/diff.pdf)

<comment><USER3> Amazing, I was looking for such a paper for a long time.

</comment></comment><comment><AUTHOR> Automatic differentiation computes with so-called dual numbers, which store an infinitesimal (e) alongside the result of the computation. The infinitesimal is the derivative. Working with infinitesimals is how calculus started out but was abandoned when calculus was formalized using epsilon-delta limits ([http://en.wikipedia.org/wiki/%28%CE%B5,_%CE%B4%29-definition...](http://en.wikipedia.org/wiki/%28%CE%B5,_%CE%B4%29-definition_of_limit))

The is a newer formalization of calculus, called non-standard analysis, that works with infinitesimals, called the hyperreals. As you can imagine, there is a strong relationship between dual numbers and hyperreals. I found this exchange interesting:

[http://math.stackexchange.com/questions/341535/is-the- theory...](http://math.stackexchange.com/questions/341535/is-the-theory-of- dual-numbers-strong-enough-to-develop-real-analysis-and-does-i)

It's kinda cool that non-standard analysis slips in through the back door when using dual numbers. I always found working (informally!) with infinitesimals quite simple.

</comment><comment><USER4> So there's a new name for taylor expansions now?

<comment><USER5> AD is a way (actually ways) of organizing a computation. There are many different ways to organize the computation and evaluation of a Taylor series at a point.

As an exercise, try to explain the difference between symbolic differentiation, forward mode AD, and reverse mode AD. You will find that there is more content here than just a new name.</comment></comment>


CareCloud Raises $20 Million in Series B - <AUTHOR> http://www.forbes.com/sites/zinamoukheiber/2013/06/18/carecloud-raises-20-million-in-crowded-market-for-electronic-health-records/

<comment><USER2> Very happy to see a Miami start-up tackling such an important space.

</comment><comment><USER3> Congratulations to Albert and the rest of the team.</comment>