You will die. Get used to it. - <AUTHOR> http://jacquesmattheij.com/You+will+die%2C+get+used+to+it. <comment><USER3> This seems to be all over the place with the stuff it tackles. As far as I see, it makes at least the following assertions:

* Increasing the human lifespan past 130 using means anything resembling modern medicine seems pretty hard. Especially for keeping the brain going strong.

* People have a fixed identity point somewhere in their lifetime, and should they deviate too far from that later in their life, they shall be considered different persons and as good as dead.

* Going insane is going to be a big problem if the brain keeps going and changing state for centuries or millennia.

* People would go into decision-theoretic ruts if they knew they lived forever. Apparently people also want to go into permanent retirement after a while, regardless of how healthy they are.

* People living forever keep consuming resources. This is somehow worse than the current situation where people give birth to more resource-consuming people and then die.

* Unlimited lifespans would cause massive social stratification.

* Since we don't know exactly how minds work, they probably run on magic instead of atoms and electrons, so you can't get them in a computer.

* Although human minds are perfectly fine being trapped for decades in a dark liter-sized bone shell in nature, they would quickly go insane from claustrophobia in a similar computer substrate. I'm not entirely sure how this works, it might be related to the part about computers not running on magic again.

</comment><comment><USER4> It's not an article worth reading. Of course "immortality" doesn't actually mean living for an infinite amount of years. The real goal is to live as long as a person desires. Of course it has the usual points that it's difficult (nobody is saying it's not).

The article also includes some non-physicalist ideas that simulated brains can't feel emotion or feelings won't be "real" etc.

In essence it raises no new arguments or points of interest.

<comment><AUTHOR> Thank you for your concise review.

The word 'bored' is not in the article so I don't know where you got that.

<comment><USER5> I think they're referencing the part about avoiding risk. i.e., "immortalists" are not as concerned about accidental death, but having the chance to (otherwise) live and die on their terms, when they have accomplished what they wish to.

That said (in support of the grandparent comment), I did think it was an interesting point to at least raise in your piece for those that might not have previously considered it.

<comment><AUTHOR> Living and dying with dignity is already possible in some parts of the world, I'm happy to be living in one of them.

It's only decent to be able to say that enough is enough. The case of Terri Schiavo shows that some parts of the world still have a long way to go in this.

The 'pro life' movement is probably going to transform into a 'do not delete' movement in the future :)

</comment></comment></comment></comment><comment><USER6> This essay seem reasonably well-informed, but completely unwilling to tread even close to, let alone outside, the possibilities of our current technology/framework of thought. It seems to me a complete presumption that it will forever be impossible to recreate a consciousness given a recorded set of behavior. (Philosopher David Chalmers talks about this a bit: <http://bit.ly/duFPOG>)

A relatively-recent example of how unexpected use can be made of pre-existing data - look at how search engines worked in 1997. The state of the art didn't know what signals were most important to look at, so they paid attention to things like keyword density. Then Google came along and illuminated a way more important signal, blowing away the state of the art for search engine ranking. Who's to say there is no analog for any kind of 'consciousness recording' that we have right now? Is it entirely implausible that a recording of my thoughts today won't provide significantly more information 50 years from now than it does today?

The problem seems akin to compressed sensing (<http://en.wikipedia.org/wiki/Compressed_sensing>), posted in a few articles on HN about a month ago.

<comment><AUTHOR> I think that to record a given intelligence is a _harder_ problem than to create an AI, and imho an AI is still very far away, in spite of some very interesting work in that field working in the direction of developing one.

Not only would you have to perform a 'near perfect' programming of such an intelligence, you'd also have to record it, so that is two big problems to solve.

The '50 years from now' has been around just about forever, make that 50 years. But in reality, in spite of all our amazing computer power we are not much closer to being able to do this than we were 20 years ago, and I don't expect it to be much different 20 years from now.

The article is addressed to those alive today, and it is possible that 100, 200 or 1,000 years in to the future the situation will be dramatically different. It's hard to imagine that it would not. But barring a 'singularity' or the development of something _really_ technologically advanced (say large scale quantum computing) I have a hard time seeing how it could be sooner than that. So that's where the premise comes from, not that it is a complete impossibility, just that it probably is an impossibility in the lifetime of those alive today.

<comment><USER7> _Not only would you have to perform a 'near perfect' programming of such an intelligence,_

No you don't. You need to perform a near perfect simulation of the physics of a brain. It's not nearly as difficult as intelligence, since you only need a low level understanding of what is going on.

We are considerably closer to this than we were in the past. We can already simulate nerve clusters and some parts of vision processing.

<comment><AUTHOR> You make that sound so easy.

We can't even simulate a single drop of water with any chance of fidelity, and we probably won't be able to do so in the near future.

These problems are _hard_ , very hard. Hundreds of millions have been spent, and many billions more will be spent before 'a low level understanding' of what is going on will be available. And then you can begin to solve these problems.

A famous scientist is on the record for having said that within a decade they'd have a working simulacrum of a human brain, meanwhile they are slogging it out with others that claim to be simulating the brain of a cat: ([http://news.techworld.com/personal-tech/3207325/scientist- ca...](http://news.techworld.com/personal-tech/3207325/scientist-calls-ibm- cat-brain-simulator-a-hoax/) and [http://www.brainmaya.com/neuroscience/neuroscience- videos/su...](http://www.brainmaya.com/neuroscience/neuroscience- videos/supercomputing-the-brains-secret-modelin.html)) but meanwhile we can't even vat-grow a cockroach from scratch.

I'm all with Dijkstra on this one, whether computers can think is just as meaningless as asking whether a submarine can swim.

A molecular simulation of a brain is extremely interesting but I doubt that that is the shortest route to AI, especially a simplified simulation.

<comment><USER7> I'm not claiming full brain simulation is _easy_ , I'm claiming it is much _easier_ than understanding intelligence. Similarly, understanding statistical mechanics of a gas is hard. Solving newton's law of motion for a few million gas molecules is not nearly as hard [1].

Also, you can probably get away with neuron-level simulation rather than molecular simulation. As far as I know, most nerve cluster simulations do this.

[1] I learned stat mech as a senior undergrad, and didn't really get it until grad school. On the other hand, I built newton solvers when I was 13.

</comment></comment></comment></comment></comment><comment><USER8> I disagree with a lot of this.

"Almost everybody that is past the age of 50 has had one or more life- extending operations"

Is this an American thing? In Australia it is pretty rare to have had _any_ operation, yet alone a life-extending one, by the age of 50.

"But, let's assume that somehow - unlikely, but maybe it's possible - <USER2> manage to tweak these mechanism enough that we manage to survive and keep our bodies in the state of say a healthy 30 year old, forever. What are you going to do ? Sit indoors all day long ?"

The options open to someone who only faces accidental mortality are beyond our imagining. Imagine what a Jefferson or an Edison would achieve in 500 years. Imagine if Einstein had a 100 more to work on unified theories. Besides, with all that time to master knowledge I'm sure some bright spark could come up with a way to heal stab victims.

"The human brain has limited storage capacity, and even though we're fairly sure that we do not use all of it we also can't fill it up forever"

I'm not sure this is proven. Even if that's the case, I have a lot of useless knowledge about the maps of Quake 3 levels or the characters in obscure TV shows that could be jettisoned without great loss.

"That seems to be the problem with most of these far fetched ideas. 'Uploading' your mind, means measuring in great detail the state of your mind. And we do not even know what 'mind' is"

We have preliminary technology that can read thoughts and imperatives. Doesn't seem that far-fetched to map the brain given time. Besides, you seem to rule out human/brain interfaces - why can't I have a constant link between brain and computer and in a worse case death scenario I simply lose the experiences since my last link time.

However, you do raise some interesting societal issues. Nevertheless, "how will people deal with it" hardly seems a valid reason to prevent research that could let people live healthily to 500+. The alternative is we are saying people deserve to die because they are old.

<comment><AUTHOR> > I disagree with a lot of this.

That's ok, PG disagrees with me too, so you're in good company :)

> Is this an American thing?

No, just statistics. Most people have one operation in their lifetime, sometimes more than one, usually those are to treat conditions that would otherwise cause a substantial decrease in lifespan.

Appendicitis, gal bladder removal, heart stents and so on. I'm Dutch by the way, not American.

> The options open to someone who only faces accidental mortality are beyond > our imagining. Imagine what a Jefferson or an Edison would achieve in 500 > years. Imagine if Einstein had a 100 more to work on unified theories. > Besides, with all that time to master knowledge I'm sure some bright spark > could come up with a way to heal stab victims.

That would have been great, but it presumes that you can keep the brain functioning for that long as well, and in 'top shape'. As it is most 'brilliant' work has been done by scientists when they are relatively young, late bloomers are the exception.

And Einstein was pretty much stuck in a rut at the end of his days, no disrespect there, it's fairly well documented, he was such a formidable force to oppose that he managed to hold back black hole research until 10 years after his death.

> I'm not sure this is proven. Even if that's the case, I have a lot of > useless knowledge about the maps of Quake 3 levels or the characters in > obscure TV shows that could be jettisoned without great loss.

But how to tell those apart from the ones that make up your identity ? A 'garbage collection' algorithm would have to be pretty precise! Do you want to compress your memory Yes / No is probably best answered with 'No'.

> We have preliminary technology that can read thoughts and imperatives.

True

> Doesn't seem that far-fetched to map the brain given time.

Also true, but _how much_ time. There are plenty of people that seem to believe this will happen in our lifetime and I think that's not even close.

> Besides, you seem to rule out human/brain interfaces - why can't I have a > constant link between brain and computer and in a worse case death scenario > I simply lose the experiences since my last link time.

Interesting possibility, but it combines _all_ of the problems associated with AI, recording and programming through a 'link' the structure of some new brain. And where does that come from ? (that new brain, not the link)

> However, you do raise some interesting societal issues. Nevertheless, "how > will people deal with it" hardly seems a valid reason to prevent research > that could let people live healthily to 500+.

No, I'm all for the research. I just have an issue with the belief that this is just around the corner.

> The alternative is we are saying people deserve to die because they are old.

For the time being, that's the way it will be. Research is to be encouraged, taking in to account the social consequences in parallel. But this - if it ever comes to pass - will upset our society like nothing else ever has. But it won't be our worry. I think :)

<comment><USER8> Thanks for the reply. I think if we focused we could reach enough stop gaps within our lifetime such that some people alive today lived to ~250 years but I think without focus this is beyond our reach, particularly when Christians would rather see people die of disease than benefit from the use of discarded cells.

<comment><AUTHOR> A 'manhattan' like project with this as a focus would be an amazing thing, just something like that targeted at creating an AI would be quite something. But with everybody turning over their dimes and no 'enemy' to justify the expense against I doubt that will happen.

</comment></comment></comment></comment><comment><USER7> Summary: you can't live for an _infinite_ amount of time, since the universe will eventually end. You might even fall down a well before that.

Also, all those proposed new technologies to make you live a long (but finite) time sound really complicated.

</comment><comment><USER9> You lost me the moment you mentioned Penrose. I've seldom read a more tedious fumbling for mysteries, all but Luddite in their hope for some deep mysterious law of the universe that would prevent computers (machines working in the universe) from emulating brains (machines working in the universe) than Shadows Of The Mind. I haven't discarded it only out of having respect for books, but I have too much respect for my fellow man to risk having it sold in a second-hand bookshop.

I don't think that there is a difference between a simulation of a brain and a simulation of the mechanics of a brain. I believe that's the whole point of the Turing Test thought experiment. If it talks like a mind then it is a mind.

Actually, you're argument seemed pretty weak up until then, but Penrose was the last straw. The only thing worse you could have done is brought up the Chinese Room. Re continuity of the self, that's an interesting problem for philosophers, but it isn't a practical problem. You aren't your memories; more than your memories, you are your patterns and habits. But those also change, though not all at once. At 30, I am not the same person I was at 25, much less 20. For identity, there is just an apparent continuity of existence.

Personally, I think cryogenics is the key, as I don't think the technology for proper life extension will appear within my immediate lifetime.

<comment><AUTHOR> > I don't think the technology for proper life extension will appear within my > immediate lifetime.

Looks like we agree after all then.

Penrose's point is that the brain _might_ be quantum mechanical in nature.

</comment></comment><comment><USER10> What will we do with all that time? <http://lesswrong.com/lw/wx/complex_novelty/>

TL;DR: The smarter you get, the more interesting things you can work on. We're already smart enough to do interesting things for a long long time.

</comment><comment><USER11> This is a very superficial article. Yes, immortality will be hard to achieve. Yes, it'll have all sorts of issues. Yes, we'll have to rethink a lot of things about how we view life and the purpose of life. That doesn't mean we won't resolve those issues.

Are you suggesting the current system is flawless? I think we're pretty good at dealing with systems with problems.

I'd say it's a miracle it works even as is. I don't see how tweaking the miracle is any less realistic than the miracle itself.

</comment><comment><USER12> A pretty good book related to the subject: <http://en.wikipedia.org/wiki/Altered_Carbon>

<comment><AUTHOR> Interesting, thanks ! I'll order it and read it.

</comment></comment><comment><USER13> This was issue was tackled with the movie "Death Becomes Her".

<comment><USER14> And on the short-lived SciFi series Lexx, at least the what to do with immortality aspect. (<http://en.wikipedia.org/wiki/Brunnen-G>)

</comment></comment><comment><USER15> Next week Jacques tells us there is no Easter Bunny and that Santa was really a communist.

:)

Best point in this article is the one about working memory. This is something I didn't understand at 20 but know too well at 40. The human mind is made to forget things -- lots of things. In fact, the ability to forget things is probably what keeps us sane and able to focus. Otherwise one thing would trigger another and we would just spin off on tangents all the time.

Having read the article, and agreeing with the points and sentiments, I still think the Great Singularity Cometh. Just nowhere near 20 years. More like 500. And I think by that time we will have a _much_ different idea of what is human and what is not. So it all works out.

I've been meaning to set up getting frozen when I die. Not for immortality -- I think the problems Jacques mentions will work out but take a while -- but simply for life extension. I think the definition of "die" is a lot more flexible than we currently imagine and I think there's a chance that sometime in my lifetime we'll work out cryogenics to the point where there's a shot at getting another 20-40 years at some point in the distant future after you die the first time. (Although coming back to life with everybody else you know gone for hundreds of years has to be a very sobering thing.)

But the main, critical point here is that yes, you will die. And, apologies for the existentialist plug, but how you deal with your impending death, in a real and immediate fashion, is what separates you from a lawn slug. The denial of one's death through whatever fashion is a great travesty on what it means to be human.

And I'm almost certain the Easter Bunny isn't coming for somebody here, but I'm not going to mention any names. Starts with a J, though.

</comment><comment><USER15> Meta: The interesting thing about this piece is that Jacques is taking on 2 aspects near and dear to hacker culture: 1) the mechanistic nature of reality. Everything to some degree is a machine and 2) the magic of technology. That technology will one day, perhaps sooner than we think, solve whatever problems we might imagine.

To some degree, both of these beliefs are true. But in other important ways they are not. However as hackers we have subconsciously and deeply bought into these two beliefs as part of our worldview, so in our hearts we "know" Jacques is just a sourpussed Luddite -- even if we can't exactly work out why.

I'll go a step further and say that our natural response to being confronted with the limits of our belief system is to thrash around quite a bit. Kind of like a bug getting pinned in a display book.

That makes the comments here very interesting reading!

</comment><comment><USER16> _But bodies, like all machines, really do wear, and eventually they wear out._

Wow - imagine if we could repair machines! We could have vintage cars that were actually drivable instead of mounds of rust. We could have planes from WWII that, if anything, fly better today than the day they were built. We wouldn't have to throw things away the first instant they exhibited any sign of trouble.

Oh, wait. We do have all those things.

Sarcasm aside, you know what, give me the indefinite lifespan and I'll take my chances with the boredom and accidental death and brain overflow and collapsing society. Cause I'm sure all those things are bad but guess what, it's better than being _dead_.

<comment><AUTHOR> Yes, we can repair machines. And to some extent - and in the future to a further extent - we will be able to repair our bodies. But that's not the near future.

> give me the indefinite lifespan and I'll take my chances with the boredom > and accidental death and brain overflow and collapsing society. Cause I'm > sure all those things are bad but guess what, it's better than being dead.

The reality is though, that chances are much better than even that those things will not come to pass in our lifetimes, or even in our grandchildrens lifetimes.

So in spite of it being 'better' than being dead, chances are that you will die. What's so hard about it?

There are billions of data points (all the creatures that ever lived have died, with the exception of those that have not yet lived long enough to outlive their natural life span) and there isn't a single one that lived longer than 1500 years (an Olive tree, if I'm not mistaken).

<comment><USER16> _But that's not the near future._

Well, I think you're underestimating the pace of technological progress. Yes, I might not personally live to see the day, but I don't think it will be that far away. There are a lot of rapidly aging rich people. Research is increasing in pace, not decreasing, and efforts like SENS are only just getting started.

Those billions of data points are largely irrelevant on a timeline where technology only increases in potency. Historical death rates offer almost no guidance to a future where the causes of those billions of deaths are being isolated and eliminated faster than ever. You do know that according to Moore's law, computers will overtake the human brain in the 2020s, right? Where's the historical precedent for that?

You might have a point that immortality boosters are motivated somewhat by hope and self-interest, but you seem to be biased in the other direction, for no reason I can discern.

It is rational for any living being to seek to extend their life. Admitting it is possible and desirable is merely the first step. Why not considering taking it? There's still space in the 300. [http://www.mfoundation.org/index.php?pagename=mj_donations_t...](http://www.mfoundation.org/index.php?pagename=mj_donations_the300)

<comment><USER17> _Well, I think you're underestimating the pace of technological progress. Yes, I might not personally live to see the day, but I don't think it will be that far away._

I think you have the possibility to see it. We may not discover how to stop death in the next 30 years, but I'm sure we will have found a way to extend it enough so that we are alive when someone does.</comment></comment></comment></comment>


Dead googlecode URLs on GitHub - <AUTHOR> https://github.com/search?utf8=%E2%9C%93&q=html5shim.googlecode.com%2Fsvn%2Ftrunk%2Fhtml5.js&type=Code&ref=searchresults <comment><USER2> As a reminder to Go package maintainers: Please tag your releases. Many companies* use [http://glide.sh](http://glide.sh) for package management. By default, it grabs the last tagged build, not master. We've encountered broken code.google.com links on the last tagged release, and it's not a great experience to override to a hash.

* e.g. Uber uses it [https://github.com/uber/tchannel-go](https://github.com/uber/tchannel-go)

<comment><USER3> I don't like glide. It manages to recreate the pain of package installation in every other language.

The thing I really love about the golang vendor/ approach is that the dumbest possible way _just works_ \- the code is all there.

Glide gets pretty far away from that. The perfect model (or one which would produce the prettiest git diffs) would probably be a tool which kept the actual vendor'd packages under their own branch forks in the same git repo and checked them all out when you need them, just so vendoring changes wouldn't wind up being huge source tree diffs).

<comment><USER4> I've seen the complaint about huge diffs a few times. Why not just exclude vendor directories from the diff?

<comment><USER3> Can Github (and Github Enterprise) do this automatically? Basically, like most problems, the issue is that it interferes with a very common interface rather then being a real problem.

If I could have PRs by default fold vendor/ folders for me, then yeah - problem solved more or less.

</comment></comment></comment></comment><comment><USER5> A guy I know years ago insisted that it is far safer to put your content in the cloud than on your personal website, as big corporations will not go down. Something like this will happen to content on Facebook and GitHub as well, sooner or later.

<comment><USER6> Geocities is gone. Your old MySpace profile, photos and wall. All your digg comments and submissions if you ever used that.

I host all my own stuff, but unless I get my shit together and create a set of docs for someone I trust, once I die, my domain, e-mail and all my blogs will disappear and accounts expire and credit card payments fail -- except for whatever wayback might tag important enough to index.

The great libraries of Greece, the technology used to build the Pyramids of Giza, the process the Romans used to make concrete ... all lost. Sure we can reconstruct and examine, but so much is filling in the gaps with guess world. If some alien race found our hard drives and CDs long after we had gone extinct, where would you even begin to decode the data without a rosetta stone?

<comment><USER7> Your old digg data: [http://digg.com/archive](http://digg.com/archive)

<comment><USER7> ..but when I entered my email address there the page told me they had sent me an email with further instructions. 3 hours later - no email. :/

Rant from a person who is not in Silicon Valley:

This is so fucking typical of SV. No commitments, no stability, no personal pride in keeping things working for decades if needed. Just the hunt for the next thing, and fuck whatever you worked on last month.

</comment></comment></comment></comment><comment><USER8> I've been considering the historical aspect of social networks and "personal pages" as an attack vector for a while (with respect to bad practice for removal). What happens when person "xyz" registers a domain, builds a personal site, and begins to signup for "whatever.com" under that email and then the domain lapses?

Re-registering the domain would be easy and capturing/selling the credentials would be easy. Once you get an email running a "forgot password" on the "to" address across the top 500 domains might yield something fun. Also catching these specific type domains in drop would be easy with firstname/lastname scan. Cheap as well. Basically fraud based domain squatting.

<comment><USER9> Similar concerns were raised a couple of years ago when Yahoo thought (foolishly) that it would be a good idea to "recycle" email addresses:

[http://www.cnn.com/2013/06/20/tech/web/yahoo-recycled- email/](http://www.cnn.com/2013/06/20/tech/web/yahoo-recycled-email/)

<comment><USER10> Do they still do it? That's horrific

<comment><USER11> Hotmail/Outlook used to(?) do this as well.

I had an account expire ~10 years ago. Somebody else registered the address and used it for several years, then eventually let it expire as well. Last year, I re-registered it, and used it to recover access to an account I created a long long time ago.

<comment><USER10> I'm still trying to recover my neopets account from 15 years ago, I used a bad birthdate

</comment></comment></comment></comment></comment><comment><USER12> Interesting but does it matter? Commented out anyway.

      <!--[if lt IE 9]>
      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
      <![endif]-->

Edit:

I know it's only commented out for > ie8. But right now, that's nearly everyone. And I personally still write ie8 compatible code for what it's worth. Stuck on old jquery, old angular, all sorts of shims, etc.

Not saying it is the definitive truth but w3schools puts it at 0.1% < ie9.

[http://www.w3schools.com/browsers/browsers_explorer.asp](http://www.w3schools.com/browsers/browsers_explorer.asp)

<comment><USER13> It's only commented out for non-IE browsers and IE versions >= IE 9. See [http://www.quirksmode.org/css/condcom.html](http://www.quirksmode.org/css/condcom.html)

Edit: Fixing logic

<comment><USER14> It's the other way around: it's only enabled for < IE 9.

<comment><USER13> That's what I meant to say haha, I got distracted mid-comment and forgot I was saying it was commented out.

</comment></comment></comment></comment><comment><USER15> Isn't this part of Bootstrap, HTML5Reset etc?

<comment><USER16> I think it used to be part of HTML5 Builerplate.

</comment></comment><comment><USER17> [https://github.com/search?utf8=&q=googlecode.com%2Fsvn%2Ftru...](https://github.com/search?utf8=&q=googlecode.com%2Fsvn%2Ftrunk&type=Code&ref=searchresults)

</comment><comment><USER18> Some job site should really build a pull request bot.

<comment><USER19> Or why not some enterprising job seeker? That'd be one thing to put on the resume. "Contributed fixes to thousands of Github repositories."</comment></comment>


Ask HN: Your favorite Startup School moments? - <AUTHOR>

Here are mine:
- Just about anything out of the mouth of Paul Buchheit. I'm convinced he's actually Bob Newhart. If I had to pick only one quote: "If I work for a long time without releasing, I get bored and I go home and watch 'Dukes of Hazzard'."
- Lots of little gems from Jason Fried: "Planning is guessing", "Funding is like crack", etc.
- Chris Anderson: "I recommend not having crappy products, even free ones."
- Evan Williams: "Trust your instincts - except when they're wrong."
- Scoble asks Mark Zuckerberg: "What management skills are you learning?" Zuckerberg: "...management skills?"
- Tony Hsieh: "We don't think about work/life balance; we think about all of it as life."
It was a fantastic experience. Thanks to YC, UC Berkeley, and everyone else who hosted. <comment><USER3> Most surprisingly good speaker: Chris Anderson

I have to admit, I wasn't particularly excited about hearing him speak. I read his Long Tail book, so I knew he wasn't just any journalist, but I couldn't help thinking "what does Wired know about startups"? By the end I was enthralled, and rather sad he couldn't speak for longer.

Best repeat performance: Paul Buchheit

I was fortunate enough to see him last year, so I kind of knew what to expect. One of the most honest and amusing talks of the day. It seems like he'd be fun to work with/for.

Amusing scheduling decision: Jason Fried after Greg McAdoo

For second year in a row, someone from 37signals comes on directly after Greg McAdoo from Sequoia. The contrast is kind of stark. The 37signals guys like to poo-poo on what they see as the pompous funding scene, and advocate bootstrapping, so hope Greg doesn't take it personally. ;) I thought Greg had some great points regarding how a 'bad economy' (for whatever value of 'bad' you choose) makes you focus on the important stuff. Jason's angle was that charging money forces you to make something people are willing to pay for (ie - something useful). I think in the end they were both kind of saying the same thing... focus on making something people want... just through their own lenses of experience.

Best stories: Mark Pincus

I had no idea what to expect from this guy, and he was a lot of fun. Before he started I was kind of ready to get out of there (because the room was becoming a sauna) but by the end of his talk, I was actually sad we ran out of time. Jessica was right: he made an excellent closer.

Other random amusements/thoughts:

PG: "You have to have a liquidity event before you can have a liquidity event."

A lot of the talks this year seemed to be about company culture. I wonder if that was a coincidence, or if it had to do with 'the economy' and some soul searching on the part of founders that is going around. Last year the common topic seemed to be 'raising money'. I wasn't at the 2007 one, so I'd be curious if there was also a theme that year.

Berkeley was a far superior venue as far as lunch and other travel logistics were concerned, although their mic system seemed haphazard.

Also, it was a blast to meet up with some of my fellow HN'ers... both those I was meeting for the first time and those I knew from last year. PG, JL, TLB, and the rest of the YC companies that hosted pre/post parties... thanks! Best of luck to everyone on their endeavours once we all head home!

<comment><USER4> _Most surprisingly good speaker: Chris Anderson_

Really? I'd be curious to hear what you got out of his talk. I thought most of the discussion of Freemium business models was pretty rudimentary.

<comment><USER3> Well I meant that he was an entertaining speaker, and kept me interested. The only thing that stands out in my mind that I hadn't really distilled out before was the slide about the half dozen things people will pay for, and how your freemium model has to work around one of those things. But then again, I haven't spent much time thinking about Freemium, so I suppose this wasn't exactly mind-blowing for those that have.

The format doesn't really allow anyone time to go very deep on a topic, so I wasn't expecting anything too rigorous... although Peter Norvig came kind of close last year with his word segmentation problem.

</comment></comment></comment><comment><USER5> Robert Scoble making an ass out of himself repeatedly.

He actually interrupted Tony Hsieh in mid-sentence in the middle of his talk, and with an obviously stupid question that Tony shot down without really missing a beat: _"What specifically do you ask people in interviews to see if they're egotistical?"_

A few minutes into Zuckerberg's talk he started raising his hand, and then spent the remainder bouncing up and down in his chair. From all that buildup I expected him to ask a confrontational drama-queen non-question about Friendfeed, but instead he nervously asked a nonsense question about how he's managing his employees as he wanders their offices. It seemed to me that it was some veiled drama, or something only a company-tour addict would give a shit about.

In one of the later talks someone thankfully took the microphone back from him before he could try to ask another question after the final one (he was standing and approaching the stage!)

At first I was thinking that he should be actively disinvited from future events, but I had a long productive conversation with him afterwards (though not about his recent asshattery, his face is pink enough as it is). I've come to the conclusion that his presence is useful, but that he should never be allowed to ask questions — the best that could happen is irrelevant softball non-questions that waste everyone's time.

<comment><USER6> To be honest he wasn't the only one asking stupid/long-winded/time-wasting questions. Some people kinda need to learn how to prepare and succinctly make a point.

<comment><USER7> a) The people asking questions weren't public speakers. Speaking in front of 800+ strangers with a mic in your hand is nerve wracking for a lot of people; cut them some slack.

b) Nobody else had such a huge ego to interrupt a speaker on stage in the middle of his talk. Let alone in the first 5 minutes of it. It was humorous that he interrupted the CEO of Zappos to ask a question about how to figure out who the ego-centric people were.

</comment></comment></comment><comment><USER8> I accidentally insulted Mark Zuckerberg. I asked my question about PR lessons and he kind of put it back to me.

If I had had Zuckerberg's PR lessons, I would have more deftly answered his yes or no question with an explanation, but I was kind of uncomfortable since I wasn't expecting to have a dialog.

I do think that going through the process of PR training makes one less interesting. It's not that he and other high-profile CEOs aren't honest, it's that they are hyper-aware of their words and are most comfortable sharing thoughts they have already had, the particular talking points that they know are ok to repeat in public. To me, candor is always more interesting than old thoughts.

Anyways, that's what I was thinking; I'm aware I kind of looked like an asshole. Sorry about that; didn't want to create any question drama. I apologized afterwards and he said he didn't care and thought it was funny.

Zuckerberg was probably my favorite talk. In a room full of entrepreneurs, none of us will probably achieve what he has achieved. Most of us aren't even trying for something like that.

<comment><AUTHOR> Dude, I didn't take it that way - the tone with which you asked the question seemed more like genuine curiosity, as opposed to trolling. Hopefully Mark took it that way as well...?

<comment><USER8> :) I thought Jessica looked a little horrified. And I had some people mention it to me later how I "insulted" Mark. Mark himself was definitely not offended or insulted.

<comment><AUTHOR> I agree - he didn't seem offended to me. As evidence, I remembered yesterday that he actually followed up with a really great comment that I think a lot of folks missed. I'm paraphrasing, but it was something like: "Everyone likes controversial questions and controversial answers, but we don't necessarily learn a lot from them."

</comment></comment></comment></comment><comment><USER9> For me the best by far was Paul Buchheit, because he was not only honest in a general sense (all the others seemed so as well), but also intellectually honest.

There's no one way to do things, what works for one won't work for another. His talk acknowledged that right off the bat, stayed true to that philosophy, and still managed to impart lots of wisdom (some implicitly)... while being very engaging. (Humor is underrated.)

Thanks Paul, and thanks to all the other speakers as well! This was my second startup school (my first was Fall 2005 in Cambridge - jeez, was it really that long ago??) and both times I've come away inspired and fired up.

<comment><USER6> Paul's talk was refreshing, but is he always like that? He kinda seemed high.

I'll definitely know I'm successful when I can just stand on stage and ramble about my life in front of 800 people. How awesome!

</comment></comment><comment><USER10> Only the first one is a funny moment.

Paul Graham, in the middle of all the AV trouble, says "What Talks Are Really Like".

Greg McAdoo: To sell to enterprise, offer an ROI so powerful that a person who turns you down would be scared of getting fired.

Jason Fried: "Cool wears off; useful never does. You will be using Post-It notes in 20 years."

Paul Buchheit: 1) Was working at Intel, hanging out with some friends, when they started talking about the company's retirement plan. Got depressed and the incident encouraged him to move on. 2) Gets bored with something unless he's constantly releasing, and knows how to work with himself on that limitation. 3) Every company has corporate superstitions: things you have to do if you work there because they worked for the company earlier, or appeared to.

Zuckerberg: 1) "When we got money, what we decided was that the best feature we could give to people is having their friends on there." (On increasing capacity vs adding new features) 2) "Values are worthless unless they're controversial. What are you willing to give up? We give up a lot for speed [of development]" (e.g., they maintain a single code base)

Tony Hsieh: Core values should be _commitable_ : are you willing to hire+fire based on them.

<comment><AUTHOR> Gee, I think I like your list better than mine! Thank you especially for the reminder of what Greg McAdoo said; I missed capturing that one in my notes.

</comment></comment><comment><USER11> Mark Zuckerberg yelling "yeah" from the audience when Mark Pincus said you should control your board.

</comment><comment><USER12> I think one gem was overlooked...

Paul Graham: In order to have a liquidity event, you need to have a liquidity event.

...priceless.

<comment> daniel-cussen I remember it as, "You need to have a liquidity event to have a 'liquidity event.'"

</comment></comment><comment><USER5> There was an absolutely fantastic question from the audience (rms?) for Zuckerberg, followed up with a perfectly elucidated back-and-forth reparté between them (though Jessica was freaking out a bit).

The TechCrunch transcript is just a teaser, the video clip could easily turn into a meme:

      Q: Can you talk what it's like in order to speak publicly so people don't
         pounce on you? Seems like you've changed since 2006.
      A: Have I not said enough offensive stuff? Is this less interesting?
      Q: Yeah… probably less interesting (oooooh from the crowd)
      A: Maybe we need more controversial questions.

</comment><comment><USER13> Early internal feedback on Gmail: "I would like it to search my email, not just yours" — Paul Buchheit's talk

"It's like we're married, but we're not fucking." — Some startup founder who went through Y Combinator quoted in PG's talk

</comment><comment><USER14> Thanks! It was exhausting, but a blast to host

(<\--podium setup guy with black CSUA t-shirt/black open hack hoodie)

EDIT: Major props go to all the speakers, guests, Jessica, Dwight Crow (who was the main organizer on the Berkeley side), Eli Chait, Corey Reese, and everyone else from the CSUA and Startups@Berkeley and YC who made this possible, and of course everyone I forgot to mention.

<comment><USER3> I was sitting right behind you and was trying to figure out your t-shirt. Was it some kind of MUD joke?

<comment><USER14> In Soda Hall, no-one can hear you scream.

</comment></comment></comment><comment><USER15> When is the _proper_ video from the event being released?

<comment><USER14> When Cal Events encodes it. I believe the place it will be put up is <http://webcast.berkeley.edu/events.php> but I am not an authority on the matter as I wasn't the one who arranged for Cal Events to record.

</comment></comment><comment><USER16> AirBnB's electronic music rooftop dance party. Don't get me wrong, SUS it self was a great experience -- but it was reassuring to see that a tech start up crowd could throw a legitimate party!

<comment><USER5> It helped that most of the party crashers were girls!

<comment><USER17> What was with the hats?

<comment><USER5> All the people in pilot costumes were the hosts from AirBnB

</comment></comment></comment></comment><comment><USER18> Big thanks to UC Berkeley. As a current senior, it's incredible to see how the school has opened up to the idea of pushing entrepreneurship over the past 4 years. The Berkeley CSUA and ST@B worked their butts off to make this an incredible experience, and they'd do a lot to make sure that Berkeley gets the exposure that it deserves.

Hope to see Startup School 2010 return to Berkeley. :)

<comment><USER19> As a recently graduated senior, this was great to see but we've still got a long way to go. What else can we do on this side of the bay?

</comment></comment><comment><USER20> I had a fantastic time as well. thanks to everyone!

My favorite moments were outside the hall, just mingling with you guys. I said I would talk to at least 20 people, and I did. Nice to meet you all, and thanks for the beer.

<comment><USER21> Yes, it was great to meet so many fellow HN readers.

Thanks to everyone who tool the time to organize, speak, or throw parties!

</comment></comment><comment><USER22> Zappos core value 10: be humble. Egotistic engineers ruin startup cultures.

Control your destiny, control your board. -Zynga

</comment><comment><USER23> Complete paraphase, but when Jason Fried talked about a company's relationship with customers: "'We apologize for any inconvenience we may have caused' - What do you mean may have caused? You f-ing caused it."

Companies need to be more honest, open, and transparent when dealing with their customers. Make your products easy enough that anyone can use them (sort of "assume a dumb customer"), but when you deal with your customers, treat them with the utmost respect and appreciation for their intelligence.

</comment><comment><USER24> "Can anyone here tell me how to sell stuff for free? You can't. You can only sell stuff for money." - Jason Fried

"So when your friend performs the most intimate human act of love by giving you a dollar bill..." - Chris Anderson

"Hey, I'd like to be able to search _my_ mail, not just _your_ mail." - <USER2> Buchheit

Apparently I went looking for a good laugh.

Those are all paraphrases, by the way.

<comment><USER20> +1 on the Paul Bucheit paraphrase.

</comment></comment><comment><USER25> @projectileboy: your analogy (Paul Buchheit channeling Bob Newhart) is perfect.

<comment><AUTHOR> Heh heh... thanks. I of course mean hilarious young hip Bob Newhart from the 60s, not boring old former TV star Bob Newhart of today.

</comment></comment><comment><USER19> Did anyone else think the beginning was much stronger than the end? Paul Graham, Jason Fried, and Chris Anderson were great but I didn't care for the Q&A sessions at all. What happened to actually preparing a talk for a big event you've been invited to? I wanted more on startups and advice, not just more pandering to twitter and facebook.

<comment><USER26> I completely agree... using an interview format for Twitter and Facebook proved to be boring. It just wasn't the right forum for asking pointed, controversial, information-eliciting questions. Jason Fried, both Pauls, Tony Hsieh -- pretty much all the speakers -- proved that you can deliver much more valuable insight if you prep your own talk. I really would have loved it if the Twitter guys and Zuckerberg, especially, had done the same.

<comment><USER27> I was surprised, despite the laziness, that the Twitter interview was so good. Their articulation of the realization that they did NOT want to be the kings of podcasting was eye-opening to me, maybe it was old news to others.

</comment></comment></comment><comment><USER28> Mark Zukerberg: "It's ok to make mistakes."

</comment><comment><USER29> _Evan Williams: "Trust your instincts - except when they're wrong."_

It's more like a Zen proverb/koan.

</comment><comment><USER30> Links to uploaded videos?

<comment><AUTHOR> Sorry... I would have included a link to justin.tv/startupschool, but there's not much there (yet?).

</comment></comment><comment><USER31> Based on the comments, it sounds like Yogi Berra would have been a hit at this event

</comment><comment><USER32> "These are my people" -- Zuckerberg.

Fucking stud. Period.

</comment><comment><USER33> Ok, I wasn't there, but here's a bit from my somewhat silly imagination:

When PG descended on the stage with his jetpack, and the enthralled crowd prostrated themselves in his direction with one flowing movement while chanting PEE GEE PEE GEE PEE GEE.

<comment><USER3> ...

He landed in a Harrier... jetpacks are for kids.

(Seriously though, why so negative?)

<comment><USER33> It's not negative, it's just kind of a random bit from my head. I wouldn't have spent so much time on this site if I didn't have a great deal of respect for pg and what he's done with YC. I thought it was over the top enough to make other people smile at the image too, rather than think it was in some way nasty.

<comment><USER3> Hmmm. I think it's tempting to appear jaded in these instances. To poke fun at the omg-I'm-seeing-famous-people-in-the-flesh mentality. I know I have thought about what makes social interactions different when one person is known by reputation or "claim to fame" and the other person is relatively anonymous. I think about this most acutely because I'm effectively nobody... so when I meet someone I and others look up to, it's definitely awkward. I second guess everything I say and every gesture I make... _and I hate myself for it_.

It creates an asymmetrical dynamic. The whole interaction depends on the magnanimity of the so-called 'famous person' to ignore the awkwardness. It's interesting and weird and (at least for me) relatively rare and novel.

But they are human beings.

It's almost nice, being anonymous as I am, if you don't know who the hell the person is. Then you don't have to spend so many brain cycles going "wow WOW I'm talking to insert-celebrity-here".

It's like Mark Pincus. I could have walked up to him randomly during a break and had a conversation and thought "wow, that was a cool guy with interesting perspective". But even the label on his name tag... "Speaker" gave him away as 'someone important'. Suddenly you feel like the emperor with no clothes... you start trying to justify why the heck you should be wasting this guy's time. It's funny how you don't have that concern with someone you don't look up to.

So yeah, there is a lot of ooh-ing and ahh-ing in the crowd. You can't get around that really, but the day wasn't a PG worship-fest. If anything, it seemed less centered around him than last year's SUS (although I might just be projecting).

The biggest collective inhale comes with someone like Zuckerberg or Fried walks in the room... and there is no real avoiding that. They are the current players that inspire and lead by example.

And that is ok. There is always going to be someone serving that role. We as a species seem to need celebrity both for motivation and allegiance. People pick sides because it's natural to back a champion.

But really, I promise you, there was no prostrating. ;) I respect PG and YC and thank them for putting on the event, but I, for one, come _here_ for the conversation, just like I came to Startup School to talk to motivated people trying to make cool stuff. Randomly bumping into 'famous' people is a bonus I guess.

<comment><USER33> You say a lot of quite intelligent things, but you're still taking what I said _way_ too seriously.

<comment><USER3> Oh I laughed pretty hard when I read it... it _was_ funny.

I guess I asked whether it was negative because it was kind of hard to tell... but then you answered that.

Then I mostly used your answer as an excuse to talk about something that had been on my mind. I wasn't trying to start an argument or anything. ;)</comment></comment></comment></comment></comment></comment>


Humor Driven Development - <AUTHOR> http://mentalized.net/journal/2010/07/30/humor_driven_development/

<comment><AUTHOR> Injecting something as subjective as humor into code can be tricky, especially when you start getting slap-happy late at night. You also probably don't want to get cute with variable/class names that will confuse maintainers down the road. But as the author says, adding personality to comments, commits, tests, etc. can strengthen company culture and lighten up the drier parts of your code.</comment>


Data Visualization of Peak Slavery in the United States - <AUTHOR> http://www.radicalcartography.net/index.html?slavery <comment><USER2> I know that Vermont effectively abolished slavery by 1777. Massachusetts effectively abolished it in 1783. There were still lots of loopholes though.</comment>


Show HN: The Polyline – Buy T-Shirts Superimposed with Your Strava Activity - <AUTHOR> http://thepolyline.com/ <comment><USER2> All that work on a nice site, and no social or search metadata whatsoever? ;)</comment>


Announcing Remacs: Porting Emacs to Rust - <AUTHOR> http://www.wilfred.me.uk/blog/2017/01/11/announcing-remacs-porting-emacs-to-rust/ <comment><USER2> The example seems to be wrong [https://github.com/Wilfred/remacs#porting-c- functions-to-rus...](https://github.com/Wilfred/remacs#porting-c-functions-to- rust-walkthrough)

fn Fnumberp(object: LispObject) -> LispObject { if lisp::SYMBOLP(object) { unsafe { Qt } } else { Qnil } }

It uses SYMBOLP instead of NUMBERP. Highlighting the risk of introducing new bugs.

Which leads to the question, why Remacs can't just auto-wrap the lisp::* functions, which I assume are the Rust versions of the C Macros. If you look at Emacs' C code there are a lot of functions and macros that implement Elisp primitives in a C way. E.g., NUMBERP(x) will return 1 if x is a number or else 0. So you can use this function to deal with lisp objects in C code. The function that exports this primitive to elisp is Fnumberp. Rust has a better type system than C and supports meta-programming. So why not have a simple wrapper that can take a (LispObject) -> bool and turn it into a (LispObject) -> LispObject. Similar for other Elisp<->Rust types.

However unless GNU Emacs is willing to accept the Rust replacement code I don't think this will succeed. It is a lot of work and it takes quite some time until it actually pays off. It seems simpler to do what GCC and GDB have done and switch from C to (a strict subset of) C++ to simplify at least some of the more painful C hackeries.

And the reasoning given in the announcement are rather weak:

* "We can leverage the rapidly-growing crate ecosystem." Emacs recently added module support allowing leveraging all kinds of ecosystems

* "We can drop support legacy compilers and platforms (looking at you, MS-DOS)." how is that an opportunity when it effectively removes support for platforms.

<comment><USER3> > _GCC and GDB have ... switch[ed] from C to (a strict subset of) C++ to > simplify at least some of the more painful C hackeries._

Interesting! Where can I read more about this? Is it true that gcc compiles using g++? That's rather amusing. :)

> " _We can drop support legacy compilers and platforms (looking at you, MS- > DOS)._ "

> _how is that an opportunity when it effectively removes support for > platforms._

Supporting MS-DOS is something of a challenge now. I've not done any research but I have vague notions that GCC ports aren't really being maintained anymore. Besides that, many platforms (for example BeOS) are stuck on GCC 2.95.3, a rather famous last version using a particular ABI. A lot of stuff is stuck on that GCC version. (I don't know many details, although I'm very interested to learn more if anyone else has any insight.)

With the above said, I do disagree with wholesale willingness to summarily sweep legacy platforms off the table. Rust has saved itself some maintenance nightmares because it doesn't support DOS, but it means quite a large number of people are still stuck on C for industrial control system tooling. (Granted, I can't deny that I'm talking about a _really_ tiny niche here...)

<comment><USER4> Yes it is true, all major C compilers are now written in C++.

You can find everything related to GCC's C++ transition here:

[https://gcc.gnu.org/wiki/gcc-in-cxx](https://gcc.gnu.org/wiki/gcc-in-cxx)

On Windows even the C runtime, MSVCRT.dll got re-written in C++ and the C functions are actually _extern "C"_ ones.

[https://blogs.msdn.microsoft.com/vcblog/2014/06/10/the- great...](https://blogs.msdn.microsoft.com/vcblog/2014/06/10/the-great-c- runtime-crt-refactoring/)

So a kind of small victory for us on the C++ side of the fence on the endless C vs C++ discussions.

Now the joke "my compiler compiles yours" has been reversed.

<comment><USER3> Wow, that's a surprise.

I'm really considering learning C++ now... I'm just hugely put off by the long compile times :( (I have 10+ year old hardware)

<comment><USER5> The compile times are not that long unless your program is very big. I also have 10 year old hardware.

<comment><USER3> I'd edit this into the original comment if I could; here seems to be a good spot to put it.

I think I should add a bit of context about what I mean by slow compile times: I feel comfortable if I can hit CTRL+S* and have my code rerun or restart within about half a second. At one second, it should either be executing or have output something and finished, and if it takes more than about 10 seconds to get to whatever point I'm prototyping or making a decision on, I get jittery.

It's partly because I have a ridiculously short feedback loop, but also because I am (for some reason) sensitive to interactivity latency and I prioritize responsiveness extremely highly. So long compile times tend to lean on those buttons and make me uncomfortable.

With this in mind, the only C++ experience I've had yet was doing some modifications to the Dillo web browser, which was the main web browser I was running on the 800MHz AMD Duron box I used between 2012-2014 (the same one I described in [https://news.ycombinator.com/item?id=13344332](https://news.ycombinator.com/item?id=13344332)).

It was a lot of fun - I modified the tab bar so tabs could be dragged around, moved between windows, etc :D - but the compile times were around 3 seconds! This was just for the test harness I built which had an absolute minimum of code in it; I was also using GCC precompiled headers for literally everything (my prototype code was a ~300 line .cpp file, no headers or anything). This was a _really_ big adjustment for someone used to tcc (~10ms compile time) or gcc (~300ms compile time) who felt that gcc took juuuust a bit too long to do its thing.

I've seen C and C++ code compile on friends' i3 boxes (haven't seen what an i7 can do yet) and been amazed. I think when I have a machine like that I'll probably be able to seriously get into the language. (I actually have an i3 here but it had a memory failure several months ago, hopefully I can get some new DIMMs for it soon and see if the motherboard actually still works.)

\--

* About ^S - I'm yet to play with Emacs which I understand has two keystrokes to save files; I mostly use Vim because it's installed everywhere. I far prefer ^S over ESC (Press)Shift ; (Release)Shift w Return i/a.

<comment><USER4> With the failure of Lisp Machines, Lucid pivoted into doing a Lisp like interactive environment for C++, with compilation at function/method level. There is an old VHS video that some uploaded to YouTube demoing it. Search for Lucid C++.

The last version of Visual C++ (v4) used a database repository as binary representation of C++ code, also offering an interactive experience.

The problem with both environments was that they required powerful hardware that most people weren't wiling to pay for and consequently died.

Microsoft is now having a smarter linker with db support for VSC++ 2017.

Both Apple and Google were discussing at last LLVM conference how to add similar capabilities, IDE friendly, to clang, partially based on the Swift Playgrounds development experience.

<comment><USER3> I think I vaguely recall learning about database-incorporating C++ compilers recently, and now I actually see them. This is really neat.

I'm definitely looking forward to LLVM getting these capabilities. It'll move C++ development forward by light years, I reckon. (For example, Chrome takes an hour to fully rebuild in CI on what I suspect is fairly modern server hardware.)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> Emacs needs its stuff moved into Elisp as much as possible, and its Elisp to be improved, not a port of the C stuff to some random language. Rust is not a standardised language and is mostly driven by a single entity. Totally not the right tool. Also I find it very cryptic.

<comment><USER7> Totally agree.

The part of Emacs which needs a ramp-up is the Lisp layer, not the C layer.

When I read this post I just had a big 'why' in my mind.

</comment></comment><comment><USER8> Meh.

As a long time Emacs user, the only way I'd even consider switching off of GNU Emacs would be if there was a port written in Common Lisp that replaced ELisp with Common Lisp. Even then, I'd only switch if it had replacements for the ELisp modules I use (ERC, Slime, C++-mode, etc.).

As an end user, I don't see any advantages in switching to yet another Emacs rewrite in yet another low level language.

<comment> Ar-Curunir Isn't the point of this port to work out-of-the-box with existing elisp?

<comment><USER8> Right. But as an end user there's no advantage to using Remacs over normal GNU Emacs. "Written in Rust instead of C" isn't a useful feature to me.

Using Common Lisp instead of ELisp would be useful enough that I might switch.

<comment><USER9> Have you tried to build GNU Emacs on windows? I'd take a Rust port in a heartbeat.

<comment><USER10> Yes, I use it every day, at work and at home between different computers. I have a few windows-nt specific lines in my .emacs, mostly to set paths to grep and the like but otherwise have no problems and it is pretty indistinguishable from using it on linux systems.

Could you perhaps elaborate on the problems you are experiencing, since otherwise I really have no idea what you're talking about.

<comment><USER11> He said "build", not "use".

</comment></comment></comment></comment></comment></comment><comment><USER12> I really love the idea and style of this blog post and the project's README. I recognized the style from somewhere and then realized it was the same author as "Example Driven Development"[1], another one that showed up on HN a while back.

[1]: [http://www.wilfred.me.uk/blog/2016/07/30/example-driven- deve...](http://www.wilfred.me.uk/blog/2016/07/30/example-driven-development/)

</comment><comment><USER13> People should stop rewriting huge codebases that work quite well into the next hype-language. There's absolutely nothing wrong to develop it in C or C++. Stop the hype-train.

<comment><USER14> Counterpoint: having a solid, existing and mature codebase can serve as a useful tool to learn where and how best to apply a new language's features. As a bonus, perhaps some improvement in the original system will be recognized!

</comment></comment><comment><USER15> Rust is becoming such a huge systems development language, that's so good to hear that finally the developers are getting better deal for performant applications instead of C/C++

<comment><USER14> Only in the HN bubble. Meanwhile, "in the wild," it's hard to find a person who does systems programming and has even heard of Rust, or if they have, that has given it serious consideration.

It's too early and too immature a language for all the fawning it gets on HN.

I think if the developers do it right they can snag enough mindshare among new developers that Rust will be a serious competitor to C and C++ in 10 years or so. Which is great, because I think it's a better language. But it isn't there yet.

<comment><USER3> I appreciate this sentiment; I've been very hesitant to explore Rust myself, it seems too new, too overhyped, and lacking in foundation (or, as you said, too immature) at this point for me to have absolute confidence in it, or at least the same level of absolute confidence I'd have in C.

I'm definitely keeping an eye on it though, because if it keeps going at the same rate it has the potential to be great in 10 years.

But at the same time, flurries of activity aren't universally positive: it becomes harder to filter out the low-quality contributions that introduce subtle bugs, and smaller/more strict teams have an easier time maintaining stringent quality controls.

PHP and JavaScript very rarely segfault either. Sure, they use virtual machines (PHP's is non-JITed too!); and yes, their CPU and memory usage are comparatively astronomical. But I can only hope that Rust's memory-safety doesn't wind up attracting the same kind of unskilled language architecture "contributions" that PHP has, or wind up with an ecosystem as fragmented as Node's.

<comment><USER16> > But I can only hope that Rust's memory-safety doesn't wind up attracting the > same kind of unskilled language architecture "contributions" that PHP has, > or wind up with an ecosystem as fragmented as Node's.

Going from "PHP has memory safety" to "memory safety causes the quality of code to decrease" is _quite_ a leap.

Haskell also has memory safety.

<comment><USER3> You're right. Let me qualify.

Haskell as an excellent example of a language that, by design, filters out probably many well-meaning individuals who don't have the requisite level of high-level skill.

Languages like Java, BASIC, PHP, etc are easy to get started with, which means those languages attract all types. Perl is somewhat in this class too, along with C++ due to that language's widespread popularity.

In PHP's case, the language's lack of inherent default-to-paranoia security settings has bitten it hard, because no real consideration was given to these phenomena (or apparently anything else, but that's a different story).

It's a nuanced (social) issue, but solving the type safety problem does make it generally easier not to shoot your foot when you still don't know what you're doing. The _hope_ is that the programmer steadily advances beyond the baby-steps/worsethanfailure.com stage - and doesn't build any large systems that are too big to rewrite before they're decent.

Languages like Haskell, Lisp/Scheme, Erlang, C, assembly language, etc are _generally_ difficult to do large-scale useful things with unless you've either studied the language a lot and/or already have programming experience.

</comment></comment></comment></comment></comment><comment><USER17> So it has about 10 rust files so far?

</comment><comment><USER18> Isn't there already another project, creating a OS with rust?

</comment><comment><USER19> The problem, of course, being that Emacs has become a horrible codebase to maintain 20 years of compatibility, and rewriting is unlikely to change that.

<comment><USER20> That's not true. Like any old codebase it's got its sketchy corners, but it's certainly not "horrible".

<comment><USER21> Emacs is one of the few longstanding C codebases I know that compiles almost entirely without warnings. Which is quite an achievement and speaks somewhat to it's quality.

</comment></comment></comment><comment><USER22> Over the years I have see a number of posts about revamping emacs. Is there anything that actually works?

<comment><USER23> Atom is the "spirit" of emacs, taken into a world where your language of choice is Javascript & the runtime is the web browser.

Otherwise, not that I'm aware of. Everyone knows that Elisp is horribly crufty, but getting everyone to shift to a new language requires carrying all the extensions over which is a huge task.

<comment><USER4> To the point that it makes users of a modern PC in 2017 feel like they have traveled back in time and are using Emacs on a VAX/VMS system.

<comment><USER23> Yeah, the size of the binary distribution alone is kind of eye-watering. Google Chrome as a runtime is not a small dependency.

</comment></comment></comment></comment><comment><USER24> What a waste of time.

</comment><comment><USER25> Bold!

Practical, however, I have no idea whatsoever about.

</comment><comment><USER26> How long before someone decides to port LLVM and jemalloc to rust? :)

</comment><comment><USER27> Why use a GPL license ? This kind of port could have been the occasion to get rid of this type of license.

Why port Emacs to Rust ?, it adds no value to users. Why not develop a modern GUI like Intellij IDEA with a Common Lisp implementation underneath like SBCL ?

<comment><USER28> If you changed the license you'd have to do a clean room implementation, and even then deal with potential legal issues from the... personalities... associated with the GPL.

<comment><USER29> You mean the author who wrote his own license to specify how his work may be distributed?

Any person who write their own license to specify in fine details how the work may be used and distributed is going to have a very strong (and likely legal) issue with people who try to circumvent that license. Even a clean room implementation would need source material as instructions, and writing such specification without any copyrighted elements of the source would be quite a challenge when dealing with a very large program that has compatibility to a large ecosystem as its primary feature.

</comment></comment></comment><comment><USER30> Emacs is already struggling with a lack of core developers; porting it to a relatively obscure language won't alleviate that. I'd rather people help out with Emacs proper than doing silly stuff like this.

I know Rust fans are passionate, but we don't _really_ need "X, but in Rust" for every value of X.

</comment><comment><USER31> Good luck!

</comment><comment><USER32> Sounds like fun, I'm in.</comment>


Ask HN: How do you normally choose your database? - <AUTHOR> We all know there is a ton of DB technologies out there and "apparently" one size doesn't fit all.
There are multiple ways to evaluate and choose database technologies, but there is no common ground/sense about the process developers or an IT professional follows to select the DB they are going to use (or buy).
Some might choose primarily by performance, others choose by the number of features or even by the trustability of the brand offering it (e.g AWS, GCP).
That said, what's process you normally follow to choose database technologies for your company/project? <comment><USER2> You have to define the problem to figure this out.

Me personally, I am a fan of multiple smaller db's that are purpose fit (regardless of application architecture). e.g. user/security, payments, logging, analytics, search etc.

Doing this lets me pick the best tool for the job and also generally keeps the data to an isolated area which makes backup/recovery easier and also allows you to apply tighter security standards around them as needed.

Another factor you have to consider, distributed databases change the backup/recovery strategy drastically as does data growth and size attributes.

As for technology, I generally stick with relational DB's (postgreSQL is my go-to) unless there is a specific problem to solve that I can do better/easier/faster with another tool. As an example, I might ship data (logging or otherwise) into elasticsearch for searching. I also have no issues using any of the DB's from AWS that are based on open source databases, but I don't generally use DynamoDB as an example (not that I wouldn't just haven't seen a good argument given other options and costs etc).

I also use S3 a lot for backups and for json stores. Personally, I have always wanted to play with using ES as my query tool with all the data stored in S3 itself. Wouldn't work for everything but seems pretty damn reliable and scalable. Even the index snapshots could be stored in S3 for recovery purposes if needed.

</comment><comment><USER3> I think it depends on your product and where it is at in its lifecycle. If you are building a new product or service, just use an option that is sufficiently stable (Postgres, MySQL, etc). If you are thinking of migrating from one technology to another, you need to figure out which metrics you are trying to improve and see which alternative(s) would provide the performance improvement you are looking for.

That said, when I am making the decision myself, I just go with Postgres.

</comment><comment><USER4> I use PostgreSQL, unless I need/want high availability then I use master- master Percona/MySQL.

If it's someone else's money then I use RDS PostgreSQL with Multi-AZ.

</comment><comment><USER5> I generally use MySQL in production but tell everyone I use Postgres so I can feel cool.

</comment><comment><USER6> It's a pretty simple process, I just choose Postgres.</comment>


Behind the scenes at one of the world's largest model railways [video] - <AUTHOR> http://www.bbc.co.uk/programmes/p02f3s1j

<comment><USER2> "one of the largest" is surely hanseatic understatement.

It is the largest.</comment>


UnDraw: MIT licensed illustrations for every project you can imagine and create - <AUTHOR> https://undraw.co/ <comment><USER2> The claim of "every project" seems very exaggerated. I tried "kid" and "sleep". Kid has no results and sleep had one for sleep analysis. I must be missing something, or nobody has products for sleep or kids.

</comment><comment><USER3> This is a really cool project! Will definitely be useful. Quick question about what the motivation behind the project was.

</comment><comment><USER4> Why are they MIT licensed? That's a weird license to use for art assets. Why not Creative Commons?

<comment><USER5> CC got rid of their non-attribution v1.0 licences in 2004, so since then there has been three options for people wanting to release art without requiring attribution:

\- CC-By but include an extra note allowing people to omit attribution. This is hassle and may not be legally ok.

\- CC0. This comes with other affordances you may not want

\- Use some slightly inappropriate code licence like MIT

<comment><USER6> > CC got rid of their non-attribution v1.0 licences in 2004, so since then > there has been three options for people wanting to release art without > requiring attribution:

But MIT requires attribution as well:

> The above copyright notice and this permission notice shall be included in > all copies or substantial portions of the Software.

<comment><USER5> IANAL but my understanding is that the legal interpretation of that is that the copyright and permission notice doesn't (need to) include the name of the copyright holder.</comment></comment></comment></comment>


Complete List of Incubators and Accelerators (like Y Combinator) - <AUTHOR> http://launch.is/blog/complete-list-of-incubators-and-accelerators-like-y-combinat.html

<comment><USER2> Great list, thanks for the post/link. What would really help would be a deeper list of comparisons that included information such as Funding structure / Equity requirements / Submission vs Acceptance, etc. The more information we can get out there about these Incubators, and Accelerators, the more competitive they become individually to each other. Also with this type of information as a baseline, other place looking to exploit similar market structures will have a better idea of what needed at a minimum. By getting the information in one place (a 100% solution) and having stand side by side in comparison, incubators, and their respective 'solutions' that become funded may just start sprouting up all around the world addressing issues that we may never have known existed, and have never thought to address. Anyways, it's just a thought (and it may already exist -- 'incubator comparison chart' is about chickens & incubator / accelerator comparison chart results in nothing specific either.)

</comment><comment><USER3> Start-Up Chile is missing. 20,000,000 CLP and meaningful contacts in industry and government in exchange for no equity is a great deal, possibly the best one out there.</comment>


Ask HN: The best road to travel? - <AUTHOR>

Hi guys,<p>I am planning on take a month off soon and renting an RV/campervan and want to do a bit of a road trip. As a group of well travelled people I just wondered where you recommend I go? Thanks! <comment><USER2> The East Coast of Australia is the obvious choice. Start in Sydney, lots of cool coast up to Byron Bay. Chill there a while, hit the Gold Coast for some surfing, into Brisbane, do a Fraser Island trip, then head north to Airlie Beach where you'll get certified to dive (if necessary) and head out to the Great Barrier Reef. Maybe head up to Cairns to get the tick before heading back south. It's a steak-eatin' Toohey's swillin' good time.

[http://blogabond.com/CommentView.aspx?CommentID=14](http://blogabond.com/CommentView.aspx?CommentID=14)

South Africa has a similar route from Cape Town to Durban, but with more getting robbed at gunpoint. Seattle to San Diego on the 101 works too, substituting cold water for warm and rain for sun.

Good luck!

<comment><USER3> If you're going to do Seattle to San Diego, make sure you're on CA 1 for as much of the California part as possible. 101 in California is a drab, boring drive.

<comment><USER4> True from Sacramento onward, but north of there it goes through Shasta et al and is quite pretty.

</comment></comment></comment><comment><USER5> Go on I95 from New York City to New Haven, CT. Should take about a month.

</comment><comment><USER6> I think you'll find a lot of inspiration here:

[http://www.outsideonline.com/adventure-travel/road- trips/Ame...](http://www.outsideonline.com/adventure-travel/road- trips/Americas-Best-Car-Touring-Roads.html)

and

[http://www.outsideonline.com/adventure-travel/road- trips/Out...](http://www.outsideonline.com/adventure-travel/road- trips/Outsides-2014-Summer-Road-Trip-Guide.html#slide-1)

</comment><comment><USER7> In America?

I found the coastal route between San Fransisco and Los Angeles to be stunning. A road right on the cliff edge by the water. Amazing views. I don't recall name of the route but it shouldn't be too hard to find.

In Europe I would suggest something like traveling in Cornwall in The UK or along the French riviera. Both are well worth a visit. Better in the summer or late spring though.

<comment><USER8> This is the California State Route 1. [http://en.wikipedia.org/wiki/California_State_Route_1](http://en.wikipedia.org/wiki/California_State_Route_1)

<comment><USER7> That's the one! Cheers!

</comment></comment></comment><comment><USER9> Checkout [https://roadtrippers.com/](https://roadtrippers.com/)</comment>


Android Platformer - <AUTHOR>

So recently I have been working on a project. By recently I mean for the past year or so. It is finally nearing completion, and I wanted to get some user feedback on it.
Basically, the game is a standard platformer. Move around, jump, you know, that kind of stuff. The game is a puzzle platformer though, so things try to kill you while you attempt to solve a puzzle. You collect batteries as you play through the game, and if you use a battery, you get larger, allowing you to move blocks around at the price of your mobility. Click the same button to remove the battery and get smaller.
Thats the basics of the game play, and where the real exciting part begins. I have been working on an inline level editor for the game. It allows you to create your own levels using parts from the game and play them as you edit them. This keeps the game constantly new and fresh.
I was hoping I could get some feedback about what I am working on, any ideas to make it more appealing. I would really appreciate it.
Oh, and I have a video posted here, I am going to update it later tonight with the new level editor stuff and the better UI, but this will do for now :p
http://www.kickstarter.com/projects/1621630581/android-platformer <comment><AUTHOR> Here is the link, since it didn't work in the post [http://www.kickstarter.com/projects/1621630581/android- platf...](http://www.kickstarter.com/projects/1621630581/android-platformer)</comment>


Functional mechanical gear discovered in nature (2013) - <AUTHOR> http://www.smithsonianmag.com/science-nature/this-insect-has-the-only-mechanical-gears-ever-found-in-nature-6480908/?no-ist

<comment><AUTHOR> And here's the paper describing their findings:

[http://www.sciencemag.org/content/341/6151/1254](http://www.sciencemag.org/content/341/6151/1254)

Of course as soon as I submit I think of a better title, mechanical-style gear is probably more appropriate.

</comment><comment><USER2> It's odd -- I'd swear I've read about a gear-like mechanism found in an insect years ago, but I can't find any references now... of course Google is flooded with a million articles rehashing this single news story claiming to be the first.

It may just be that late 2013 feels farther than it is, and I'm remembering this news from then.

</comment><comment><USER3> ATPase is gear-like and present in all living things (to the best of my knowledge): [http://www.psc.edu/science/schulten2004.html](http://www.psc.edu/science/schulten2004.html)

</comment><comment><USER4> This is only a story for those who ascribe some special property to a mechanical gear.

<comment><USER5> Finding things that we have never observed before tends to be its own kind of special property.

<comment><USER6> I guess some people won't be impressed until a bug is found featuring a manual transmission with five fully meshed forward gears, sliding reverse, and synchronizers.

<comment><USER4> Simple question: Why is this a story and not many of the myriad of other clever biochemical solutions found in nature? I can only come to the conclusion I have already stated: Some people ascribe something special to mechanical constructs and consider them to be in some way non-natural.

<comment><USER6> Let me take a wild stab at what might underlie the fascination.

Yes; it relates to the question of what kind of stuff can be encoded in nature's DNA, plus the mechanism that turns genotype into phenotype. Can it generate a wheel on an axle? A ball bearing?

Mechanical constructs are non-natural because they have precise shapes which have to be developed on a macroscopic scale, and some of those shapes have to be detached (rotating parts versus stationary).

There are constructs that come close: bones and joints. We see some perfect balls and discs in these, plus complex surfaces that articulate together tightly.

Biochemical solutions are interesting, but less so because things are not alive at those scales. The joint between two bones is not only a mechanical structures, but it's living tissue. It has to be supplied with nutrients and so on.

</comment></comment></comment></comment></comment><comment><USER4> Previously submitted to HN here: [https://news.ycombinator.com/item?id=6376191](https://news.ycombinator.com/item?id=6376191)

<comment><USER7> Thanks.</comment></comment>


Plugging the CSS History Leak - <AUTHOR> http://blog.mozilla.com/security/2010/03/31/plugging-the-css-history-leak/

<comment><USER2> This is a horrible solution to the CSS history problem that's going to break a lot of layouts and a lot of javascript.

A far better solution, IMHO, is to simply track both the origin page and destination page of clicked links, and only apply a:visited styles to links when the origin page is one that has been previously been used to visited the destination page. This is the solution employed by the SafeHistory plugin. (<http://www.safehistory.com/>)

<comment><USER3> So... Let's say that both proggit and hacker news have articles about plugging the CSS history leak. If I visit the link through proggit, the a:visited style is appled and I can see I've visited it.

Now I go to HN to see what's new and I see a link to the same article. Will my browser make it look like I haven't visited it because I haven't visited it through HN?

That would not please me as a user.

<comment><USER4> I'd agree with you, but then I realized that I already switch browsers and computers so many times in a given day that I have this problem within a site, never mind spanning two.

So I asked myself: When do I use the visited link colors for? And I think the answer is: only when I press the browser's Back button. I want to see where I left off clicking. If I have to click an extra link and say "Whoops, already saw that", then oh well. As long as I know where to start reading when I return.

<comment><USER5> I use four different computers in a day, I'm often taking breaks to read HN or Reddit, visited styling isn't helping me much there.

The place I use it most is for Google search results, particularly when I refine my search and I want to know what are the links I visited in my previous search so I can click only on the new ones.

It's always a trade-off. I think this is a fairly reasonable one.

</comment></comment></comment></comment><comment><USER6> Maybe allow for a same-domain policy so that you can still use the fancy styling for visited links for your own site, since more than likely the website will have that information in their logs already or be able to track it other ways.

</comment><comment><USER7> Would it be enough to allow the browser to arbitrarily style visited links that occur within the same domain of the current page and force these restricted rules on links outside the domain? Although I don't typically do much with visited links, it seems pretty extreme to limit them so much.

Edit: Nevermind, I forgot that the URL destination can be changed. I guess the browser could force style changes to the links if href is changed, but that might be too complicated. It just seems like there should be a more elegant way to fix the problem than restricting what styles can be set for visited links.

<comment><USER8> It's really just limiting the difference in styles between the visited and non-visited. Which, if you think about it, is unlikely to affect too many layouts.

</comment></comment><comment><USER9> I'm sure they do feel they're working hard to compromise on this issue, but their decisions for this will break sites with very careful styling/designs (e.g. checkmarks, font styling, etc). It just doesn't sit well with me that Mozilla feels so strongly (or caves to pressure) on issues like this that they're willing to break so much backwards compatibility.

I would love to see them make this optional and turn it off by default. It's a paranoia thing that people have lived with forever, and the most concerned people could turn on this mode if they ever need to do so.

<comment><USER10> It only seems like paranoia because widespread, highly-publicized abuse of history sniffing hasn't started yet. I'm happy they've jumped onto this grenade before it exploded.

The most valuable thing Mozilla just did was to send a signal to the market that history sniffing is going to be unreliable, and that ad networks shouldn't invest time and money into exploiting it. The scariest thing about history sniffing was the idea that some large company would adopt it and create pressure to keep the vulnerability there forever, as part of how the Internet works.

<comment><USER9> Yeah, I know it's valuable to put out some solution to this, but I would have preferred more options discussed on how to prevent this rather than choosing an option that breaks presentation backwards compatibility.

I know I have the minority opinion on this, so I have to speak up or that opinion will go unheard. I prefer to avoid breaking backwards compatibility for presentation as much as possible. I'd much rather some approach be tried/found that isn't quite so inelegant as this one.

<comment><USER11> Many, many options were proposed. Look in the Bugzilla entry (#147777) for it. There were over 241 comments in that bug report alone, not counting dupes. Many of those comments were proposing alternatives.

</comment></comment></comment></comment><comment><USER12>
         Firefox already allow you to disable all visited
         styling   (immediately stops this attack) by setting the
         layout.css.visited_links_enabled option in about:config
         to false.

I would rather they stop here. Don't break things for everybody for something that most people consider to be a non-problem.

<comment><USER13> Most people consider password security a non-problem (see <http://news.bbc.co.uk/2/hi/technology/3639679.stm> ). Should we stop caring about XSS? Or passwords being stored as plain text?

</comment></comment><comment><USER14> How about something like this:

Does the CSS for span.test change if the link is visited or not?

Also, this will be very awkward when the style you see with your eyes is not the style that is given to JavaScript.

<comment><USER15> That should be fine. If they make selectors that have an a:visited (and whatever else) take the special code paths it should work fine. The style test in your example is going to be uniform across visited and unvisited unless it's something like:

a:visited .test { /* sneaky style */ }

<comment><USER14> That's exactly my point. If I define:

      a .test {
        color: red;
      }

      a:visited .test {
        color: green;
      }

Then I could for example using jQuery do:

      $('a .test').each(function() {
        if ( $(this).css('color') == 'green' ) {
          console.log( $(this).parent().attr('href') );
        }
      });

Is that incorrect?

<comment><USER16> | When a web page tries to get the computed style of a link (or any of its _sub_ -elements), Firefox will give it unvisited style values.

<comment><USER17> They've probably thought about this, but what about siblings?

a:visited + .sneakydiv { /* ... */ }

</comment></comment></comment></comment></comment><comment><USER18> First, let me say that I entirely follow the technical description of the potential attack they're talking about, and I can imagine ways to exploit it.

My question: is it really worth worrying about?

What's the threat scenario where this leaks appreciable amounts of my privacy ? Note: I'm NOT arguing "my privacy is worthless".

<comment><USER5> I think it's a problem when you may have beliefs that some others don't agree with but which you don't think they they have a right to know.

Here's a simple case: What if your employer was very stuck-up and controlling and the CEO is a crazy {insert religion or lack of here}. They make you log in from home to check your email on their website. Now what if their website sniffed your computer to check if you'd been looking at {insert other religious belief here} and forwarded that information on.

In this case your expectation of privacy does not match the actual privacy case. Most people wouldn't think that looking at a hard-core christian website from home might get them looked at funny by their atheist bosses. This is a case of technology not behaving properly, which is a bug.

You can think of all sorts of cases where there might be negative consequences for you if everyone could view your at-home browsing history.

</comment></comment><comment><USER17> For all the naysayers ("this will break so many sites!") a challenge: Can you find even one site that applies a non-color style to visited links? Two? Ten? How long do you have to look to find it/them?

Are any of these 'broken' besides not being quite as pretty? Is any content or feature invisible, unreadable, or unavailable?

</comment><comment><USER19> Their solution to "Layout-Based Attacks" is trivial to get around, _any_ visual style change can be detected, even if it doesn't trigger reflow -- the <canvas> API has pixel accessors.

<comment><USER20> That's incorrect. Web content needs additional privileges to paint web content into a canvas for exactly this reason.</comment></comment>


Microsoft's censorship of GitHub will affect Bitcoin - ur-whale https://decrypt.co/10951/how-microsofts-censorship-of-github-will-affect-bitcoin <comment><AUTHOR> Not trying to defend Microsoft but isn't it just speculation to assume Microsoft is the reason GitHub is the reason the mentioned app and countries were banned?

<comment><USER2> The whole article is a long chain of weak speculations.</comment></comment>


Show HN: Full-text RSS feeds and feed creator - <AUTHOR> https://morss.it/ <comment><AUTHOR> Hello

First post on HN, although I've been following the news for _years_ (via RSS feeds). I wanted to share with you a tool I've been working on for some time, a tool to turn "truncated" RSS feeds into full-article RSS feeds.

The tool can also quickly create RSS feeds from web pages.

It's open source ([https://git.pictuga.com/pictuga/morss](https://git.pictuga.com/pictuga/morss)), you can self-host it or just use it at [https://morss.it/](https://morss.it/)

Hope you'll like it :)

PS. Yes, it works on HN RSS feed as well! ([https://morss.it/https://news.ycombinator.com/rss](https://morss.it/https://news.ycombinator.com/rss)) PPS. Works so-so iPhone Safari. Works better on Firefox or Chrome.</comment>


Ask HN: Beginner/introductory book on Discrete Math/CompSci? - <AUTHOR>

<comment><USER2> Discrete Mathematics and it's applications - Kenneth Rosen [http://www.bookdepository.com/Discrete-Mathematics-Its- Appli...](http://www.bookdepository.com/Discrete-Mathematics-Its-Applications- Kenneth-Rosen/9780071315012)

Once you finish that, get to Concrete Mathematics by Donald Knuth et. al.

</comment><comment><USER3> The Art of Computer Programming, by Donald Knuth

<comment><USER4> _Concrete Mathematics_ is probably a more relevant Knuthwerk.

[http://www.amazon.com/gp/aw/cr/0201558025/n=1/ref=aw_cr_i_1?...](http://www.amazon.com/gp/aw/cr/0201558025/n=1/ref=aw_cr_i_1?qid=1306758737&sr=1-1)</comment></comment>


Whisky Web conference - April 13th, 14th 2012 in Edinburgh, UK - <AUTHOR> http://whiskyweb.co.uk/

<comment><USER2> This might be a good opportunity to connect with my fellow Edinburgh based developers. If anyone wants to get together or if anyone from further afar needs a local for a source of information, email in HN profile.</comment>


Crystal 0.28.0 Released - <AUTHOR> https://crystal-lang.org/2019/04/17/crystal-0.28.0-released.html <comment><USER2> I've been meaning to kick the tires on Crystal, but haven't find the right project yet. Would be curious to hear how people like using it.

<comment><USER3> I think it's great. If you're a fan of Ruby it's hard not to like. I'd say it competes with go in many respects. If Ruby is your daily driver crystal is perfect for cases where you need more performance or where non blocking io would be a good fit.

<comment><USER4> We are using Crystal for our mail flow monitoring tool at mailflowmonitoring.com - create a free account and you can check it in action. It was a delight to deal with. We also created a Crystal email parser - [https://github.com/amrood-labs/mail.cr](https://github.com/amrood- labs/mail.cr)

</comment></comment></comment><comment><USER5> Been using Crystal on a project that would've been written in basic Ruby.. productivity is amazing. And it has generics! :D [https://play.crystal- lang.org/#/r/6r3e](https://play.crystal-lang.org/#/r/6r3e)

How to get Crystal 0.28.0 on macOS _right now!_ :

        brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/ca8f21cd49a936bf154235b365fa23929f9f688d/Formula/crystal.rb
        # or: brew upgrade https://raw.githubusercontent.com/Homebrew/homebrew-core/ca8f21cd49a936bf154235b365fa23929f9f688d/Formula/crystal.rb

        # start the local playground
        crystal play &; open http://127.0.0.1:8080

<comment><USER6> How much does the syntax differ from ruby ?

Do you think I should learn crystal by porting a smallish ruby CLI app to it, or make one from scratch porting a small bash app ?

I was thinking of doing it in `go` or `rust` but thinking of crystal after seeing this article.

</comment></comment><comment><USER7> > This is a big release that includes ... important changes for the much > awaited ... windows features.

Then the article doesn't say another word about Windows.

<comment><USER8> I know right. But he addresses it in the comments at the bottom of the article.

<comment><USER9> Looking at the comment, I can't figure out what he says about it running on Windows.

</comment></comment></comment><comment><USER10> Odd, I've really enjoyed seeing Crystal develop but this latest release adds so many features that it feels like the language might fall off my radar again - too much complexity!

<comment><USER11> Just because the features exist does not mean you have to use them.

<comment><USER12> _stares in C++_ ; _stares in Perl_

But seriously, I think C++ and Perl have taught us that if you give programmers the logical equivalent of a Swiss Army Knife, they will use/abuse absolutely every single bit of it to write their programs.

I used to be a big fan of "more than one way to do it", but these days, I'd gladly take "one reasonably clear way to do it that not everyone likes but 'everyone' can live with".

<comment><USER13> > I used to be a big fan of "more than one way to do it"

I used to firmly believe that that was the way a programming language should be. Let me do what I want to do, however I want to do it.

I've finally found myself falling in to almost the complete opposite, with a small addition: "There should be one way to do it, and it should be obvious"

Python mostly scratches that itch for me, but even there it has multiple methods to do the same stuff within the standard library, like list.sort() and sorted(list) [https://medium.com/@DahlitzF/list-sort-vs-sorted-list- aab92c...](https://medium.com/@DahlitzF/list-sort-vs-sorted-list-aab92c00e17)

<comment><USER14> Come to the Lua side and learn to enjoy "mechanisms over policy"

"...A fundamental concept in the design of Lua is to provide meta-mechanisms for implementing features, instead of providing a host of features directly in the language. For example, although Lua is not a pure object-oriented language, it does provide meta-mechanisms for implementing classes and inheritance. Lua's meta-mechanisms bring an economy of concepts and keep the language small, while allowing the semantics to be extended in unconventional ways."</comment></comment></comment></comment></comment>


Mentally Ill Smoke 30% of All Cigarettes - <AUTHOR> http://www.medpagetoday.com/PrimaryCare/Smoking/37203

<comment><USER2> 19.9% of the population is mentally ill? Wow.</comment>


Ask HN: Best search option for a Rails app? - <AUTHOR>

I've been working on a new project lately where a fantastic search engine is crucial. It's a rails3 app hosted on heroku and I'm looking into possible solutions(a rubygem would be ideal) which offer a easy way to have powerful full-text search.
Right now, I'm using acts_as_tsearch which leverages PostgreSQL and performs a basic MATCH query. Though, it's not really pulling back good results(for example, if I search for "create a project" and "how do i create a project" exists as a query, it doesn't find it).
Can anyone share their experiences with full text search, anyone tried out Solr ? <comment><USER2> Sorl with Heroku WebSolr add-on would be the most obvious choice. I use local solr and it works great for my needs.</comment>