The Throw Keyword Was a Mistake - <AUTHOR> https://hackernoon.com/the-throw-keyword-was-a-mistake-l9e532di <comment><USER3> I disagree. Throw keyword is the greatest invention, and makes programming so much better. Error codes are the evil. Exceptions allow to separate business logic from error handing in a most effective manner. Author likely have not ever worked on large codebases where the error handling was messed up beyond any repair due to having to pass error codes every friggin where

<comment><USER4> The opposite to exceptions isn't (necessarily) error codes. Golang errors are a recent example.

<comment><USER5> How does that work? I haven't seen the recent changes so I can't say for sure, but AFAIK Goland and Rust error handling mostly amounts to line noise trying to recreate the control flow of exceptions (i.e. bubbling any errors up the call stack) (although Rust tries to make it more palatable using macros).

<comment><USER6> Then don't try to recreate the control flow of exceptions. Handle things ASAP; only propagate an `Err` if the function returning a `Result<_>` _logically_ has an error condition. Don't be afraid to panic, unless user data is on the line, in which case register an unwind handler and tiny backup facility if you don't trust your programming ability (hint: nobody should trust their programming ability _that much_ unless they've rigorously (mathematically) proven their code's soundness).

It's a different way of programming, but a more explicit one, and I don't think implicit Bad Thing™ should be easy in a language.

(By the way, Rust has a single-character operator to emulate exception pass- through.)

<comment><USER5> > Don't be afraid to panic, unless user data is on the line, in which case > register an unwind handler

Sounds like exceptions.

</comment></comment></comment></comment></comment><comment><USER7>
        only the language runtime and operating system
        would be allowed to raise exceptions

So you still need all the exception machinery, but "normal" code can't use it? Seems like a terrible situation.

Also, who's in charge of deciding what's "language runtime" and what isn't?

<comment><USER8> This is how it's done in Rust. panic macro unwinds stack for tracebacks, there's std::panic::catch_unwind, but panic can be compiled to be aborts to do away with stack unwinding, error handling is meant to be done with Result<T, E> type, whereas panic is meant for unrecoverable errors

<comment><USER9> This is not an apples-to-apples comparison. In Rust, app code _can_ panic, even though it's not idiomatic. That does not meet the standard prescribed by the quote from the article.

</comment></comment></comment><comment><USER10> > The Year Everything Crashed

Which year?

> If you were using computers in the years that followed you remember the time > well even if you didn't know the reason; a lot of software that had been > stable and solid before started crashing and misbehaving.

I think I missed this.

<comment><USER11> Well lp0 would catch fire, but it wasn't as bad as using throw!

</comment></comment><comment><USER12> Throw in Java is very inexpensive. Expensive part is creating new instance of exception, which figures out stack trace and creates bunch of immutable strings.

There is a technique of throwing existing static instance of exception, which generates no garbage and two orders of magnitude faster than traditional java approach:

[https://github.com/questdb/questdb/blob/7560895ee400c82b0e5e...](https://github.com/questdb/questdb/blob/7560895ee400c82b0e5e39440eaf6c55bbbb7d7d/core/src/main/java/io/questdb/cutlass/text/types/InputFormatConfiguration.java#L207)

The only downside is that stack trace is effectively defunct.

</comment><comment><USER13> I love the way Elixir/Erlang handles this, personally.

If the error is expected/should be handled, just add the error to your pattern match and handle it right there (or bubble it up, if appropriate).

Truly exceptional situations where something "should never happen" won't be pattern matched against, BEAM will crash the process, and your supervisor will get you back to a good state.

Feels so much cleaner than either exceptions everywhere or easy-to-ignore error values.

</comment><comment><USER14> I strongly believe that the Go approach is the correct way to go. Every function that can fail should return an error code and then the programmer invoking said function is expected to handle the error code. It also used to be that way back in the old C / C++ days before SEH made it messy like Java.

And the beauty of using statically typed languages with error code return values is that one can use automated tools to find all the places where error codes are being ignored. So then random error conditions sprinkled throughout business logic go back from "this is how Java is done" to "this is a code smell".

<comment><USER15> >Every function that can fail should return an error code

Every function that can fail, that can take invalid arguments, or can be called at invalid times. Which widens the set to basically every function. Old APIs had a convention to always return a status directly and results in out- params, except for pure mathematical operations (in which errors were mostly ignored, e.g. in a computer, a+b may fail as much as fopen(), but who cares).

Observing this fact, one can free themselves from:

      if ((status=operation(args, &vague_error_descriptor))
        return status;

and handle the specific error event where it seems reasonable in the way that seems reasonable.

Unwinding call stack by hand doesn't automagically handle errors. At main() or at the other high-level call site you still have no idea what to do with an unexpected error except logging/presenting it and exiting (or continuing in hope invariants were not broken).

>one can use automated tools to find all the places where error codes are being ignored

The same is true for exceptions - every milestone like db.open(), file.save() and process.spawn() should be try-catched. And in both cases you don't know which errors "codes" are still unhandled.

<comment><USER16> You are describing panic() which may happen due to programmer error, but not from a+b or any arbitrary event. It follows a short spec and stdlib, and may even be recoverable. Your if-example is old style and not allowed in golang. Your milestones escalates any small deviation into potential crash-handling territory (good example).

</comment></comment></comment><comment><USER17> I worked at a telecom company. They had a program written in java for generating the initial customer configuration.

Among other stuff it used exceptions as control flow and it made me make extraordinarily high estimations for seemingly simple changes.

Anyway, I don't think I agree with the article - it's again the matter of the knife and how you use it.

<comment><USER18> > it's again the matter of the knife and how you use it.

The author makes this point repeatedly: exceptions would be great if all programmers were above average, but (of course) they're not. _In practice_ the knife is juggled and thrown (heh) and generally mishandled so much that the floor is covered in blood. This gets us into pg's whole "blub" design-for- geniuses vs. design-for-idiots discussion, with is basically dueling strawmen, so I'll bow out there.

</comment></comment><comment><USER19> We've moved past it now with having errors just be part of the type and signature so you can use language tools to deal with them like any other type instead of having special syntax. I like that. It allows you to express certain concepts more easily. For instance, "in case of failure, use blank" looks nicer in Rust than in Java, and so you're more likely to use it. Java is also sort of moving this way because checked-exception methods don't play well with Streams syntactically.

</comment><comment><USER20> > _Structured Exception Handling (SEH) was born._

This, including the abbreviation, is the name of a feature of the Windows API.

The author is confused between exception handling in programming languages, and exception handling in the MS Windows operating system.

[https://docs.microsoft.com/en- us/windows/win32/debug/about-s...](https://docs.microsoft.com/en- us/windows/win32/debug/about-structured-exception-handling)

[https://en.wikipedia.org/wiki/Microsoft- specific_exception_h...](https://en.wikipedia.org/wiki/Microsoft- specific_exception_handling_mechanisms#SEH)

Note that in Microsoft C++, this uses special ___try_ , ___except_ and ___finally_ keywords, which use underscores because they are extensions, separate from the ISO C++ _try_ and _catch_.

SEH can catch events like access violations. It's more like Common Lisp exception handling in that you can catch errors without any stack unwinding taking place, so that fixing up a fault and re-starting an instruction is possible (like catching a SIGSEGV or SIGBUS on POSIX).

</comment><comment><USER21> Error propagation is must have for any project. You always need to handle some errors in parent context because local knowledge can be not enough. And you can choose between manual passing of error codes (c, go, mundane and boiler- platy), algebraic errors (rust, zig, optional sugar can make it convenient and look like SEH) and SEH. Yes it is additional condition flow, but you have to introduce it in some way.

</comment><comment><USER22> Didn't Java require all exceptions be declared in the method signature? (Haven't used it in years.)

I think that's the best solution. You declare what error conditions could arise, but not using magic numbers. The caller can then decide whether to handle them or pass them to its caller etc.

I agree that unexpected exceptions (like it's possible in C# and possibly others, you can just throw whatever whenever) are far from optimal.

<comment><USER9> No. Only a certain subset, known as "checked exceptions" (as opposed to "runtime" exceptions), need to be in the signature.

In what may come as a surprise, checked exceptions are actually frowned upon in modern java (e.g. new stdlib apis tend to avoid them). They do not compose very well with the rest of the type system (e.g. you cannot write a "map" function that is polymorphic over checked exception types)—or at the very least, do not compose as well as some other patterns, like Optionals

<comment><USER22> Hm okay. If it's not "compatible" with streams, higher-order functions and whatnot I can see why it's not popular. A pity, really.

</comment></comment></comment><comment><USER23> The problem comes when programmers muddle and get confused about different possible "failure/error" conditions in a program.

A) Bugs, i.e. errors made by the programmers of the software B) Expected logical conditions that only appear as "errors" to the _users_ C) Unexpected failures such as resource allocation failures

Let's have a look at these one by one.

Case A, i.e. bugs written by programmer, i.e. the program is about to violate it's own constraints/logic/pre/postconditions/invariants. Examples are many, but for example off by one, accessing nullptr/null object, array out of bounds etc. Really the best way to deal with these is to abort/panic/dump core with a loud bang and produce a core dump and a stack trace to simplify debugging.

Case B, i.e. conditions that the application should expect to encounter and be prepared to deal with. For example your TCP socket connection times out, DNS query fails, HTTP query response returns 404. In any such case when you need to write some logic such as "retry to open the sockect connection" or "tell the user that the resource was not foudn" or try to resolve DNS query again later the best method is to use some kind of error enum/number/code kind of system. And to recap the "errors" in this category are not errors for the software but only errors for the _user_. I.e. for the software these are just logical conditions.

Finally Case C), errors that are neither A or B. Typically these are just some very unexpected conditions such as resource allocation failures. Your program failed to allocate a socket or pipe or a mutex or whatever. Should not happen but _might_ happen once in a blue moon under heavy system load or unexpected conditions. These are the things you don't want to conflate with your logical "error condition" path from case B because't that won't scale and propagation of errors up the stack becomes very tedious. These are best suited for exceptions.

Edit: Note that this isn't a static state but what is considered a bug or a logical error _can_ change across modules depending on the software project organization. A module written by another team migth consider illegal arguments as "Logical error conditionds" and return error codes, whileas a similar module written and used within a single team might just consider this a bug and dump core.

<comment><USER18> Agreed. Exceptions should be, well, exceptional. Not normal parts of control flow, or commonly occurring kinds of errors. Assertion failures, or other things that would otherwise send a signal and terminate the process - <USER2> fault, divide by zero, etc. _Maybe_ something like a socket being closed unexpectedly. That's kind of the boundary where it's worth debating. Anything more common/expected than that should be represented as an error code and not completely redirect the program's control flow.

</comment></comment><comment><USER24> > Dealing with them in a more elegant way than inelegantly crashing goes all > the way back to 1962 in a near-forgotten language called LISP.

Even as someone who isn't a Lisp programmer, I find the idea that Lisp is a "near forgotten language" to be a bit of a stretch.

</comment><comment><USER25> I agree that `throw` is easy to misuse; but I think this is a symptom of something else, namely in architectures where input even handler code is spread all around or, worse yet, dynamic. This is really common in many languages, and perhaps my greatest pet peeve.

However, throw is a wonderful facility if your architecture has one defined entry point for inputs of all kinds. It means your outermost loop can have a try block, and literally everything else can feel free to throw in the safety and comfort of knowing the entire program won't fall down.

<comment><USER16> goes on to explain misuse.. jk sort of.

What when allocation fails or disk full etc?

<comment><USER21> > What when allocation fails or disk full etc?

It is a common misconception that such errors can be easily handled. Most of software is too complex to be able to do something reliable with hard OS issues. Stack unwiding with exceptions is the most quick way to disaster with ENOMEM as root cause.

</comment></comment></comment><comment><USER26> Can someone point me to a code example (preferably TypeScript or JS) to clarify what the author proposes as an alternative to 'throw'? Maybe it's Stockholm Syndrome, but I'm struggling to picture how returning an error code (and checking it with an if-statement after every function call) would make code easier for a human to analyse. Seems like it would just make it a lot noisier and less expressive. But I'm intrigued.

</comment><comment><USER27> The keyword, and exceptions, are orthogonal concepts that this post is conflating. The real issue this post has is with exceptions (and in particular user-defined exceptions, though I'm not really sure why this matters because you can always (ab)use system exceptions if you have a way to reliably trigger them). You can still use the `throw` keyword with other error-handling models, such as with Swift's Errors.

</comment><comment><USER28> Could some sort of hybrid approach be an improvement? What if we required every function to explicitly declare the types of exceptions it might throw? The compiler could enforce it and make it transitive to higher level functions.

<comment><USER29> That was the basic premise of checked exceptions in Java.

It's not really related to the type system or anything. The root of the problem is Java compiles each class as an independent module, so any method has to deal with all its exceptions, even if only naming them, or it can't compile. Thus checked exceptions meant you either got huge signatures, or you wound up wrapping them all into other exceptions, which then made them much harder to inspect.

And unchecked exceptions made the problem worse. Java uses single-inheritance and put unchecked exceptions on their own branch. This meant you wound up with, for example, IOException and UncheckedIOException with no close common ancestor, so you had to wrap one in the other. So now, in addition to complicated signatures, you are doing more wrapping.

I think what might work would be to ditch the checked / unchecked idea, mostly. (You still want to treat errors like division by zero or invalid array indexing as unchecked.)

What you distinguish instead is whether methods are "safe" or "unsafe". An unsafe method can still catch some exceptions, it just doesn't promise to catch all of them.

The safe method must catch everything. For example, your main method and Thread.run would have to be safe.

</comment></comment><comment><USER30> When 'pair programming' was chucked in as an example of one of the worst things that happened to programming I lost interest.

Back up your assertions with facts. If you don't have facts use good truthful examples.

Too much opinion and conjecture isn't useful.

<comment><USER18> Rejecting the entire main argument because of a single aside - a matter of style more than substance - is effectively argumentum ad hominem. Yes, the author comes across as a grumpy old "get off my lawn" type (like me in fact). No, that doesn't make any of their arguments or anecdotes about throw invalid. Try addressing the issue, not the person.

<comment><USER30> While you may be able to sympathise with the author's style of writing, I think my point still stands.

<comment><USER18> Your point seems to be that it's OK to reject an entire argument because of one irrelevant aside. I guess that "stands" as a personal belief, but it does not stand as an argument or refutation of one.

</comment></comment></comment></comment><comment><USER31> Publishing on hackernoon is a mistake. The site sucks and also disables the Reader View that would make it tolerable.

<comment><USER21> No, article corresponds to unicorn-rainbow-coin-rebel style of most hackernoon content very well.

</comment></comment><comment><USER32> throw is being used as a replacement for goto.

<comment><USER33> All control flow are jumps underneath it all. The only important question about a particular control flow syntax element is: does it allow a human to reason about a particular code scenario more easily.

Most of the time, I think exceptions help more than hurt. Like many things in language design, it is a trade off, in this case of concision vs simplicity.

<comment><USER14> I've always thought of Java as being extra verbose, in part because there's try catch blocks everywhere.

<comment><USER34> Wherever there is a try/catch block in Java, you would have at least a few if err return/goto cleanup in C/Go/other error-code languages.

This is especially true when you have a function which performs multiple operations that return the same kind of error (e.g. multiple HTTP calls, or multiple file-based operations). In general, in Java you need a single try/catch block for all of these (which may well be in another function), but you need an if err return for each one in C.

Rust has a more interesting approach, where the sue of Macros gets rid of the verbose if-based pattern, but the code also avoids non-local return. I haven't written Rust yet, but it seems like a very interesting approach.</comment></comment></comment></comment>


Frozen cat revived after being found in snow bank - <AUTHOR> https://abcnews.go.com/US/animal-clinic-rescues-frozen-cat-snow-bank-montana/story <comment><USER2> Hmm.

        Oops! Page Unavailable.
        This page either does not exist
        or is currently unavailable.

<comment><USER3> Working link : [https://abcnews.go.com/US/animal-clinic-rescues-frozen- cat-s...](https://abcnews.go.com/US/animal-clinic-rescues-frozen-cat-snow- bank-montana/story?id=60904316)</comment></comment>


Music Industry Starting to Target "Copy Left / Free Culture" Enemy - <AUTHOR> http://www.digitalmusicnews.com/stories/012209ascap <comment><USER2> I'm sure most people here will consider me crazy for saying this, but I really hope the music industry manages to make some inroads with these initiatives.

Here's my problem with the free culture / "information wants to be free" crowd -- when you decide you no longer place monetary value on intellectual property, you are merely impoverishing intellectuals and keeping those who run enterprises such as oil and mining companies in control of the world's wealth. Rather than making the world a better place by making intellectual property free, you're putting it into the hands of the very people many in this crowd hate.

I'm not saying that intellectual monopolies/oligarchies such as those seen in the 20th century are sensible; I'm merely saying that the free culture is, quite literally, economically retarded. Allowing creatives and intellectuals to pursue their art as a profession is one of the greatest accomplishments of modern society, I think; even better is the fact that you can pursue these things and make a significant amount of money which can be used to do lots of interesting things. We really need to figure out a way to preserve this -- the balance of power created by wealthy creatives pushing initiatives that run counter to the aims of wealthy industrialists is extremely important (Bono not withstanding, of course -- kidding).

<comment><USER3> I don't think you're crazy, just totally wrong. As we know, the recording industry worked out _so_ well for artists.

<comment><USER2> You make the classic mistake of arguing against the record industry as a means for arguing against payment for intellectual property... While the record industry is involved in this, and they are the chief whiners, the overall situation is much greater. We have an entire generation of people around the world who see no point in paying for intellectual property.

This may actually be a situation in which society has made a decision to change its values, in which case the situation is irreversible, or will require a new generation before it can change. See: smoking, equal rights, etc.

<comment><USER3> Stuff changes. How long has copyright law been around? Are we supposed to believe that the entire human race was doing it wrong before us?

I'm not against copyright. I'm saying this is a shift of historical magnitude that no RIAA or MIAA or WTFIAA or for that matter anyone has the power to stop. Like anything, its effects will be both good and bad and depend on your point of view. For example, the record industry may consider it bad that they have less money for plates of cocaine in the boardrooms where they've swindled countless musicians out of their life's work. Personally I find that one rather pleasing.

</comment></comment></comment></comment><comment><USER4> I'll be intrigued (in the academic sense) to see what they come up with.

The GPL couldn't be fought (I consider the fight basically over after the last court ruling) because it _gives_ rights where most software licenses remove them. In a way it is on _firmer_ legal footing than conventional licenses, because it is much more clearly a contract; the law grants you these rights, but if you do X and Y, you get Z from me in return. It's hard to imagine how to eliminate the GPL without also eliminating software licenses.

Similarly for the creative commons; how can you block open culture which gives people rights they wouldn't have without losing the same legal structures you use to remove rights? Removing rights exercises those legal mechanisms _far_ harder than a standard contract, just like with the GPL vs. standard EULAs.

I suppose they could try a pure social approach but I submit that they've _already_ lost that fight. Trying to advertise that people shouldn't use the free thing is going to be one of the fuddy-duddiest things an industry has done in a long time, and calling further attention to free culture is unlikely to do them any favors.

<comment><USER5> They haven't lost the social fight; it hasn't even started. The average person has yet to even think to question bog-standard intellectual property practices; that Overton window has a long ways to move yet.

I'm not hopeful. Lessig, for one, is so bad at speaking to the uninitiated about these issues that he lost a debate with Stephen Colbert, who was trying to _make fun_ of the opposing position.

<comment><USER4> They've lost the leading edge already... and how do they propose to roll even _that_ back? "No, that free stuff which you can freely examine and come to your own conclusions about sucks because we say so, come spend $20 on thirty minutes of generic music again?" They've lost because there's just no way to dress this up in a way that can get past the cynical 21st century consumer.

</comment></comment></comment><comment><USER6> The idea behind copyleft boils down to "I'll share with you if you share with me". And Creative Commons boils down to "I've got some copyrighted work; I choose to share it under certain contitions".

If ASCAP want to argue against these ideas, they've chosen a hard task for themselves. Probably all they will achieve is reinforcing the music industry's image of being out-of-touch dinosaurs living in the previous century.</comment>


Google makes $1.70/year per Android device. Apple earned $575. - <AUTHOR> http://tech.fortune.cnn.com/2012/04/02/asymco-google-makes-only-1-70-a-year-per-android-device/?iid=SF_F_River

<comment><USER2> Google does not make hardware. This doesn't show what HTC makes for example. This is comparing apples to ....wait.

</comment><comment><USER3> It seems obvious (to me) that one should buy an Android as Apple makes that money from you, the customer. Invest in Apple stock.

</comment><comment><USER4> Is Google selling all android devices out there?...

Yeah, right...

</comment><comment><AUTHOR> here's a great comment from the original article:

 _My take is that Android is an unmitigated disaster for Google. It could go down in history as an historic error as great or greater than IBM's failure to secure the IP of MSDos and the x86 chip, giving away the PC market to Microsoft and Intel.

Look at what happened. Google were sitting pretty in a special relationship with Apple: with Schmidt on the Apple board and Page a friend of SJ and being mentored by him. Google benefitted hugely. Google was the default search engine and Google the default maps

They betrayed SJ, stabbed him in the back "Et tu Brute"? They appear to have used insider knowledge of the iPhone to secretly switch the Android from a Blackberry to iPhone look alike, allegedly stealing IP wholesale from Oracle, Microsoft and of course Apple and created a mortal enemy of SJ who, quite naturally declared nuclear war on these treacherous ......s. But far from benefitting Google shareholders, Android is a money pit sucking the lifeblood out of Google.

Google have invested countless billions in Android, even more billions in buying that other money pit Motorola, have enmeshed themselves in the most humungously expensive global litigation mess imaginable, being sued by three of the richest and most successful companies on the planet. They are facing death by a thousand cuts, with unimaginably large legal fees, damages, licence fees and compensation, to say nothing of destroying Google's reputation as the "Good" "Do No Evil" company, turning it into into the most sordid, hacker, privacy and IP robber of all time and the probability of facing serious anti- trust investigations by the US and EU.

And all for what? 80% of their mobile revenue comes from their mortal enemy Apple, who will leave no stone unturned to stick in and twist the knife and will doubtless use Siri to undermine and exploit Google search and Google maps, hiding the vital user information that Google need, depriving them of the advertising revenue which is their whole raison d'être.

Remember: this is just $1.70 of revenue (NOT PROFITS) per user. It means that Google are running massive losses on every Android device, while Microsoft are earning net profits from the licensing to Android OEMs amounting to more than 5 times as much as Google's revenue. To make matters worse, Amazon have castrated Google's revenue by forking Android cutting off their revenue stream. Samsung and other OEMs may do the same.

But the real sword of Damocles for Android is Apple's world wide legal battle to stop them using Apple IP. This campaign is still at an early stage, given the snails pace of litigation, but is beginning to show signs of real progress. Bit by bit Apple is degrading Android stripping it of the user satisfaction of iOS's look and feel. Perhaps the most significant Apple victory is the recent ruling by Judge Posner upholding the largest part of Apple's touchscreen heuristics ('949) patent in their case against Motorola. Winning this patent case against Motorola could be a turning point, stripping Android of its iPhone gestures, and turning Motorola to stinking, rotting carcase around Google's neck.

What is most amazing about Motorola and to a lesser extent Samsung is that their principle defence case against Apple and Microsoft consists of attempting to abuse essential patents protected by FRAND, which is likely to bring crashing upon their heads (and of Google who have publicly supported their underhand tactics) the wrath of the EU and US anti-trut bodies. Bear in mind that the EU can fine all three companies 3 times their annual turnover for such gross and barefaced violations. Google now have few friends in Europe and the knives are circling. Perhaps it is soon going to be "Et tu Brute" time for Google. Revenge is sweet, as they say!_</comment>


Some wealthy people are injecting blood from teenagers to gain 'immortality' - <AUTHOR> http://www.bbc.co.uk/bbcthree/item/347828f8-6e7f-4a9b-92ab-95f637a9dc2e <comment><USER2> TLDR: A test using mice doing a transfusion of blood from younger->older showed signs of rejuvenation. It's still going through clinical trials for humans. An SF startup is running such a trial with 100 people, each of whom paid $8k.

\+ there are critics/skeptics of it's scientific viability as well as the costs considering it's unproven.

Key quote:

> "There's just no clinical evidence [that the treatment will be beneficial]," > argues Tony Wyss-Coray, the Stanford neuroscientist behind a key 2014 mice > parabiosis study. For one thing, Karmazin's trial does not use a placebo > control group and participants can be as young as 35.

</comment><comment><USER3> The fact that the silicon valley episode was based in reality is super disturbing...

<comment><USER4> I read Dan Lyon's book "Disrupted" about the time he spent with HubSpot before becoming a writer for Silicon Valley. He says that there were times where he would pitch something that he actually saw or happened to him, and the other writers would shoot it down because it just didn't seem realistic.

</comment></comment><comment><USER5> This is surely a response to a fear of death. Perhaps a chance to beat the devil?

Life has been an adventure and dying will be one too. Hell, I'm surprised I've lived this long so everyday is good, but I'd feel pretty creepy inside if I did something like this.

I'm not a believer in nothingness. I feel we carry what we do with us forever. I wouldn't want this following me, not even from 10,000 years away.

<comment><USER6> Would you get a heart transplant to save your life?

<comment><USER7> Do we take hearts from healthy people to replace hearts that are still working just fine?

<comment><USER8> This is pretty much the premise of _The Island_.

</comment></comment></comment></comment><comment><USER9> This is one among many signs that we (as a species) have reached a point where we no longer need money as a means to accumulate wealth. We need money as a means to moderate consumption. The ideas for how to spend extraordinary wealth will only continue to get weirder.

</comment><comment><USER10> [https://www.youtube.com/watch?v=hBA0AH- LSbo](https://www.youtube.com/watch?v=hBA0AH-LSbo)

I wonder if they knew this...

<comment><USER11> That's exactly the Silicon Valley S4E5 link I was looking for, thank you.

</comment></comment><comment><USER12> I think the Dark Crystal is a better reference... [https://www.youtube.com/watch?v=U4voZl28ADM](https://www.youtube.com/watch?v=U4voZl28ADM)

</comment><comment><USER13> "I'm not really in the camp of saying this will provide immortality but I think it comes pretty close, essentially."

We've all seen marketing speak, but wow :)

<comment><USER14> Had this on my clipboard to paste here.

This guy is saying this is pretty close to immortality.

He has no idea what he is talking about, what a scam artist.

</comment></comment><comment><USER15> Glad that the wealthy have moved on to actual vampirism after decades of the financial/metaphorical variety.

<comment><USER16> This would make a great SF story.

Over time, the demand for young blood continued to grow but there was a stubbornly limited supply. A new batch of YCombinator "blood startups" aimed to disrupt the industry by supplying devices that made it more convenient to infuse blood directly into your bloodstream.

One company based in Menlo Park, dracul.ai, developed a set of titanium prosthetic fangs that would eliminate the need for an expensive IV procedure and hospital visit. Instead, the blood was extracted directly into the fangs, which were than purified by nanotubes and fed directly into users' bloodstreams.

Scattered reports came out that wealthy users were luring young candidates to their large Woodsite and Atherton estates and extracting blood from victicms, without consent.

Company founder (who simply goes by monicker "Vlad") vehemently denies such allegations.

<comment><USER17> My favorite part of the original Dracula is all of the weird shit that starts happening just because Dracula's in the neighborhood. Rat infestations, mysterious plagues, the madmen in the asylum getting frisky...

Obviously, this could all translate perfectly into a story of late capitalist vampires living in a condo-converted church in the mission...

</comment></comment></comment><comment><USER18> This is kind of old news. The new hotness is GDF11 injections.

</comment><comment><USER19> As close as you can get to real life vampires.

<comment><USER20> My mental image is Mr. Burns from the Simpsons.

</comment></comment><comment><USER21> One step closer to cattle.

<comment><USER22> We're there already, officially: [https://phys.org/news/2015-12-china-clone- factory-scientist-...](https://phys.org/news/2015-12-china-clone-factory- scientist-eyes.html)

What can be done, will be done. Too much to win with military budgets here, that's only what hits the more and more strongly regulated public news.

Edit: My sentiment is to no trust any goverment denying mass experiments. Too much insanity in the politic, bureaucratic power lust.

</comment></comment><comment><USER23> I don't know how this got ethics approval. Doing a trial in 600 people without a placebo or randomisation when you are using a potentially harmful treatment like transfusion is ridiculous.

Of course, they aren't interested in proving whether it actually works. They will report that patients experienced subjective benefits and then engineer some surrogate blood biomarker of youth that 'improves' after transfusion. Then they will sell a transfusion product for at least the next 10-20 years it will take a proper trial to be conducted by someone else.

</comment><comment><USER24> I was expecting this to happen after the first news broke of the "findings" a while ago....

Can we ethically ask if it does work?

<comment><USER25> Yes, test animals first, and then find volunteers who are willing to be tested without being paid. Blood transfusion has less ethical issues than something like an organ transplant, since there's no permanent effects on the donor.

<comment><USER8> I'm pretty confident that donors won't touch this with a ten foot pole unless they're paid.

The only reason why I'm willing to part with my supposedly-precious O- blood is because I'm reasonably confident that the blood will be going to people who actually need it. Otherwise-healthy old people using my blood as some kind of sick fountain of youth completely throws that dynamic out of the window. That's _my_ blood, and I will be paid for both the blood itself and the time out of my day, and I will be paid _very_ handsomely, or the old rich people will be out of luck.

This is _especially_ true during clinical trials.

</comment></comment></comment><comment><USER26> Arguably, this business has sort of tested the waters for the market value of developing artificial plasma for the same purpose.

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

</comment><comment><USER27> If it does work, then this is the first step to mass adoption: early adoption by the wealthy.

</comment><comment><USER28> Via [http://uk.businessinsider.com/young-blood-plasma- transfusion...](http://uk.businessinsider.com/young-blood-plasma-transfusions- anti-aging-remedy-2017-1?r=US&IR=T)

"He adds that because patients are paying it wouldn't be fair to give anyone a placebo."

<comment><USER29> In other words, there will be obvious scientific challenges to the validity of such a study...

<comment><USER30> Exactly. It's not a real study.

</comment></comment></comment><comment><USER31> Yuck; if that's where awesome profits takes you, I'll pass. Can you get more detached from reality?

<comment><USER32> I'm not sure why you wouldn't want this? Must suck being old and tired all the time. I'll take youthfulness over that any day.

<comment><USER33> At age 52 I can honestly say I don't feel more tired or generally any worse in any way than I did when I was 16. My eyes are about the only thing that has noticeably aged. I'm a bit far sighted at this point

<comment><USER34> Do you still exercise? I personally think that the biggest part of feeling more tired with aging is that people just stop exercising. Not exercising less, just completely stopping, because you get caught in a cycle of being too tired from work/commuting to exercise, and having less energy due to a lack of exercise.

</comment></comment></comment></comment><comment><USER35> Funny, I just listened to an episode of Nightfall that was just exactly this. (The Blood Countess)

</comment><comment><USER36> Orphan Black, anyone?

</comment><comment><USER37> Looks like Blood Boy is now more real.

</comment><comment><USER38> It works, so go for it! :-)

</comment><comment><USER39> So, honestly, how far off are the conspiracy theories of what aborted babies are used for? :S

<comment><USER30> "Researchers typically take tissue samples from a fetus that has been aborted (under conditions permitted by law) and grow cells from the tissue in Petri dishes.

"Many of the uses of fetal tissue — and much of the debate — are not new. "It's just that the public is finding out about it," said Insoo Hyun, associate professor of bioethics at Case Western Reserve University.

[http://www.cnn.com/2015/07/17/health/fetal-tissue- explainer/...](http://www.cnn.com/2015/07/17/health/fetal-tissue- explainer/index.html)

</comment></comment><comment><USER40> The aim is to see whether or not this can usefully change the balance of signaling molecules to, say, spur greater stem cell activity. There has been a trial in Alzheimer's patients, but some signs in animal studies that transfusions from young to old don't do much. It seems useful to speed up the process of determining whether or not transfusions are an interesting line of research, or something that only looked promising. That means more patients and larger trial populations, which Ambrosia is working on.

These transfusion initiatives are one of a number of outgrowths of parabiosis research in mice. Heterochronic parabiosis is the name given to connecting the circulatory systems of an old and a young individual. The older mouse shows a modest rejuvenation in a number of measures of aging, and the younger mouse shows some greater signs of aging - though most of the focus here has been on the old mouse. In recent years this technique has been used to search for potentially actionable differences in levels of specific signal molecules circulating in the bloodstream. For example, stem cell activity declines with aging, and this is likely governed by signaling processes. If levels of the most relevant molecules could be adjusted in old individuals, it might be possible to produce benefits that look quite similar to those of stem cell therapies: increased regeneration and tissue maintenance. This class of approach puts damaged, aged cells back to work, and does little to address causes of aging based on accumulation of metabolic waste, such as cross-links that stiffen blood vessels, but to the degree that it can improve health it is probably worthy of further investigation in the same way as stem cell therapy was back in the day.

One potential shortcut to the production of therapies is to perform transfusions: deliver young blood or young plasma to old individuals. I call this a potential shortcut because it really is still very uncertain as to (a) whether or not the whole process works in humans anywhere near as well as it works in mice, and (b) whether or not transfusions will recapture the effects of parabiosis to a useful degree. The evidence in mice suggests so far that it may not. It is possible to paint all sorts of scenarios in which the fact that old and young cells are in contact, feeding signals to one another in a feedback loop, is necessary to produce beneficial changes in the old individual. It is also possible to imagine signals with a short half-life, that won't be recaptured in transfusions, or changes in the old environment that are based on an increased level of specific signal molecules. That increased level won't be changed in the slightest by the arrival of some amount of young blood plasma. Only reduced levels are likely to be impacted that way.

In any case, testing and perhaps ruling out the fast path of transfusions seems like a fair plan. If it works, it will draw in more funding to build the better option of manipulating signal molecule levels directly. It if doesn't work, that result will direct scientists to focus on more productive lines of research and development. There is some grumbling from the expected quarters over the structuring of this present initiative by Ambrosia, but getting it done is better than not getting it done. The data will be useful in the sense that only sizable effects are interesting, and thus before and after data for participants will be convincing. Marginal effects, of the sort in which it would have been useful to have a control group to establish whether or not any benefits actually resulted, would mean that this probably isn't worth further exploration. Still, this well demonstrates the fact that many scientists who work within the heavily regulated, slow, and repressive system of medical development really don't like it when people try to get things done more rapidly and more inventively. To the extent that it closes down productive avenues, this is a dangerous attitude.

Recent commentary suggests that none of the results so far are either large enough or extensive enough to definitively be something other than the placebo effect, chance, or other items such as a patient making lifestyle changes. I think there is some skepticism regarding the potential effectiveness of transfusions of young blood in any case; the data is somewhat mixed, and underlying theory on what is going on still in flux. Recent research suggests that the effects observed in parabiosis studies of mice with joined circulatory systems are due to a dilution of harmful factors in old blood rather than a delivery of helpful factors from young blood, for example. If the case, that would mean that transfusions should produce very limited results at best. Still, obtaining data is the important thing, and that is what is being done here. Those complaining the loudest should put in the work to raise funds and run a study they way they would prefer to.

</comment><comment><USER41> "The super rich"? You mean this as a class of people? I have a lot of money, but I'm not doing it, so I'm probably not on the "super rich" class, right?

<comment><USER42> Saying "I have a lot of money" is hardly convincing evidence of being "super rich".</comment></comment>


Warren Buffet's Kid Show [video]  - <AUTHOR> http://online.wsj.com/video/clip-warren-buffett-secret-millionaire-club/31F28D12-5EA4-4515-9CB2-62F9C0CF64CE.html

<comment><USER2> I'll admit it: I will watch this cartoon.

Warren Buffett is, next to Taleb and a few others, my favorite modern thinker, and the clip seems to do him justice. It's ironic how his ideas are so simple they can be accurately presented in cartoon form. It's like reading the Intelligent Investor: business/investing isn't too complex, the hard part is executing on simple premises while keeping your emotions in check for the long term.

<comment><USER3> Taleb is not a good modern thinker. He takes existing, well-known mathematical principles, rewrites them without citation or reference for the layman, and then disparages the people whose work he took and other financial professionals who also understand the mathematics quite well, as if he knows something they don't.

He would be a lot less irritating if he (1) didn't claim credit for ideas that aren't his and (2) stopped falsely disparaging people.

Buffett, on the other hand, is quite a bit more humble and grounded and provides stable, sage advice. He also credits people a lot more for the work they've done.

<comment><USER4> First what well-known mathematical principles are you talking about? Second have you read any of his academic papers? All can be found on SSRN. Two of the big ones are "Errors, Robustness, and the Fourth Quadrant" and "Finiteness of Variance is Irrelevant in the Practice of Quantitative Finance."

Taleb states "My central idea in The Black Swan is that: rare events cannot be estimated from empirical observation since they are rare. We need an a priori model representation for that; the rarer the event, the more the dependence on aprorism. Further, we do not care about probability (if an event happens or does not happen); we worry about consequences (how much total wealth or total destruction will come from it). Given that the less frequent the event, the more severe the consequence (just consider that the 100 year flood is more severe, and less frequent, than the 10 year flood), our estimation of the CONTRIBUTION of the rare event is going to be massively faulty (contribution is probability times effect; multiply that by estimation error) ; and nothing can remedy it. So the rarer the event, the less we know about its role --and the more we need to make it up with an extrapolative, generalizing theory. Hence model error is more consequential in the tails and some representations ARE MORE FRAGILE than others..... Nobody before has examined my problem in the history of thought, let alone systematize the idea of decision-making under certain classes of ignorance."

I am sure he would be excited if someone could show him that his idea is not original.

<comment><USER3> The excerpt you provide from his paper is mathematically expressed as a leptokurtotic probability curve and data with high heteroskedasticity.

Do you think he's the first guy to figure out that insufficient sample data in the tails of a leptokurtotic probability curve leads to a higher overall error term? Rather than some groundbreaking new theory of math, this is material covered in freshman econometrics. I'm just asking that he admit this when he boils it down to an enjoyable read.

EDIT: the concept of kurtosis was apparently at least named in 1905, over a century ago, by German mathematician Karl Pearson.

<comment><USER5> Actually, I believe his point is that the probability distribution is from the Cauchy Distribution, where the mean, the variance, and the kurtosis are all undefined. In fact, you're providing an example of exactly what he writes about in believing that the tools being taught in "freshman econometrics" apply to the sort of randomness you encounter in the real world. Certainly Mandelbrot has had some things to say about this topic as well.

When basic financial tools and theories are based on assumptions that are Just Plain Wrong, it makes you question the gigantic stack that has been built on top of them.

It's easy enough to dismiss this stuff as worrying about edge cases, but these edge cases occur more often than the theory dictates, and unfortunately, people underestimate their impact.

<comment><USER3> You're right about him preferring a Cauchy distribution vs. a leptokurtotic distribution, I was mistaken.

Taleb argues that these tools aren't being used in the real world, but all the evidence in places like the options market seems to indicate otherwise: options get way more expensive (from a lognormal perspective) the deeper in/out of the money they are, primarily because there are fat tails already being modeled into the price. And given that options market data, it's tough to see how going long on Black Swans will fetch a good Sharpe ratio--which wouldn't be the case if it were true that everyone were slaves to normal distributions.

<comment><USER4> Yeah what you described is called the volatility smile.

I would say going long on Black Swans is more of an insurance policy unless you are a VC. As the Taleb advised Universa Investments L.P. sells itself as "an investment management firm that specializes in hedging tail risks for its clients. Universa has a focused investment approach employing positively- skewed payoffs, empirical and fundamental-based option valuation, and order flow trading."

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> am I the only one who thinks this is pretty stupid? Kids won't watch something like that(horrible acting/irrelevant topic), and adults gain nothing from the cartoon format.

As long as they are getting Buffet, why not create a more concrete series. I dunno, how about each episode he'd take a company to examine for investment, and talk about all the pros and cons that he sees, while teaching the rest of us about what to look for in our own investments

<comment><USER7> Did you actually watch the video? He showed a pretty decent way to analyze a candy business. Omaha Candy may be a fictional company, but it's easy to see he's discussing See's Candies (which Berkshire owns).

In the video he even mentions that the candy business is good because the maintenance capex is relatively low (he didnt phrase it like that, but that's what it is) and that profits really only need to be plunged into advertising (basically an example of a high ROIC business since its not very capital intensive).

He's mentioned all of this before in the Berkshire Hathaway shareholder letters -- this is kind of the same thing but in cartoon form. So as a teaching tool, it's pretty good. If you really want more, dig up his partnership letters.

<comment><USER6> yes I watched the video, do you honestly see kids sitting down and watching that? And if the show will be watched almost exclusively by adults, why use the cartoon format?

<comment><USER8> Maybe they'll watch it if a teacher forces them to. Sometimes teachers just want to relax and let a video take over for a while. (Their students will still probably find the cartoon format patronizing, but then again people used to watch Captain Planet, voluntarily.)

</comment></comment></comment></comment><comment><USER9> Warning: Auto-starting video.

From <http://ycombinator.com/newsguidelines.html>

      > If you submit a link to a video or pdf,
      > please warn us by appending [video] or
      > [pdf] to the title.

<comment><AUTHOR> thanks for the info!

</comment></comment><comment><USER10> There's a bit about "buying at a fair price", which brings to mind the bit about the devil being in the details...

<comment><USER11> It's more of a meditation than a specific instruction. This works for other kinds of advice: "Do the right thing?" doesn't help much, but saying "Am I doing the right thing?" at the right moment can save you a lot of grief.

<comment><USER12> Actually, it is pretty specific. In essence, Buffett says you should first figure out what it would be worth to own the entire company (the "intrinsic value"; calculating this is something of a black art) then divide that by the number of shares the company has issued. Only if the current price per share is significantly lower than that (the "margin of safety") should you think about buying.

<comment><USER11> Which is about as specific as "First you should figure out what it is that cures cancer, and then you should have people with cancer do that thing." Calculating the intrinsic value of a business is very, very difficult -- which is why Buffett is so rich from being good at it.

</comment></comment></comment></comment><comment><USER13> More at <http://www.youtube.com/watch?v=kVvyVVoLH8U> for those who just can't look away.

</comment><comment><USER14> I doubt I would have watched that when I was a kid, but I will DEFINITELY watch it now. The cartoon format makes it kind of goofy, but the content is great.</comment>


"Disgusting" AOL Supposedly Fired People Yesterday - <AUTHOR> http://www.businessinsider.com/the-disgusting-way-aol-supposedly-fired-people-yesterday-2011-3

<comment><USER2> Speaking of yellow journalism ... Business Insider has really gotten my goat lately.

Blodget has fallen far from his days writing the Wall Street Guide to Self- Defense for Slate. (though perhaps not really when one considers he was indicted for--basically--white-collar crime)</comment>


Next UK Tier 1 Supercomputer: Rome CPU Based - <AUTHOR> http://www.archer.ac.uk/about-archer/news-events/archer2.php <comment><AUTHOR> I don't know if there's a published rationale for the CPU-only system (modulo a small GPU add-on).</comment>


7 Things I learned in my journey from coding bootcamp to Senior Developer - <AUTHOR> https://medium.com/@ratracegrad/7-things-i-learned-in-my-journey-from-coding-bootcamp-to-senior-developer-645ab7c2fea0 <comment><USER2> I like how one can call themselves " _senior_ developer" after merely 6 years (at most) in the field.</comment>


How Uber conquered London - <AUTHOR> https://www.theguardian.com/technology/2016/apr/27/how-uber-conquered-london <comment><USER2> In Jan London people were 'extremely unfamiliar' with Uber pool and the 'friendliness' of Londoners is far from the real one of San Franciscan. I personally ran into situation where a rider joining a pool was so not ready that she commented 'there's a man in the car' and her boy replied with 'kick him out'. I truly hope the biggest achievement of Uber could be to change Londoners' mindset.

</comment><comment><USER3> Last time I checked, London was still under UK Government control. So this must have been a blitzkrieg attack. Shows the advantage of having a 100% mobilised army, I suppose.</comment>


Ask HN: How does web.whatsapp.com work? - <AUTHOR>

It looks like a dirty hack, but works quite nicely. However, I couldn't figure out how the webapp works: why do I have to scan a QR code? why does the mobile application has to be connected to the internet the whole time? what kind of communication is happening? is there any speculation about that? <comment><USER2> This is only a guess. Mere speculation.

Perhaps the QR scanning connects the phone and the browser via some token stored somewhere and used to both authenticate and send/receive messages.

Think of the "token" as a channel. Phone sends all messages to that channel. Browser gets messages from the channel.

This is obviously not the whole picture. For example, the web app can scroll back and "load" previous messages.

It's weird though. Why would they go through such a router? It would make a lot more sense to just use the QR scanning to authenticate, and then let the browser receive messages in the same way that the phone app does: directly from the server(s).

</comment><comment><USER3> (Note: I have an iPhone and so can't test it myself, but I can read the client js code) My guess is that they are routed through the phone. That's certainly something that Apple would have a hard time allowing which might explain the android onlyness. They are clearly using WebSockets and the phone receives messages but only in so far as the phone. For a E2E encryption they would have to routed through the phone, which it seems they are from the look of their code. Again only guessing, someone should packet sniff it and lmk.

<comment><USER4> Based on your speculations I'd say that the QRCode is the IP adress of the WebApp + some kind of token. Scanning it allows the phone to connect to the browser and act as a proxy to transfer messages?

</comment></comment><comment><USER5> The QR code contains data unique to your web session. You're already authenticated to WhatsApp on your phone. So the data in that QR code is sent back to WhatsApp's web server, through your phone, and they connect the open web session to your account. Websockets make it seamless.

Also, this is just an educated guess.

</comment><comment><USER6> I'd guess its some form of transient-key cryptography. When you scan the QR code, the smartphone app tells the WA servers to 'allow' the web browser to send/receive messages as itself.

Thinking a bit more it could be that the messages are routed through the phone itself, and so it requires the app to be running and connected.</comment>


Offer HN: Will write Ruby for Food - <AUTHOR>

Hello HN,
Happy New Year to you all.
I wish I was writing to you under more successful circumstances or had some awesome side project to show off. I do have one cool project that will have to wait for the time being.
Instead I am financially hard up and looking for some side work to help reduce debt and help pay for a new baby due in Feb. My wife is an entrepreneur an recently fell on hard-times with her biz. I need to jump in and help save our family at this point. My current fulltime position isn't enough $$ and I need to freelance. Enough sob story.
About me:
Experienced Rubyist and general web dev with 6 years exp. I helped build one well-known ecommerce startup from the ground up and recently left after 2 years. I also worked on four different startup side projects in the last 2 years for different entrepreneurs. Email me for the details. I also built web apps for some major Fortune 500 companies.
What I am looking for: One or more moonlighting gigs coding Ruby, Rails, Javascript, PHP or CSS. I can do frontend work well if your just looking for that. I live in the Midwest so my hourly rate is pretty affordable. I need $$ so equity is not really interesting to me at all.
Please check out my profile for links to my portfolio.
Thanks HN!
EDIT: Added PHP to the list <comment><USER2> This is sort of unrelated, but I would love for you to swing back around to this thread and give some feedback on how this whole thing worked out for you. It'd be interesting to see how HN as a community was able to swing meaningful $$ your way. =)

</comment><comment><USER3> Have you seen these hiring threads?

Remote gigs: <http://news.ycombinator.com/item?id=2057799>

This has some remote: <http://news.ycombinator.com/item?id=2057704>

<comment><AUTHOR> Hah! Was away from HN for one day and missed those yesterday. Thanks for the info. Thats a long list.

<comment><USER3> No problem :-) Good luck with the hunt!

</comment></comment></comment><comment><USER4> Kind of in the same boat right now, sans wife/kids, due to a non-paying client. If I had cash to pay you right now I totally would, since I have a small backlog of other client work. I see that you've worked on some pretty cool sites though (alice.com, etc), so I will pass your info along :)

<comment><AUTHOR> Thanks!

<comment><USER4> Here ya go, posted it on the SD Ruby group (the best bunch of Rubyists I know):

<https://groups.google.com/forum/#!topic/sdruby/7KI7vKwNtQg>

The Ruby folks in San Diego are always slammed with work, so odds are there's some overflow work available.

<comment><AUTHOR> Wow! Thats above and beyond the call of duty. Thank you so much.

</comment></comment></comment></comment><comment><USER5> Your resume on the portfolio site also mentions PHP - any interest in side work like that?

<comment><AUTHOR> Possibly. I have exp with Zend but not much in the last 2 years. Send me an email (see profile) with your thoughts/projects etc.

<comment><USER6> You're mistaken. You're a fucking Zend master. Now pitch the guy.

<comment><AUTHOR> I dont get it? I am missing something?

<comment><USER7> Yes. When you are financially hard up, you should say "I know XYZ well". If a project using XYZ materializes, you brew a huge pot of coffee, and spend the next 24 hours internalizing everything you can find on the web (and in the bookstore, if you are so inclined) using XYZ.

If your immediate inclination is to think that this is lying or misleading, hear me out - it's not so cut and dry. In a conversation, you don't know what kind of experience level the other party considers "well" vs. "not so well" \- e.g. some people think that "wrote my own gem" in Rails mean expert, whereas others would be more skeptical and say that there really are very few experts out there, and someone on Rails core team qualifies, but that's about it.

So, in your situation, especially if you are hard up for cash, why not bet your skills more?

<comment><USER8> pretty much this.

be a shark. sharks have no necks and can't look back. necks are for sheep.

</comment></comment></comment></comment></comment></comment><comment><USER9> I'm on a same boat with this <http://beepl.com>

Will write Django / Python for food

</comment><comment><USER10> _> About me: Experienced Rubyist_

Time to show off that side project, buddy! Seriously, contributing to well- known open source projects or releasing your own projects/research that shows off your knowledge is a great way to demonstrate your skill and get a great job. How can we hire you without seeing your portfolio?

<comment><USER11> His portfolio is in his profile.

<comment><USER10> Ah, so it is--and impressive work, at that. My mistake, thanks for pointing it out!

</comment></comment></comment><comment><USER12> Here's a Ruby job I just saw on Twitter: <https://twitter.com/clintnelsen/status/22043010749435905>. It's for a 10 hour job working on a voting page for startupweekend.org.

Hope something works out for you!

</comment><comment><USER13> I was just about to post on 37 Signals job board; we're looking for both freelance and full time rails developers. Our company makes CMS tools for entertainment markets. We've been around for 7 years, are stable and profitable. If you're still in the market, email me!

<comment><AUTHOR> Whats your email? I have'nt found anything solid yet. Maybe shoot me an email email@example.com

<comment><USER13> Sent!

</comment></comment></comment><comment><USER14> Could you code a PSD into html/css and make it into a Shopify theme?

<comment><AUTHOR> Definitely.</comment></comment>


Apple's monolithic beauty vs Google's chaos - <AUTHOR> http://qz.com/57399/apples-monolithic-beauty-vs-googles-chaos-what-new-headquarters-reveal-about-their-personalities/

<comment><USER2> Not related to the content of the article, but hell I hate that design on qz.com. Moving erratic headers, the sidebar post list thing that scrolls painfully slow, can't mousewheel-scroll the article if the pointer is not inside that 'box', shitty-behaving onmouseovers. Just the article part, centered with a white background and it would be amazing.

<comment><USER3> +1, Except that the articles mainly deserve the design they have...</comment></comment>


Why I Think the Internet Can Solve Africa's Problems - <AUTHOR> http://www.iafrikan.com/2015/07/09/internet-africa-solutions/

<comment><USER2> > _If young people in Africa are exposed to fast, affordable internet, amazing > things can happen._

Some of them might make a startup and make some money. A lot will immigrate and have a better life elsewhere. That'd be it.

It wont be some kind of Silicon Valley anytime soon (so that it exports technology and services and imports money), and as for providing web services to its own country, sure, but it's not the most basic thing that Africa at large lacks (that's regarding most of Africa, and especially the impoverished countries, not something like South Africa).</comment>


Unpaid No More: Interns Win Major Court Battle - <AUTHOR> http://www.theatlanticwire.com/national/2013/06/black-swan-intern-ruling/66168/

<comment><AUTHOR> There is also another lawsuit filed by interns against Conde Nast for lack of payment: [http://www.nytimes.com/2013/06/14/business/media/two-ex- inte...](http://www.nytimes.com/2013/06/14/business/media/two-ex-interns-sue- conde-nast-over-wages.html)</comment>


Mark Zuckerberg is the biggest giver in 2013 - <AUTHOR> http://www.usatoday.com/story/news/nation/2014/02/10/zuckerberg-biggest-giver/5355871/

<comment><USER2> We shouldn't equate giving with tax write offs. Basically, MZ took $1 billion of our money and decided for us how it should be spent.</comment>


How to panic a current grsecurity kernel as any user - <AUTHOR> https://twitter.com/marcan42/status/724745886794833920 <comment><USER2> Responding to criticism of a patch by blocking a user feels just...childish. Doubling down on that childishness by first blocking anyone on twitter who likes/faves that tweet, and then by switching your twitter account to protected feels even more childish. The Grsecurity team needs to calm down here, because they aren't giving an appearance of a professional team with exchanges like this.

<comment><USER3> I promise you that "the grsecurity team" does not care whether they have the "appearance of a professional team".

<comment><USER4> What do they care about?

<comment><USER5> Being respected for what they _do_ bring (the best Linux kernel hardening patches and support tools); not being a jackass or treating them like jackasses when stuff like this turns up; not moaning about it and acting all fingerwavy when fixes are ready queued up; and about ending the poor financial support. It would really help if the bigcorps and professional users of this extremely usefus patchset help out financially.

The security field comes with many bloated egos, jerks and big heads and in my opinion blocking is a great way of hardening. Not childish by the least.

Grsecurity needs and deserves to be financially supported. If anyone who reads this is in a position to do so (I am not), please consider supporting the team's hard work and the ability to use their (free) product that helps your infastructure to stay safe.

</comment></comment></comment></comment><comment><USER6> ".@grsecurity Did you seriously just IP block me on your site? Please tell me this is a coincidence and you're not a 5yo throwing a tantrum."

Wow.

<comment><USER7> It's not like his attitude was more mature. [https://twitter.com/marcan42/status/724749571495075840](https://twitter.com/marcan42/status/724749571495075840)

<comment><USER2> Yes, this was a petty pissing match. However, responding to criticism by IP blocking him, and then blocking anyone on twitter who faves/retweets it is just ridiculous.

</comment></comment></comment><comment><USER8> When you look at his first tweet he seems pretty immature.

"Starting to think that the @grsecurity kernel is not suitable for prod. First SIZE_OVERFLOW false +s, now panic due to a bug they introduced"

[https://twitter.com/marcan42/status/724740708104474626](https://twitter.com/marcan42/status/724740708104474626)

<comment><USER9> Could you elaborate? It doesn't seem immature to me. From what I can see he has good reasons to think that the grsec kenrnel is not something you want to use in production.

</comment></comment><comment><USER10> First, I thought it was funny. Second, WTF? GRsecurity totally reacted the opposite</comment>


Siri's Accuracy Continues to Improve as Apple Works to Reduce Reliance on Google - <AUTHOR> http://www.macrumors.com/2013/12/10/siris-accuracy-continues-to-improve-as-apple-works-to-reduce-reliance-on-google/ <comment><USER2> As a data point; A few weeks ago, siri stopped recognizing some people (in my contacts) that I'd been able to call before. I have a 4S w/io7. Adding phonetic hinting didn't help.</comment>


The story of my music startup. From idea, to name, to launch. - <AUTHOR> http://blog.ofthemu.se/post/27626365238/the-story-of-my-music-startup-from-idea-to-name-to

<comment><USER2> Very cool concept. Has shown me a lot of cool new music!! It's Awesome!

</comment><comment><USER3> Great! It's fast, runs smooth, looks great and is fun to do!

</comment><comment><USER4> Love it Love it Love it. Let the games begin.

</comment><comment><USER5> Sweet, great for the friday afternoon.

</comment><comment><USER6> Very cool startup!

</comment><comment><USER7> Nice!</comment>


Notes on Interactive Computing Environments - <AUTHOR> http://blog.fogus.me/2019/04/03/notes-on-interactive-computing-environments/ <comment><USER2> Good write up Michael. I am still a little sad that InterLisp is, as you say, relegated to the dustbin of history - even though I only used InterLisp for a year before Xerox switched my 1108 to Common Lisp.

There are many interesting interactive systems being built, but not always used much. I spent some time playing with Glamorous Toolkit for Pharo Smalltalk on Saturday because I have a conference call this Thursday that the author will be on - I wanted to check out his ideas which are basically code in a live data environment and save code so that it can be refactored, run, etc. in the system code browser.

I really love the idea of building a language up in layers to become an application specific language. I mostly use Common Lisp now and the developer experience is very different than it used to be. As great as Lisp machines were, I am going to be a bit of a heretic and say that I much prefer my current setup with amazingly fast hardware with a GPU when I need it, SBCL, and Quicklisp to help me keep my code organized and mix in other peoples' libraries.

</comment><comment><USER3> I am pretty happy with what you can do with Javascript/TypeScript. I implemented a hot reload solution for nodejs a few months ago (@hediet/node- reload): It restarts stack frames automatically when it detects that its function body has changed during execution. This is particularly useful when debugging, even if the function is not pure. Together with my extension hediet.debug-visualizer for vscode that visualizes data structures while stepping through code, it feels pretty close to an interactive programming environment. I implemented almost all of my TypeScript AST processing tools this way and would feel pretty helpless now without it.

</comment><comment><USER4> I own a copy of this book and it's one of the computing books that I own that makes me sad, because you realize how far we have come and yet how little progress we have made too compared to where we should be.

When folks ask me what IDE I use, I tell them Unix and I get strange looks. I use to try to explain, but I don't. If they get it they get it, if they don't oh well. As a polygot I can't couple myself to any language specific GUI IDE. Unix & vim has served me all these years and my workflow is still the same. Yet I know it's still very primitive.

Working with lisp/clojure, smalltalk, python, prolog, apl/j, forth and using emacs yields the same experience. perhaps some javascript.

The only serious attempt I have seen to move this field forward was by Bret Victor [http://worrydream.com/LearnableProgramming/](http://worrydream.com/LearnableProgramming/)</comment>


Revealed: MoD and UK's most snr scientist weren't consulted on £400m OneWeb deal - <AUTHOR> https://tech.newstatesman.com/business/oneweb-deal-uk-mod-csa-not-consulted <comment> Pick-A-Hill2019 .... 'We've bought the wrong satellites': UK tech gamble baffles experts'. Just, yeah. SMH.

[https://www.theguardian.com/science/2020/jun/26/satellite- ex...](https://www.theguardian.com/science/2020/jun/26/satellite-experts- oneweb-investment-uk-galileo-brexit)

<comment><USER2> Except they didn't buy the satellites, they bought the satellite company. The idea that a satellite company can only place a certain type of satellite in a certain orbit seems quite strange to me.

The criticism in this article that the purchase was done without consulting the Ministry of Defense seems a bit more serious. But there are always two sides of a story, and we have no idea what the other side's version is.

<comment> Pick-A-Hill2019 From the Guardian link

"What's happened is that the very talented lobbyists at OneWeb have convinced the government that we can completely redesign some of the satellites to piggyback a navigation payload on it. It's bolting an unproven technology on to a mega-constellation that's designed to do something else."

<comment><USER2> > "What's happened is that the very talented [...]"

That's not what's happened. What's happened is classified. Nobody outside the UK government and the involved people at OneWeb knows exactly what was discussed. The policy expert the Guardian contacted is just venturing a guess. And it's very easy to make anyone look like a fool when you are allowed to create your own version of the facts.</comment></comment></comment></comment>


Show HN: Discover product ideas for SMEs in developing countries - jibril-gudal https://customerzero.substack.com/ <comment> jibril-gudal Hey everyone. I've starting a newsletter, CustomerZero.

Each month I interview 4 small to medium sized businesses operating in developing countries.

I provide the context of their market, the specifics about their business and most importantly the biggest problems they face (and would pay to solve!).

I try not to suggest potential solutions to their problems, the goal is to inspire the reader to get in touch with the business and build them an interesting product.

If you want to see the style/format for yourself you can check out [https://customerzero.substack.com/p/dubbing-in-south- africa](https://customerzero.substack.com/p/dubbing-in-south-africa)

Speaking with SME's about their problems is something I normally enjoy doing anyway. Thought others might find it useful!</comment>


Password-less email auth with Firebase - <AUTHOR> https://firebase.google.com/docs/auth/web/email-link-auth <comment><AUTHOR> About a month back [1] I mentioned this topic, and it generated a fair amount of debate. In my eyes, the fact that Firebase now supports it lends it some legitimacy.

I also just got it up and running in about 10 minutes. Remarkable to be able to implement a secure auth workflow completely from the frontend in so little time.

Disclaimer: I work for Goog and am a general fan of Firebase, but do not officially represent the project.

[1] [https://news.ycombinator.com/item?id=16666800](https://news.ycombinator.com/item?id=16666800)</comment>


Design of the Ford Probe IV, 1983 - <AUTHOR> http://www.gminsidenews.com/forums/f19/1983-ford-probe-iv-concept-75145/

<comment><USER2> Thanks for posting this. I'm a geek and a car enthusiast, hope there are more on HN like us.</comment>


JooJoo Tablet Strikes Back: A Web App Store and Full Production - <AUTHOR> http://gizmodo.com/5463654/joojoo-tablet-strikes-back-a-web-app-store-and-full-production-is-gogogo

<comment><USER2> _Chandra said that he's amazed Apple's jumping "into a category that we've defined."_

Well, firstly, that's what Apple kinda does. They redefine categories, and provide some of the greatest examples of First Mover Disadvantage.

Secondly, and mostly, the JooJoo hasn't defined anything except embarrassing partnership break-ups, and possibly a footnote in the phrase "I'll believe it when I see it".

But hey - if I knew the African for 'best of luck' I would insert it here.

</comment><comment><USER3> The only takeaway I got from this was that Arrigton was correct that they didn't have the cash to actually manufacture the product. I'll wait for the iPad.</comment>


The Bucolic Life of a Cambodian Grandmother Accused of Mass Killings (2017) - <AUTHOR> https://www.nytimes.com/2017/02/24/world/asia/cambodia-khmer-rouge-im-chaem.html <comment><USER2> This UN tribunal has been active since 2006, spent $300M, and has convicted just 3 people in that time.

Given Cambodia is uninterested in pursuing these charges for the sake of their political stability, I wonder if continuing is ultimately worthwhile.

<comment> type-2 300 million is a lot of money, I wonder if it would have been better spent elsewhere

<comment><USER3> > 300 million is a lot of money, I wonder if it would have been better spent > elsewhere

Aren't you just repeating part of dahdum's comment ([https://news.ycombinator.com/item?id=18470584](https://news.ycombinator.com/item?id=18470584))?

</comment></comment></comment><comment><USER4> > Ms. Im Chaem said she had never planned to go to court anyway.

> "I do not like what they accuse me of," she said in a recent interview at > her home in Anlong Veng, a former Khmer Rouge stronghold. "I don't want to > think about that. There's no reason for it. I don't want to have any > trouble. I just want to live in peace."

<comment><USER5> I find the fact that she can safely say something like that to journalists somewhat strange. Less odious fascists were taken to the woods and shot in postwar Italy despite the amnesty.

</comment></comment><comment><USER6> It really is a tragedy that they will never be held to account for their crimes. The victims deserve more.

<comment><USER7> A tad OT, but I'd note that the issue is also contingent on one's world view.

Christianity (the religion with which I'm most familiar) holds that each individual is ultimately held accountable by/to God for his/her behaviour.

EDIT FOR CLARIFICATION: I'm not claiming that Christian doctrine is against governments being in instrument of justice. I'm simply pointing out that in Christian doctrine, every individual will _also_ face God's justice after he/she is dead. Which is quite different from saying they will "never" face justice.

I have no desire to start a HN flamewar regarding whether or not that Christian doctrine is accurate.

Why, then, did I post this comment at all? Because (as I mentioned in another comment), the parent made a claim with a suppressed premise that certain Christianity (and perhaps Judaism, Islam, etc.) doctrines are factually inaccurate. I considered that noteworthy.

<comment><USER8> I think many people would take your wording as implying that you and/or Christians prefer there to be no system of justice, or perhaps only justice for reparable crimes. Are you perhaps actually trying to say, "it's unfortunate that there was no justice, but for people who believe that God will judge the accused, that can provide some consolation"?

<comment><USER9> >I think many people would take your wording as implying that you and/or Christians prefer there to be no system of justice, or perhaps only justice for reparable crimes

Based on the other comments at this time that's exactly how they took it.

<comment><USER7> Thanks for the observation. I've tried to edit the original command for clarity.

</comment></comment></comment></comment></comment><comment><USER10> This reminds me of the excellent documentary The Act of Killing, and it's followup documentary...

Aren't the real perpetrators/instigators the developed nations (both capitalist and communist) of the period forcing random peoples to pick sides?

</comment><comment><USER11> I am pleasantly surprised that communist atrocities are actually published in the New York Times. It is so important not to forget and whitewash history.

<comment><USER12> You almost sound like you think the New York Times is a communist front organisation.

<comment><USER11> I am pleased that you sound like you feel that would be a bad thing. Communism is being sold as a cool thing by Bernie Sander, Ocasio-Cortez, Antifa, and others. If that view becomes mainstream, it won't end well for any of us.</comment></comment></comment>


The Forgotten Cold War Plan That Put a Ring of Copper Around the Earth - <AUTHOR> https://www.wired.com/2013/08/project-west-ford/ <comment><USER2> Directly related to [https://news.ycombinator.com/item?id=18098266](https://news.ycombinator.com/item?id=18098266)

</comment><comment><USER3> Pesky humans!!</comment>


Understanding the Politics of Tech Startups - <AUTHOR> http://www.bothsidesofthetable.com/2014/01/02/understanding-the-politics-of-tech-startups/?r=maillift.com

<comment><USER2> I think this was a very bad article with several issues what's a fact and what is not. For example:

"But the reality of why socialism or communism don't work is precisely because as human beings we're fundamentally motivated by power and greed and thus those that set out to form perfect societies end up just controlling the resources and people for their own personal benefits."

I wonder where the author got that information which I concieve as plain wrong. No sources for that information were given. Humans aren't motivated by greed or money and I think it's possible to set up a society were it doesn't exist.</comment>


GoDaddy Charges Customer $6,579 in Fees; Points Finger at Drupal - <AUTHOR> http://www.huffingtonpost.com/adam-fendelman/why-i-dont-owe-godaddy-65_b_129276.html

<comment><USER2> I once looked at taking out hosting with the bizarrely-named GoDaddy when setting up a site. I was put right off by their CEO's prominent appearances on the homepage and elsewhere. Perhaps if the giant, misogynistic tit spent less time feeding his predilection for "GoDaddy Girls" and making lengthy videos pontificating on "what it takes to be one", he might have more time to spend making sure his company isn't a complete shambles. And his ear-ring looks daft.

<comment><USER3> I don't know anything about their hosting. But I have registered domains with them. So far, they have been the best of any registrar I have used: domains are ready as soon as I've paid for them, nameserver requests are processed immediately, etc. Some of their competitors took 20+ hours just to process my domain order. Plus, they are consistently the cheapest.

Their name and their marketing is really something else. I'm not going to pass judgment on it. No doubt there are many people offended by it, but it has been extremely profitable for them.

<comment><USER4> I recently switched all of my domains from GoDaddy to NameSecure. I have read too many stories about GoDaddy selling off people's domains with insufficient efforts to contact the owner, or giving away private information without much of a fight. NameSecure, on the other hand, actually went to court in order to avoid giving away one of its customers' information.

I have been quite happy with NameSecure so far: reasonable prices and quick service, and the site is much simpler (less flashy) and less annoying in general.

</comment></comment></comment><comment><AUTHOR> Looks like the problem was something wrong with the Backup module, which was dumping the database to the /tmp directory over and over again, eating up storage. <http://drupal.org/node/313496>

<comment><USER5> Additionally, the guy was using development snapshots of the two backup related modules in question. Ones uses dev snapshots at ones own peril.

</comment></comment><comment><USER6> Charging customers for data overages is an inexcusable sham. Any respectable hosting company would just apply a space quota to each customer and if quota execeeded then no more data is stored.

</comment><comment><USER7> Given that both the reporter and GoDaddy acted like fools, it's good that things worked out the way they did. A serious problem in Drupal will definitely get some attention now, consequences of ignoring monitoring and administration duties will be made clearer and more people will know to avoid GoDaddy altogether. Definitely a win for everyone not directly involved.

</comment><comment><USER8> I love that the domain is "GodAddy" with Addy being a truncation of Address. Then when it came to commercializing they could just shift the capitalization and have a bizarrely named domain, but it was commercially usable.

I use Godaddy for domains, I used to use them for some hosting but the sites were slow and unacceptable in terms of support. I want to move my domains away but it would be a sizable investment to transfer away. So I wait.

</comment><comment><USER9> This is what I would expect from AT&T, Verizon or Comcast, not a company like GoDaddy. It's so hard to know who to trust.

<comment><USER10> Given that they try to market themselves as an easy gateway to get your web address, this is true. However, given how many supplementary products they try and market as you checkout, this isn't surprising. If someone isn't familiar with what you need for your own .com, it's too easy to get sucked in by their checkout process.

At least they haven't tried any of the tricks that Network Solutions has ([http://blog.domaintools.com/2008/01/network-solutions- steals...](http://blog.domaintools.com/2008/01/network-solutions-steals- domain-ideas-confirmed/) although this problem has been at least partially resolved since...)

</comment></comment><comment><USER11> I initially used godaddy in 2003, and have watched the quality of their services spiral downward at an alarming rate. I no longer use them, as their services are so incredibly bad that they add negative value to any project that involves them. It is amazing, I never thought a company could be THAT BAD.

Stay away fellows, save yourself some grief.</comment>