A gel that can stop severe bleeding instantly - <AUTHOR> http://www.humansinvent.com/#!/11409/the-gel-that-stops-bleeding-instantly/ <comment><USER2> There are many blood stopping agents out on the market. Many of them were originally developed by/for the military in the Iraq/Afghanistan wars, and are now available to civilians.

Here's a list of some of these products:

Bleed-X, TraumaDEX - <http://www.bleed-x.com/> <http://www.bydezignproducts.com/bleedx.html>

BloodSTOP - <http://www.lifescienceplus.com/>

Celox - <http://www.celoxmedical.com/>

HemCon - <http://www.hemcon.com/>

RDH (Rapid Deployment Hemostat) - [http://www.surgery.uthscsa.edu/faculty/pubs/cohn- hemostat.pd...](http://www.surgery.uthscsa.edu/faculty/pubs/cohn-hemostat.pdf)

QuickClot - <http://www.quikclot.com/home.aspx>

WoundSeal, BioSeal, QR Powder - <http://www.biolife.com/ourproducts.html>

<comment><USER3> As a man who enjoys a good shave, I can tell you that clotting agents sting like a bitch

<comment><USER4> I haven't cut myself shaving in years. I hope you're not using disposables!

<comment><USER3> Straight razors my friend... such a good shave.

Just every so often you slip a little.

</comment></comment></comment></comment><comment><USER5> I am a former critical care medic, and lack the scientific training to judge the merits of their claims about mechanism of action, but if history is any guide regarding 'miracle' products it will not live up to the manufacturers claims.

The use cases I can think of and commentary:

-Hemostasis after non-emergent ear/nose/throat procedures. -Packing of the wound + local epinephrine administration is currently used. It costs nothing, is well understood, and doesn't have the potential for embolization or immune system interaction weirdness.

-Hemostasis of an extremity wound AFTER a tourniquet has been applied. -After a tourniquet is properly placed, the arterial flow is halted. Trauma teams have learned from military and orthopedic surgeons that tourniquets are much safer than traditionally understood. Even an amputated limb has a warm ischemia team of 6 hours. The addition of a clotting agent would stop venous oozing, but wouldn't affect hemodynamics of the patient. It might assist in the case of an inappropriately applied tourniquet.

-Hemostasis of an abdominal wound. \- I guess they envisage pouring this material into the abdomen? That seems like the place most fraught with danger of embolization distally to the mesentery and the generation of immune system interaction weirdness beyond my knowledge base.

A kaolin-based product (Quickclot) was similarly marketed as a wonder drug for treating massive hemorrhage on the battlefield, and it has been less than wonderful in practice. There are youtube videos attesting to its efficacy on the femoral arteries of swine, however these videos ignore the effect wind has upon the powder in a combat setting, and the exothermic reaction that takes place to create the plug. The only way to stop a large hemorrhage is to use copious amounts of the material, resulting in severe burns in some case reports. Concern over embolization of the clotted material led them to create a gauze-bag version.

The company's claims that holding pressure over the wound is not required runs counter to basic trauma care recommendations. The single best way to halt life-threatening hemorrhage in an extremity is a tourniquet, and the only thing that halts thorax hemorrhage is a surgeon's finger. The inclusion of this gel in the treatment algorithm would need to be as a last resort, and must never distract from the basics of direct pressure and rapid transport to a surgeon.

I don't know if this qualifies as an ad hominem on my part, but the article comes across as written by the journalist in close coordination with the companies PR firm. The 'hook' inherent in the choice of headline combined with the lack of any discussion of the limitations of the product or previous failures with regards to 'miracle' hemorrhage agents cements this in my opinion.

<comment><USER6> OP (edit: submitter) has zero comment history and appears to have only submitted his own articles [1]. Not damning, but a red flag.

[1] <https://news.ycombinator.com/submitted?id=leojkent>

<comment><USER7> We all had a story or something that motivated us to register and comment.

I've heard everything he's said before from other people in trauma medicine. (but there are also people who will stick up for the Quickclot type stuff!) It's not my field and I'm not in a position to judge. I will say that I share his view that the article reads like something written by a PR flack.

<comment><USER8> I believe he was referring to the submitter.

<comment><USER7> Thank you. My mistake.

</comment></comment></comment></comment></comment><comment><USER9> So where does the blood go?

The demo video shows an extreme bleed. Like a artery has been cut or something. Sure, you seal the blood in but wouldn't you still bleed out internally?

Like if you cut your femoral and gel up your leg. Would you survive for any length of time?

<comment><USER10> Your arteries and veins form a pressurized system. If you seal a hole well enough (stronger than the systolic pressure of the heart), it will prevent any blood from leaking out. When you close your bathroom faucet it doesn't cause water to start leaking out somewhere else in your house.

<comment><USER11> But if I cut the pipe leading to the faucet then merely shut the cupboard door, my cupboard is not going to be very happy.

I think he's comment was that the gel isn't necessarily sealing the arteries/veins, only the 'hole in your leg' - the assumption being this could still result in fatal internal bleeding - that more traditional methods such as pressure on the wound or a tourniquet could have had better success with.

</comment></comment></comment><comment><USER12> I wonder how this differs from the existing products celox[1] and quikclot[2], which AFAIK are coagulants?

[1] <http://www.celoxmedical.com/tech_howitworks.htm>

[2] [http://www.z-medica.com/healthcare/How-QuikClot-Works/How- Qu...](http://www.z-medica.com/healthcare/How-QuikClot-Works/How-QuikClot- Works.aspx)

edit: from a quick look over all three (I'm no expert), it seems like this new one might be faster acting.

</comment><comment><USER13> Sounds cool, but I wonder what would happen with bacteria that are trapped underneath the rapidly solidifying gel.

Usually, the flow of blood tends to wash pathogens out of the wound, reducing the chance of nasty infections. Positive blood pressure can therefore be considered a natural defense mechanism. But if you stopped the bleeding too quickly, wouldn't it trap pathogens inside the body before the blood has had a chance to wash them out? Or does the extra-rapid clotting actually trap pathogens _within_ the solid matrix, preventing them from spreading further into the body?

<comment><USER2> I am not a doctor, but from what I've read, treating an infection is usually considered much less of a priority by emergency responders than stopping severe bleeding.

You can bleed to death in a few minutes. Few if any infections are going to be that fast-acting. So stopping severe bleeding will hopefully buy you some time to get to the ER, where they'll pump you full of antibiotics if they have to.

<comment><USER14> Unfortunately antibiotics are becoming less and less useful. In 50 years we could be back to where a cut on your toe is life-threatening. :(

<comment><USER15> From what I've read the antibiotic resistant strains of bacterial are outcompeted by non-antibiotic strains when not in the presence of antibiotics.

So if antibiotics become completely ineffective and people stop using them, the resistant strains will die off eventually, possibly quickly.

<comment><USER16> Reference?

<comment><USER15> <http://www.ncbi.nlm.nih.gov/pubmed/20208551>

</comment></comment></comment></comment></comment></comment><comment><USER17> Could you not just use Superglue for a temporary fix before treatment?

<comment><USER3> Superglue does work. But if you watch the video in the article there is no way you could apply Superglue to a cut that deep and that long.

<comment><USER18> Couldn't you just use a piece of waterproof [well blood-proof] material lathered with superglue and slap it on; basically a superglue band-aid. That would contain the bleeding and be cheaper and easier to apply, presumably, than this solution. It would have the same problem of internal bleeding as well of course.

With the OP's solution how do you remove it to treat the injury?

<comment><USER19> It would contain the bleeding but it wouldn't stop it.

<comment><USER18> I understood that was what the gel in question did, contained the bleeding to prevent bleeding out before medical aid could be given. But, that it was not preventing the bleed from continuing internally.

As you may guess I have basically no medical training so I may well have misunderstood.

</comment></comment></comment></comment></comment><comment><USER20> Does this generate intense heat like the older products do?

</comment><comment><USER21> Of all the things from the Mass Effect universe they could invent they picked medigel? Come on!

<comment><USER22> Thinking the same thing. But the medigel is that thing too useful to be banned by the Council, so ... yes.

</comment></comment><comment><USER23> I'm an infantry veteran with three combat tours under my belt. Been there, done that.

The problem with these sort of fast-clot systems (Quick clot or quiclot or however you spell it) is that they inevitably damage the surrounding tissue and make recovery and healing difficult if not impossible without permanent damage. There's a reason they didn't want us to have any of these systems when we got back to the real world (though I kept a couple for myself). If we used them on civilians, we would probably be sued into oblivion for _causing_ severe damage to the bleeder even if we saved their lives using it.

Just like the other medics here will probably tell you, if this isn't on a battlefield saving lives under fire, I don't trust it.

<comment><USER24> The CAT and the Israeli Bandage, however, are seriously useful, and are in my laptop bag first aid compartment, and in a couple parts of the car, and the range bag.</comment></comment>


Improving My CLI's Autocomplete with Markov Chains - <AUTHOR> http://nicolewhite.github.io/2015/10/05/improving-cycli-autocomplete-markov-chains.html <comment><USER2> Wow. This is revolutionary.</comment>


US Patent 5676977 – Method of Curing AIDS - <AUTHOR> http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PALL&p=1&u=/netahtml/PTO/srchnum.htm&r=1&f=G&l=50&s1=5676977.PN.&OS=PN/5676977&RS=PN/5676977

<comment><USER2> I found this while trying to figure out what TETRASIL/IMUSIL was:

[http://rationalwiki.org/wiki/Tetrasil](http://rationalwiki.org/wiki/Tetrasil)

I'm suspect it's just pseudo-science, if it wasn't other countries would be manufacturing the product illegally.

<comment><USER3> Wouldn't other countries be manufacturing it 'legally' since the patent only applies to the US? This is why you see generic Viagra produced and sold from other countries?

</comment></comment><comment><USER4> [http://www.silentcures.com/The-AIDS- Cure.html](http://www.silentcures.com/The-AIDS-Cure.html) [http://www.rexresearch.com/antelman/silverox.htm](http://www.rexresearch.com/antelman/silverox.htm)</comment>


Entry-level tech jobs that are TRULY entry level (less than 2 years experience) - <AUTHOR> http://trulyentrylevel.com <comment><AUTHOR> "Entry-level" is used extremely loosely by employers these days. I've seen "entry-level" jobs that require as much as 10 years of experience!

So I've decided to create a job board only for tech jobs that require less than 2 years of professional experience (US only).</comment>


Magnetic core memory reborn (2011) - <AUTHOR> http://www.corememoryshield.com/report.html <comment><USER2> Besides being a really cool project, the article does a great job of explaining how core memory works. Nicely done!

Here's a core memory plane I bought a few years ago. This is a 4096 bit plane from an early-'60s Univac 418:

[https://geary.smugmug.com/Computers/History/i-jb2rgF5/A](https://geary.smugmug.com/Computers/History/i-jb2rgF5/A)

Full size close-up:

[https://geary.smugmug.com/Computers/History/i-jb2rgF5/O](https://geary.smugmug.com/Computers/History/i-jb2rgF5/O)

</comment><comment><USER3> People may also be interested in analog counter part: Magnetic Amplifiers.

"I had always believed that first came the vacuum tube, then the transistor, period. But thanks to an old Navy tech manual sent in by a reader, I've discovered a third "lost" entity. This document, unusually passionate and well written for a military tech manual, is their promotional brochure..."

[http://teslapress.com/magamp.html](http://teslapress.com/magamp.html)

[https://archive.org/details/MagneticAmplifiers](https://archive.org/details/MagneticAmplifiers)

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

<comment><USER4> There is a fourth one - the electromagnetical amplifier - essentially a transducer mechanically coupled to a carbon microphone. While not relevant for logic circuits, it would come at the start of that chain.

</comment></comment><comment><USER5> I always thought it would be cool to make a necklace or something with ferrite cores after they'd been "written" to, so you could keep a secret message with you (albeit a short one) without suspicion.

<comment><USER6> I'm sure the TSA would be suspicious.

<comment><USER7> They'd most likely make you take it off and put it through the tunnel just because it's metal. But wouldn't that destroy the data thanks to the magnets?

</comment></comment></comment><comment><USER8> A piece of equipment I worked on in the USAF had 512 bytes of core memory. If I recall correctly, it was constructed of nine planes of 512 cores each, where you had 8 data planes (bits) and one parity plane. It dated from the Vietnam war as a joint Army-Air Force project, and was being phased out in the mid-80's with a new microprocessor-based system.

I once had to replace a defective memory assembly -- the end of messages in the system were indicated with 4 N's in the first few columns ("NNNN") and one of the cores went bad so the N in that column was never recognized (the other characters in that column were munged too), and so the message never ended. Over a day with an oscilloscope to find that one bad core and convince the NCOIC that I was right... I didn't have a microscope, but to the naked eye the core looked fine. It just wasn't flipping like it should have.

<comment><USER6> Was that the 490L Overseas Autovon? I went to school for that phone switch in 1987 and was in the last class before they decommissioned it for the DOD.

It had a core memory when it was initially deployed.

<comment><USER8> This was DSTE [0] connected to AUTODIN [1]. AUTOVON [2] was still around -- I only heard of Flash Override being used once, and the recipient of the call was sent back stateside shortly thereafter... We had a Siemens phone switch at that base, probably because AT&Ts 5ESS wasn't available at contract-signing time.

At a later base I was at, they were installing the then-new X.400 system [3]. It didn't last long, as SMTP ate it's lunch. Which is funny, as I got to watch an IMP [4] get installed by the BBN [5] contractor that same year.

[0] [http://www.1882nd.com/images/DSTE.jpg](http://www.1882nd.com/images/DSTE.jpg)

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

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

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

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

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

</comment></comment></comment><comment><USER9> I've always wanted to do this! Maybe I'll make the rope memory version.

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

<comment><USER10> That's great how there is a measurement of 2.5MB per cubic meter. I've love to see a 1 x 1 x 1 meter cube of rope memory... Imagine the person hours required to do something like that, you'd have to hire professional persian carpet weavers or something.

<comment><USER11> > Imagine the person hours required to do something like that, you'd have to > hire professional persian carpet weavers or something.

Apollo Guidance Computer (the computer of the Apollo Command Module) has 36K 16-bit words of core rope memory. That is about 0.5MB. There were at least ten such computers created. So, this much core rope memory was woven for the Apollo Command Module's computers alone. See a previous discussion:

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

</comment></comment></comment><comment><USER12> That is awesome! I did a 1 bit core memory to demonstrate the principle but this is a much better example.

</comment><comment><USER13> Some microcontrollers have Ferroelectric RAM now-- a nonvolatile memory that's basically magnetic core memory on a chip!

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

<comment><USER3> While it confusingly uses the "ferro" prefix, the ferroelectric effect isn't related to magnetism.

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

</comment></comment><comment><USER14> Previously discussed at [https://news.ycombinator.com/item?id=3888926](https://news.ycombinator.com/item?id=3888926).</comment>


Have Tracing JIT Compilers Won? - <AUTHOR> http://lambda-the-ultimate.org/node/3851

<comment><USER3> Ahead of time compilers do work quite well for a subset of dynamic languages. Just like tracing JIT works well for a subset. This has been proven by projects like shedskin, cython, and tinypyC++. Given typing information, either explicitly or through type inference - massive speed-ups are possible.

Also, tracing JIT currently does not do multiple CPU optimizations - <USER2> static compilers have been doing. They also don't do SIMD or MIMD optimizations, which compilers like gcc/icc/etc are doing.

However, runtime assemblers - like 'Orc' 'corepy' and older ones like 'softwire' are proving to be lots faster in multimedia applications compared to traditional compilers or interpreters. These runtime assemblers give authors of programs access to the compilers/assemblers. Just like allowing people to specify typing, letting people construct programs at runtime can give massive speed-ups.

C has even had fast interpreters for a while - see tinycc as an example. It doesn't use a tracing compiler, but a very straight forward direct translation compiler which happens to be faster than many interpreters.

It's quite easy to argue 'No' to this question I think.

<comment><USER4> > C has even had fast interpreters for a while - see tinycc as an example. It > doesn't use a tracing compiler, but a very straight forward direct > translation compiler which happens to be faster than many interpreters.

How is tinycc an interpreter? It's a full-blown compiler, alas a very simple one with very little optimization. If it weren't faster than an interpreter, I'd be shocked. For well written code, it reaches 50%-70% of modern gcc speed from tests I did a couple of years ago. I think that's on par, or even slightly better, than gcc 1.x

<comment><USER5> It helps that C is designed to have an almost one to one mapping between its native operators and machine operations and addressing modes.

For example, the pre and post increment operators are expressions with side effects, can be confusing and can provoke undefined behaviour with ease. Having two variants also seems redundant. But the two variants may have different optimal translations to underlying CPU addressing modes, while leaving the pre or post modified value in a register is often a side-effect of the CPU translation. If the language only permitted ++ as a statement, the usefulness of side-effect would be lost.

It's a cliche that C is little more than portable assembler, but at a design level there's a lot of truth to it. The length of the assembly translation of C code is usually pretty directly proportional to the source code token length. In more expressive languages with more powerful abstractions, that's frequently not the case.

<comment><USER6> not arguing with your general point, but the difference between pre and post increment is very useful when writing things like stacks and queues with pointers. these days maybe people use libraries or templates, but i suspect they were introduced for ease of programming, not ease of translation.

[edit: really, it's two sides of the same coin. it's useful, so both c and cisc chips have it, so the two match up...]

<comment><USER7> > not arguing with your general point, but the difference between pre and post > increment is very useful when writing things like stacks and queues with > pointers.

Of course this only applies to ephemeral variants of those data structures.

</comment></comment></comment></comment></comment><comment><USER8> "Will a more static style JIT like Google's V8 be able to keep up?"

V8 compiles everything to assembler and does not do JIT. V8 seems to beat TraceMonkey on both CPU and memory benchmarks ( [http://shootout.alioth.debian.org/u64/benchmark.php?test=all...](http://shootout.alioth.debian.org/u64/benchmark.php?test=all&lang=v8&lang2=tracemonkey) ), so I doubt their approach has "lost". They probably do this because most JavaScript programs are very small and it's relatively cheap to compile everything to assembler from the start. They do their optimizations on assembler level as well - instead of doing it at bytecode level as it's done in most other VMs. This is at least the information I gathered when I looked at V8 last time - it was a year ago, so things might have changed.

<comment><USER9> Just because V8 doesn't have an IR doesn't mean it's not a JIT. V8 still has to generate assembly throughout the execution of a javascript program (to create new hidden classes, patch the inline cache, etc...). See: <http://code.google.com/apis/v8/design.html>

</comment></comment><comment><USER10> I'd say that for languages such as Python or Javascript tracing JIT compilers are the only viable approach. Because the languages allow anything you can't make any sensible predictions about types and call graphs at compile time (people tried; didn't work well). The incremental-JIT approach (LuaJIT) has less information to work with, and it's not aware which parts of the program are bottlenecks, so it can't intelligently decide which parts parts need optimization most.

The tracing JIT is such an obvious tactic that it should be part of any dynamic language. Measure which parts are slow, then optimize those parts using the parameter type information gathered at runtime. Fall back on original code on type mismatch. The implementation is hairy, but it's a no- brainer conceptually speaking.

I suspect that dynamic languages will evolve over the next 10 years to allow for really efficient compilers, but for the current languages such as Javascript I doubt we're ever going to see massive performance improvements.

<comment><USER4> > The incremental-JIT approach (LuaJIT) has less information to work with, and > it's not aware which parts of the program are bottlenecks, so it can't > intelligently decide which parts parts need optimization most.

You are probably thinking of LuaJIT 1.x; The recent LuaJIT 2 is tracing JIT, and it beats to hell out of every other dynamic language compiler, bar none.

Mike Pall for president!

</comment></comment><comment><USER11> With modern IDEs, tracing JIT, and type inference, I'm surprised that someone hasn't made the same lateral thinking sidestep that Hennessey & Patterson made for RISC. They offloaded much of the decoding work from the chip to the compiler, yielding faster chips in a smaller die size.

Perhaps the Go language is the start of such a sidestep. We should be able to offload a lot of the work of type annotation to the IDE and compiler, yielding a compiled language with the dynamic feel of an interpreted one. In fact, for langs with clean runtime models like Lisp, we should be able to allow intermediate states of partial annotation, and allow some interpreted execution for fast prototyping. (But demand full annotation before deployment.)

(EDIT: Yes, I was aware of Haskell when I posted this. Haskell. There I said it!)

Is there a tool that uses a Bayesian technique for suggesting type annotation that cannot be inferred? This would be tremendously useful. (And very dangerous in the hands of the incompetent.)

<comment><USER12> You have just described Haskell. Annotate types if you want, let the compiler infer otherwise. Very dynamic feeling, but much safer. And you're right, it can make for some very fast code.

<comment><USER13> I've always got the impression that Haskell's lazy properties makes it hard to reason about code performance. You can force high-performance code, but that requires circumventing the beauty of the language. Has this problem been solved?

<comment><USER12> The "reasoning about performance" is more of a trap for the unwary than a fundamental problem.

Example; you have two threads in a producer/consumer setup. The first thread puts "g x" into the queue. The second thread removes this, and applies "f", and puts the result into a result queue. Then a result-processing thread prints those to the file.

You run this, and notice that it doesn't really take advantage of all cores. It seems to run slower on 2 or 3 cores than it does on 1 core, even though "f" and "g" are of roughly equal complexity and the application of each happens in a different thread! WTF?!?

The problem is, of course, that lazy evaluation "helped you". You never needed "g x" in the first thread, so it wasn't evaluated; the thunk was put in the queue. When you applied "f (g x)" in the second thread, you still didn't need the value of either computation, so it was never evaluated. You just put a thunk in the result queue. Finally, in the result-printing thread, you did need the result -- so all the work to evaluate the result was done there; in a single thread.

You realize this, switch to strict queues, and now your app is 2x faster.

(BTW, I simplified the producer/consumer model a bit. Normally you have one thread feeding work into a queue, n threads reading from that queue, doing work, and putting results into a result queue, and then a final result- aggregator thread. The end result would be the same; all the work would be done in that last thread. Slow!)

</comment></comment></comment></comment><comment><USER14> Can somebody please explain what a tracing JIT is?

<comment><USER12> The runtime watches the code run, and if it notices that a specific type is in use in a certain code section, it rewrites the generated code to use that type when possible.

For example, if you want to add all the integers from 1 to 2^31, the JIT will eventually realize that the accumulator can be a register (with a machine int in it) instead of a JavaScript big integer. (If that overflows, it will switch back.) Obviously addition is faster when it's one CPU instruction with no memory loads, so this is a big speed win.

JIT in general means you generate native code at runtime instead of at compile time.

<comment><USER11> Often, there's more information at runtime than compile time. This may even be true at times for statically typed languages.

I think the static/dynamic type debate is just a vestige of the state of interpreter/compiler technology in the 80's. I wish everyone would get over it and introspect and debug their knee-jerk reactions so we can get on with the _next_ stage of language implementation.

<comment><USER15> I think you're only considering static typing as an efficiency benefit. I'm equally as interested in its program-correctness benefits.

<comment><USER16> Static typing and JIT compiling aren't mutually exclusive. You can do all the static analysis, checking, whole-program optimization, etc. that's feasible at compile time, compile to bytecode, and then do JIT compilation at runtime.

Edit: We appear to be in fierce agreement.

<comment><USER11> _Static typing and JIT compiling aren't mutually exclusive, though_

Static/Dynamic typing are no longer mutually exclusive either. We need to get past this idea already.

(I mean we as a field, not present company necessarily.)

</comment></comment></comment></comment></comment></comment><comment><USER17> I'm confused. In the javascript space, it seems like V8 and squirrelfish (or is it Nitro? I prefer SF) have soundly trounced tracemonkey. Last time I checked, Squirrelfish isn't a tracing JIT centric implementation (nor is V8). I've yet to see a ttJIT javascript engine that hasn't been soundly trounced by the more conventional approaches.

Perhaps it's different in the Lua world, but it seems to me like this post is claiming the exact opposite of what the evidence suggests?

Don't get me wrong, here. I think trace trees are a very cool optimization technique and surely have a place in the future of JIT compilers. I just don't think they've "Won" at this point.

<comment><USER18> Not to mention I don't think any pure approach will ever "win". To date, we've used a lot of different compilation techniques for wholly different use cases, as well as together for different parts of compilation where one makes more sense than another. I don't see any reason why that won't happen here. There's no reason this is an all-or-none proposition.

<comment><USER11> Smalltalk images are a clear demonstration that it doesn't have to be "all or none." Given a clean runtime model, one should be able to switch the execution engine on the fly, just as Smalltalk lets a Smalltalk app (debugger) act as a bytecode interpreter for the process being debugged, then switches back to JIT machine code when you hit "run".

</comment></comment></comment><comment><USER9> 1) No. See V8.

2) Tracing JIT's _might_ win for loop-centric languages. They miss some serious opportunities for parallelization in languages with rich collection- oriented operators (functional and array languages).</comment>


Show HN: An Amazon focused deal site - <AUTHOR> http://dealazons.net/submit-a-deal/

<comment><AUTHOR> Homepage link!

[http://dealazons.net](http://dealazons.net)

</comment><comment><USER2> My top suggestion would be to get a better name.

It's weird that this is linked to dealazons.net that redirects to dealazons.com

If you can afford it, drop $250 or so on a decent logo (if you don't have anyone in-house to do it). Not the single most important thing in the world, but if you can do it, do it. The current black text on #828282 gray doesn't come off particularly well.

With the product images subdued (until moused over), the nondescript logo, and all the layout gray, the site comes across as very numb. It's not exciting in terms of presenting deals. It should pop more, grab my attention.

I see the prices listed with the product, for example $99 for a Seagate 3tb external drive. As a browser / window shopper / consumer, what does that mean to me? How do I know it's a deal, what kind of deal is it, why does it deserve my attention, and so on. Is it 30% off? How big of a deal is it exactly? In the world of retail, if you're presenting deals, without telling the shopper what kind of deals they are, then you're going to rapidly lose their very short attention span. It pushes the mental computation off on to the shopper, to then figure out the deal - and they really hate that.

<comment><AUTHOR> Thanks for the input! Will def work on those things.</comment></comment>


How to go about learning Objective-C? - <AUTHOR> I want to learn Mac OS X development, and write applications that are useful, and make a little fortune on the side, if i get good enough. I don't really have much experience in any other languages. I've read "C in 21 days", but I'm hardly any good, and haven't written much code.
Is there anything I need to know, or any pre-requisites I require before jumping into Objective-C ? Do I need to learn C/Smalltalk first?
What books would you recommend?
Thanks for the help, and for reading this at all, love HN. <comment><USER2> Aaron Hillegass' _Cocoa Programming for Mac OS X_ is what I learned from. I never learned Smalltalk, but I had programmed C beforehand. If memory serves, _Cocoa Programming_ assumes no prior knowledge of C.

<comment><USER3> Came here to say pretty much the same thing. I've never seen a good Objective-C programmer give any other response to this question than the Hillegass book. You should have a knowledge of C, or at least programming in general, but the whole book is a lot of excellently-written tutorials, expanding on each app bit by bit. An excellent resource.

</comment></comment><comment><USER4> You obviusly need to learn C, since Objective-C is a superset of C. But not necessarily as a prerequisite. Just pick it up as you go. Smalltalk is optional but it is worth learning in itself for its awesome pure object- orientedness.

Also: [http://developer.apple.com/mac/library/documentation/Cocoa/C...](http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/ObjectiveC/Introduction/introObjectiveC.html)

Also: Jobs is the devil, hi wants you to be his sharecropper, do not develop for Mac OS X.

</comment><comment><USER5> Just start building something. Start small and add to it as you learn. That's what I did about a year ago but I had previous programming experience.

A year ago I had never owned an apple product and had never seen objective-c, now I have 5 apps in the app store, one of them in the top 50 for travel. It's been a lot of work but the first step is to start. Get a macbook and an ipod if you don't already have one, some books if that's how you like to learn (doesn't really matter which specific ones) and create something.

Start building something that you would use or something that already exists. That way you are more focused on learning how to make it work rather than figuring out the specifics of what it is you are trying to build.

<comment><USER6> What prior programming experience have you had?

<comment><USER5> Graduated with a degree in cosi in 2001, worked for a start-up that disappeared by the time I graduated. Took 7 years off to become a ski bum, decided to get back into programming 2 years ago by getting a masters. Got a job instead doing desktop c# work. Wanted to get into mobile so I started learning, now that's what I'm doing in San Fran.

</comment></comment></comment><comment><USER7> <http://www.reddit.com/help/faqs/programming>

<comment><USER8> Great answer. Not to the question being asked though.</comment></comment>


Ask HN: Critique of logo design ideas - <AUTHOR> I've often heard complaints that our current logo looks like it was drawn by a toddler with a paintbrush. One of our users just submitted 48 logo suggestions and many of them seem terrific. I have 9 that are my favorites (but what do I know since I threw the current logo together). I would appreciate feedback as to which ones you'd prefer (and, if you'd be willing to share, the reasons you selected the images you did). Thanks in advance. The comment with the images is at https://valme.io/c/gettingstarted/suggestionbox/h5qqs/project-new-logo-concept-for-valme#c551.<p>(If it helps, some of the ideas I wanted to incorporate into the logo are at https://valme.io/c/gettingstarted/suggestionbox/h5qqs/project-new-logo-concept-for-valme#c413.) <comment><USER2> Yeah your current logo is horrible. And speaking of horrible stuff, I think you should decrease the tags, deemphasise lesser important links and work on the padding. It all looks VERY messy.

On top of that, I have no idea what your website is about - until I look at every link to find that literally THE LAST link on the website is the explanation.

Now for the logos.

[http://i.imgur.com/A6DcE80.png](http://i.imgur.com/A6DcE80.png)

Bottom I dislike they look a bit corporate and doesn't convey anything about the site as far as I gather.

Middle is kinda okay, but it just looks like financial discussion.

The top ones.

The tree: Nice logo, money grows on tree. Still, it is kind of "invenstment-y" but the logo itself is cool so I like it.

The growing tree: It is cute, and something about money will grow.

Brain: Kind of getting there, ideas = money. Now the logo itself is too monotone / too green and will be hard (like the tree) to draw and make nice in smaller situations.

\---

I don't think any of them 'clicks' with the site itself, but I can't really come up with something of my own. Maybe a lightbulb combined with a subtle $ inside and an upvote? It's a tough one.

Or, since the name is valME, maybe just a profile shape with a $ inside? It connects the money with the "me" aspect.

Or, a coin with an upvote inside it. That would signify that the 'upvotes' are the 'currency'/money.

<comment><AUTHOR> This is all great feedback. Thank you. I was actually leaning toward the money tree/plant idea too (someone else brought up the idea of adding water/watering can which I really liked). Your point about drawing and making it look nice when it's small is an excellent point. The idea of a coin with an upvote inside is brilliant and would be much easier to make/use for small situations. I'll ask someone to draw a mock-up of that.

I'm very much interested in finding a UI expert to help with the project.

</comment></comment><comment><USER3> FYI you can run a survey asking people logo preferences for $1 per complete here: [https://www.survata.com/](https://www.survata.com/)</comment>


HOCON – Human-Optimized Config Object Notation - <AUTHOR> https://github.com/typesafehub/config/blob/master/HOCON.md <comment><USER2> I designed the HOCON format.

Here is my take on the why not JSON / why not YAML questions: [https://blog.ometer.com/2015/09/07/json-like-config-a- spectr...](https://blog.ometer.com/2015/09/07/json-like-config-a-spectrum-of- underoverengineering/)

Short answer is "UX"

There's also a historical reason, Play Framework and Akka had both invented ad hoc formats, HOCON replaced both. The ad hoc formats added things like includes and substitutions but in regex-hack type of ways. So HOCON was cleaning those older parsers up with a single actually-documented format.

<comment><USER3> I've been using HOCON for years.

Why it's not JSON:

* includes

* substitutions

Why it's not YAML:

* less confusing syntax (e.g. `cannot do that` doesn't need quotes, but `can't do that` does)

* built-in support for overrides via env variables

Why it's not JSON or YAML:

* Built in durations! No more head scratching to figure out if 5 is seconds or milliseconds. It's just `5s`.

\---

JSON is a data transfer format. YAML is a markup language (or it claims to be...).

HOCON is a composable configuration language. You always need to change, override, and deduplicate configuration in sensible way, in dev, in production, machine-by-machine.

Despite a wart or two I think HOCON takes a sensible to this ubiquitous problem.

<comment><USER4> YAML isn't a markup language, and it doesn't claim to be. The name stands for YAML Ain't Markup Language.

<comment><USER5> Except it originally stood for "Yet Another Markup Language"[1], and the newer name only means to separate it from HTML and other document-oriented markup languages.

[1] [http://yaml.org/spec/history/2001-08-01.html](http://yaml.org/spec/history/2001-08-01.html)

<comment><USER4> Ah, I wasn't aware of the old name, thanks!

</comment></comment></comment></comment></comment><comment><USER6> This seems like it'd be easy to shoot yourself in the foot with, especially with the duplicate keys and concatenation behaviour. YAML is also a JSON superset and is significantly easier for humans to parse. This seems to make many of the same mistakes that POSIX shell syntax makes.

<comment><USER7> This might be an unpopular opinion, but I find it terrifying that people keep repeating the same mistakes. Back in the 90s everyone thought that XML would become the one and only configuration file format. Instead, it became an epitome of over-engineered enterprise software. Now, people are moving to JSON as a serialization format. It's a lighter-weight and usually sufficient distant cousin of XML, but I still wouldn't like to write my config files in it.

The misconception is what might work as a human- _readable_ serialization format is usually tedious as a human- _editable_ configuration format.

Unless your app accepts _configuration files_ as untrusted input, it is really not that hard to write a custom key-value -type parser. Think OpenSSH or Samba config files - I find them well-suited for their respective jobs, as they achieve the required level of expression with minimal necessary complexity.

<comment><USER8> > it is really not that hard to write a custom key-value -type parser

It's not. But then you want to set up that config automatically. So you template them. Then you discover they have slight differences in what they accept and how they handle unknown/repeated values. Then you discover they have different escaping rules. Then that one needs non-latin characters quoted. etc. etc.

It's not easy to write parser for each one of them. But if you're installing a full server with 10 different config files, you end up with 10 templates which you just hope never run into any edge case of a particular format. And hope that the next service will just use JSON. Or YAML. Or whatever standardised.

</comment></comment></comment><comment><USER9> We use typesafe config for our Java configuration, after inheriting it via Akka + Play. The immutable recursive nature of the API is a slightly bigger win than the config itself, which is just OK.

The way the config composes between reference.conf and application.conf and possibly more confs in the classpath can be a bit confusing, but the API gives you the ability to introspect the source of a config value. It's pretty nifty when you need the overlaying behaviour though.

There's a lot more ports for it available now than when we started using it several years ago, which decreases its previously monolingual risk quite a bit.

</comment><comment><USER10> We use HOCON for one of our projects and I enjoy working with it. Some of the things I like are:

\- It's a superset of JSON - so you can just write JSON if you don't want to change

\- The ability to add comments

\- Multi-line strings with the use of Scala's triple-quotes

\- Reference other values with the use of in-line variables - [https://github.com/typesafehub/config/blob/master/HOCON.md#s...](https://github.com/typesafehub/config/blob/master/HOCON.md#substitutions)

<comment><USER11> Is it any better than Yaml? All of those statements are true of yaml and it's much more commonly used.

<comment><USER12> The two differences from YAML that seem obvious are "includes" which reference other files, and drawing values in a HOCON file from an environment variable.

Both to me seem easily encoded using YAML's support for custom types.

</comment></comment></comment><comment><USER13> It would be useful to show some concrete examples instead of just documentation.

<comment><USER14> Exactly my response. A side by side showing an example of JSON and its HOCON equivalent would be immensely useful

</comment></comment><comment><USER15> Here was my use case:

We had an existing config system built around json that was typically machine written from human GUI manipulations.

Our existing system could process json but not HOCON.

HOCON after it parses config file(s) provides a tree that can be written out as json.

I had to I start writing the configs out by hand instead of using the GUI.

So I started refactoring my config as HOCON because it has some moderate boilerplate reduction and DRY helping features. Then I'd load those new configs with the HOCON library in Scala and have it spit out json which the existing system could then parse (in memory did have to write out files fortunately).

I was in a Scala stack so using HOCON was a natural fit. I tried snake-yaml as well first but HOCON was easier for me to get up and I felt had a less wonky syntax. (I use yaml quite a bit for ansible so I am fairly used to it but even ansible extends yaml a bit to make it easier to write).

Writing configs in json is a really big pain because:

1\. No comments

2\. No comments

3\. "Having" "to" "quote" "all" "the" "keys" "and" "strings" "is" "painful"

I understand that perhaps I could relax those rules in the json parser but then I am just a step away from HOCON which adds higher order stuff.

IntelliJ had good HOCON support (ctrl+click to go to key / error highlighting) too so that helped. N.B. their yaml support is also good (via a plugin).

Anyhow keep in mind the way I used HOCON was quite different from how I have seen it used by other devs in the space. Whereas they included it in their jars then let users override stuff at runtime. I was able to use some of those design goals to make a modular slightly higher order json config system where I could share common configs as importable overrideable libraries.

Now if I had to have a system where humans and machines are "editing" the same file which was a case I had considered supporting for my system, I think I'd try to move the problem away from the same file space. And ask the question: Is there any way we can keep them out of the same files? Because that is probably easier than having the machine side keep track of comments in the parse tree and write them out when changing stuff. I'd try to sidestep by having my config system support importing files and merging them together and look more at how the directory.d pattern works in linux.

</comment><comment><USER16> I noticed a few people here doing double takes at HOCON, which I did as well (let's say it's a good instinct). After using it, things made a lot more sense.

* Old school Gnome users may recognize its original author Havoc Pennington.

* Although it's a Java library, it's more natural in a Scala; the config objects are immutable, and Scala people like to rewrite the whole world anyway

* It's a very nice way to organize and write configuration files, although for our team we needed a session to understand how the final configuration was being derived since there can be multiple configuration files as well as the fallback/default values in reference.conf.

</comment><comment><USER17> Json is completely fine. It's just too bad it doesn't have any support for comments. Maybe a future revision could add it?

<comment><USER18> Well, not for everything. If you're working with scientific data, the lack of NaN and Inf can be problematic.

Not that HOCON solves that.

<comment><USER19> 'inf' and 'nan' should work fine. If I understand your suggestion correctly, you would like ieee floating point inf, -inf, and nan to be representable as tokens as though they are numbers. It makes sense as that's how ieee floats do it. But in JSON they aren't numbers, so they aren't represented as numbers.

From the spec:

""" JSON is agnostic about numbers. In any programming language, there can be a variety of number types of various capacities and complements, fixed or floating, binary or decimal. That can make interchange between different programming languages difficult. JSON instead offers only the representation of numbers that humans use: a sequence of digits. All programming languages know how to make sense of digit sequences even if they disagree on internal representations. That is enough to allow interchange. """

<comment><USER18> I'm not suggesting anything, I'm fully aware of the spec. I'm just pointing out that you can't represent NaN and Inf in JSON. Strings don't count.

</comment></comment></comment></comment><comment><USER20> This has been around for a very long time. It's standard for configuration in basically all scala projects.

</comment><comment><USER21> It's current year. Why haven't the rest of you realized that commas should be whitespace?

<comment><USER22> Commas are explicit, whitespace is implicit. Whitespace wouldn't even save characters, because it requires either a tab or a space.

</comment></comment><comment><USER23> Here is a comparison of json like formats by the author of HOCON: [https://blog.ometer.com/2015/09/07/json-like-config-a- spectr...](https://blog.ometer.com/2015/09/07/json-like-config-a-spectrum-of- underoverengineering/)

</comment><comment><USER24> So when might I prefer this over YAML or TOML?

</comment><comment><USER25> Used this recently with Akka.NET

It took me back to the days writing reams and reams of xml for JBoss back in the day.

config is code and I see no compelling reason to adopt HOCON over code, or other external DSLs like YML, TOML, JSON and XML.

<comment><USER26> How do you deal with compiled languages, eg native or JVM ones, that you want to deploy and configure at runtime?

Configs let you have a container/binary/deliverable that you can test/tag/workflow on as an artifact.

<comment><USER25> I've always felt that YML, TOML, JSON and XML cover my needs.

There are other configs like docker file, but they're vender specific.

</comment></comment></comment><comment><USER27> How does it compare to yaml?

<comment><USER28> To me YAML is the ideal human readable structured data representation format, at least for humans with sufficient visual acuity to pickup whitespaces. I've heard people hate it with a passion, but I could never get them to justify said hate except to say that it's "ugly", "unmanageable" or "primitive".

<comment><USER29> The YAML spec is a ridiculous hodge podge. It's a factory farm packed with feeping creatures.

The kind of person who cares about that sort of thing is the kind of person who hates YAML passionately.

<comment><USER30> It sadly is, but the core syntax of YAML IMHO is still nicer than any other. To that end, I wrote a parser that simply cuts out the crappy features leaving just the basic core (and added optional type-safety/validation):

[https://github.com/crdoconnor/strictyaml](https://github.com/crdoconnor/strictyaml)

I also tried to write up a more extensive justification for anybody who scratching their head trying to decide which config format to use (including a "why not HOCON" paragraph):

[https://github.com/crdoconnor/strictyaml/blob/master/FAQ.rst](https://github.com/crdoconnor/strictyaml/blob/master/FAQ.rst)

<comment><USER29> Nice project! I agree about the YAML core syntax.

And your FAQ is so well argued that I submitted it to HN: [https://news.ycombinator.com/item?id=14318472](https://news.ycombinator.com/item?id=14318472)

<comment><USER30> Thanks!

</comment></comment></comment></comment></comment></comment><comment><USER31> Are there libraries for HOCON written in other languages?

I wonder if the authors are aware of [http://hjson.org/](http://hjson.org/). It has similar features as far as loosening the json syntax rules and a lot of client libraries. HOCON seems to go a lot further in features/complexity.

<comment><USER2> [https://blog.ometer.com/2015/09/07/json-like-config-a- spectr...](https://blog.ometer.com/2015/09/07/json-like-config-a-spectrum-of- underoverengineering/)

I wrote HOCON and also the above comparison post.

</comment></comment><comment><USER32> I like git's config notation. Don't know if it supports references though, and other general "object" characteristics, like explicit types for polymorphism.

Then again, Java Script _Object Notation_ supports neither.

</comment><comment><USER33> This is interesting, but I still find HJSON a better "JSON for humans format". HOCON seems to mix in things that better belong in the consumer, not the objection notation format.

<comment><USER2> I would say HOCON isn't JSON for humans, it's config file for humans. The features are all about building up a config in a DRY way and merging overrides with defaults and overriding with env vars and stuff like that. It's specifically for the config use case.

JSON superset is a bonus feature which is useful if you don't want to learn new syntax or want to machine-generate part of your config.

</comment></comment><comment><USER34> seems similar in goals to HCL [https://github.com/hashicorp/hcl](https://github.com/hashicorp/hcl) but harder to write.

</comment><comment><USER35> I use HOCON at work, tripped up today because linebreaks matter! (no way to do a delimmited comment)

<comment><USER2> something has to matter :-) after making commas, braces, brackets, and quotes optional linebreaks were what's left...

<comment><USER35> Is there a meaningful difference between linebreaks and other whitespace if you have no comments?

I understand that it might constitute a breaking change now to delimit the comments since:

 _# HOCON is great you can have #comments!_

would now be a compile error but I'm interested if there's another issue that prevented optionally delimited comments in the original spec.

</comment></comment></comment><comment><USER36> This is the sort of thing nobody needs or wants at this point in time.

<comment><USER26> We're using it for distributed app configuration management at $work because Typesafe accepts it.

No complaints about hocon itself, but Typesafe configs get applied in first- value-wins which is a continual source of ... amusement ... for developers.

<comment><USER37> Wow, first value wins seems like a really horrible idea, any insight into why that choice got made?

<comment><USER38> There seems to be a confusion. First value wins - is in no way how hocon works. Just take a look at the examples

</comment></comment></comment></comment><comment><USER33> Ah, I may have misinterpreted the intent. That helps, thanks

</comment><comment><USER39> It's cool, I suppose, but I don't think I would ever use it. If I need something more complicated than a basic ini, json or xml file, I think I'd reach for a scripting language I already have in my toolbox, like Python or Lua, or JavaScript, than learn Yet Another Configuration Language.

<comment> m-j-fox I'm with douche. If your config is so complicated you need variable substitution and regex then it's no-longer config: it's a driver program. Might as well program in a programming language.

<comment><USER2> I think this is reasonable in some contexts but it depends. Often the configuration is done by a different person or in a different context than the development. The configure-er may or may not be a programmer and the deployment environment may or may not have xyz programming language available, etc.

The JSON superset aspect nicely supports spitting out JSON from a script when people want to do it that way.

HOCON is nice when for example you just want to sub in a couple of env variables or avoid a little cut-and-paste.</comment></comment></comment>


Oculus Founder: Rift Will Come to Mac If Apple "Ever Releases a Good Computer" - <AUTHOR> http://arstechnica.com/gaming/2016/03/oculus-founder-rift-will-come-to-mac-if-apple-ever-release-a-good-computer/ <comment><USER2> Apple's entire strategy is to release a complete end-to-end experience for mass market production. It would only make sense for the MacBook to upgrade their computer with a GPU for virtual reality if:

1) Customers really wanted to use VR. 2) Apple released their own VR set.

I just don't see a real scenario where VR is ready for mass market consumption yet.

</comment><comment><USER3> Apple is pretty obviously working on VR. For the past couple of years they've had a big group of recruiters at SIGGRAPH (the annual large computer graphics conference) who perked up significantly when one mentioned VR.

</comment><comment><USER4> Thunderbolt 3 and the mainstreaming of an external GPU will play a factor in this.

If Apple embraces this, then as soon as the new Intel chips are in all of their computer products, they can release or third parties can offer better external GPU solutions.</comment>


Etsy's Founder, Written Out of History, Is Not Alone - T-A http://www.bloomberg.com/news/articles/2015-03-06/etsy-s-founder-written-out-of-history-is-not-alone <comment><USER2> I feel like Ron Wayne entry in this list is off in so many ways

>Ron Wayne was technically a co-founder of Apple Computer, but he chose to leave after only 12 days. He paid the price by missing out on millions, if not billions, when he sold his 10 percent share of the company for $800.

He chose to leave the company himself because he didn't believe (at the time) that Apple would succeed. That was his choice, he did not get pushed out. Obviously (in hindsight!) this was a bad mistake, but at the time it was not and nobody could even imagine the succes apple would turn out to be. Hindsight is always 20/20 guys.

<comment><USER3> All I could think of:

[http://en.wikipedia.org/wiki/Clear_History](http://en.wikipedia.org/wiki/Clear_History)

Larry David is working for an energy-efficient car startup as chief of marketing, gets fired days before it goes huge for objecting to the name of first model of the car, Howard, and well, loses out in a huge payout and goes dark and flees to reinvent himself.

</comment></comment><comment><USER4> Well since I despise sneaky corporate behavior; I'll give my honest, brief review of Esty. I was introduced to the site because it was the only site my sister seemed to like--a few years ago? I looked at it and was immediately impressed. It reminded me of the annual Fourth of July fair. Where once a year artisans would sell their crafts(my annual purchase was a hand tooled belt, with a copper buckle). This was in the late 70's. This company had kinda recreated that experience. Actually, strike that last sentence. The site didn't come close to recreating that fair, or level of craftsmanship, but it was better than Ebay.

Jump ahead a few years. I now can't tell the crap from China and India--from handmade local works of art, and each month it just gets worse. Good luck with your IPO--I imagine current management and slick Bankers, along with the usual list of insiders will make another killing. (I guarantee in a few years you will want the guy back who had the original vision! "What happened? Why are we loosing customers to that new site. That new site that has standards? I hope he makes you guys pay until it hurts.)

</comment><comment><USER5> Are they really written out of history? Rob Kalin shows up as the first Google result for [etsy founder], is listed on the knowledge panel for [etsy], is the first name mentioned on the Wikipedia article for Etsy, and is mentioned several times there. Eduardo Saverin had a whole movie made about him, and Ron Wayne features prominently in Steve Wozniak's autobiography.

<comment><USER6> That's not a real rousing defense. Stalin wasn't able to completely erase Trotsky from history either:

[http://en.wikipedia.org/wiki/Censorship_of_images_in_the_Sov...](http://en.wikipedia.org/wiki/Censorship_of_images_in_the_Soviet_Union)

...(is there a Soviet version of Godwin's Law? I guess I just invoked it.)

<comment><USER7> In the current newscycle world you don't even have to try. Somebody remembers the shot plane over Ukraine or Ebola? They were a big deal not a few months ago and suddenly disappeared.

Just stop pushing the PR for something and it will go to obscurity on its own.

<comment><USER8> The most popular dutch news site has both on its front page right now [http://nu.nl/](http://nu.nl/)

</comment></comment></comment></comment><comment><USER9> This article is ridiculous.

He was the founder, and obviously (because he is no longer in the picture) decided to sell or give away enough equity in the company to the point that he no longer held a controlling interest. Thus he no longer plays any part in the company's goings on and rightfully so.

That was his decision, and nobody elses.

One has to assume that he was content with it at the time.

If he still held 51% or more of the company and still wished to be a part of Etsy, he easily could have done so. So could have basically every other founder in history.

If Steve Jobs knew that Apple would go on to become the most valuable company in the world one day, and that Mike Markkula was going to vote him out of his own company a decade later, he probably wouldn't have sold him 30% of the company for $80,000 either.

Hindsight is 20/20.

<comment><USER10> > This article is ridiculous.

Yes, but not for the reasons you list. The article cites Eduardo Saverin, who is not at all forgotten thanks to The Social Network. It lists Noah Glass, who was only involved in Twitter in the early days. It lists Ron Wayne, who was a Co-Founder of Apple for less than two weeks. It lists founders of Pandora, who left long before its IPO. And yet one of Etsy's founders, with the company from 2005 to 2011, is forgotten?

> He was the founder

He was one of three founders [1]

> and [...] decided to sell or give away enough equity in the company to the > point that he no longer held a controlling interest. Thus he no longer plays > any part in the company's goings on and rightfully so.

So if you don't control 51% of the company, you don't play ANY part in the company's goings on?

> If he still held 51% or more of the company and still wished to be a part of > Etsy, he easily could have done so. So could have basically every other > founder in history.

How do you 'still' hold 51% of the company with two co-founders?

[1] [https://en.wikipedia.org/wiki/Etsy#History](https://en.wikipedia.org/wiki/Etsy#History)

</comment></comment><comment><USER11> > He was quoted in a 2011 Inc. magazine article as saying the idea of > maximizing shareholder value is "ridiculous."

:)

<comment><USER12> It's probably not ridiculous, but the idea is overemphasized and taken as gospel in America -- and, I think, has been responsible for a lot of bad, short term decisions over time.

Tim Cook seems to agree with him: "When we work on making our devices accessible by the blind, I don't consider the bloody ROI. [Apple works on] a lot of things for reasons besides profit motive. We want to leave the world better than we found it [...] If you want me to do things only for ROI reasons, you should get out of this stock."

Of course it's easier to say this when you're Tim Cook or Larry Page.

</comment></comment><comment><USER13> I think was is more sad, is that ETSY had 4 founders. Making this article writing 3 of them out of history.

<comment> 2015-03-06 Well, it's not that clear-cut. Kalin raised the first money personally, a good chunk of it from family, and hired the people to whom he later granted the title 'co-founder'. They had much, much less equity from day one, and cashed out in the first rounds of investment.

Also worth noting: there was an interesting Fred Wilson blog post about dealing with Kalin and his quirks that has since been deleted. The gist of it, as I recall, was that Kalin saw himself as an 'artist' and not a manager - <AUTHOR> notion Wilson found unsettling for the CEO of a portfolio company.

As for what Rob is up to these days, he's recently bought a warehouse in the Catskills and is turning it into a hive of artisan workshops with a restaurant downstairs. Apparently everything in the restaurant (tables, chairs, silverware, lighting) will be made in the warehouse. So basically, he's building a Portlandia skit, but apparently he can afford it.

</comment></comment><comment><USER14> While I think this article is a little over dramatic, I think Rob Kalin probably did fine for himself, and historical account, let alone IPO account, does not equal personal happiness. To continue the conspiracy theory, Kalin seems to have previously been listed at the 25th richest under 30 on complex.com and now replaced by Mr Cullen which just so happens to rhyme with Kalin. [http://www.complex.com/pop-culture/2012/08/the-25-richest- te...](http://www.complex.com/pop-culture/2012/08/the-25-richest-tech- entrepreneurs-under-30/rob-kalin)

</comment><comment><USER12> The article says that it is unlikely that Kalim has a significant equity position in Etsy because he is not listed amongst the principal shareholders in the S-1.

The definition of principal shareholder here is: officer of the company, director on the board, or representing 5% or more equity stake.

Thus, Kalin could have as much as 4.99% of Etsy and still not be listed.

I would guess that Kalin has a significant equity stake in Etsy. It has no doubt seen dilution over time, but if I were a betting man, I would bet that unless he has already sold his shares in the secondary markets, his net worth will be a princely sum indeed.

<comment><USER15> Technically, he could have 5% - 1 share and not be listed. But otherwise I agree with your assessment. He's not missing any meals.

</comment></comment><comment><USER16> Do these guys somehow manage to lose their equity despite having vested all of it within the first 4+ years?

<comment><USER17> You still have to pay for vested stock if you quit before an exercise event. I'm not saying he didn't do that, but it's hard for a lot of people to come up with that cash.

<comment><USER18> If he were a founder, then his options would have a nominal strike price and it wouldn't have been a financial hit for him to vest them.

<comment><USER19> You forget about taxes. By the time of exit the fair market value of the stock likely greatly exceeds option grant strikes to founders creating a massive tax liability in the form of capital gains. Likely in the hundreds of thousands if not millions of dollars range.

<comment><USER20> I believe that most founders exercise early when the company is formed and do an 83b. It's the smart thing to do, anyway.

<comment><USER19> Yes that's an option if they planned well. But there still may be spread.

</comment></comment></comment></comment></comment></comment><comment><USER21> Meta:

This Bloomberg site is unique or, at least, among a tiny set of sites that has a fixed top banner and manages to page down/page up correctly. I spent several minutes just appreciating their implementation with my keyboard. Both page down and space bar work correctly and the progress marker in the header is nifty.

<comment><USER22> I personally find the progress bar very distracting and don't read Bloomberg articles any more because of it.

It's something to do with me always using mouse scrolling that jerks the screen by set increments, and that then animates the bar but it takes 250 ms or something, so I scroll, my eyes attempt to find the new position in the article, the bar animates, my eye gets drawn up to the bar instead.

It's so bad for me I find myself angry and frustrated whenever I read a Bloomberg article and it took me a while to realise it was something as simple and silly as a visuay distracting automated progress bar that is just a bit too slow to animate.

<comment><USER23> I didn't know they had a fixed header. _pats NoScript on the head_.</comment></comment></comment>


Oracle Solaris 12 Is Dead, Major Reorganization Coming - <AUTHOR> https://www.thelayoff.com/t/KTCW4qz#replies <comment><USER2> If only OpenSolaris had been a true open source project under Sun's leadership, perhaps it would have had more momentum to withstand Oracle's steamroller.

All Solaris diehards that refused to accept external contributions, make the build process transparent, discuss new features, etc, when OpenSolaris was alive... well, enjoy the death of your beloved OS now.

<comment><USER3> Illumos is still around, with the support of many former Sun devs.

<comment><USER2> Yes but, like Brendan says (and I agree 100%), it's a long shot.

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

I was heavily involved with OpenSolaris at the time Oracle bought Sun. It was never an open source project and there was a lot of resentment from Sun employees that their beloved code had been exposed to the mass of ignorant developers. After Oracle bought Sun, the issues only accelerated to their inevitable outcome.

I wish the Illumos community all the best but, having seen first hand how the old Sun mentality is still going on there too, I makes me depressed.

</comment></comment></comment><comment><USER4> Discussion from earlier today (51 comments): [https://news.ycombinator.com/item?id=13209826](https://news.ycombinator.com/item?id=13209826)

Original discussion from a couple of weeks ago: [https://news.ycombinator.com/item?id=13079370](https://news.ycombinator.com/item?id=13079370)</comment>


Ask HN: (Inquiry)How much you spend on wine? - <AUTHOR>

How often do you buy wine? How much are you willing to spend, per bottle?<p>Thanks! <comment><USER2> I drink quite rarely myself. I've purchased two bottles of wine since January of last year.

I reserve drinking wine to extremely special occasions, so I stick with wines that I know I love or were recommended by a trusted third party (I have a brother-in-law who's a wine geek/knows my tastes). As a result, the last two bottles I purchased were Mollydooker's Blue Eyed Boy (at $36 -- normally this runs $45, but for some reason the Costco in Ann Arbor, MI has it for an exceptionally low price) and Mollydooker's Carnival of Love (at ~$100). I wouldn't buy the latter again. Though it was great, paying $100 for a glass of wine is hard to stomach and I won't drink re-corked wine (no device I've tried is capable of preserving wine in a way that makes me want to drink it the next day).

To specifically answer: once per year, and I'm willing to spend up to $50 since it's such a rare indulgence. That said, a decade ago I could find wines that I enjoyed for around $15-$20 USD and purchased a bottle about twice a month.

(and yes, those are accurate numbers -- no need to multiply by 7 due to people normally under-reporting the amount that they drink)

</comment><comment><USER3> I was probably buying 1 or 2 bottles a week for much of last year. Probably $15-$25 AUD / bottle. Less so now.

Unless you're specifically investigating a niche market of (people who comment on hacker news) & (people who spend money on wine), it might be a good idea to hunt for wine industry statistics / market research.

Some arbitrary suggestions:

* "An Econometric Analysis of Wine Consumption in Australia" [1]:

> On average, over the 5 decades, consumers allocated about 5 percent of their > income on alcohol with 3.3 percent to beer, 1 percent to wine and 0.7 > percent to spirits. Within alcohol, for every dollar the Australians spent > on alcohol, on average, he/she allocated 65 cents on beer, 20 cents on wine > and the remaining 15 cents on spirits.

* "Consumer Insights" [2]:

> In developed wine markets, people drink wine because they want to enjoy it, > not because of the health benefits they might get from it.

(ha!)

> People attach different values to wines in relation to the occasion they are > faced with. However, consumers with stronger personalities are less subject > to normative influences.

(ha ha!)

> There are different segments of consumers in the on-line environment, with > different level of skills and trust towards this form of retailing. > Convenience and the price comparisons are attractive, but people still don't > like the fact that wines cannot be tasted and they are worried about the > security of the transactions. This may change, but recent research still > finds risk an issue. Online purchasing represents about 5% of the total wine > market in developed countries.

[1] [https://www.adelaide.edu.au/wine- econ/events/2030workshop/pu...](https://www.adelaide.edu.au/wine- econ/events/2030workshop/pubs/Selvanathan_WC0210.pdf)

[2] [http://research.wineaustralia.com/wp- content/uploads/2013/04...](http://research.wineaustralia.com/wp- content/uploads/2013/04/Consumer-Insights-discussion-paper.pdf)

<comment><AUTHOR> yes, i am trying to investigate the market of people who spend money on wines. Thanks for pointing me in the (right) direction!

</comment></comment><comment><USER4> I buy every few months in bulk (for my cellar) and I have a limit of $20 per bottle. I do blog about the bargains I find, but I don't think anyone reads these posts.

</comment><comment><USER5> About 5€ per month but I am willing to spend 50-70€ for a bottle.

<comment><USER4> That is a very infrequent purchase :)</comment></comment>


A Functional I/O System (or Fun for Freshman Kids) - <AUTHOR> http://www.ccs.neu.edu/scheme/pubs/icfp09-fffk.pdf <comment><USER2> The LtU writeup here: <http://lambda-the-ultimate.org/node/3540>

has a useful link to the authors' "How To Design Worlds" book and web site: <http://world.cs.brown.edu/></comment>


Ask YC: For the love, or the money? - <AUTHOR>

In my spare time, I've been working on a product that has a fair amount of interest around it. I have no doubt that once I get the product finished, the company will be successful and profitable. I see some market opportunities that is making me want to push harder and get done sooner, but with a day job paying my bills, I can only move so fast.
Thus, I think to myself, how about getting an investor or a loan? Loans are pretty much out of the option, as far as I can tell, because I don't have enough assets personally (and if I did, I wouldn't need one!). And when looking at investors, it appears that most of them look for some "big money" event.
But that's the conflict of interest, I suppose. I have no problems making money, but I'm not doing this startup because I want to make a ton of money going public or being acquired. I'm doing the startup because it's something I love, and something I want to be able to use myself.
Inevitably, I resign myself to the double life of my day job and my passion. So the question to everyone here is: what's a guy like me to do? Are there options that would allow me to dedicate my entire life to this that I haven't considered and won't make me feel like I'm selling out? <comment><USER2> With my first startup I saved up about $30k, then went into "hotdog mode". This is when you cut your expenses down to the point where your only overhead is hot dogs, tap water, and rent/mortgage/utilities. You have no gas expenses because you don't drive anywhere, and no entertainment expenses because you do nothing but code. I could have lasted 18 months that way.

In the first year, I built the software, found two co-founders, and got some favorable press, which led to a small angel round--I actually turned down money in the angel round because I didn't want to give up too much of the company at a low valuation. That bump was enough to get the product launched, start paying ourselves, and have revenue coming in. We later raised real capital, but by then we had a solid product, reputation, and quickly growing client base. I retained >50% of the stock when we sold the company years later.

I've always been amazed that founders will so readily give up their equity just to raise capital, or to get prestigious advisory/board members. Do your startup for the love, but keep your eye on the end-game and don't give up equity unless you have no other choice.

</comment><comment><USER3> I was in the same situation and I was able to make progress by consulting and paying outsourced coders on the side, then taking time off occasionally and working on it myself. It was hard but it worked out.

</comment><comment><USER4> Friends and family is worth thinking about. It's a big responsibility to take on, but if you're really confident and know people who trust you it might be the best option.

</comment><comment><USER5> How much do you really need? Find some short consulting projects, borrow up to 25k on prosper and get going.

<comment><AUTHOR> Not a ton, but I can see myself burning through at least 50k in the next 6 months including marketing/creative expenses.

But that is a good suggestion. Perhaps the answer is to put this project on the back-burner and get some more consulting gigs.

<comment><USER5> Or think of how you can reduce your expenses.

</comment></comment></comment><comment><USER6> The math is actually pretty simple.

How long do you need to be without income? How much will you need on Day 1 on No Income to make it to Day Z?

If you cut your expenses to the absolute bare minimum and kept working full time (maybe even adding some side work), then you can calculate Day 1. Then you commit to doing your project starting Day 1. Period. Problem solved.

The real beauty of this plan is that you don't have to pay anyone back, you don't have to share equity, and you don't have to depend on events outside your control (getting accepted into something). Of course, once you have something to show, you can do any of those things on your own terms.

WARNING: When I say "bare minimum", I mean it. No more restaurants, candy bars, beer, hookers, etc. It's very easy to lose sight of this while "good money" is coming in. Never forget: that money is already spoken for.

</comment><comment><USER7> Apply to YC?</comment>


How a Virus Feels from the Inside - <AUTHOR> http://lifeinafreemarket.tumblr.com/post/105725050398/how-a-virus-feels-from-the-inside <comment><AUTHOR> I have found this story on [http://www.reddit.com/r/rational](http://www.reddit.com/r/rational), and there's a lot more stories like this one, it's pretty awesome, I suggest you guys check it out. There's a lot of stories on science/tech/futurism/transhumanism/AI/rationality/etc that I'm sure you will enjoy.

Rationalist fiction to fiction is what hacker news is to reddit. Really cool stuff. You can read more about it over here - [http://rationalfiction.io/wiki/rational- fiction](http://rationalfiction.io/wiki/rational-fiction)

</comment><comment><USER2> For those using uMatrix/NoScript: [https://archive.is/wPJa9](https://archive.is/wPJa9)

</comment><comment><USER3> Good story. Read it all up to part 6, sad that there's no part 7 (yet, I hope).</comment>