The BNC Connector and How It Got That Way - <AUTHOR> https://hackaday.com/2018/10/19/the-bnc-connector-and-how-it-got-that-way/ <comment><USER2> I too felt the author's snobbery towards lesser connectors. I felt the same way towards equipment that did not have SDI as well. As cool as HDMI is, the connector is just not a secure attachment. It is today's equivalent of the yellow/red/white video/audio jacks of older equipment. It is too easy for it to be pulled out accidentally. The twist lock secured connection of BNC is just reassuring.

<comment><USER3> SCART is another disgusting connector that European readers will be familiar with. I like the idea of combining multiple video formats with sound as a predecessor to HDMI, but the least they could have done was put a decent D-sub or the Amphenol-style ribbon connector.

<comment><USER4> I recently got pretty heavily into SCART connectors because of retro video game stuff (the most common rgb connector you can use with older consoles is scart) and after a few months I've thrown it all away in exchange for special component cables instead because scart is just terribad in terms of staying connected.

Can't count the number of times I've had colour production go wonky just because of a tiny bump of the scart cable.

</comment></comment></comment><comment><USER5> Hope it's OK to go off topic a bit and vent my gripe about connectors: You bump the connector and destroy the printed circuit board that it lives on.

Well, at least I got an oscilloscope for free that way. The inputs were flakey, and it was rejected by the calibration service. I opened it up, and re-soldered the printed circuit mounted input connectors. Lovely scope.

<comment><USER6> Reliability isn't really off topic when talking about connector design. Apparently there are possible tradeoffs between damaging the socket and the cable; IIRC micro-USB is designed to sacrifice the cable to reduce damage to the device.

<comment><USER7> Funny enough, I had a $1200 software-defined radio that was destroyed when the micro-USB3 connector ripped off the board, taking a bunch of traces with it. When I ordered the replacement, it came with a full-sized connector on it instead, with mechanical through-hole structural support. Some micro-USB connectors have the through-hole support, but many are pure SMT devices that will happily destroy your board with a sneeze.

</comment></comment></comment><comment><USER8> I always thought that these were called British Naval Connectors and were developed for submarines. Not sure if I dreamt that or someone was having a laugh with me.

<comment><USER9> It is wrong but widespread, [https://www.webopedia.com/TERM/B/BNC_connector.html](https://www.webopedia.com/TERM/B/BNC_connector.html)

</comment></comment><comment><USER10> "Bayonet Neil-Conselman"! Huh, who knew?

Speaking of connectors, once upon a time there was the IBM PC RT, whose mouse and keyboard connected with these:

[https://fjkraan.home.xs4all.nl/comp/ibm6150/IBM_RT_keyboard_...](https://fjkraan.home.xs4all.nl/comp/ibm6150/IBM_RT_keyboard_mouse_connectors.jpg)

Those are the only connectors I've ever been able to plug into the back of a box, from the front, without looking. They were wonderful (he says, tha remembering at the time he was the guy who got to crawl around under peoples' desks).

I was eventually told that, because the actual connectors were the same, they had to add the keyed moldings to prevent the hardware from being destroyed by being plugged into the wrong spot.

<comment><USER11> >"Bayonet Neil-Conselman"! Huh, who knew?

Indeed, it has been "bayonet network connector" in my mind. Must have been some folk etymology that got stuck.

</comment></comment><comment><USER12> They forgot to mention the alternative TNC, "Threaded Neil-Conselman". Same connector dimensions but the barrel is threaded and the cable connector screws on.

I mostly see them used on smaller RF gear like WiFi antennas, and whip antennas on hand held radios. The threaded design provides a more secure mechanical attachment. The classic blue Linksys routers and AP's use a reverse TNC connector for the antennas.

<comment><USER13> They're actually still fairly common regarding aircraft radios. I see them daily working with avionics, though BNC is more common.

</comment></comment><comment><USER14> SDI is probably the main remaining prevalent signal being used with BNC connectors, and 12G-SDI is going to be its last hurrah. 25G/100G Ethernet and is rapidly displacing it.

The main thing SDI & coax has going for it is its robustness, especially for 3G-SDI signals, so I guess it will live on there. But BNC & SDI is on the way out, certainly for broadcast. Its so much cheaper to use Mellanox, 25G/100G Ethernet instead.

<comment><USER13> I'd assume it will be decades until BNC/TNC die off completely. I replaced one today on a Bell 205A1 helicopter, for the ELT. Given the standards for reliability (both in how well it must perform and how long it must last) aircraft OEMs aim for, I expect to work with them for the remainder of my career.

</comment></comment><comment><USER15> > _Like all coaxial connectors, it was designed to present as little change in > the characteristic impedance of the feedline as possible by keeping the > spacing between the center conductor connection and the outer shell as close > to the feedline dimensions as possible._

The above supposedly explains why coax is better for high frequency, but the sentence isn't parsing for me. Can anyone explain it a bit more?

<comment><USER16> The characteristic impedance of a cable is distributed and depends on things like the spatial relation of the connector to the shielding, other internal conductors, and what the cable insulator is made of. Changes in these parameters result in local impedance changes, when electrical signals propagate down and reach changes in impedance, it cause reflections which show up as noise and loss. The more abrupt and large the impedance change is, the more extreme the reflections will be. Connectors are basically a hotspot for changes in the physical dimensions of the cable as it connects to a receptacle. Higher frequencies are more sensitive to changes in the physical geometry because of their smaller wavelength. Most decent BNC connectors will work up until a few GHz, most SMA up between 10 and 20 GHz. N connectors work up to almost 30 GHz.

</comment></comment><comment><USER17> RF guy here: N connectors are widely used in all RF equipment and are vastly superior to BNC connectors. Good luck using a BNC connector above several GHz. The second best connector used in RF is the SMA. The third most common is the 7/16 which is horrible in my opinion to work with but necessary for large power transfer.

<comment><USER16> N connectors are robust, so they get used heavily in military applications and that scale of production makes them relatively cheap and the mil-spec they are produced to ensures that you don't get moding until 20 GHz. They are also huge and a pain to put on. BNC is great for what it was designed for. Fast, reliable, repeatable, connections in the 100's of MHz range.

HP/Agilent/Keysight uses a "Precision BNC" connector on their scopes that easily outperforms N-type connectors in frequency response but is rather expensive to produce.

SMA connectors are actually pretty crappy but are cheap, small, and ubiquitous. Their size and forgiving PTFE dielectric makes them very forgiving up to 10 GHz or so from a frequency response view point.

Really good high frequency connectors are going to be the precision connectors, 3.5mm 2.92mm etc. down to 1.0mm which can go up and over 100 GHz where you should really be using wave guides anyways. These types of connectors are very expensive so you rarely see them in production electronics unless absolutely required.

</comment></comment><comment><USER18> Always wondered about these. Fascinating read, thanks for submitting.

</comment><comment><USER19> BTW is it time yet to improve on RJ-45? Esp as ethernet typically uses 4 wires - its ridiculously large.

<comment><USER20> the RJ-45 is 8 wires, 4 pairs, and is designed to be easy to connect up by field personnel, and be cheap.

<comment><USER21> This^ I actually quite like the design because it's so easy to create connectors in the field with a couple simple tools. Don't have to strip the conductors or solder anything, just cut the sheath off, align the wires and shove it into the crimper.

Edit: and all this with connectors that are dirt cheap.

</comment></comment></comment><comment><USER22> Popularly used by 10BASE2.</comment>


Ask HN: On learning to code: Are you left or right brained? - <AUTHOR>

Interactive jump into code immediately tutorials seem to be all the rage now. I'm talking about approaches like codecademy.com and learn.knockoutjs.com
This strikes me as very left-brain centric learning - very pragmatic.
However being left-handed I learn best via high-level conceptual introductions to concepts. This is how and why backbone.js works the way it does... . From there going through all the examples is a beautiful journey filled with "ahah" moments.
I plan to dedicate a lot of my time to writing conceptual tutorials of how things work.
Thoughts? <comment><USER2> I love that idea. I was looking as the "documentation" for a web-framework yesterday. All I was getting was tutorials and videos, nothing that explained to me how the damn thing works. Most of my questions would have been answer more quickly with a simple "Here's how it works and here's the API".

A few times a week I browse the mailinglist archives for the OpenBSD cvs and misc lists. Why some people may see it as rude, I find it refreshing when the developers tell people that reading walkthrough, tutorials, quick start guides and googling isn't a substitute for learning how things work. Sadly few products/projects make it easy to learn how things work and focus solely on "here's how you do X/Y/Z. Just tell me how it works and I'll figure it out.

I honestly think that this "left-brain centric" approach is to blame for a lot of people picking wrong solution for the problems. Of cause people should know better and get a more in depth knowledge before picking a tools, but realistically that doesn't happen as often as we would like.

I think there would be a large audience for the type of documentation that your suggest and I believe that it would a lot of people, my self included, to be better developers.

</comment><comment><USER3> I don't know that it's a right-brain vs left-brain thing so much as a preference in learning style: do you prefer to get the big picture first and then make it real with small chunks, or do you prefer the small chunks first and building the big picture afterward? Although I prefer the big picture first, I've learned it's really useful to bounce between the two modes on a given chunk of learning to make sure I really understand what I thought I understood.

Of course, when you first begin programming the computer is annoyingly finicky about those small chunks; unlike IMs, picky little details like punctuation, spelling, and syntax demand your attention before you can get experience with the big pictures.

</comment><comment><USER4> It's worth trying!

<comment><AUTHOR> thanks for the encouragement =). I am working on one now for jekyll but it's not finished yet.

</comment></comment><comment><USER5> Please email me personally when you have something. (Contact info is in my profile.) This might be useful to my son who bitches endlessly about how impossible it is to learn code because no one actually explains anything useful/meaningful. I taught him math conceptually to get past the fact that numbers don't compute for him and that worked well. If he likes it, I will be happy to spread the word a smidgeon. I've talked to him a little about HTML and CSS and he was like "That actually makes sense! No one fucking* tells you this stuff. You can't find this info on the web. (etc)" But my knowledge of code is extremely limited.

Thanks.

* Unlike me, my son does not typically swear a blue streak. This tells you how frustrating he finds this.</comment>


Bjarne Stroustrup on Dennis Ritchie: They said it couldn't be done, & he did it - <AUTHOR> http://herbsutter.com/2011/10/12/dennis-ritchie/ <comment><USER2> "C is a poster child for why it's essential to keep those people who know a thing can't be done from bothering the people who are doing it."

Being a "can't be done" person is easy, being a "I'll do it" person is hard... but it's so much more fun and liberating. True story.

<comment><USER3> How many times throughout history have we heard this? I think that this is probably the most important part in any huge discovery throughout history, people refusing to believe or not knowing that it that it "can't be done".

(Of course the trick is knowing when something really can't be done, ex. alchemy)

<comment> T-hawk Alchemy can be done. Gold has been synthesized on the nuclear level by way of neutron bombardment of other elements. It's just not economically practical since the process costs more in equipment and energy than the value of the gold.

<http://en.wikipedia.org/wiki/Synthesis_of_noble_metals#Gold>

<comment><USER4> > Alchemy can be done.

Only by dishonestly redefining your terms.

Alchemy was always focused on _chemical_ methods. Converting lead to gold _that way_ is impossible.

<comment> T-hawk Right, and finding another way is how the "can do" person wins over the "can't" naysayers. It's like saying Jules Verne's cannon to the moon is impossible... which is true, but not really the point, since rocket travel to the moon has been proven.

<comment><USER4> My point is that you can make _any_ prediction 'come true' if you redefine enough words in it. This is a dumb parlor trick and tells us nothing about how people of the past actually thought.

</comment></comment></comment></comment></comment></comment><comment><USER5> ALGOL had almost everything that C had including portable types at least 10 years earlier:

<http://en.wikipedia.org/wiki/ALGOL>

and really innovative guys, Burroughs computers had their operating system written in an ALGOL dialect:

<http://en.wikipedia.org/wiki/Burroughs_Corporation>

all before C. Personally I appreciate the terseness of C and its closeness to assembly a lot, and I believe it all reflects the good taste of Ritchie, but still he didn't do anything "impossible" from my perspective.

To compare, you can read again:

"The Summer Of 1960 (Time Spent with don knuth)"

<http://news.ycombinator.com/item?id=2856567>

where Knuth writes an ALGOL compiler for Burroughs in 1960 working 40 hours a week in violation of Cal Tech's policy that limits the number of hours that a Ph.D. candidate can work.

<comment><USER6> You are mistaken.

From the article:

> There was no such thing

> as a general-purpose program that was both

> portable across a variety of hardware

> and also efficient enough

> to compete with custom code written for just that hardware.

And that is true. You couldn't run the Burroughs 5000 Master Control Program on a PDP-11, as far as I know, _at all_ , and certainly not efficiently.

Ten years before the birth of C was about 1963. ALGOL-60 lacked a lot of things to compete with C, which is why people in the 1970s switched to C. ALGOL-68 required garbage collection, which wouldn't be reasonably efficient until the invention of generational GC in 1983, and still poses problems for real-time software like device drivers, which is why people usually use C or C++ instead of ALGOL-68 or Java for them.

For some notes on what ALGOL-60 lacked in comparison with C, I recommend reading "Why Pascal is Not My Favorite Programming Language", from 1981: <http://www.lysator.liu.se/c/bwk-on-pascal.html>. Most of the objections to Pascal also apply to its ancestor ALGOL-60, although ALGOL was intended for real work, not just teaching. ALGOL-60 did have a sort of equivalent of pointer parameters, namely Jensen's Device, but it was dramatically less efficient than pointers. I _think_ (I wasn't around in the 1960s) that ALGOL implementations from different vendors had different nonportable extensions to work around the lack of pointers, and of course the same thing happened with Pascal later.

Burroughs was an immensely innovative company, and all of today's popular programming languages except C, C++, and PHP (JS, Java, C#, Python, Perl, Ruby, Objective-C) owe an enormous debt to Smalltalk, which draws much of its inspiration from the B5000. I do not deprecate the importance of Burroughs! They did indeed write the first OS in a high-level language. But C achieved what they could not.

The measure of C's achievement is that in 2011, on a multiprocessor 32-bit machine with the x86 instruction set and a gigabyte of RAM, I still occasionally run programs originally written in 1981 for a single-processor 16-bit PDP-11 with 64k of RAM per program, and they're still efficient; and I still constantly run software written in the late 1980s, such as parts of the X server and much of GNU coreutils, on single-processor 32-bit 68000s, and much of the optimization done then is still valid. (Though not all of it!)

It was C that first made it practical for people on different architectures to share code on a large scale, for code to outlive the architectures it was written for without suffering a dramatic slowdown, and for people to switch architectures, as Sun did from the 68000-family Sun3 to the SPARC, as everyone eventually did to the i386 we use today, and as we now are to AMD64.

The SNOBOL Implementation Language, SIL, achieved the same thing in 1966 — but only for one program, the SNOBOL interpreter! TeX was another early endeavor in this direction; concurrent with the early evolution of C, Knuth wrote WEB, a literate programming language which compiled into Pascal, in order to get Pascal's portability without suffering from its drawbacks. Among other things, WEB used a single humongous Pascal packed array of char for all of its strings; and that was what Knuth wrote TeX and Metafont in. C's twin sibling Ratfor was a third similar approach, compiling C-like constructs into Fortran rather than assembly. I don't know of anything else that predated the popularity of C.

In effect, C enabled both the birth of the SPARC and its death.

Today we stand at or near the end of the C era, for three reasons.

First, a vast amount of software is being written for which efficiency is of minimal concern. So C's drawbacks — its proneness to subtle bugs, its difficulty of debugging, its limited facilities for abstraction — drive people to more modern languages.

Second, dynamic recompilation has reached a level of performance where it's feasible to use it to emulate another processor architecture at acceptable speeds. Transmeta was one of the most interesting explorations of this concept, but Apple's transition strategy from the PowerPC to the i386 probably had more field-deployed units, and I think some of the currently popular OS virtualization approaches work this way as well. (And of course there's Valgrind, although calling its speed "acceptable" is a bit of a stretch.) So now there are viable alternatives to the recompilation approach.

Third, both computer architectures and compiler optimizations have changed so much in the 40 or so years since C was invented that C is stretched rather thin. Compilers exploiting undefined behavior makes it increasingly difficult to write working code in C, or to recompile old C programs. And, although people largely program GPUs in C, you cannot simply recompile Emacs for your Fermi or your Spartan-II to get it to run faster or use less energy. The C abstract model of computation is an increasingly poor fit to modern hardware, despite the pressure it has exerted on hardware designs for the last 25 years.

๛

<comment><USER5> I'm not mistaken, only you appear not to have experience with FORTRAN and Pascal.

> There was no such thing as a general-purpose program that was both portable > across a variety of hardware and also efficient enough to compete with > custom code written for just that hardware.

Of course ALGOL easily matches this claim. Proof: Knuth's TeX was written in Pascal.

Not to mention everything that was written in FORTRAN.

> I still occasionally run programs originally written in 1981 for a single- > processor 16-bit PDP-11 with 64k of RAM per program, and they're still > efficient

Try to check when most of the FORTRAN libraries still used today were written. Some -- decades before 1980.

See also how long FORTRAN compilers generated faster scientific code than C -- for decades after C appeared. You can also find why:

<http://en.wikipedia.org/wiki/Pointer_aliasing>

> "Why Pascal is Not My Favorite Programming Language"

The paper, as far as I remember, doesn't claim impossibility of writing useful software, mainly laments for the lack of return, break, continue constructs, which are convenient to have but not real show-stoppers. Note also that Pascal standard features are just to be a "learner's language" not a "system language" -- for which there were working compilers and uses before C.

> You couldn't run the Burroughs 5000 Master Control Program on a PDP-11, as > far as I know, at all, and certainly not efficiently.

You'd also have to port Unix the same way you had to port MCP -- you can think of MCP as Unix in which drivers are part of the kernel -- but "integer" in ALGOL is certainly as portable as "int" in Unix -- they both fit the "hardware word."

Nicer pointer arithmetics in C is a good point. Though note that Wirth also had "Pascal lite" with pointers and which was closer to assembly for OS-level stuff just as Burroughs had ALGOL lite for OS-level stuff. The concepts of "closer to assembly" but higher-level languages existed certainly well before C. The idea to separate kernel and drivers is something else, and I don't know who achieved that first and when.

Finally, see Google's go -- it's more or less acceptance of Wirth's directions, mixed with terser notation of C. (Now, finally, why are you still on my lawn?)

> The C abstract model of computation is an increasingly poor fit to modern > hardware

No, you can observe C (as well as more or less all ALGOL descendants) as a higher level representation acceptably close to assembly, so as long as there are CPU's which execute machine code and we need to care about details (see <http://news.ycombinator.com/item?id=3068513>) we'll need something like that to have efficient and not too low level representation.

<comment><USER6> (Note: I continued writing my original comment after you posted yours.)

I don't have _much_ experience with Fortran and Pascal. But the original article also talks about how C was different from Fortran: "Fortran did okay for array-oriented number-crunching code, but nobody could do it for general- purpose code such as what you'd use to build just about anything down to, oh, say, an operating system."

And that covers most of the FORTRAN libraries still used today.

Both Fortran and Pascal came close — ADVENTURE may be one of Fortran's greatest triumphs — but they were not really usable by themselves. _Software Tools_ was written in Ratfor (as I said, C's sibling) and TeX was written in WEB, rather than Pascal. (Writing a text-processing program in a strongly- typed language without a string type is an exercise in frustration.)

> you can think of MCP as Unix in which drivers are part of the kernel

I'm not sure what you're trying to say here. Drivers are part of the kernel in Unix too.

> but "integer" in ALGOL is certainly as portable as "int" in Unix -- they > both fit the "hardware word."

But ALGOL-60 doesn't have bitwise operations, bit shifts, unsigned arithmetic, char, or more than one precision of floating-point. Instead you get ↑, exponentiation. So many algorithms that can be expressed efficiently in C cannot be expressed efficiently in ALGOL-60.

> Wirth also had "Pascal lite" with pointers

Where can I learn more? Googling [Pascal lite] is not helpful.

> The concepts of "closer to assembly" but higher-level languages existed > certainly well before C.

Certainly true — BCPL could be described as one of them. But BCPL didn't quite get it right.

> Finally, see Google's go -- it's more or less acceptance of Wirth's > directions

What does Golang have in common with Oberon (?) that it doesn't have with C?

๛

<comment><USER5> > What does Golang have in common with Oberon (?) that it doesn't have with C?

<http://en.wikipedia.org/wiki/Oberon_(programming_language)>

A lot! Garbage collection, no unsafe pointer arithmetic, type specification different from variable use (varname: type)

> ALGOL-60 doesn't have bitwise operations

Ah.... That's like saying that Unix IV didn't have driver for your network card. It was just not standard only because CPU instruction sets were not standard enough. Real-life compilers had it:

<http://rosettacode.org/wiki/Bitwise_operations#ALGOL_68>

> more than one precision of floating-point

FORTRAN had it, C didn't care initially. And FORTRAN remained faster for long.

> Where can I learn more?

Actually, my bad, sorry, "lite" "closer to the system" language was even before Pascal and obviously before C, it was a bootstrap language for ALGOL W in sixties, see sources:

[http://bitsavers.org/pdf/stanford/listing/Algol_W_Listing_No...](http://bitsavers.org/pdf/stanford/listing/Algol_W_Listing_Nov69.pdf)

And then Pascal was also written in Pascal after it was bootstrapped once.

<comment><USER6> > A lot! Garbage collection, no unsafe pointer arithmetic, type specification > different from variable use (varname: type)

Hmm, I'll give you the last one, although they left out the colon. The others are common to basically all high-level languages, so I don't really think of them as due to Wirth's influence. To my eye, the interesting aspects of Golang are interfaces, slices, and goroutines, none of which are present or even hinted at in Oberon. Interfaces were kind of anticipated in OCaml, slices in D, and goroutines in a family of CSP-derived languages going back to 1980.

> > ALGOL-60 doesn't have bitwise operations

> It was just not standard only because CPU instruction sets were not standard > enough. [ALGOL-68]

Well, on one hand, it wouldn't be very useful to try to do bitwise AND on a decimal machine. But the original claim is that, prior to C, general-purpose (i.e. not purely numerical!) programs gained so much speed by being written nonportably that portable versions could not compete, and C enabled high- performance programs to be written portably. Your original rebuttal, as I read it, was that 10 years prior to C (i.e. in 1963) ALGOL had already achieved this.

We can stipulate, I hope, that bitwise operations are crucial for the inner loops of a lot of important algorithms.

Now, it appears that you're saying that not only had ALGOL not achieved this in 1963, but that it was impossible for any language to achieve it in 1963 because CPUs were too disparate, but that ALGOL-68, whose first usable implementations were concurrent with the first usable implementations of C, _still_ didn't standardize those operations, so you _still_ couldn't write portable programs that used them! (Although you could write programs for one or another ALGOL compiler that used them.)

I think you have proved the point of the original article rather than rebutting it.

> FORTRAN had [more than one precision of floating-point], C didn't care > initially. And FORTRAN remained faster for long.

For numerical code, yes. But I was talking about the inadequacies of ALGOL-60, not Fortran (which is _still_ faster, as you alluded to earlier). C's limited support for single-precision floating point was a sore point for decades, but not supporting it _at all_ , as standard ALGOL-60 didn't, is much worse. It doubles the size of all your arrays! That's much worse than simply doubling or quadrupling your run-time, as C could; you can almost always run the program for twice as long, but you can only rarely double the core at its disposal.

> sorry, "lite" "closer to the system" language was even before Pascal and > obviously before C, it was a bootstrap language for ALGOL W in sixties, see > sources:

> > [http://bitsavers.org/pdf/stanford/listing/Algol_W_Listing_No...](http://bitsavers.org/pdf/stanford/listing/Algol_W_Listing_Nov69.pdf)

That code is written in PL360, and although, yes, it has bitwise operations in it, nearly every line of it contains assumptions that it's running on a 32-bit computer (such as the 360) and about which CPU instructions set which CPU flags, with gems like "R0 := FLAGS(I) AND #80000000; IF ¬= THEN ...". It's pretty strong evidence that, in 1966, even Niklaus Wirth thought he had to write nonportable code — essentially assembly language with ALGOL syntax — in order to get acceptable performance.

He explicitly rejected FORTRAN, and he claims he didn't have an ALGOL-60 compiler available.

> And then Pascal was also written in Pascal after it was bootstrapped once.

I've certainly seen Pascal compilers written in Pascal, but the ones I've seen were concurrent with the development of C or later. I don't suppose you have one in mind?

๛

<comment><USER5> See also:

<http://news.ycombinator.com/item?id=1624481>

> It's pretty strong evidence that, in 1966, even Niklaus Wirth thought he had > to write nonportable code — essentially assembly language with ALGOL syntax > — in order to get acceptable performance.

I'd however say that that 1966 code is not at all so far away from C. Today I can also use registers in my big C compiler, heck, I have to for really serious optimization. Just like then. C is also not automatically portable unless active care is done to test it on another platforms and rewrite the parts of it -- if you claim the opposite I have for you some 2 million lines of code I maintain after at least 40 people worked on it -- it's not an exception, more a typical example.

<comment><USER6> Yeah, you're right, PL360 _is_ pretty similar to C, but it failed to achieve what C achieved: providing just enough of an abstraction from the concrete machine to make efficient portable software possible, and in fact even practical.

As far as register optimization in modern C, I think there's a world of difference between saying "register long a, b, c, d, e;" and saying "WHILE W ¬= #1 DO BEGIN R1 := MEM(W); R0 := R1 SHRL 24 SHLL 12 + T; MEM(W) := R0; W := R1 and #FFFFFF; END". But maybe you were talking about inline assembly.

My experience with C portability agrees with yours, although it sounds like yours is deeper.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7>
      we now have the new ISO C11 standard. C11 includes a number of new features that parallel those in C++11

Did i miss something?

<comment><USER8> ISO C11 has been known as "C1x" until its standardization:

<http://en.wikipedia.org/wiki/C1X>

Nothing earth-shaking. The __Generic_ keyword is probably the most exotic addition (at least among those listed on the Wikipedia page) -- it's basically _switch(typeof(X))_ for macros.

<comment><USER4> Is there a reason C11 doesn't include typeof? It's been a gcc extension for decades now, and I see no reason it can't be part of the official standard.

<comment><USER9> My guess as someone who is not familiar with compiler internals is that the design of many compilers prevents them from implementing a typeof() operator without major changes to the way they analyze and store the parsed source code, so the standard writers decided not to include a feature that would not be widely implemented.

But, using _Generic(), one can do many of the things one would do with typeof(). For example, the max() example in [0] could probably be implemented using at most _n_ ^2 separate macros plus a _Generic() macro for each type, where _n_ is the number of arithmetic types (though I think you'd still need GCC's statements within expressions in order to evaluate A and B only once).

I'm thinking something like this that combines the cbrt(X) example from the C1x spec [1] (§184.108.40.206 paragraph 5) with the gcc max() example, though I haven't tested it, and it could almost certainly be simplified by exploiting type promotion rules:

      #define max_ld_ld(A, B) ({long double _a = (A); \
          long double _b = (B); _a > _b ? _a : _b})

      #define maxld(A, B) _Generic((B), \
          long double: max_ld_ld, \
          int: max_ld_i, \
          /* etc. */ \
          )((A), (B))

      #define maxi(A, B) _Generic((B), \
          long double: max_i_ld, \
          int: max_i_i, \
          /* etc. */ \
          )((A), (B))

      #define max(A, B) _Generic((A), \
          long double: maxld, \
          int: maxi, \
          /* etc. */ \
          )((A), (B))

[0] <http://gcc.gnu.org/onlinedocs/gcc/Typeof.html>

[1] <http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf>

OT P.S. It is very annoying that Google has broken right-click+copy URL.

</comment></comment></comment></comment><comment><USER10> The title is a bit misleading: there's a quote from Stroustrup in the post, but the author of the article is Herb Sutter.

</comment><comment><USER11> "C is a poster child for why it's essential to keep those people who know a thing can't be done from bothering the people who are doing it."

C++, on the other hand, is a poster child that just because it can be done, you shouldn't necessarily do it.

</comment><comment><USER12> The opening sentence bothers me. "Rob Pike reports that Dennis Ritchie _also_ has passed away." (Emphasis mine.) As though he's just some kind of footnote in light of the death of Steve Jobs! Both Jobs and Ritchie were "I don't care if it's impossible, I'm doing it" types, but I feel that Ritchie contributed more to computing as a whole, while Jobs's innovations were mainly in user experience.

<comment><USER13> You're being overly sensitive. Jobs passed away first, and was remarked on first.

<comment><USER12> I just think individuals should be treated individually.

</comment></comment></comment><comment><USER14> As a young whipper-snapper upstart with some big ideas, this is inspiring. Maybe I'm not quite so crazy after all to think I can pull them off.

</comment><comment><USER15> What a wonderful tribute to a pioneer in our field.

</comment><comment><USER16> And one by me for Bjarne Stroustrup:

"They said it shouldn't be done, & he did it".

(yeah, a joke. Humor's not only for Reddit).

<comment><USER17> Sadly, Bjarne Stroustrup was the only person not to listen to "them" (whoever they are), and so C++ is all we have.

Which sort of justifies his point, really...

<comment><USER16> We'll I'll take Objective-C any day.

And if OO is your thing, we'll, we have tons of other options.

<comment><USER18> Learn Objective-C++ and you can command a salary premium from knowing twice the complexity!</comment></comment></comment></comment>


Email tracking pixel support - <AUTHOR> https://rant.gulbrandsen.priv.no/hack/web-fonts-email <comment><USER2> Why are tracking pixels still even a thing. Wouldn't this all be solved is the top 3 mail providers would just decide to hit all embedded resources at the moment a message is received and proxy or even cache it after? This would render this method ineffective for the vast majority of receivers

<comment><USER3> In order to proxy/cache it they would have to rewrite https resources in user mail to point at their servers. Technically possible but a PR nightmare for little gain to them.

<comment><USER4> They do this already. Similar to Github's Cameo service for proxying readme images.

<comment><USER3> Wow, I just checked and yep there it is - google URL! I wonder if it caches automatically or only when read. If the latter I bet you could game the system by sending a tracking pixel with a unique source URL. Will have to stand up a test server and see what resource gets requested when.

<comment><USER5> It varies by the reputation of the domain. Most images get hit once when the email is initially opened, and cached basically forever. If you send tons of tracking pixels to multiple users you'll eventually see the images being loaded and cached as soon as you deliver the message.

</comment></comment></comment></comment></comment><comment><USER6> Capital One uses email tracking to 'verify' your email address. I get a yearly email from them saying I've not read any of their email but I disable downloading images. These technical hacks for business purposes are lousy.

</comment><comment><USER7> This is funny and wonderful.

However, if I can take the joke way too seriously for just a second:

Doing this with emails will just cause your target to think something is messed up on your end. I'm not sure it would have the desired effect unless a lot of people were doing it.

In theory, a better strategy would be to inject the font into an environment where users are primed to assume that if something goes wrong it's the environment's fault, not the publisher. For example, a website.

I wonder how hard it would be to get an Open recreation of Smelvetica onto some kind of Smelvetica-specific CDN that everyone could share, and then to get that CDN url added to EasyList?[0]

Would anyone be likely to install an adblocker over that, or is it more likely that they would just blame the website?

[0]: [https://easylist.to/pages/development.html](https://easylist.to/pages/development.html)

</comment><comment><USER8> Mirror because it's obvious parody, which is protected, also because anarchy: [http://archive.is/zeGxt](http://archive.is/zeGxt)

You can also just clone the repo and checkout something from the history.

<comment><USER9> That was the most amusing part of the article. They sent Smelvetica a takedown notice and were satisfied by a quick "git rm <files>". You can still get at the target of the takedown notice through the web interface; [https://github.com/tholman/smelvetica/blob/7186794b56c365e6f...](https://github.com/tholman/smelvetica/blob/7186794b56c365e6fabd9b406df301f1987af13d/demo/css/fonts/smelvetica.ttf?raw=true)

</comment></comment><comment><USER10> If you want to Smelvetisize other fonts, I wrote up a quick script and how-to do it with python. [https://readevalprint.com/Schmelvetica.html](https://readevalprint.com/Schmelvetica.html)</comment>


A Guide to Parsing: Algorithms and Terminology - <AUTHOR> https://tomassetti.me/guide-parsing-algorithms-terminology/ <comment><USER2> FWIW I wrote 6 articles about expression parsing / Pratt parsing here:

[http://www.oilshell.org/blog/2017/03/31.html](http://www.oilshell.org/blog/2017/03/31.html)

(and there is an update about the Shunting Yard algorithm, which is common but not mentioned in the OP. Ritchie's C compiler used it.)

Also, the original article is nice in some ways, but it feels like it treats all the parsing techniques as being on equal footing in practice. It feels a little like a college intro to parsing course rather than something for experienced programmers.

In reality you will see these techniques overwhelmingly:

\- Hand-written recursive descent parsers, possibly with Pratt parsing/precedence climbing for expressions (Clang, GCC, v8, Lua, etc.)

\- Yacc style LR grammars, but often with loads of code in semantic actions (Ruby, R, bash, Awk, early JavaScript implementations, sqlite and I think most SQL dialects)

\- Occasionally you will see LL parsing (ANTLR, Python).

The rest of the techniques you'll see pretty rarely... I saw parser combinators in ShellCheck, but not in any implementations of "production" programming languages. (I looked at at least 20, most of them in C or C++.)

<comment><USER3> In my experience ANTLR is a good tool to cover most of usage, so I would not say it is used "occasionally", for me it is the first choice

<comment><USER2> Yeah ANTLR is used widely in the Java ecosystem, but I guess I am biased toward full programming languages rather than DSLs, which are usually written in C or C++.

ANTLR can technically generate C or C++ code, but IME it's very bad, and I've never seen anybody use it "for real".

Although JVM languages like Jython and JRuby don't use ANTLR; they use the same techniques as the C implementation of the language (the custom pgen language, and yacc, respectively)

</comment></comment></comment><comment><USER4> Are there any context & precedence sensitive parser algorithms?

I've noticed most parsers are context free, yet most languages are context sensitive, so when trying to parse such a language using a context free grammar, you end up having to do lots of tricks to try to work around the context sensitive things in the language.

Feels odd almost all modern compilers decided to go for the hand-written approach, with a parser source code file that is usually in the range of 5000-20000 lines of code.

There ought to be a simpler way to both define the grammar formally and to use that formal definition to actually parse the text.

<comment><USER5> Whether a language is context free depends on how much checking you want to happen in the parsing stage. A variable usage is valid only if that variable is in scope, and this trivially makes almost all languages context sensitive. Almost all programming languages become context free if you delay the checking of such errors to a subsequent stage instead of requiring it to be handled in the grammar. For example the following is syntactically valid Javascript according to the Javascript grammar, because the grammar does not handle variable scope:

        var foo = 0;
        var bar = boo; // typo

Context free grammars are actually an overpowered formalism for programming languages except for variable scope. Most languages don't require more than LR(1).

Monadic parser combinators can easily handle context sensitive grammars. The simplest example is a length prefixed field in network protocols. Context free grammars cannot parse this, but a monadic parser can read the length and then parse that many repetitions.

</comment></comment><comment><USER6> Related: [http://blog.reverberate.org/2013/07/ll-and-lr-parsing- demyst...](http://blog.reverberate.org/2013/07/ll-and-lr-parsing- demystified.html) is an interesting write-up that tries to give an intuitive feel of LL and LR parsers.</comment>


How CamelCase ruined my day and my dev environment - <AUTHOR> http://swizec.com/blog/how-camelcase-ruined-my-day-and-my-dev-environment/swizec/6129 <comment><USER2> Not coming from a UNIX environment, I see... :-)</comment>


Return-oriented programming - <AUTHOR> https://en.wikipedia.org/wiki/Return-oriented_programming <comment><AUTHOR> I just learnt about this in class. I find this fascinating so Starting a discussion to hear more about it.</comment>


Ask HN: Currently which companies make the best workplaces in tech? - <AUTHOR> I am a Computer Science & Engineering (CSE) student studying in India. Generally people join Engineering in India because it can provide them some CRUD / consultancy type of job, better paying as compared to other disciplines. But I was interested in CS and programming before I joined. I also had a good score in qualifying exams which helped to join an "above-average" institute.
Turns out that I had vastly overestimated the quality of CS education and recruitment here. The companies which recruit in on-campus placements are mostly outsourcing / "enterprise" consulting companies. Education is also kind of primitive that I am thinking along the lines of additional self-study and following my own career path instead of depending on a screwed education system and on-campus placement process.
I have heard about how exciting workspace Google was in the past. But judging from lot of negative PR surrounding Google these days, it appears Google is losing that charm of an engineer's dream workplace.
Which companies ("BigTech" or not), are preferred by bright undergrads these days? Is it mostly FAANGs (minus Netflix) or are there some interesting places that are preferred by talented engineers?
Also, if I want to do internships as college requires, are there any good opportunities in those companies?
Sorry for vague wording, English is not my first language. <comment><USER2> Tbh, I'm also a product of the "screwed-up system". First I think we need to recognize that no system is perfect and there's really no point in trying to blame it, there is however greater value in trying to help fix it or do good. This mindset helps you setup yourself to view obstacles as growth opportunities, however bad things are. Do whatever you need to change your mindset, and quickly.

To your point, nobody owes you a job, you need to get good. Part of that comes from being immersed in an environment that helps. 50 years ago this might have been the biggest hurdle. Not so much anymore. It's easier, but still an obstacle, I agree, but if you try harder you can easily get really good. Let me know if you have questions I can help you with. Here are some resources,

On personal development: [https://sivers.org/book/SoGood](https://sivers.org/book/SoGood) On building a hacker mindset: [http://www.catb.org/~esr/faqs/hacker- howto.html#attitude](http://www.catb.org/~esr/faqs/hacker-howto.html#attitude) On programming: [https://dev.to/](https://dev.to/), [https://hackernoon.com/](https://hackernoon.com/) On competitive programming for interviews: [https://www.topcoder.com/community/competitive- programming/t...](https://www.topcoder.com/community/competitive- programming/tutorials/), [https://www.codechef.com/](https://www.codechef.com/)</comment>


Tell HN: The start of a new website for entrepreneurs - <AUTHOR>

Please refrain from commenting on design and lack of features as this is a minimal viable product and merely the first interation of many, the design and features will come later when in demand. What I seek from HN is feature suggestions and perhaps, early adoption to make this future network not only possible, but successful. The premise behind my project "EntrepreneurHive" is that there is currently no certralized community behind the entrepreneurial spirit. There are many attempts, but all these websites/blogs/communities either lack adaption or lack the ability to interact with fellow entrepreneurs. There must be some happy medium and this is my persuit. This first interation is but one section of an anticipated larger network, it is dubbed "EntrepreneurHive TV"; for now, its simply built on Wordpress and is essentially a video blog, however what it allows me to do is tag and cateogorize videos from the beginning and it allows you to sort through the various categories for your viewing pleasure.
Now to make this successful, what I want to do is build the project from the start utilizing suggestions that would most benefit the Entrepreneur. The all encompassing goal is to build a community in which it becomes the medium that can connect entrepreneurs; I think it would be awesome for an entrepreneur who grows oranges in Flordia to easily find and connect with a fellow entrepreneur in California who also grows oranges, they could discuss tips and trade advice. I want to build the Hive mentality, a collective of entrepreneurs acting as one and helping each other succeed.
In following the EntrepreneurialHive spirit, people who are starting ventures or have one up and running, often like exposure. So what I want to do is allow people to submit videos they think are helpful to their fellow entrepreneurs, they can write a paragraph breif about the talk and then I would like those individuals to write a brief about themself; you see, my anticipation is that other entrepreneurs will be watching these videos and by adding your own information about your venture/what you are doing, it will give you incetive to help me out by getting you some exposure. You can add all the linkage you want and there is no such thing as shameful self promotion. Please, keep the links clean.
So Hacker News, what do you think about this? I know the idea is not original, but I would like to make the best attempt at executing the idea. Here is to starting small and going big. Critique away. I will be listening.
Link: http://EntrepreneurHive.com <comment><USER2> have you considered building it on a platform that better supports collaboration and/or threaded conversation? a wiki, or forum would be my suggestion

<comment><AUTHOR> Well I will be writing my own code base eventually, in fact I have a decent start on it right now. However, following the release early and often motto, I am doing just that. I am releasing the "concept" and testing the idea based on the Wordpress platform. A wiki or forum will not support my eventual goal and my goal was to get the concept out asap.</comment></comment>


Ask HN: Everyone is "trusted by [insert big name here]"? - <AUTHOR> Hi HN,
I see all these SaaS companies putting the classic category of "trusted by companies like:" Disney, Uber, Spotify, Microsoft, Apple etc.
Not trying to be rude here but it seems like all of them have worked with all these big names? Do they actually? Or am I just biased because I land on the websites of actually useful products?
Could it be a gimmick like the "public speakers" who exchange a few emails with the WSJ and say "trusted by WSJ"?
For instance: https://teamweek.com/ — don't have anything personal with them, they just happened to be the ones that provoked this reaction. I actually used their product and I like it <comment><USER2> I read 'trusted by' as somebody from that domain once signed up. I don't read it as actual use, current use, or paid used. Maybe a friend of a friend works there. It's misleading or in other words marketing. The new "trusted by Fortune 500 companies".

Worse I've seen the section labelled "our partners", listing AWS or Google Cloud just because the startup happens to host their systems there.

<comment><AUTHOR> right, that makes sense. Again, I'm sure not all of them do that but since it looks like everyone is shaking hands with both Bezos and Zuckerberg on a daily, maybe some of them do that. thx

Edit: I love opencagedata — hope you guys are doing well</comment></comment>


NomadTracker – Auto-update your profile location on Twitter when you move - <AUTHOR> https://chrome.google.com/webstore/detail/nomadtracker/acbijdccnklgpgnekkimidjcjnokgadl

<comment><AUTHOR> When you enable auto-update, it checks your current location against your location on Twitter every 10 minutes and updates it if change is detected.</comment>


Filepicker.io (YC S12) + JotForm: Forms with Cloud Upload Support - <AUTHOR> http://www.jotform.com/filepicker

<comment><USER2> Jotform's growth numbers on <http://www.jotform.com/about/> are impressive.

<comment><AUTHOR> Thanks Anand. We haven't actually updated those stats since 2010. We have now almost 1 million users.

Best of luck today in the demo day! :)</comment></comment>


Emacs JIT Calling Convention - <AUTHOR> http://tromey.com/blog/?p=999 <comment><USER2> This is cool! Working on large files, especially with syntax highlighting, line numbering, etc. can really bring emacs to its knees, at least on my work machine.

Silly question, but does anyone know if this works on Windows?</comment>


Astronaut Chris Hadfield Reviews Space Movies, from 'Gravity' to 'Interstellar' - <AUTHOR> https://www.youtube.com/watch?v=3RkhZgRNC1k <comment><AUTHOR> The best parts of this video are when Chris Hadfield comments on psychological realism of this movies.</comment>


Ask HN: Why does Reddit hate my startup while loving HN favs like StartupLister? - <AUTHOR> I have basically created a directory of sites that accept link submission. It's called The Submit List.  I also offer manual link submission services much like StartupLister, PromoteHour, etc.
Rather, writing yet another listicle, I wanted to create a resource with granular search classifications, that's continually updated over time.
Those sites have been celebrated by the tech media. So I created something more broad and comprehensive, rather than yet another niche service.
I posted an article on Reddit about "How A Vulgar Reddit User Saved My Business" and they have spent the last 12 hours ripping me a new one.
Apparently, I have created an evil SEO scheme even though my site has nothing to do with SEO.
What am I missing here? I tried asking the Reddit users replying to my post, but they're too belligerent to manage a half-way intelligent conversation. So I figured I might have better luck on HN.
This has been a truly bizarre and demoralizing experience. I posted on Reddit to clarify the misconceptions, but it only made things worse.
If you agree with the haters, please explain why The Submit List is the devil's tool, whereas niche sites like StartupLister and PromoteHour are legit resources.
*
https://www.reddit.com/r/Entrepreneur/comments/3sgh95/how_a_vulgar_reddit_user_saved_my_business/
https://news.ycombinator.com/item?id=8175019
http://thesubmitlist.com <comment><USER2> From your Reddit clarification:

> _But the thing is, THE SUBMIT LIST is not some bull shit SEO scam. It's a > legitimate directory that showcases real sites with real visitors–sites that > solicit link submissions._

There is no way to say that which _doesn 't_ sound sleazy.

<comment><AUTHOR> Okay, so why isn't StartupLister sleazy for doing the same thing?

<comment><USER2> Never said it wasn't sleazy. And it's irrelevant anyways.

</comment></comment></comment><comment><USER3> Because those reddit users were 100% right. You have a link selling business whether you like it or not, and a sleazy one at that.

Don't act surprised, sites like this don't belong on here.

<comment><AUTHOR> Again, how is it different than StartupLister or some CSS gallery submission service?

Those sites aren't selling links and neither am I. We're just filling out submission forms that need to be reviewed and rejected or accepted. And most of those sites use nofollow or obfuscated links and that's fine. The goal is to have BetaList--or whatever--showcase your site...not game Google.

So why is my site getting chewed out, but StartupLister (and others like it) is celebrated as a wonderful resource by HN and Reddit users (hence my footnotes)?

I honestly don't understand why people are struggling with this. I keep asking simple questions and I get answers that completely disregard everything I've said.

This will be my last comment on the matter.

<comment><USER3> Move on, it's a bad idea. I and everyone else understands exactly what the site is. You on the other hand can't seem to see the forest for the trees.

I say this in the nicest possible way, you're wasting your time and resources on this endeavor that could be better spent on something else!

</comment></comment></comment><comment><USER4> I personally don't see problem with your site. I probably wouldn't pay for the service since I wouldn't want my site plastered all over the internet at once.

I did added your site to my bookmark site for me to look at later. www.post2zip.com.

<comment><AUTHOR> Also, just to clarify, you don't have to submit to a bunch of sites all at once, you create a custom list and submit a few at a time.

And most sites are nofollow anyway (or they obfuscate their URLs) so what difference does it make?

<comment><USER4> good to know. thanks.</comment></comment></comment>


How Long Will Australia Be Livable? - <AUTHOR> https://www.theatlantic.com/science/archive/2020/01/only-way-confront-australias-wildfires/604546/ <comment><USER2> No mention of Coober Pedy, Australia's underground city in the desert. It shows how people can adapt to live in some truly hostile climates.

[https://en.wikipedia.org/wiki/Coober_Pedy](https://en.wikipedia.org/wiki/Coober_Pedy)

</comment><comment><USER3> Bushfires haven't got any worse over the decades, but the writing about them sure as shit has.</comment>


Young entrepreneurs turn a Tweet from Richard Branson into $1 Million - <AUTHOR> http://smallbusiness.yahoo.com/advisor/young-entrepreneurs-turn-a-tweet-from-richard-branson-into--1-million.html?fb_action_ids=10100137262022753%2C10100137211768463%2C4381961266023%2C10100137295874913%2C10100137272476803&fb_action_types=news.reads&fb_ref=type%3Aread%2Cuser%3Ayo7P_jX-MtPx1x1aimvV0XIDiNE%2Ctype%3Aread%2Cuser%3AdNxYkXFY8RDbENFkZ8cz-oFwOPs%2Ctype%3Aread%2Cuser%3A8WxvqIFAUhtDWjtWTnfik46e8fU&fb_source=other_multiline&action_object_map=%7B%2210100137262022753%22%3A10151032496944835%2C%2210100137211768463%22%3A10151032496944835%2C%224381961266023%22%3A10150969731529342%2C%2210100137295874913%22%3A10151086246274935%2C%2210100137272476803%22%3A10151906558735416%2C%2210100137271788183%22%3A10151022720879675%7D&code=AQDR1t5ao7gGR4OkAlE4PNTI7gXZAqwr_NpJBcAW67r7qpzIzX-Shkw5R2-sdr3LveO52R9KqKdUUO09s-oICChAi1_bq0aBOa1kI1qUK6LQATQMrCKiiSgXtEkYIyta6mzZqTxUpRL1uXg5KxPVqxP_Ui8FtGq_6h0Vwbx6jCw1NiMXmR4Mlub8IZaenWWpm5A#_=_

<comment><USER2> From their security page:

 _We are very secure and make sure to cover many angles to insure your data can never be compromised. Many often ask what exactly we do to make the data so secure. Unfortunately, one of the things that makes the site so secure is that we do not disclose the exact encryption practices._

I just threw up in my mouth a little.

It's also a bit weird that it's apparently two unrelated products in one. Pinterest and LastPass: two great tastes that taste great together?

<comment><USER3> This is quite an eye-opener too...

"How secure is MySocialCloud.com? From day one, it has been our goal to provide the best security on the web. While we don't expose how we keep MySocialCloud secure (if we told you, it would be unsecured!), we do ensure that not even our employees are able to see any of your sensitive data."

One of their videos shows a bookmarket so I'm going to presume they're using that for somekind of encryption clientside with AES???

<comment><USER4> "if we told you, it would be unsecured!" doesn't sound like AES... It sounds like they're using _entirely_ security through obscurity.

</comment></comment></comment><comment><USER5> Only managed the first paragraph before the bubble-o-meter went off the fucking scale.

\- Crap buzzword filled domain name. Check.

\- All encompassing vague idea. Check.

\- Young computer whizzkids. Check.

\- 1 millllion dollars. Check.

<comment><USER6> Don't forget the obligatory leave-of-absence from NYU.

<comment><USER7> Drop out of college to make a combo Delicious/LastPass!

<comment><USER8> Why the hell would anyone want such thing? The fact that people might use both things doesn't mean they can go together.

Hell, there is a lot of things you can glue together, but these aren't ones.

<comment><USER9> I'm sick of this social frenzy in web already. Every goddamn website wants me to share, discover, connect, cloud, blah blah blah...share friends boom revolutionary idea...why don't we share photos? wow! here...take all my billions...what if we mix your cloud crap with your passwords? sweet jesus take all my money. Don't get me wrong, it's good to see people innovate, but it feels like most (at least those who are being seen) have forgotten about the true problem solving and innovation and are just mixing services and APIs together and selling it as yet another revolutionary idea.

</comment></comment></comment></comment></comment><comment><USER10> This is ridiculous. I actually started reading with a really positive mind, but Richard Branson is never going to see any of that $1M.

\- Scott... got the idea when his computer crashed and he lost a spreadsheet containing all his usernames and passwords.

Using this as a story to explain his startup is awful. So, you are running a tool to manage passwords, where you previously stored everything in a spreadsheet? This guy obviously knows a lot about security. Where can I sign up?

<comment><USER11> That's harsh. I have to say, his pitch resonates with the common man more than you think. How many people keep their passwords in spreadsheets or other haphazard ways? Zillions. How many stop and think "mh, what's gonna happen if I lose this spreadsheet"? Not many -- otherwise they wouldn't store passwords in spreadsheets to begin with. Scott just reminded them that they'll be screwed at some point, and he's here to help. I expect part of the reasoning behind Branson's investment is that the man himself (or some of his minions) must have had the occasional lost-password-crisis here or there.

Clearly, with a bland but fairly descriptive name like MySocialCloud, they are not targeting paranoid geeks (the ones who worry about details like "who's running this service?", and would rather use services going by dorky names with random missing vowels), they are targeting the common man who stores passwords in spreadsheets. They are scratching an itch they themselves had, which is often how you validate your own business plan. I don't see why they should be ridiculed for it.

(This said, the whole post is just planted marketing of the lowest quality. Hardly HN-worthy, if you ask me.)

<comment><USER12> > Scott just reminded them that they'll be screwed at some point, and he's > here to help.

Problem is: he doesn't know how to help, yet people are going to trust him because they don't know better. I'd bet they are going to store their users' password on an Excel spreadsheet, but they will take care to backup it often ;-)

There is LastPass already, and they are doing a great job. Competition is good, but why should we support clueless competitors?

That said, I'd bet MySocialCloud.com will succeed. Worse is better, isn't it? And now they have lots of money.

</comment></comment></comment><comment><USER13> There's a lot of over-the-top hating from the peanut gallery in this thread. I'll balance it out:

What a ride this must have been so far. They're doing a great job getting their name out there, that's for sure. An investment from Richard Branson and a co-founder of Photobucket, plus this article in Yahoo Small Business that is now trending the HN front page. I hope they're able to take this massive opportunity they've been given and turn it into a successful business.

</comment><comment><USER14> Regardless of whether this is a good idea or not, to say they "turned a tweet into $1 million" is a bit of a reach.

They saw a tweet advertising an event which Branson would be at, borrowed several thousands of dollars from their parents to attend the event, and used that opportunity to get an email address that was capable of reaching Richard Branson, which they used over a period of time to develop some sort of relationship with him and another (Murdoch), and through a series of pitches both in person and remote, they secured initial funding.

<comment><USER15> ... in a time when investors are desperately seeking anything to throw their money at that will get good returns. And it's hard to find software engineers. And, especially to less sophisticated investors, they just know "social" and "cloud" are the hot hot thing so they want to park some bets in something with those words involved. Thus... MySocialCloud.com

</comment></comment><comment><USER16> I just checked out the service and I don't understand what's with the hate?

It's a Pinterest/Delicious/LastPass mashup, and while I would not trust them with my passwords (they really should rephrase that explanation, or give a real overview of their security measures), there are plenty of people who will (my parents still store their passwords in simple text files :-)).

If they add RSS-reader functionality, I can actually see myself using the site as a home page!

I believe it's got potential - they'll have to work hard on the marketing and keeping even or ahead of the competition, though...

</comment><comment><USER17> ...and so we told Richard, "Hey, just sign up for LastPass!" He was so grateful, he gave us a million dollars.

</comment><comment><USER18> This reads like there is something missing from the story. They already had an office and a 9 person team, but they needed to borrow $4k from their parents to meet Branson?

</comment><comment><USER19> What a ridiculous country. It is OK to lend them $1M but illegal to offer them a cocktail?

</comment><comment><USER15> Wow. This has both bubble and disaster written all over it. May things go much better than that for them, though, of course. But it reads more like a parody or a list of warning signs than an article about a real new business.

</comment><comment><USER20> Here's a better venture idea based on the experience, "Scott... got the idea when his computer crashed and he lost a spreadsheet containing all his usernames and passwords."

How about designing computers that crash when users try to store usernames and passwords on them. Users will eventually learn to stop doing that.

<comment><USER2> There's nothing wrong with storing usernames and passwords. There is something wrong with storing them in a spreadsheet.

</comment></comment><comment><USER21> > he got the idea when his computer crashed and he lost a spreadsheet > containing all his usernames and passwords.

Sounds like a good idea to entrust him with all your passwords then.

</comment><comment><USER22> The more I see things like this, the more I believe I have no idea how the world works.

<comment><USER23> It just reinforces my feeling that it's easier for simple, bad ideas to get funding than complicated, good ones. Modulo the reporting, of course.

<comment><USER24> Your last sentence is probably the most insightful on the thread. We really have no idea what actually happened.

</comment></comment></comment><comment><USER25> Great story

</comment><comment><USER26> This startup app stores your encrypted passwords on DropBox: <http://passboxapp.com/></comment>


"rent an expert" with AirPair - <AUTHOR>

Running a single-person startup is challenging. Learning new technologies by the usual methods (going to meetups, working through tutorials, etc.) are great for general, high-level knowledge, but not particularly good when you need advice about specifics. Finding an expert to discuss best-practices and implementation details is the fastest, most efficient way to get started and avoid costly dead-ends. You know those experts exist, but how can you find them?
The answer: http://airpair.co/
Following a brief description of my project with AirPair, I was able to choose Peter Lyons (stackoverflow.com/users/266795/peter-lyons), a developer with great credentials and expertise that matched my goals. He was able to quickly translate the requirements from my existing Ruby project into a more streamlined iteration in Node.js. He patiently explained some arcane aspects of Node and cemented the abstract tutorials I had done to real-world examples. Peter followed up the sessions with outlines and code examples--I didn't expect that and really appreciate it now that I'm writing new code. Perhaps the most valuable result is that I now know that my project's overall re-design has been vetted by a professional.
And all of that happened in just three hours over two sessions.
You don't need AirPair if you are extremely well-connected and have lots of industry-leading professional friends who all owe you favors. For the rest of us, there's AirPair. I would highly recommend AirPair to anyone who needs to "rent" expertise, and I am definitely going to use it in the future.
Regards,
R. Bryan Hughes www.logicalcat.com <comment><USER2> Bryan:

Thanks for this post! I watched your first Google Hangout with Peter (<http://www.youtube.com/watch?v=KPj_caLNkkY>) from beginning to end. Very insightful :)

As a self-taught developer (Python, JavaScript), when I tackle bigger projects I often find myself thinking "I'm doing this wrong" or "this architecture doesn't feel right", followed by "I wish I had an experienced developer friend I could talk to". Airpair could maybe make a good candidate for these types of struggles.

I guess one question I couldn't find the answer to is, how much does this cost, at least a price range ;) An expert's time is precious!

Will check out your second Google Hangout recording soon!

Cheers, Nicolas

<comment><USER3> Developers set their own rates. Right we are doing intro calls for as low as $40 p.h.

</comment></comment><comment><USER4> I click "Find an expert" and get some odd google drive error

You need permission to access this item.

You are signed in as [ firstname.lastname@example.com ], but you don't have permission to access this item. You can request access from the owner or choose a different account. Learn more

<comment><USER3> mvp - Fixed :)</comment></comment>


How to Convince Skeptics That Climate Change Is a Problem - <AUTHOR> http://blog.dilbert.com/post/158159613566/how-to-convince-skeptics-that-climate-change-is-a <comment><USER2> Believes in sky-wizards and Intelligent Design, yet bitching about the lack of scientific rigor w.r.t. climate change.

Real consistent, Scott.</comment>


DARPA creates first 1THz computer chip, earns Guinness World Record - <AUTHOR> http://www.extremetech.com/extreme/193343-darpa-creates-first-1thz-computer-chip-earns-guinness-world-record!

<comment><USER2> Wow, what is this can be used for anyway?

Besides "for creating radio waves in the sub-millimeter-wave terahertz range"</comment>


Robots That Serve the World's Largest Library Archives - <AUTHOR> http://gizmodo.com/the-giant-robots-that-serve-the-worlds-largest-library-1700712936

<comment><USER2> A fiction version of these robots was described in _Mr. Penumbra 's 24-Hour Bookstore_ ([http://en.wikipedia.org/wiki/Mr._Penumbra%27s_24-Hour_Bookst...](http://en.wikipedia.org/wiki/Mr._Penumbra%27s_24-Hour_Bookstore)), I suggest you check it out if you haven't already done so, nice, entertaining read.

</comment><comment><USER3> I've used Santa Clara University Library robots, (listed in this article), but I don't think these are a good idea at all.

You go to the library computer, look up the book you want, and press 'retrieve', and go to the desk. A minute or so later, the book shows up.

When I go to any other library, I browse the books on the shelves, maybe 20 or 30. I can quickly shuffle through them, maybe looking at just their spines to see what I want.

These robots just kill browsing completely. I think they are fine for some purposes - archives, but not for university general libraries where browsing should be encouraged.

</comment><comment><USER4> Wouldn't there cranes make a vertical data-center (which, I suppose, would be very efficient, as the height of the warm air column would drive exhaustion) easier to build?</comment>


Haskell vs. Erlang for bittorent clients - <AUTHOR> http://jlouisramblings.blogspot.ca/2010/04/haskell-vs-erlang-for-bittorent-clients.html <comment><USER2> This article is from 2010. There have been significant changes in the GHC runtime system since then. Most importantly, in February 2013, the parallel I/O manager was replaced with a new design.

[http://www.haskell.org/pipermail/ghc- devs/2013-February/0004...](http://www.haskell.org/pipermail/ghc- devs/2013-February/000414.html)

> _Our evaluations show that the new Mio manager improves realistic web server > throughput by 6.5x and reduces expected web server response time by 5.7x. We > also show that with Mio, McNettle (an SDN controller written in Haskell) can > scale effectively to 40+ cores, reach a throughput of over 20 million new > requests per second on a single machine, and hence become the fastest of all > existing SDN controllers._

[http://haskell.cs.yale.edu/wp- content/uploads/2013/08/hask03...](http://haskell.cs.yale.edu/wp- content/uploads/2013/08/hask035-voellmy.pdf)

<comment><USER3> Also, GHC got new, heavily optimised IO manager in version 7.0, which was released later that year[1]. This is probably the more relevant change, as there hasn't been a GHC release that includes Mio yet.

[1] [http://johantibell.com/files/hask17ape- sullivan.pdf](http://johantibell.com/files/hask17ape-sullivan.pdf)

</comment></comment><comment><USER4> Another interesting read about coding bittorrent is Juliusz Chroboczek's [1] Hekate bittoreent seeder [2] which is written in Continuation-Passing C [3].

[1] [http://www.pps.univ-paris-diderot.fr/~jch/](http://www.pps.univ-paris- diderot.fr/~jch/)

[2] [http://www.pps.univ-paris- diderot.fr/~jch/software/hekate/](http://www.pps.univ-paris- diderot.fr/~jch/software/hekate/)

[3] [http://gabriel.kerneis.info/software/cpc/](http://gabriel.kerneis.info/software/cpc/)

<comment><USER5> I learned about CPS in Lisps but never in "pure" C, making [3] a very interesting read.

</comment></comment><comment><AUTHOR> And here the Reddit thread: [http://www.reddit.com/r/haskell/comments/1uch7v/haskell_vs_e...](http://www.reddit.com/r/haskell/comments/1uch7v/haskell_vs_erlang_for_bittorent_clients/)

</comment><comment><USER6> Jesper has a very nice blog, well worth a read:

[http://jlouisramblings.blogspot.ca/](http://jlouisramblings.blogspot.ca/)

<comment><USER7> Lately though, I've been blogging at medium.com as well:

[https://medium.com/@jlouis666](https://medium.com/@jlouis666)

since I prefer the platform to blogger.

<comment><USER6> Thanks for letting me know, I always look forward to reading your posts.

</comment></comment></comment><comment><USER8> I really enjoyed his presentation about writing the bittorrent client in haskell comparing it to an erlang implementation: [http://www.infoq.com/presentations/Combinatorrent-Haskell- ca...](http://www.infoq.com/presentations/Combinatorrent-Haskell-casestudy)

</comment><comment><USER9> Not just Erlang, but OTP. These guys wrote "real-time media gateways" on top of it, which works in production switches.

</comment><comment><USER10> This is very interesting and actually seemed like a fair comparison of the two languages.

Say I wanted to write my own bittorrent client for fun and to learn a new language, is there a good guide on bittorrent I can read?

<comment><USER7> [https://wiki.theory.org/BitTorrentSpecification](https://wiki.theory.org/BitTorrentSpecification) is by far the best starting point for the base protocol. Roughly, you can make certain short-cuts to get running quickly:

Don't cache anything. Write data directly to disk and use seeks. Request pieces at random and don't think about getting the rarest first. Skimp on the choking strategy and don't do anything clever, but pick a simple algorithm. Skip all the extensions until the other parts work.

Get the wire-protocol and bencoder up and running first. Then handle tracking. Then handle connections to peers. Then handle storage.

</comment></comment><comment><USER11> Two big surprises from this article:

1\. The author gives the impression that there's no big deal to fixing memory leaks in Haskell. I thought they were supposed to be its Achilles' heel.

2\. Erlang lost on its home turf!

<comment><USER12> Memory leaks due to laziness are not as frequent as the interwebs would tell you. It's not like that this type of code appears in every single program you write.

Memory leaks are notorious mostly due to leaks in lazy code looking very innocent when coming from strict languages. After you get comfortable with laziness the same code (usually) stands out very clearly. And even when it doesn't, these leaks aren't very subtle. GHC has a good profiler for memory usage, so tracking them down is mostly trivial and fixing them once you know what's wrong is not very hard.

<comment><USER7> The memory leaks I had to work around in combinatorrent were extremely subtle:

loop = forever x and loop = do {x; loop} had different laziness semantics in the Process monad. The former leaked, the latter did not.

I wrote all of the code in about 1.5 months, but spent the next 2-3 months fighting with memory leaks. In typical batch-processing code this is hardly a problem since a small leak goes away once the program terminates. In a long- running daemon-process, this is not as easy.

<comment><USER13> What leak-debugging tools did you use?

<comment><USER7> GHC has a very nice memory profiler in the runtime. You just enable that one and then it has rules to constrain views of allocation data. Profiling by "anything of type X" usually helps to narrow down a specific place in the code which has trouble. Also, splitting by module helps since it can tell you where in the code base you have the leak.

It won't point and scream HERE!, but it will give you enough information that you can use to narrow down where the leak happens to be.

</comment></comment></comment></comment></comment><comment><USER14> > The type system of Haskell is the most advanced type system for a general > purpose language in existence.

Isn't the type system of ATS more advanced? It might be hard to say with all the GHC extensions.

<comment><USER15> Very next sentence:

 _The only systems which can beat it are theorem provers like Coq, and they are not general purpose programming languages (Morriset and the YNot team might disagree though!)._

ATS is dependently typed and therefore falls under theorem provers.

<comment><USER14> ATS is meant to be a general purpose programming language. The fact that you have a theorem proving subsystem is to aid in the programming/verification. Idris is another dependently typed prog. lang. that is intended for general purpose programming.

<comment><USER7> Idris was not on my radar in 2010 :)</comment></comment></comment></comment>


Scientists propose one-way trips to Mars - <AUTHOR> http://news.yahoo.com/s/ap/us_one_way_to_mars

<comment><USER2> You want to know how I did it? This is how I did it, Anton: I never saved anything for the swim back. \-- Vincent (Gattaca)

</comment><comment><USER3> Bill Stone proposed a much more interesting challenge on his TED talk. Send a team to moon without return fuel and they'll extract the fuel from resources of the moon and return. I highly recommend you watch the TED talk if you haven't seen it already - it's really interesting.

[http://www.ted.com/talks/bill_stone_explores_the_earth_and_s...](http://www.ted.com/talks/bill_stone_explores_the_earth_and_space.html)

<comment><USER4> Is he volunteering to go on this mission?

</comment></comment><comment><USER5> Humans can live off the land just about anywhere on Earth, but with a Mars mission now, they would be wholly dependent for decades at the very least. For colonization to work, it must be self-sufficient nearly from day one. Otherwise, it would be just a few footprints, 50 years too early and countless billions over budget.

<comment><USER6> > Humans can live off the land just about anywhere on Earth

99% of humans only can live off the land because of technology. Most of the US would die tonight without man-made heating, clothing, and shelter. Mars would require different technology, to be sure.

> For colonization to work, it must be self-sufficient nearly from day one

Why? The American colonies did a lot of trade with other countries. They have never been "self-sufficient."

A Mars colony would need to place priority on low-density objects, like generating their own food and water. We obviously haven't done it yet, but we don't think it's impossible. They would still use trade to get in very wealth- dense things, like nuclear fuel and computer equipment for a while, but that doesn't mean that they would necessarily be charity cases.

<comment><USER7> I'm pretty sure the first couple of attempts at North America colonisation either failed completely or the colonisers were absorbed into native american populations.

The first colony in Australia nearly perished through hunger but was saved by the arrival of a second fleet of ships, but who themselves had suffered the loss of a supply ship in bad weather. It wasn't until the 3rd or 4th fleet of ships that the colony even started to move away from borderline starving.

<comment><USER6> True that. Colonizing would be risky, but out of a billion or so people you ought to be able to find a few hundred that are competent and willing to take on the risk.

A common strategy for Mars missions is to send the supplies there _first_. You can land habitats, vehicles, food stores, water-producing machines, power plants (and the return vehicle, if we're not talking about one-way missions), and check on them via radio before your crew ever takes off.

</comment></comment></comment></comment><comment><USER8> If I'm not mistaken, NASA and DARPA have already initiated plans to turn this into reality under the "100-Year Starship" program: [http://www.kurzweilai.net/nasa-ames-worden-reveals-darpa- fun...](http://www.kurzweilai.net/nasa-ames-worden-reveals-darpa-funded- hundred-year-starship-program)

EDIT: As to this: _"This is premature," Ed Mitchell of Apollo 14 wrote in an e-mail. "We aren't ready for this yet."_ , I think it's really necessary. A large part of the plan is a push for private investment and developing the private spaceflight industry. If what's happened in the past with both automobiles and aviation is any indication, there won't be any sort of massive innovation or progress unless spaceflight is commercialized. The amount of stagnation in the development of human spaceflight is absurd considering the way aviation took off in the last half of the 20th century.

Burt Rutan makes a very compelling argument to this end: ([http://www.ted.com/talks/lang/eng/burt_rutan_sees_the_future...](http://www.ted.com/talks/lang/eng/burt_rutan_sees_the_future_of_space.html))

<comment><USER9> i completely agree about the shameful stagnation.

There are 2 things - the threshold is too high and there isn't a killer app yet. The Rutan/Branson's venture has crossed the threshold, and they may potentially hit the killer app target if they increase the distance flying - ie. "2 hours from California to Sidney" instead of "from California to an island in the Pacific". $130K instead of $13K in 1st class - it bites, yet the early adopters and economy of scale may as usually help here. I have my fingers crossed :)

</comment></comment><comment><USER10> It's great that these scientists have came out and said publicly that colonizing other planets requires adventuresome people who are willing to take some risks.

<comment><USER11> Yes. There is a cosmic rift between the engineers in the space industry and the politicians that run the programs. The latter have this misguided notion that the public can't handle the danger (and therefore won't co tinue to fund dangerous missions). In reality, they can't handle the boredom of the status quo.

<comment><USER12> This _misguided notion that the public can't handle the danger_ also applies to other things like terrorism. With the right mindset I think people could learn to live with the occasional plane being blown out of the sky. Life was far more dangerous 100 years ago & as our creature comforts have increased we have have forgotten how to live with danger day-to-day.

</comment></comment></comment><comment><USER13> I would probably go on a one-way trip to Mars, assuming there was decent Internet access (not likely, given the 20-40 minute round trip for radio). I guess I'd have to have a buddy at NASA who could send hardened hard drives with the resupply missions.

<comment><USER14> The really cool thing about a one way to mars is that the one-way-naught would be far less isolated than the explorers of old. Today you could carry with you nearly all of the books of earth plus endless TV and movies.

Interplanetary radio would at least allow you to keep up with news on earth. With the tenacity of the amateur radio crowd, it probably wouldn't be long before the first dah's and dit's started showing up.

Back on earth, you'd be one of the most well known celebrities ever to exist.

<comment><USER15> Truman Show?

</comment></comment></comment><comment><USER16> The original paper in Journal of Cosmology, <http://journalofcosmology.com/Mars108.html>, is more interesting.

</comment><comment><USER17> A little off-topic (please don't hate me): could anyone recommend a good sci- fi novel about people first exploring Mars (or some other planet for that matter)? I figure there must be some good ones around, as the subject obviously offers much room (no pun intended) for cool plot ideas, but I don't know a lot about the genre. Classics welcome, but no spoilers please. Thank you!

<comment><USER18> Kim Stanley Robinson's Mars Series is a very detailed trilogy about the colonization of Mars:

<http://en.wikipedia.org/wiki/Mars_trilogy>

The first book, Red Mars, follows the colonization from an initial expedition of 100 scientists to the building of a space elevator and the development of an independent culture.

It's a good mix of hard science, politics, and the interpersonal relationships of the original 100 colonists.

The only technological assumption I thought was a bit of a stretch is independent robotic machinery. They can use these to perform public-works scale construction or filter minerals out of the dust with little human input.

<comment><USER19> FWIW, I hated Red Mars as a novel. It had some interesting science in it but as a story it was way below par. The characters were not fleshed out well, the bad guys had no motivation, the chapters seemed strung together haphazardly with plot threads constantly left dangling. The "exciting finale" felt completely forced with a silly chase sequence that didn't seem to matter in the overal scheme of things.

Bad, bad book.

<comment><USER18> I agree, as a novel it's frustrating at best. I usually give science fiction a pass on plot and characters if the ideas are good. The science is generally sound, the ideas (especially the terraforming techniques) are very interesting, and the descriptions of the Martian topography help anchor the planet in reality in a way that maps or even the rover images can't.

<comment><USER20> THANK YOU.

I found this book horrifically tedious, and everyone I talk to apparently thinks it's the Greatest Story Evvvaaaarrr1!!!11!! It's nice to know that I'm not completely alone on this.

</comment></comment></comment></comment></comment><comment><USER21> jrockway proposes one-way trips to Mars for politicians.

</comment><comment><USER22> I love the idea of this. Considering we already have the majority of the technology for this, wouldn't it be possible to realize this through some sort of crowdfunding? Let's say you sell 100-1000 tickets at a price of 5-10million per ticket, both to individuals and governments for research purposes. For that, they can get their flight plus some basic accommodation and supplies once they get there.

I'm just thinking out loud here. Let's say we focus on the minimal requirements to sustain a colony on Mars. We could use robotics to build/establish a first base. After this, we could send some people there with additional supplies to continue building the colony. Once the initial constructions are made, and we would be self sufficient in basic stuff such as food etc the ticket price could be lowered and more people could get the chance to move there.

Then, after 20-30 years the possibility of returning to earth might also be there.

</comment><comment><USER23> To quote Einstein: "I don't know if the Universe is infinite but human stupidity certainly is."

</comment><comment><USER24> A one way mission doesn't necessary have to be either. I don't see why a person can't fly there never expecting to come home, then 20 years in the future after an unexpected discovery get an opportunity to have a return flight.

Another perspective, if something terrible happened to earth he/she could be the last person alive :\

<comment><USER25> There is a scenario which comes up somewhat frequently in sci-fi I read that I find really fascinating, but I've never seen anything use it as a primary story device. Essentially it's the notion that the first several waves of ships sent out to colonize would be overtaken by subsequent generations with improved technology, creating a situation where you might emerge from a relatavistic voyage across dozens of light years only to find a colony already created and thriving.

I think the one-way mission might be a similar situation. Presuming that the whole thing doesn't dissolve into farce, it seems likely that at some point a return voyage would be reasonable, potential health issues aside.

<comment><USER26> At least one story I know of that uses this plot device, at least in its backstory, is David Weber's Honor Harrington books.

[http://en.wikipedia.org/wiki/Star_Kingdom_of_Manticore#Histo...](http://en.wikipedia.org/wiki/Star_Kingdom_of_Manticore#History)

<comment><USER25> I see it come up pretty often in passing, sort of like the scenario this looks like, although I haven't read anything from this series. Do you recommend it? I'm always looking for new sci-fi.

<comment><USER20> If you dig space opera then yes: Honor Harrington is your woman.

The first few books are excellent. Once she gets promoted past the point where she can really be a ship captain, the stories turn political and start to drag a bit. Weber evidentally realized that this was not working, because he's started writing about new characters who are lower-level and therefore more interesting, so the newest books are once again a blast.

<comment><USER25> Thanks, it sounds like something I'd go for. As it turns out, I actually already have a few books by David Weber on my kindle but they are from a different (or no) series.</comment></comment></comment></comment></comment></comment>


Are the new TLDs really black holes for SEO? - <AUTHOR> So I have read this article by Google http://searchengineland.com/google-explains-how-they-handle-the-new-top-level-domains-tlds-225671 which states "There are no TLDs that Google finds preferential to others; they are all treated equally in rankings. There are some geo-specific TLDs that Google will default to a specific country and use that as an indicator that the website is more important in a specific geographic region. But all TLDs are treated equally."
But reading on previous hacker news comments like this thread https://news.ycombinator.com/item?id=11684696 the top comment suggests the they are SEO black holes.
So which is it?  I would love some data comparing the 2. <comment><USER2> I've had a competitor with a new "vanity" tld come in and very quickly outrank my .org site. And the new tld is being used as a keyword itself, as opposed to a representation of the subject matter or industry.

So, anecdotally, it certainly didn't hurt this sight. I guess it would also mean, and support the building belief, that exact match domains or utilizing keywords in the domain name is also no longer helpful(in the eyes of search engines). If the tld doesn't matter, then I could scour all of them until I found an available exact match.

</comment><comment><USER3> > the top comment suggests the they are SEO black holes.

The top comment in question reads like a Trump tweet and provides no further details, no sources, and no data:

"I have said it before and I will say it again, the new gTLDs are just a money grab by ICANN. Not only that, but they are basically SEO black holes, no thanks!"

Until someone definitely proves that new TLDs are detrimental to SEO, I'm not buying it. Much likelier is that the domains built on new TLDs simply don't have the domain age or link profile of competitors whose domains have been around for years and years.

</comment><comment><USER4> They are only black holes because very few of them rank well in competitive niches. I have a client in a non-top 3 TLD and he does just fine in the serps.</comment>


IPhone ECG System Monitors Heart Rate, Streams Info Over-Air to Cardiologist - <AUTHOR> http://tnerd.com/2011/01/02/iphone-ecg-system-does-your-ecg-monitors-heart-rate-can-stream-reports-wirelessly/

<comment><USER2> I doubt the FDA will let this live too long. They regulate the medical industry and I'm fairly certain that any device that is placed in direct contact with a patient needs to be approved and certified (by the FDA) for use by a doctor.

I am by no means an expert, but there are several large companies (one of which I used to work for) that had prototypes like this for quite a while that couldn't go anywhere because they had to have FDA audit protection (lots. of. documentation.). Hopefully small medical startups like this have figured out a way around these problems while maintaining patient safety.</comment>