They're Taking Over - jellyfish bloom and the future of the ocean. - <AUTHOR> http://www.nybooks.com/articles/archives/2013/sep/26/jellyfish-theyre-taking-over/ <comment><USER2> Her final statement (and in particular her final word) resonated quite strongly with me. It's hard to know where the point of no return is on this issue but I suspect that when it comes (and goes) it will be without fanfare.

It seems fairly clear at this point that as a race we're facing some fairly substantial problems that need to be addressed if we want to avoid major catastrophe, and yet almost without exception the people I speak to about these issues are dismissive and unwilling to make even minor changes to their lives. Nobody is willing to accept responsibility for the problems and everybody believes they will somehow be resolved without their personal intervention. Even as somebody who is genuinely concerned and willing to accept responsibility, there seems to be nothing of worth that I can actually do to help.

The scariest part is that we can well and truly pass the point of no return before we even realise there's a problem to be addressed. This is true for practically all the environmental issues we are facing. By the time we realise how much we've upset a system and that awareness propagates down to a significant proportion of the world's population, the damage is done and we can't do anything to fix it. Some people do notice earlier, and some of those people will jump up and down about it, but nothing real can change until a significant proportion of the population is staring down the Gun Barrel of Consequences. And so we just keep charging towards the bluff.

Her use of the word 'adapt' is quite prescient. Things are going to change; we have so much momentum at this point that it is unavoidable. And as it happens we will just have to ride it out as best we can. The thing that makes me saddest now is not that I might personally suffer (although that certainly used to worry me) but rather that we are going to destroy a lot that is quite beautiful, and once it's gone we cannot bring it back. But life will go on, and one day the world will probably be beautiful again.

<comment><USER3> "It seems fairly clear at this point that as a race we're facing some fairly substantial problems that need to be addressed if we want to avoid major catastrophe"

I understand why this line of thinking is attractive but isn't it based on a fiction? That being; if it weren't for interference from intelligent life, humans, the earth would go on being in perfect environmental equilibrium for all time. In reality the earth's environment has always been changing. Those changes have been taking place since the beginning and many of them were the result of the effects of various living organisms humans included.

So isn't the desire of humans to preserve 'our' environment, in it's present state, in some sense a selfish desire to curtail the inevitable march of environmental change which might threaten the species but would almost certainly happen with or without us?

<comment><USER4> Well, sure, but that's so reductive as to be meaningless. There's a strong element of self-interest in preserving an environment that we're well adapted to, and as some of the changes threatening that environment are anthropogenic, changing our behavior is a perfectly rational thing to do.

</comment></comment></comment><comment><USER5> Well, it seems that we humans need to figure out how to do what we do best - Eat a species back down to acceptable numbers.

Last time I tried jellyfish tentacles (American Chinese food restaurant), they were rubbery and very chewy - Maybe flavor them and make a new gummy worm substitution? Lasting longer than a jaw-breaker?

<comment><USER6> Exactly. If there are really tons of these things, why don't we find a use for them (cold as it might seem)?

Food, (Animal food, human food. What can they be processed into, do they contain any useful nutrients or protein, if so, blend them up, add something to incapacitate the stingers, add flavour and et voilà: Soylent jellyfish!), Fuel, Plastic, Medicine...Glue?

I mean it doesn't solve the underlying problems, but they might be a relatively unexplored resource.

<comment><USER7> Fertilizer would appear to be the logical solution. Compost a giant pile of them for six months and apply to fields.

Also let them rot into methane and burn the methane (probably combined with option 1 above).

You can't make a decent compost with pure 100% jellyfish, but added to another waste deficient in different nutrients, it might add up.

The article didn't discuss weaponization of jellyfish, which is the most likely funding source. Shutting down a regions desal and power plants by releasing a short lived poorly adapted jelly is a lot less visually impressive than a bombing campaign, but probably a lot cheaper. Or rather than the animals themselves, dump food for them, perhaps.

<comment><USER8> This would make for an interesting experiment. Anaerobic digesters would presumably make short work of any toxin proteins, and you could probably get a fairly high jellyfish to "other" feedstocks [ratio] while retaining a commercially viable fertilizer (plus plenty of usable methane) as end products.

That said, I doubt that the cost to harvest and transport would be competitive with more conventional feedstocks such as slaughterhouse leavings, crop wastes / stalks, and plain old manure.

Food for thought, anyway. Floating digester platforms, maybe?

[edit: added missing word 'ratio']

</comment></comment></comment></comment><comment><USER9> Of course they're taking over. We are provoking a massive extinction of species in the oceans. Jellyfish are the one group of species we have no use for, so they're taking the free space we give them while enjoying the disappearing of their predators.

<comment><USER10> I didn't read the article but I saw a documentary on the subject. It said that they take over because the reproduce like rabbits, can live everywhere (in the sea), and kill anything they come across. It's not something we caused, or at least there isn't evidence about that.

<comment><USER11> Hm, and after some hundreds of thousands of years to have the opportunity to do this, jellyfish randomly decide to start doing this in the 20th century?

<comment><USER12> According to the article, hundreds of millions of years for the jellyfish to do this.

I share your suspicions about the coincidental rise of jellyfish and modern mankind.

</comment></comment></comment></comment><comment><USER13> I saw the author, my friend Lisa-ann Gerswhin give a talk recently. The startling points I came away with are: 1) There are several strong self- reinforcing loops that dramatically help jellyfish, at the expense of human- valued things -- like fish. 2) Jellyfish are becoming so abundant they're jamming water inlets... to nuclear power plants and everything else. 3) Jellyfish can eat stuff (fish), but nothing can eat jellyfish -- they're a completely different food chain.

<comment><USER14> Lots of things eat jellyfish, or more commonly, their young. We're just killing the predators off.

</comment></comment><comment><USER15> I've been thinking about the next 50 years a lot. Climate change, the state of our oceans, the lack of corporate & human morality to reverse or even slow down the rape and pillaging of our planet.

I don't see any indication that we're not on a path to surefire destruction. Climate change is happening. The sea level is rising. And as this article (and many more) points out- it's a snowball effect. Faster and faster. When will it stop? When will governments actually take notice and do something about it?

I don't think that the earth in 50 years will be able to support nearly as many people as it has now. We're going to see massive migration, famine, and starvation. We'll have to learn to live on our new planet, one that isn't quite as nutritious as this one, has a worse climate, and even less habitable surface area.

I actually have my fingers crossed for something drastic to happen before that. We need a silver bullet. This could be something good like a new energy technology- or it could be something bad like a disease that wipes out 50% of the earth's population. In any case, staying the course is not something I want to do. We're headed right for disaster.

<comment><USER16> Is cheap energy, solar or fusion, one candidate for "silver bullet"?

<comment><USER15> If it displaces fossil fuels, definitely.

It still wouldn't change the tons and tons of nitrogen fertilizer runoff that is going into our oceans and creating the oxygen poor "dead zones".

Nor would it stop every seafaring nation on the planet from overfishing (they all do).

And don't forget all that radiation from Fukashima that's already in the Pacific.

But at least it would help the CO2 problem. It might be too late for that however. The current CO2 is already in our atmosphere, so unless we have a really good method (and the resources and want to implement that plan) to fix it back into the ground we're still going to see it's accumulated effects. Combine that with the already smaller polar ice caps which aren't reflecting as much sun and we might already be past the point of no return.

I dunno, I think we're fucked and there's really no solution other than a drastic decrease in the human population.

</comment></comment></comment><comment><USER17> Incredible. How is this the first time I'm reading about this topic!

This is a lot more concerning than the widely publicized reduction in shark numbers. Though that particular problem is easier to fix.

I wonder if more marine reserves would help resolve some of these problems, by allowing a place for natural ecosystem balance to be restored. Or if rising temperature and acidity is just to prevailing for that to be effective.

<comment><USER18> The loss of shark isn't a different problem, it's just another facet of the same thing.

From Wikipedia:

"[Jellyfish] predators include tuna, shark, swordfish, sea turtles and at least one species of Pacific salmon."

...i.e. a list of fisherman favourites

</comment></comment><comment><USER19> The toxic jellyfish are interesting because they are _so_ toxic, but we don't know much about the toxin.

Here's a YouTube clip of some volunteers who gave themselves jellyfish stings. ([http://www.youtube.com/watch?v=GK_Cl_54Qh8](http://www.youtube.com/watch?v=GK_Cl_54Qh8)) It looks intensely painful!

> It had presumably arrived in ballast water.

I'm kind of surprised that ballast water isn't somehow sterilised - boil it for 30 minutes or have strong UV lamps in the tank with water filtering over it?

<comment><USER20> >I'm kind of surprised that ballast water isn't somehow sterilised

Ballast water probably has too much mass to be boiled cost-effectively. We're talking thousands of tonnes of water in some cases.

UV isn't a bad idea, but probably wouldn't work well for well-protected species like bivalve molluscs. Unfortunately, those are some of the most invasive species that we have -- see Zebra Mussels, for instance.

</comment></comment><comment><USER21> Turtles.

Lots of turtles.

</comment><comment><USER22> Amazing for a species which—baring the box jellyfish—have absolutely no brains.

<comment><USER23> I think the article implies that we helped it... a lot.

Unless you count poison, which isn't that special. Lots of plants use it.

<comment><USER22> They've not had our help for tens of millions of years though.

<comment><USER23> That is besides the point. I think you'd agree that condition now and millions of years ago were quite, quite different. They were held in check by various predators, we eliminated. Shells weaken by acidification of ocean have put new new sort of organism on their menu (or weakened their prey).

The fact that our efforts of only several decades/centuries could return jellies to a state that was 10 million of years ago is astounding.

</comment></comment></comment></comment><comment><USER24> The future of humanity is 99% water.

<comment><USER23> Or 30% more acid in water.

</comment></comment><comment><USER25> great.</comment>


Linode Fremont servers are down - <AUTHOR> https://status.linode.com/ <comment><USER3> Networking outage again. Sigh. So glad I just moved my prod servers to gcloud last week...

To be fair to Linode, the Fremont outages always seem to be caused by HE.net (the "upstream provider"). Used to co-lo in the same datacenter and had issues like this constantly. Not sure what HE's problem is.

<comment><USER4> The right solution is to get two upstreams and BGP.

...

which is unfortunately rather more difficult when you are in a datacenter owned by he.net :( It's possible, though, and I thought linode had done so, I think XO communications is in that building (that could be the other fremont he.net data center, it's been a while. Who owns XO these days? Verizon. I have been out for a while.)

I was in that same datacenter for a while, and I left due to power outages rather than network issues. (this was... man, almost a decade back now; most of that power equipment should have aged out by now.) - but he.net is a budget provider; I used them in my bgp mix for a lot longer...and usually they are fine. But I wouldn't use them without a backup. (he.net and cogent or whatever other cheap bandwidth is available usually is cheaper, and in aggregate, more reliable than a top tier provider on it's own.)

<comment><USER3> Yup, and looks like this was caused by another power outage... had the same thing happen when I was there. Surprised they still haven't added proper backups after all these years.

<comment><USER4> when I was at he.net, the outage reports were all about ATS failures and the like. I mean, switching that much power is serious busines... a lot of the cut-rate datacenters I've been at mostly had power outages when their switching equipment failed, even when they had decent UPS and generator capacity.

Personally, if I were building a cut-rate datacenter with used/unreliable power equipment? I'd build two parallel power systems to each rack. Each customer would get two independent power feeds (and stern warnings to not use more than 80% of one circuit total) (I mean, while new kit is super expensive, used power conditioning equipment can be had on the cheap if you are in the right place at the right time.)

Then, so long as customer buys dual PSU equpment (or their own small ATS, and I've had better luck with 20a automatic transfers switches) they'd be fine.

Of course, I've never gotten the chance to try, (well, I did kind of have a chance once, but I kind of blew it for non-technical reasons before I got to build out a power system of my liking.) so maybe I'm missing something. Maybe the electrician work is more expensive than I think or something.

I'm a little surprised that anyone with any scale still uses he.net for physical hosting; Last time I tried to negotiate with them, at my scale (20kw) they essentially charged $400 for every 1.4kw, (and they gave you a rack with that 1.4kw) which is kindof a terrible deal compared to higher density co- location providers like coresite or BAIS, where your racks are closer to 5kw each, but that rack usually comes closer to $1300 or so.

(Most rackmount servers are power-dense enough to eat 5Kw of power in 42u, with some space over)

This means that after your first few servers, the higher end datacenters are actually way cheaper.

I mean, don't get me wrong, I think he.net bandwidth is a great part of anyone's BGP mix, and I think that he.net hosting is the best deal around if you only have 1.4kw of power and want your own rack (often they will sell you your own rack, 1.44kw of power, _and_ a nice unmetered gigE pipe for $500 a month, which is a killer deal for a rack and a gig. But it's kinda terrible if you are using serious amounts of power)

On the other hand, the he.net remote hands are... some of the best. I mean, they are remote hands and super junior people, with all the problems that come with that, (remote hands is, as far as I can tell, a junior sort of job many places I've seen.) but they are on site, on the ball, and every time I called in, they were right there, and it's free.

Last time I called coresite for remote hands, they said they would charge me $200/hr... reasonable, I suppose, for getting someone junior-ish out of bed, but they had to page the person, and their person still wasn't there two hours later when I was able to arrive.

<comment><USER5> most (normal?) datacenters have A/B/C power feeds. Also east/west network runs. even if you don't have multi-line PSU's you can at least stagger the racks. part of being cut-rate is that they don't have these things :(

<comment><USER4> corsite (and all but the lowest end datacenters) will sell you multiple power feeds... but you usually have to pay substantially more for those feeds every month than you would pay for the same watts out of a single feed, and my experience at the newer coresite locations is that the single feed is reliable enough. (when I was in charge of prgmr, we moved from he.net with single feeds... well, we ended up at coresite santa clara with single feeds. I think there hasn't been a datacenter fault power outage at coresite, in like 7 years, even though I was on a single feed. There were a few outages that were my fault, but that's a different thing.)

I spent some time in the (I think now defunct) SVTIX co-lo at 250 stockton. It was super low-end, super shoestring, in some ways lower-end than he.net - <USER2> they had multiple power systems and would sell you a/b power if you wanted to pay enough for it. 250 stockton was certainly built out to higher standards than the he.net datacenters, though the he.net datacenters were better maintained.

(My favorite "my fault" power outage story was that I would give my friends co-lo access, right? And then I'd call them when I needed remote hands that knew what they were doing. Well, you know how cheap nerds are. One of my buddies shows up with one of those ancient PSUs that have a 110-220 votage switch. My rack was 208v. He had the switch on the 110 setting. It fried my PDU, the same avocent that everyone in the rack was on. The outage wasn't long; I had a spare in the office that was only a few minutes away. It was super annoying, 'cause I had earlier given the man a perfectly good 1u chassis that came with a modern 100-240v autoswitch psu... which he put in. This was his second computer; I would have been happy to give him another chassis/PSU. I was so mad. So mad!

I actually didn't see him for a while... the next time I saw him... I was at a party, telling this very story. He walks in right in the middle. I point and kinda shout 'It was him!" which, yeah. uh, I should not have done that.)

<comment><USER5> heh.. think I had a rack near prgmr at svtix. I used to play a game with seeing how little information I could give them before they unlock my rack (and usually different people working there)

1) ID, rack hall, rack number, company name. 2) no id, name, etc. 3) no id, company name, "I think it was left?"

all worked fine.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> Reddit also had trouble about an hour ago, for about 15 minutes I think. Wonder if it's related.

</comment><comment><USER7> Really dependable until they aren't =(

<comment><USER8> I usually take these in stride. I pay for cheap VPS, and sometimes I pay the price.

<comment><USER9> is Linode actually cheap though? I have a few boxes with a random no-name provider for 1/3 the price and so far they've haven't seen any down time..

<comment><USER8> In my experience they stay very competitive on CPU and memory and decently competitive on disk. At my scale and needs I don't know of a better vendor for the dollar.

I noticed that there were over 1k support tickets created during the Fremont outage (based on the unique ID). This is a pretty sizable customer base and must be terribly impacting to have such a prolonged outage.

Did think it was pretty funny my host had to contact their host to figure out what happened.

> Our team is still in communications with our upstream provider to determine > the cause of this outage.

</comment></comment></comment></comment><comment><USER10> Does it really take over an hour just to figure out why a whole data centre went dark?

<comment><USER10> Well there you go it's a power outage.

</comment></comment><comment><USER11> I've had the most problems with Linode Freemont historically. About 4 years ago I moved most of my stuff to Dallas and have been happy.

</comment><comment><USER12> Looks like it's just come back, one of my servers just woke up.

<comment><USER13> Nice, mine are back too.

<comment><USER14> Not all have come back for me still.

</comment></comment></comment><comment><USER15> It seems this was just FMT1 that went dark

</comment><comment><USER9> the last outage was in Fremont as well. I think I'll be moving my servers to Dallas or another provider..

<comment><USER13> Yeah, I am getting hit by this too. I still want to support Linode but can't if this is going to be a regular occurrence. How long ago was the last outage?

<comment><USER9> about 3 months ago: [https://news.ycombinator.com/item?id=16448100](https://news.ycombinator.com/item?id=16448100)

</comment></comment></comment><comment><USER16> The funny thing is that our ex CTO thinks that using AWS has more disadvantages than having all of our servers in two different regions in Linode. Mind you, he also thought that CDNs were not as useful as serving assets statically from those two servers as well.

<comment><USER17> If you use two different Linode regions this outage shouldn't affect you at all?

The CDN thing is a pet peeve of mine too. Are you even measuring load performance? Where are your customers located? If you're just wanting to throw everything on a CDN "because it's faster" then no it's not very useful at all.

</comment></comment><comment><USER18> This is kinda what a status page is for, not the HN front page - linked being down is nothing new - it's why we moved our stack away to AWS, what, seven years ago? Well, that and the horribly overloaded switches and poor implementation of the Xen packet scheduler that caused unacceptable latency spikes to memcached.

It's great for hosting toy sites that sit on a single box and don't have an uptime SLA - and people saying "well it's cheap" - moving to AWS saved money, as we had to run _big_ linodes for the workload purely for the additional internode bandwidth.

<comment><USER19> Well yeah but then where do you tell your story about moving to AWS?

If it gets upvoted enough to hit the front page enough people must be interested in it - there's a hard low-end cap if I recall, must have at least x votes before it's even considered for front page

For popular services such as Linode it also makes sense as if you're ever thinking "Man I see this all the time on HN" it's probably a good call to avoid that provider</comment></comment>


'Hurtful' Harper Lee and Mark Twain Dropped from Minnesota Curriculum - <AUTHOR> https://www.theguardian.com/books/2018/feb/12/hurtful-harper-lee-mark-twain-dropped-from-minnesota-curriculum-to-kill-a-mockingbird-duluth <comment><USER2> Are they going to drop shakespeare or his works next because of the racist antisemitic language in his works?

When does it end? There are offensive language in almost every work of literature? Of Mice and Men? Scarlett Letter? Catcher in the Rye? Do we shelve them all?

</comment><comment><USER3> Although it stinks it is only one school district in Minnesota (Duluth) and the books will remain in their library.

The reasoning (due to racially insensitive language) is nonsense but there are plenty of books in American literature that could be used just as effectively.

I'm hoping that the teachers in Duluth encourage the students to read the books on their own time.

</comment><comment><USER4> I live in Italy and sincerely hope they are not going to ban Dante's Comedy from school because of its anti-Muslim stanzas! Authors should always be contextualized within the age and place where they lived and created their works.

However, what strikes me the most is the fact they consider literary works interchangeable. It's like of they said, «we are not going to read this book, because the same message can be found in this other book, which uses a more appropriate vocabulary». But the artistic merit of a book does not lie in its anti-racist message alone. There are countless things which make a work a masterpiece: the use of language, the development of the characters, the way things and situations are described...

</comment><comment><USER5> At least you can be pretty sure waaayy more teenagers in that school district are going to read that book now that it's been banned.

</comment><comment><USER6> There are plenty of uncomfortable topics that gets glossed over in high school. Censoring these books at the high school age is great.</comment>


Ask HN: A simple CMS for non-tech users? - <AUTHOR> I've been wondering, is there a simple CMS tool which could be used for basic Web sites for non-tech-savvy users?
I've been using Wordpress for such sites, but it has become a bit over-complex, with a lot of superfluous features which are quite confusing for non-techies.
Ideally, I'm looking for something that would have the following features:
a) Written in PHP and using SQLite database, for ease of deployment and portability. b) Has basic content types: post, page and media (or images at least). Media must be simple and easy to place within the content. c) Integrated contact form. d) Simple and easily modified templating system, preferrably also in PHP.
Any ideas? <comment><USER2> Would anyone be interested in a hosted web service along these lines? I took a stab at extracting a similar set of features from CrowdVine, but I'm not sure if it's worth pursuing.

The site is: <http://big.ly>

My idea was that websites get set up originally by people who want to get under the hood. So I made all of the templates overridable using Ruby's Liquid templating engine.

After the initial setup, they're run by complete Normals. So all of the editing is wysiwyg (through TinyMCE).

Other features are a custom domain and tab/subnav management. I didn't get as far as a contact form, but that was on my list.

</comment><comment><USER3> If you want, a plugin could be written to simplify WPs administration area. It would be easy enough to hide things that you don't want admins to see by default ("n00b" mode), useful stuff that won't break the site ("l33t" mode), and everything available ("hax0r" mode). A custom setting in the user profile would be enough to trigger it.

</comment><comment><USER4> I've found a cool wiki-like software that is fairly simple to use and might fill your CMS needs. It resides within one HTML file meaning good portability, and has a large community attached. However, I forgot the name and spent the past half-hour looking for it.

<http://www.tiddlywiki.com/>

</comment><comment><USER5> I have not seen anything as simple as Wordpress. I am currently using it to create a website builder. It works pretty well.

<comment><AUTHOR> Just a clarification: I'm looking for simple to use, not (only) simple to install.

</comment></comment><comment><USER6> Check out <http://www.cushycms.com/> free and simple CMS.

</comment><comment><USER7> i think concrete5 is all right. It uses a mysql back-end but might be overkill. I know the click to edit stuff works pretty well.

I have noticed that benchmarks are slower as they don't really have a full page cache mechanism, but overall it does a pretty nice job for that niche.

<comment><USER8> were actually working on full static page cache now. -best</comment></comment>


Ask HN: Is Swift worth learning if I'm not into iOS development? - <AUTHOR> Title. <comment><USER2> If it is the right time right now I am not sure about, but inevitably, Swift will be a massive, widespread programming language community. Actually, it already is, but right now 90% of the people using it are iOS developers. However, if you are interested in Swift for Linux and backend development, check out Vapor, Kitura, Perfect, or any of the other web frameworks. In light of the recent 3.0 release, I think it is a great time to get involved and learn Swift.

</comment><comment><USER3> No. Source: I only have seen titles with iOS in them most of the time.

</comment><comment><USER4> Yes. It's a neat language. Runs on linux too.

</comment><comment><USER5> Yes, it's the most interesting new language since Go. It does a lot of things right, and much more importantly it's much better supported and moving much faster. For instance, there's no good go IDE/debugger setup right now (just the other day my boss was complaining that he's %10 as effective as he would be with a debugger, he's exaggerating, but not that much.) Also the way Swift has evolved so quickly makes me believe it's going to be a significant language. I don't think Apple intends for Swift to suffer the same fate as Objective-C (Which was never proprietary and which was superior to things like Java, and came out before Java, but was never widely adopted outside of Apple's ecosystem.)

Right now Swift has Playgrounds, no other language has that, excellent support in Xcode, works across platforms, and the language makes a lot of really good design choices and is improving rapidly.

What more could make a language worth learning?

As for whether it's the best language for you to learn next, that depends on what you have learned in the past. If you've never done a functional language, the next language you should learn is Elixir. Erlang is the only language I know that gets concurrency right, and Elixir is a ruby syntax and nice extensions on top of Erlang. Elixir is the best way to write erlang and erlang is a correct functional language with genuine concurrency (Haskell might also get concurrency right, I don't know, but Go does not and no other language or actor model framework does it right. It has to be in the language.)

If you've only done scripting like Python or Ruby and you want a compiled, heavier or more hard core language to learn, I think Swift is the ideal candidate for the next language to learn.

</comment><comment><USER6> Ask yourself if learning a proprietary language from a company past its prime is the best thing to learn with the time you will spend.

There is plenty of talk about progressive web apps, and how engagement is massively boosted by not forcing an app install on a potential user before they have mental buy in into what you have on offer.

And swift on a server? Just no. Remember Cold Fusion?

Learn Python. Learn Haskell. Learn F#. Hell.. learn Java (disclaimer: I'm not aware of what your current skills are)... But Swift.. worth a quick look and a peering into its syntactic sugar, to be used only when absolutely needed - I.e. you get 100k to develop an Apple Watch app.

<comment><USER7> You do realize that Swift is open source now right ?</comment></comment>


Arriving in Berlin – A map made by refugees - <AUTHOR> http://umap.openstreetmap.fr/en/map/arriving-in-berlin-a-map-made-by-refugees-english-_42855#12/52.4991/13.4926 <comment><USER2> This is a bit offtopic, but Berlin is really beautifully mapped in OSM. In places the details are more than what I would have ever thought of, for example the individual pillars of the Holocaust Memorial: [http://umap.openstreetmap.fr/en/map/arriving-in-berlin-a- map...](http://umap.openstreetmap.fr/en/map/arriving-in-berlin-a-map-made-by- refugees-english-_42855#18/52.51381/13.37946)

<comment><USER3> Adding details to OSM is actually very relaxing. I do it to unwind and kill time sometimes. The job is never done, however, and there is always room for _more_ detail.

<comment><USER4> Can OSM accept 3D laser scanner/cloud point data?

<comment><USER5> Not really. You could jam it into the data model, but it isn't meant to be a clearinghouse for arbitrary data sets where an update is making another sensor pass.

A simple rubric is whether someone standing in the street can reasonably improve the data there, another is to what extent each individual piece of data is interesting in isolation.

That doesn't mean you can't do interesting things with such data:

[http://chris-osm.blogspot.com/2015/09/extracting-building- he...](http://chris-osm.blogspot.com/2015/09/extracting-building-heights-from- lidar.html)

(I realize that someone could reasonably fix some error in some lidar data, but I think the most likely outcome of storing such data in the OSM database is that the cumulative edits would frustrate anyone looking to use the data, to the extent that they would go to the source)

<comment><USER4> Thank you for the reply. I'm always excited to contribute whatever data I can to OSM.

</comment></comment></comment></comment></comment><comment><AUTHOR> The project about page is here: [http://arriving-in- berlin.de/](http://arriving-in-berlin.de/)

<comment><USER6> This has the arabic and persian(I think?) versions. It confused me why it would be in english at first.

<comment><USER7> English is probably the best "common source" that things are translated from/to

</comment></comment></comment><comment><USER8> I love this idea, and hope the refugees settling have a happier life in Germany.

</comment><comment><USER9> Here is what people in Germany say about immigration in a recent survey:

[http://www.atlantico.fr/sites/atlantico.fr/files/u9698/2015/...](http://www.atlantico.fr/sites/atlantico.fr/files/u9698/2015/10/screen_shot_2015-10-23_at_2.18.20_pm.png)

[http://www.atlantico.fr/sites/atlantico.fr/files/u9698/2015/...](http://www.atlantico.fr/sites/atlantico.fr/files/u9698/2015/10/screen_shot_2015-10-23_at_2.40.59_pm.png)

</comment><comment><USER10> [Sigh] Before parts of the comment section turn into a flame war, I'd like to ask that those with inflammatory opinions at least attempt to stay politically neutral here. I'd rather not know about the contentious political positions some of my technical peers have.

Please save any sweeping generalizations for Twitter/Facebook/Reddit :).

</comment><comment><USER11> Nice! Was this done during the Berline refugee hackathon?

<comment><USER7> I don't think so, at least it seems to be completely managed by the two organisations running it & I didn't see it mentioned in context of the hackathon. It also doesn't use a custom-made interface, but is using the uMap service: [http://umap.openstreetmap.fr](http://umap.openstreetmap.fr) (So the biggest need probably is data, not code)

</comment></comment><comment><USER12> I'm living in one of poor EU countries.

I earn less money than they pay for refugees.

Our pensioners get less money than these 'refugees' with Armani clothing...

<comment><USER13> [https://en.wikipedia.org/wiki/MS_St._Louis](https://en.wikipedia.org/wiki/MS_St._Louis)

This is what happened last time refugees were turned away en masse with no option but to return to their home country: they were exterminated. The EU was formed with a "never again" attitude to this kind of catastrophe. There are already over 4 million refugees plus an estimated 6 million displaced within Syria. People have finally noticed that they're already dying trying to escape, often in the Mediterranean. The options are to take them in or send them to their deaths.

This is probably going to happen again when Yemen goes up; it doesn't help that the country is running out of groundwater while a Saudi/Iranian proxy war is being fought in it.

<comment><USER12> Poor jews. I guess they have learned from history and help others now.

How many refugee camps for Syrian people are in Israel?

<comment><USER14> They learned from history alright, just not in the way you think. Israel is one of the best defended states with some of the best social welfare for its citizens. They work six days a week to make it happen, and their public- private partnerships are top notch and generate a massive amount of real innovation (as in - life saving medical technology instead of boredom apps). If every state in the world was as self-sufficient and productive, humanity would be colonizing space by now.

<comment><USER15> They sure are good in colonizing the land of Palestine with moral and monetary support of a western country that sadly forgot how to use their resources for space exploration and are colonizing third world countries since the WWII with government coups.

<comment><USER14> I am not denying that, but you're beating up the wrong bush.

Colonization and exploitation are more than buzzwords, but in the real world they work the other way around. Look at the yearly trade balance between say Chile and South Korea. Chile is basically an enormous copper ore mine, it accounts for 50% of their exports. South Korea exports back finished goods. So who is really exploiting who, and what country is more important to the world? I'd say the imagination of South Koreans and the ability to make high quality products trump the Chileans. That doesn't mean the Chilean people are in any way lesser than the Koreans, but that they need to invest in what produces real value in 21st century - brains.

There is really not much to be gained for Israel by colonizing areas of Palestine, except better security (which is an economic bonus in itself). What I do wonder though - if Israel is magically relocated to an island nation, say in the middle of a trade route like Singapore, what would they be really capable of, unhindered by defensive considerations.

</comment></comment></comment></comment></comment></comment><comment><USER16> What about the millions of eastern / central europeans that have lower wages and worse quality of life and have been denied to work in german markets when the countries have been allowed to join the EU ?

I guess nobody cares. Oh nobody cares either about people that are educated and can't get working visa because EU bureaucracy.

Thanks Germany.

<comment><USER17> worse than getting killed by a bomb?

<comment><USER18> I'd be curious to see the percentage of migrants/refugees that are coming from war-torn regions such as Syria. My understanding is that many come from North Africa or elsewhere. Granted violence is also very high in these areas and the economic situation can be nearly as detrimental to quality of life.

<comment><USER19> I volunteer in a refugee center. Right now about 70% of the people arriving are from Syria. Most others are from Iraq and Afghanistan. If you look at statistics, remember that they often lag behind and currently show a large percentage of refugees from Albania, although that wave happened early in the year and has largely passed.

</comment></comment></comment></comment><comment><USER9> The only good thing about this "refugees crisis" is that it could finally cause the implosion and the end of the EU.

This corrupted blob in which representatives are barely elected has to go away.

<comment><USER20> And replaced by what? A more divided Europe? I know UE is not the United Federation of Planets, but at least it is a step towards it.

<comment><USER9> What was wrong with sovereign nations?

A step towards what? This is the big scam of the 21st century. People think that big blobs are stronger than smaller, more focused and cohesive entities. Smaller countries all over the world are doing just fine.

<comment><USER20> A step towards unified global government, one day, hopefully. You don't need sovereign nations to reap benefits of distribution, and some things are really better centralized (I'd agree that centralization may be the big scam of the _20th_ century - decentralization is the scam of 21st. People somehow forget that decentralized usually means very wasteful.).

UE is an example of a "blob" that is not much more focused or cohesive than individual nations were, but it seems at least like a step in the right direction.

<comment><USER21> Is that your best argument for the end of national sovereignty? Economies of scale?

<comment><USER20> Economies of scale, eventual ending of some unnecessary zero-sum games (a single government doesn't need to maintain much military, nor it will end up in an arms race), getting rid of nationalism, tying people's identity to the whole planet as opposed to an arbitrary subset of it. I don't really see the benefits of keeping national sovereignty. One could think that we should've grown past it already.

<comment><USER22> If a world government decides to spy on its own citizens, the whistleblower will have nowhere to run.

<comment><USER20> I'm assuming at this point we'll grow past the privacy thing as well, but I'm going to upgrade your argument to "if a world government decides to do something evil, the whistleblower will have nowhere to run", which is indeed a concern.

I'm just not sure if having a safe haven for whistleblower is worth keeping around pockets of people pointing guns at each other like we do today. Also, the "safe haven" is something a whistleblower gets for giving a gun to one side to point at another, not at the goodness of any government's collective heart.

<comment><USER21> You're right, that's a relatively minor concern.

How about the concern that the existence of a single government doesn't stop people shooting at each other, as indicated by, oh, say, the Syrian Civil War? Even in the optimal case where you somehow did achieve a one-world government that was democratic and benign (rather than resembling the average government) you would inevitably have groups of people thinking that this is a non-ideal government whose authority should be challenged. In the end you'd just wind up replacing all ordinary wars with civil wars. And the civil wars, instead of being confined to one country at a time, would rage simultaneously in all countries, always.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER23> Interesting. Farsi is not a major language in Syria; more people speak Kurdish than Farsi. Perhaps, and this is just a theory, that some of the refugees aren't actually coming from the Syrian civil war, but are instead attempting to simply take advantage of the largesse of the EU? If these refugees were actual refugees, they'd be in camps along the Turkish border and not applying for (and receiving) long term residency. The concept of refugee is that they go home after the hostilities. In this case, almost zero chance of that happening. It's shameful when adult men flee while many leave behind their wife and children. The women and kids ought to be the ones treated as refugees. The rest of them are simply cowards unwilling to fight for their own country.

<comment><USER24> Have a look at the pictures - it is full of chancers from all over the world.

Even the "children" often turn out to be adults. In this study, 260 of the 309 people investigated were over 18:

[http://www.iofos.eu/Journals/JFOS%20sup1_Nov12/IDEALS%209-12...](http://www.iofos.eu/Journals/JFOS%20sup1_Nov12/IDEALS%209-123.pdf)</comment></comment>


Ask HN: Getting started with JavaScript app development - <AUTHOR>

I've been advised by a prospective employer that local demand where I live (Finland) is exceedingly high, to the extent that I was told just expressing interest in learning mobile dev, especially in JavaScript, increased the chances of employing.
However, being willing to learn, and having at least some basic skills, are a doable step away, and I'd like to get my hands dirty and at least try maybe building a basic proof-of-concept app just to show I can do it.
Unfortunately finding actual "getting started" information that isn't aimed at existing developers, esp. for JS app dev, seems to be more difficult than I expected.
Would deeply appreciate any links, docs, etc. <comment><USER2> Being a begunner myself I can highly recommend these resources: [http://eloquentjavascript.net/](http://eloquentjavascript.net/) [https://github.com/getify/You-Dont-Know-JS](https://github.com/getify/You- Dont-Know-JS)

See also: [https://github.com/vhf/free-programming- books/blob/master/fr...](https://github.com/vhf/free-programming- books/blob/master/free-programming-books.md#javascript)

</comment><comment><USER3> [http://codecademy.com](http://codecademy.com) [http://js.org](http://js.org)

</comment><comment><AUTHOR> I should clarify: I'm already familiar with basic JavaScript, it's more specific stuff about mobile development I'm after.</comment>


Recruiters: Don't say HTML5, you probably don't mean it - <AUTHOR> http://brain.codeharmony.net/dont-say-html5.html

<comment><AUTHOR> Crux of the issue right here:

I've thought a lot about why HTML5 became the codeword for CSS3. I think it stems back to the decision by iOS to ban Flash. iOS friendly web pages needed to use HTML5 instead of flash, so the term "HTML5" came to represent everything that came along with mobile friendly websites. That includes responsive design, and animations that run smoothly without a lot of power. Both those things are in the domain of CSS3, not HTML5.

</comment><comment><USER2> HTML5, to me, is all the wonderful new JavaScript APIs, but I'm an idiot. I've never considered "HTML5" to be anywhere near synonymous with CSS3, but I'm an idiot.</comment>


A Facebook "Bug" Revealed Personal E-mail Addresses - <AUTHOR> http://gadgetwise.blogs.nytimes.com/2009/05/07/a-facebook-bug-revealed-personal-e-mail-addresses/

<comment><USER2> The problem feature "allows users to quickly find out whether people they know are on Facebook and invite them to become a friend by uploading a .txt or .csv file of email addresses."

Facebook would reveal alternate email addresses of a user if at least one matched the .txt list. This bug was fixed.

The feature can still be used to validate email addresses, for example by spammers. Further, many social networks display limited information about the user, which can be useful demographic information to a spammer, if the email address is known (guessed correctly).

This feature is very useful and is critical in quickly expanding one's social network. Unfortunately, it seems it can be easily exploited. How would one prevent misuse? Limiting the number of email addresses checked in the .txt file may be one partial solution.

</comment><comment><USER3> I posted this on the post, but does anyone else think he was looking for some sort of 15 mins of fame?

Emailing the press with other peoples' email addresses without notifying Facebook first seems like it was the wrong thing to do. I'm sure Facebook would've liked to fix it before the press (and spammers) got to it.

Seems like he wanted to guarantee that his name would be in some newspapers</comment>


Learn Enough Action Cable to Be Dangerous - <AUTHOR> https://www.learnenough.com/action-cable-tutorial <comment><AUTHOR> Link is to the free online version. Announcement post is here:

[http://news.learnenough.com/learn-enough-action- cable](http://news.learnenough.com/learn-enough-action-cable)

Enjoy!</comment>


A Dead Dog (Progress Teaching Students FP At CMU) - <AUTHOR> http://existentialtype.wordpress.com/2011/04/12/a-dead-dog/

<comment><USER2> Some schools have been doing it for years. IU's freshman CSCI courses have used Scheme for decades. [http://www.soic.indiana.edu/undergraduate/courses/computer-s...](http://www.soic.indiana.edu/undergraduate/courses/computer- science/C211.php)</comment>


My Grand Experiment: Turning Off AdWords - <AUTHOR> http://boss.blogs.nytimes.com/2011/11/09/my-grand-experiment-turning-off-adwords-2/?ref=business

<comment><USER2> "Stopping the AdWords payments seems to have affected unpaid traffic as well."

Confused. Is this true? Any other experiments have drawn same conclusion like this?</comment>


The Stony Brook Algorithm Repository - <AUTHOR> http://algorist.com/algorist.html <comment><USER2> I just audited this class. One thing to note about this repository is that it usually (not always) includes the odd solutions to the problems in the book. And they _aren 't_ verified by Prof. Skiena, so it would be advised to run the programs locally to verify they actually operate as expected.</comment>


2000 year old Roman lead used for physics - <AUTHOR> http://www.aspera-eu.org/index.php?option=com_content&task=view&id=418&Itemid=98 <comment><USER2> I hope they are careful with the lead. When I was in grad school, there were still memories of a similarly large supply of low-radiation lead salvaged from a similar ship wreck that ended up being stolen for recycling as scrap (I remember hearing this lesson when I was at Princeton, which I believe is where the the theft happened)

Just because physicists consider the lead invaluable and irreplaceable doesn't mean recycling thieves will feel the same level of reverence towards it.

<comment><USER3> What causes "new" lead (whatever that means) to be more radioactive?

I mean, there's nothing really creating lead naturally in the environment, so isn't all lead pretty much the same age?

<comment><USER4> Part of naturally-abundant lead is Pb-210 (Wikipedia says 'trace', but from my low-background colleagues many talks, Pb-210 is a persistent problem). Pb-210 is part of the uranium-thorium decay chain, and it has the longest halflife (22 yr) after thorium.

If someone refines lead, it pulls out almost all of the impurities, except, of course, lead. As Pb-210 is chemically almost indistinguishable from the rest of the lead isotopes.

If, however, someone many years ago refined the lead, much of the Pb-210 will have decayed, lowering the backgrounds. This effect is important enough that even 50-100 year old lead of reasonable quality is worth expending considerable resources to salvage. One group in our lab spent a couple of people-years removing mercury from contaminated 50-100 year old lead .

The really precious stuff is ancient Roman lead, detailed in the article, that was submerged beneath the ocean for millenia. Not only has the 210 contamination decayed almost completely, but it has been shielded from cosmic- ray re-activation.

<comment><USER5> It makes me wonder if we shouldn't be smelting a large cache of high-purity lead today and stashing it away deep underground, for the science experiments a few hundred years hence.

<comment><USER6> Considering the relentless increase of lead production in the past few hundred years [1], with every passing year, old lead is probably becoming more and more readily available, to the point that in another 100 years it might be cheaper to just scrape it off rusted car wheels/etc. than deliberately store it for such a long time. As long as we don't get too greedy with recycling.

[1] [http://historum.com/general-history/21841-world-lead- product...](http://historum.com/general-history/21841-world-lead-production- last-2750-years.html)

</comment></comment></comment></comment></comment><comment><USER7> I remember visiting the Gran Sasso Laboratories during a high school trip (my high school physics teacher had practiced particle physics for a bit before teaching). It was really one of the defining moments as a student, one of the things that led (no pun intended) me to study physics later.

</comment><comment><USER8> Off-topic: I love reading articles that use 2-column format. I think it should be done more often. Although I wished the font would have been a "seriffed" one.

<comment><USER9> Not sure about the down votes here. I think columns are acceptable in digital as long as they are responsive (e.g. 1 column mobile, 2 column normal, 3 column wide).

Why columns? Good-length columns minimize your eye movement and make it less tiring to read.

More than about 10 words per line require you to move your eyes too much horizontally or vertically and you can lose a train of thought etc.

<comment><USER10> > Not sure about the down votes here. I think columns are acceptable in > digital as long as they are responsive (e.g. 1 column mobile, 2 column > normal, 3 column wide).

Which is not the case here. Resizing the browser keeps the same number of columns.

<comment><USER9> I meant in the general case of course. This specific site design, which appears to be from the early 2000s, is older than phones using the "real" internet so perhaps you can forgive them for not making a responsive website.

</comment></comment></comment></comment><comment><USER11> Submitted 5 years ago: [https://www.reddit.com/r/todayilearned/comments/pg14g/til_th...](https://www.reddit.com/r/todayilearned/comments/pg14g/til_that_ancient_roman_lead_is_valuable_for/)

<comment><USER12> This has been submitted now because Hackaday posted an article today about low background steel, and it mentioned the use of ancient Roman lead:

[http://hackaday.com/2017/03/27/low-background-steel-so- hot-r...](http://hackaday.com/2017/03/27/low-background-steel-so-hot-right- now/)

</comment></comment><comment><USER13> One thing I don't understand. Surely the lead atoms are much older than 2000 years - it is not like the Romans "created" the lead via nuclear fusion. The lead atoms must date back to the formation of the earth and beyond.

Therefore, the Romans merely concentrated these lead atoms into one place. But why hadn't all the unstable lead atoms decayed already long before? Why does it matter if the lead ingot is ancient or not, the actual lead matter is very ancient regardless?

<comment><USER14> Pb-210 is a lead isotope that's a byproduct of uranium decay. When mined, all lead contains some Pb-210 as a result of U238 decay[0]. The lead can be refined to remove the U238, but not to remove Pb-210. So all 'fresh' lead contains some Pb-210 with a half-life of 22 years. If you use this for shielding in your experiment, you have to deal with its natural radioactivity.

(Now, what confuses me is how the Romans removed U238 from lead, because they must have done so in order to end up with lead that could decay over 2000 years. Maybe it happened as part of the smelting process.)

[0][https://www.scientificamerican.com/article/ancient-roman- lea...](https://www.scientificamerican.com/article/ancient-roman-lead-physics- archaeology-controversy/)

<comment><USER15> Most old lead objects are cast, casting is a process where a liquid is poured into a mold where it is left to solidify. Presumably because both the melting crucible and the cast are under the influence of gravity while the metal is in the liquid phase the heavier elements will sort themselves to one end of the end-product, maybe even into the flues that will get cut off from the final product.

It would be much harder to keep the U238 evenly distributed throughout the lead during such a process.

</comment></comment></comment><comment><USER16> I didn't see this in the article, but is it correct to think that if the isotope decays after 23 years, the reason that natural lead contains it is because natural lead itself is some kind of decay product.

<comment><USER17> The isotope in question (Lead-210) is indeed a decay product of Uranium-238. However, not all lead is Pb-210, most of it is made of other, stable isotopes.

Since mining and refining lead removes the U-238 that would decay into more Pb-210, if you wait long enough (and shield it underwater), you get almost radiation-free lead, as the Pb-210 existing at the time of mining/refining eventually decays into non-radioactive Pb-206.</comment></comment>


Police ID Man Found In Water: Dr James Martin - <AUTHOR> http://bernews.com/2013/06/police-id-man-found-in-water-dr-james-martin/

<comment><USER2> I just read his selected bibliography on wikipedia ( [https://en.wikipedia.org/wiki/James_Martin_(author)#Publicat...](https://en.wikipedia.org/wiki/James_Martin_\(author\)#Publications) ) and I somehow never realized that all these foundational works of computer science were written by the same guy. "Design of real time computer systems" in particular is part of the bedrock of modern computing.

<comment><USER3> We referenced that book heavily back when we were building a real-time medical data acquisition system. I still remember some of the charts from it. Like optimizing for lowest disk latency.

</comment></comment><comment><USER4> Seems it's time for the HN memorial black navbar to make its appearance.

Dr. Martin will be missed.

<comment><USER5> I know your comment is well intentioned but it still rubs me the wrong way so I apologize if I offend you in any way since that is not really my point.

It feels wrong to tell the web master that he should modify the website to pay tribute to somebody you think is important (whether true or not I'm not sure it is really relevant). Especially considering that I myself do not know who the guy is and yet I've been in the field for 10 years (call me stupid).

The whole comment feels quite presumptuous. Honoring Aaron Swartz seemed like a no brainer but other than that is it really OK to put PG on the spot. What happens if he decides not to do it, will you think of him badly?

<comment><USER6> You are over-thinking it.

<comment><USER5> That is funny. I've been told many times that I over think stuff. Turns out a lot of time it is true and it probably is this time.

</comment></comment></comment></comment><comment><USER7> I never seem to learn about these interesting people until they're dead. :-/

<comment><USER3> His work hasn't been so much in the collective consciousness in the last 25 years or so, so it isn't that surprising.

</comment></comment><comment><USER8> His donation to Oxford funded some of my early postgraduate work back in 2009.

I actually had an opportunity to meet with him a couple of weeks after I began the work, but not knowing who he was (or being particularly computer-history savy at the time) I didn't push it. In hindsight (not just today, but generally) I've always regretted not realizing who he was at the time.

<comment><USER9> Some interesting stuff going on in that part of Oxford: [http://www.oxfordmartin.ox.ac.uk/videos/](http://www.oxfordmartin.ox.ac.uk/videos/)

Also (from a comment in the article) [http://www.youtube.com/watch?v=e9JUmFWn7t4](http://www.youtube.com/watch?v=e9JUmFWn7t4) is an interview with the man himself and [http://www.jamesmartin.com/film/](http://www.jamesmartin.com/film/) a longer video.

</comment></comment><comment><USER10> I'm really sad to hear about this. Dr Martin was an amazing man. His work helped change our world, but few people have heard of him.

Most of all, I respect his philanthropy. He cared about cost-effective philanthropy. He focused on the most important problems facing humanity -- I think he more or less bankrolled the field of existential risk research.

</comment><comment><USER11> This is terrible, sad news. "The Wired Society" is a milestone in technology writing—James Martin predicted today's world with eerie prescience, all the way back in the 1970s. I read that book as a child, and I still go back to it and marvel at how right he was.

Rest in peace, Dr. Martin. You made a dent in the world.

</comment><comment><AUTHOR> Indeed it is. Its sad, looks like this was accidental. This guy was a legend.

</comment><comment><USER12> "Dr. Martin's lifeless body was found floating in the waters ... at this time there does not appear to be any suspicious circumstances."

What?

<comment><USER13> He was 79. It's very possible he drowned without any foul play.

<comment><USER14> people fall down by accident sometimes, and it's more dangerous for older folk to fall, no?

</comment></comment></comment><comment><AUTHOR> Oxford Martin School pays tribute to Dr. James Martin on its website's front page:

[http://www.oxfordmartin.ox.ac.uk/](http://www.oxfordmartin.ox.ac.uk/)

<comment><USER15> This is a great example of why Bootstrap can be good. That site uses Bootstrap, if it wasn't for the buttons would anyone have noticed that?

Anyway, RIP Doc!

</comment></comment><comment><AUTHOR> Surprised this story has not yet been covered by any major news outlets, tech or otherwise.

</comment><comment><USER16> Tragic

</comment><comment><AUTHOR> The title should of read:

Creator of Rapid Application Development, Dr James Martin, dies at 79

<comment><USER17> Somehow that's not nearly enough.

Amazing that he was able to buy his own island and donate $100MM+ to Oxford University.

<comment><USER18> Hi, this is a small nit about your comment: You say "... $100MM+ ..." but how is that different than "... $100M+ ..." ? If it's not different, then why double the "M"? Thanks! (Perhaps it's just a typo.)

<comment><USER19> Different areas have different conventions, leading to some confusion. Finance uses MM for a million, the physical sciences use M. In the the finance case 'M' comes from the Latin 'mille', meaning thousand, so MM means thousand thousand. In the sciences M means Mega (from the Greek meaning 'Great'), which is the SI prefix for 10^6

</comment></comment></comment></comment><comment><USER20> He figured out that P=NP and the CIA had him whacked.</comment>


Workflow for iOS - <AUTHOR> https://itunes.apple.com/app/id915249334?mt=8 <comment><USER3> Ok, I thought it was an Apple product because of the (apple.com)

<comment><USER4> Frequent error with App Store links.

<comment><USER5> That could be resolved by clarifying (3rd party app) in the title.

<comment><USER6> Or "Show HN:"

<comment><USER7> This is assuming the OP is the creator.

</comment></comment></comment></comment></comment><comment><USER8> Downloaded – and then tried to implement the three work workflows I use on my iPhone all the time. (That I can think of off the top of my head).

It succeeded in two of the three cases and on the third it still reduces the number of clicks.

1). Choose a selection of photos (of the kid) and txt them to the grandmas.

2). Take a photo, then open Swarm so I can do a photo check-in without using Swarms photo panel.

3). Reduce brightness to the minimum, set volume to minimum, turn on Do Not Disturb mode. This failed because Workflow has no access to Do Not Disturb. It can act as a brightness/volume preset though.

On the whole I think that's a fantastic success rate, and I'm already a fan.

<comment><USER9> I wanted to create a workflow to turn on bluetooth and turn on personal hotspot (and vice versa), but couldn't make it do either step.

I also want a 'weekend mode' workflow which shuts off banners and lock screen notifications for my work email (a poor man's Blackberry 'profile' feature), but I couldn't do that either.

I'm sure I'll find uses for it but I haven't yet. It's undeniably clever and I'll keep playing, but it's not the magic scripting bullet I've been craving.

Edit: I created "loud" and "quiet" volume preset workflows; they're pretty heavy - tap the home screen icon and the phone launches two apps, sets the volume, then leaves you in the workflow editor. Feels clunky for simple stuff like that. I think it's of more use for orchestrating multi-app flows than doing simple tasks like that. It's actually quicker to just press the volume key a few times.

<comment><USER8> So far the double app doesn't bother me (we'll see if it gets wearing ) - <USER2> staying in Workflow is clunky, so I finished my "Nighttime" workflow with opening safari. There's at least some chance I'll want to do that, and it's certainly better than staying in WorkFlow.

</comment></comment></comment><comment><USER10> I don't see it called out in the app's marketing, but one of the neat possibilities of having a separate app on the home screen is that you should be able to launch a workflow through Siri. And I think that's very cool

<comment><USER11> Unfortunately you actually can't - Siri doesn't include web clips as apps it can launch. We're working on it.

<comment><USER12> UPDATE: I was able to get siri support by creating a contact called "Workflows" and adding the x-callback-url as a URL for the contact. I can say "Workflows" to Siri and she will show me a list of all my workflows, and I can select the one I want from a list.

The only tricky part was getting the x-callback-url out of the data: URL since the contacts app won't open data: urls. Yay!

PS. I LOVE this app so much. Thank you thank you thank you thank you!

<comment><USER11> This is incredibly clever. We have a completely separate, but equally crazy hack that we were thinking of using to implement this. But well done. And so glad you like it :)

<comment><USER12> Any plans to integrate something like this into the app?

</comment></comment></comment></comment></comment><comment><USER13> Congrats on the launch! Ari and Conrad (founders) are both Thiel fellows and have been working extremely hard to get this out ever since they won MHacks III this year. Great job!

</comment><comment><USER14> There's video on the developer's website that provides somewhat of a demo.

[https://my.workflow.is](https://my.workflow.is)

<comment><USER15> Wow, that background color rips my optic nerves apart. I feel hurt.

<comment><USER16> It's just blue, what's the problem?

<comment><USER15> No problem — if you look at nothing than a massive wall of THAT blue all day.

</comment></comment></comment></comment><comment><USER17> I missed that when you select 'Actions' to add to a workflow it's actually just the 'suggested' list. Might improve the user experience to let the user know there are much more than what's in that list the first time they go add an action (or maybe that's in the tutorial--but the first thing I wanted to see was the full list to get a sense of what was possible).

</comment><comment><USER18> Apple delayed this app for almost two months, wonder what the developer had to remove to be accepted.

<comment><USER19> I see that the app lets workflows create their own apps on the home screen. I wonder if this had something to do with it? My thought is that it's a web app with a scheme to open a specific workflow. I bet Apple didn't like that.

<comment><USER8> For informational purposes:

The way it lets workflows create apps, is that it creates a data url, that it opens in safari, and l has you bookmark that URL to your home screen. When opened as one of those safari web apps, the javascript on the page auto clicks the only link in the page - one to a URL formated like this: workflow000000://x-callback-url/run-workflow?id=HEX, and bounces you into Workflow

<comment><USER20> What are the security implications of that? Does that mean that any web page can run a random workflow on your iPad, or are the hex strings so long that it is as good as impossible to guess one, or (way worse) is the hex string an encoding of the steps to run?

<comment><USER8> I don't have them in front of me right now but the hex is long. I have no clue if they encode something, but I remember thinking "UUID".

<comment><USER21> The hex in the scheme is one of a list of preconfigured colors for the purpose of theming the launch image. The hex in "id" is indeed a UUID. There is also a "name" parameter.

</comment></comment></comment></comment></comment></comment><comment><USER22> Oh well, pretty interesting app

The workflow I've created let me send the full list of phone numbers or email addresses of a single contact, plus the name, using a plain text SMS

In hope of improving that, I've tried counting the number of items (phones or emails) of the Contact: if 1 then the SMS is create right away, if > 1 then I can select which item(s) I want to send

However if I want to detect the case when the Contact doesn't have email address (for example) I got a error message, not nice at all

It looks like trying to use "Get Email Addresses from Input" \--> "Set Variable" \--> "Count" does not support an empty list... anyone can help please? :)

</comment><comment><USER23> Did iOS 8 add something that allowed this app to be created? Tasker has existed on Android for years, so I assume that there had to be a technical limitation as to why a comparable app wasn't created for iOS.

<comment><USER24> Yes! iOS 8 added App Extensions:

[https://developer.apple.com/app-extensions/](https://developer.apple.com/app- extensions/)

</comment></comment><comment><USER25> What's the over/under on when App Review yanks it from the store?

<comment><USER11> Workflow guy here - you have nothing to worry about, we've been in contact with App Review for months.

<comment><USER26> Commenting here for posterity. My money is, unfortunately, on Apple screwing you guys over within the next year. Likely right before they launch a tool of their own that only does a fifth of what Workflow does.

</comment></comment></comment><comment><USER27> This app is amazing. If you have Pythonista[0] (a somewhat similar app, but with Python scripting) you are in for a pleasant surprise. It's integrated through the URL scheme.

Get both, even if they seem similar. It's like the combination of shell scripting and Automator for Mac, except better than Automator and easier than shell scripting.

This is also featured as an Editor's Choice, which means it doesn't look like it's going away.

[0]: [http://omz-software.com/pythonista/](http://omz- software.com/pythonista/)

</comment><comment><USER28> Great functionality goes way beyond IFTTT. Question: why doesn't the list of apps in Open App action include all my apps? Really wanted to include my Harmony Logitech app.

<comment><USER29> Likely because they can only open apps that implement URL schemes.

</comment></comment><comment><USER29> Would be awesome if beacons could trigger workflows :)

Very impressive app though. My first workflow was a Share Extension to print stuff to PDF and save it into iCloud Drive.

</comment><comment><USER30> Downloaded right away! Great for submitting expense report emails and I don't have to push all that data to the IFTTT now.

</comment><comment><USER31> To develop an app like this one needs to know right interfaces that iOS Developer library offers to control other apps.

Suppose I had this idea, how can I figure out the correct API reference documentation. I tried it with various keyword searches and I couldn't find it. I find this the case on any other platform - Windows, Android, and OSX. I wonder how others solve this problem - finding the right reference among ton of documentation.

</comment><comment><USER32> Does anything similar exist for Android?

<comment><USER33> Tasker, for one: [http://tasker.dinglisch.net/](http://tasker.dinglisch.net/) You can make apps of tasks and so on, too.

</comment></comment><comment><USER34> looks very interesting, a local device version of 'if this then that'... i will give it a try.

<comment><USER35> Yes, but with more DIY options - 'Share Availability' is interesting, which loops through calendar invites on a specified day and grabs start and end times

</comment></comment><comment><USER36> Was this built in Swift or Obj-C?

<comment><USER21> Lots and lots of Objective-C

</comment></comment><comment><USER15> This is not available in Europe (yet?).

<comment><USER37> I just downloaded it from the UK. Works just fine for me.

<comment><USER38> UK is not Europe.

<comment><USER39> Not.. sure.. if.. trolling.. or.. not..</comment></comment></comment></comment>


The science wars - <AUTHOR> https://secure.wikimedia.org/wikipedia/en/wiki/Science_wars

<comment><USER2> In undergrad school, a prof in the philosophy department offered a course in 'The Philosophy of Science'. Since I was a double major in math and physics, I signed up for the course. Hearing about this, my physics prof said: "Get your Ph.D. first and philosophize later." That attitude seemed too skeptical to me, and I continued in the course.

First, the readings didn't describe 'science' as I had been learning it in physics.

Second, the prof teaching the course was really mostly a 'religion major' who really didn't know science well even at the level of freshman physics (where I'd been the best student in the class).

Third, the prof had guest lecturers for several of the class sessions. For one, there was a reading for the class. I tried the reading; I honestly tried. When I found a page I just had to conclude didn't make any sense, I skipped a few pages and started again. Soon I was at the end of the reading having found nothing that made any sense. At the start of the class, the guest prof, whom I respected, mentioned the reading, said he'd tried the reading, and summarized: "Let's forget about the [reading]." Agreed!

Fourth, soon there was a test: The prof and I came to similar opinions: I thought that his test was total BS, and he thought the same for my answers.

I dropped the course.

Basically, my physics prof was correct: At least in practice, to philosophize about science, first learn some science.

There can be a reason: The king of science is physics. Can't just sit alone in a small, closed room, figure out the philosophy of physics from nothing and then figure out physics from nothing. Instead, physics took brilliant people hundreds of years, and there were many starts with nearly all false and only a tiny fraction good. Can't just guess at what makes the good starts and, instead, just have to study them and then, maybe, see patterns and then philosophize.

The big deal about physics is that the good stuff works really, really well. To philosophize about that fact, first need to understand the physics. Then when trying to develop a philosophy, some results from physics say this and some say that; a good philosophy has to 'accommodate' these results; and to cook up such a philosophy need to know the results. Net, as the course showed, some of the most famous people philosophizing about science didn't know enough about physics even to get started.

Of the major sciences, physics is the easiest. Chemistry and biology are more difficult to make into 'science'. For the efforts at science in the article, f'get about it: First, it's super tough to make those fields into sciences. Second, it's easy enough to see that the people in those fields are not better at science than the people in physics but much less good because they know next to nothing about the best example of science. physics. Third, got to be quite 'dense' as a human not to see that the people pushing 'post modernism' in science have an agenda that is more political than scientific.

So, struggles about 'post modernism' cannot constitute a "war" about science.

Net, for the article, f'get about the article.

'Disclosure': I graduated with 'honors in math'; in physics had the right number of courses but in one case had the wrong course. So I didn't quite finish a physics major. My Ph.D. is in some topics in applied math. Since much of that math is good for physics, maybe someday I'll return to physics!</comment>


Google removes background image from homepage - <AUTHOR> http://www.google.com/ <comment><USER2> From the Google Blog:

Update June 10, 11:31AM: Last week, we launched the ability to set an image of users' choosing as the background for the Google homepage. Today, we ran a special doodle that showcased this functionality by featuring a series of images as the background for our homepage. We had planned to run an explanation of the showcase alongside it in the form of a link on our homepage. Due to a bug, the explanatory link did not appear for most users. As a result, many people thought we had permanently changed our homepage, so we decided to stop today's series early. We appreciate your feedback and patience as we experiment and iterate

<comment><USER3> Who has a "bug" on one of the most visited pages on the Internet. I don't buy it...

</comment></comment><comment><USER4> Do we _really_ have to report on every freaking small change that happens on the google.com homepage?

<comment><USER5> Yes. Anyone who is interested in making changes to their own website may very well be interested in how changes to the largest website in the world are received by the public.

<comment><USER4> I can understand being excited about a cool pacman game being playable on the google homepage, or something that warrants a discussion on A/B testing, or for that matter, Google _adding_ customizable backgrounds. But saying "Hey, guys, look! Google silently rolled back a blooper!"? Come on.

<comment><USER6> This minimalistic design has long been a cornerstone of Google's brand. That they are changing this (and why) is noteworthy to anybody who cares about design on the Internet.

If you don't like the story, you can skip over it to the next one. :)

<comment><USER4> You misunderstood my comment: I said I actually find the _addition_ of wallpapers interesting. My rant is about linking to the good old page after the fact as if that's noteworthy. I mean, Google was going to remove the wallpaper at the end of the day just like they do with their logo art anyways.

</comment></comment></comment></comment></comment><comment><USER7> Note: this is not visible at all to logged-in users who have iGoogle set as their default Google homepage.

</comment><comment><USER8> Nope, but I think this change might call for someone to write an open thank you letter to Google.

</comment><comment><USER9> They are the new Microsoft, steal and innovate.</comment>


In Changing Face of Beijing, a Look at the New China - <AUTHOR> http://www.nytimes.com/2008/07/13/arts/design/13build.html?em&ex=1216180800&en=a68db2bdfd853acd&ei=5070

<comment><USER2> I feel obligated to comment just because I pass by that monstrosity every day. It's not obvious from the title, but this is primarily a piece on several of Beijing's new architectural showpieces, while trying to interleave China's "growth" and "changing landscape" into the commentary. Since I don't know too much about architecture, I can't say whether it's a good article or not, but I really didn't learn much from this.

<comment><USER3> I think the new CCTV building is great. That being said, I'm reminded of a comment I read ages ago. "Spend a day in China and you can write a book. Spend a few years and you can't think of a single thing to say."

<comment><USER2> I don't see how that statement relates to China specifically.

<comment><USER3> Quote was more intended at the article than your comment. :)

</comment></comment></comment></comment><comment><USER4> _The sensation is comparable to the epiphany that Adolf Loos, the Viennese architect, experienced when he stepped off a steamship in New York Harbor more than a century ago. He had crossed a threshold into the future; Europe, he realized, was now culturally obsolete._

Man I hope China turns out a nice super power. Like a more populous Canada or something.

<comment><USER5> In today's China when the government wants to make a statement, authorities round up a bunch of suspected criminals, put them on trial, and execute them. There is an appeal process. Later that day their appeals are rejected, they are taken to a trailer out back immediately, put on their knees and shot in the back of the head.

</comment></comment><comment><USER6> China's wonderful architecture and fast-growing cities still doesn't, for me, offset its government and its treatment of people.

<comment><USER2> I'm not sure anything can "offset" those things, but you should consider a long duration stay as a first step towards understanding some of the issues around China.

China faces distinctly different problems than the US on so many fronts, that it's very difficult for Americans and Westerners to appreciate even the problems, let alone propose solutions.

That's not to say you can't say what's right or wrong, but wholesale condemnation doesn't even allow one to take the first step.

Update: let me be more specific, since I know the hacker in all of us wants to say "give me all the variables, and I can give the optimal solution". A lot of China's issues stem from thousands of years of culture. Thousands. You can't really get a feel of the core issues without living and breathing China for a few years. And living as an exchange student for a semester in WuDaoKuo while partying in Sanlitun really doesn't count. There are libraries of books on this subject, so I can't hope to do it justice here. In summary: it's much more complicated than just "the government" or "human rights" - it's not ever just one variable in isolation being considered.

ps: think of it this way: what would you say to someone who says "I dislike the US government for its treatment of Native Americans/Alaskans/Hawaiians". I'd think you'd agree, but that's not really an issue that exists in a vacuum. There's historical, cultural, temporal, etc context...and in China (just by being around for thousands of years), all of those contexts are far more complex.

<comment><USER6> I'd say, "At least those problems are mostly in the past now", whereas you cannot say the same thing about China.

Infact, I must admit, China isn't a country I would even feel comfortable about visiting. I am a very vocal proponent of democracies and a critic of how China treats not only its citizens, but journalists both native and foreign and how it uses its economic might to get away with things that other country get sanctioned for.

Tiananmen Square was less than 20 years ago and not that much has changed, I feel.

<comment><USER2> For your first sentence, look up Hawaiian Sovereignty or slavery retribution or head out to any Native American reservation. Or ask yourself why it is that there are more black youths in jail than in college (hint: slavery & discrimination). But I took the bait, these things aren't what I want to discuss because however you define "righteous" (I guess in your world, it's got something to do with x amount of elapsed time), we can banter back and forth with stats and be here all night.

Middle paragraph - I agree with your criticisms. But if you're interested in more than just criticizing from the sidelines, you need to go to China and try to get a feel for the place. At some point, you need to try to fully understand what it is that you're criticizing.

Tiananmen Square - lots has changed since that time. Again, you need to go see to believe.

<comment><USER7> Ask the Tiananmen Mothers how much China has changed. Ask the Uighurs or Tibetans. Ask some of the current crop of Chinese dissidents - the ones currently being harrassed, kept under house arrest, or those who've been secretly arrested, beaten, and tortured. Ask factory workers who are finding that the new labor law gives them little/no real protection from their employers. Ask nail house residents who are being forced out of their homes with little or no compensation to make way for developers with close ties to local officials. You won't read about any of these people much in the local press - either the government mouthpieces or the censored commercial media - and any significant interaction with them will end up with you being branded an "enemy of China" and hounded out of the country.

I have been living and running a business here, in China, for the past several years and I see plenty.

<comment><USER2> You're right, if I ask the most oppressed people in a society, they will tell me everything wrong with the government. I'm sure that's no different anywhere else.

My question is: what do you do about these problems? How do you curb local political corruption? How do you maintain governance of a mostly uneducated mass, while transitioning to capitalism? How do you keep the country developing while minimizing pollution? etc etc etc...throwing stones is the easy part. Building is the hard part.

My entire point is: you won't be able to come up with good, sound solutions to any of these problems without a deep understanding of China, and even then, I doubt there are any really great solutions without side effects.

Edit: but to reply, a lot has changed since Tiananmen. I don't have to ask the Mothers of those killed, I can see it myself. Maybe it hasn't changed as much as you like, but it has changed a lot.

<comment><USER7> Yeah - find some Australians, British citizens, Canadians, etc. who are serving lengthy jail terms or are currently under house arrest for speaking out about environmental disasters, labor disputes, and the like. Especially reach out to the ones who've been beaten and tortured for voicing their views and attempting to organize.

The problem of course is that none of that stuff happens to peaceful protesters and activists. It does happen in China.

Any effort to cast the Chinese government and its policies as somehow morally equivalent to the governments of liberal Western democracies is going to fall flat.

<comment><USER2> I made no such argument.</comment></comment></comment></comment></comment></comment></comment></comment>


Show HN: Run SSH and HTTP(S) on the same port - <AUTHOR> https://github.com/jamescun/switcher?readme <comment><USER2> You can also do this with haproxy. I ran it for a while (I think it was for git). Here is a page about how to do it:

[https://dgl.cx/2010/01/haproxy-ssh-and-ssl-on-same- port](https://dgl.cx/2010/01/haproxy-ssh-and-ssl-on-same-port)

      defaults
        timeout connect 5s
        timeout client 50s
        timeout server 20s

      listen ssl :443
        tcp-request inspect-delay 2s
        acl is_ssl req_ssl_ver 2:3.1
        tcp-request content accept if is_ssl
        use_backend ssh if !is_ssl
        server www-ssl :444
        timeout client 2h

      backend ssh
        mode tcp
        server ssh :22
        timeout server 2h

<comment><USER3> haproxy is truly a swiss army knife. I recently worked on a geographically distributed 300 server deployment, and our ops team ran haproxy on every node just for ssl termination and the operational insight and flexibility it provided.

<comment><USER4> AFAIK, it's the only web server that is able to log when a client first connects. Otherwise, attacks a la slowloris go unlogged as the attack is happening.

<comment><USER5> HAProxy isn't a webserver, it's a TCP connection proxy.

<comment><USER4> Pardon, an HTTP server. It talks HTTP and HTTPS, as well as raw TCP. If you define a web server as something that talks HTTP/HTTPS and also is able to serve static files off the filesystems then, not HAProxy is not that, but this is really splitting hairs.

<comment><USER5> No, it's not an HTTP server. It has that capability to serve a static is almost solely for the purpose of maintenance pages and is severely limited, even to the point of needing to restart the server if you want to update the page.

It speaks HTTP in as much as it needs to to figure out how to forward requests. It doesn't generate return headers for content; it doesn't serve content; it moves streams from A to B.

<comment><USER4> First off, from the HAProxy docs:

> In HTTP mode, it is possible to rewrite, add or delete some of the request > and response headers based on regular expressions.

Second of, it speaks HTTP, and it serves content that it is able to fetch from a content producing backend. In my book it's an HTTP server.

Third off, the difference is so pedantic that I don't think it makes any difference what we call it. We both know what it is, and what it is used for in the context of hosting web applications.

<comment><USER5> We don't call Varnish a web server, and it does quite a bit more with HTTP than HAProxy does.

We don't call a car a truck, even if you can haul things around it it.

Pedanticism is never a good argument against someone. 1) It's an ad hominem. 2) It doesn't actually do anything. 3) If everyone knew what it was, they wouldn't call it a web server.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6>
      > apt-cache search ssh http
      [...]
      sslh - ssl/ssh multiplexer

[http://www.rutschle.net/tech/sslh.shtml](http://www.rutschle.net/tech/sslh.shtml)

I mean, it's cool that you got the exercise of implementing this in Go and all, but I don't see what's new and interesting about it.

(and another implementation in Perl almost 4 years ago: [https://news.ycombinator.com/item?id=2395787](https://news.ycombinator.com/item?id=2395787))

Edit: oh whoops, didn't get to OP's "Why not sslh" section :\ "The result is useful in its own right through use of Go's interfaces for protocol matching (making adding new protocols trivial), and lightweight goroutines (instead of forking, which is more CPU intensive under load)."

Well alright, the first point I'll concede, though I'm wary of the "reinvented wheel" scent, the second point I'm even more uncomfortable with as I think it makes wild assumptions of the kind of environment this tool could be useful in.

<comment><USER7> > and another implementation in Perl

[sslh in Net-Proxy]([https://metacpan.org/pod/release/BOOK/Net- Proxy-0.03/script/...](https://metacpan.org/pod/release/BOOK/Net- Proxy-0.03/script/sslh)) predates that even longer - first release in 2006.

</comment></comment><comment><USER8> I wonder if it hides ssh from an nmap scan. Since it requires a timeout for ssh "since the server waits for a bit if the client send a http request" then scanning for this type of hiding ssh would be really time consuming if it's on a random port hiding behind a fake http server.

I know obscurity can't replace security, but security + some obfuscation could help you a bit for not getting hacked instantly by 0-days. It's easier to setup on client side than port knocking (you just have to set the port) but it's less detectable than sshd on a random port.

<comment><USER9> It's interesting that SSH requires the server to respond with a message upon connection, independent of whether the client sends anything - perhaps hiding the service on a different port was not a strong consideration when it was designed.

On the other hand, HTTP and SSL/TLS servers will just wait silently for the client to initiate the conversation.

</comment></comment><comment><USER10> Nice! I wrote my own version of this in Go about 7 months ago. It's running in production and has been very reliable. You can find it here on my github account: [https://github.com/JamesDunne/sslmux](https://github.com/JamesDunne/sslmux)

I notice you haven't set any IO timeouts on your protocol sniffer. I had to add a read timeout because PuTTY (a Windows SSH client) waits for a packet from the SSH server first before sending any itself.

</comment><comment><USER11> Another interesting and enabling lower-level system tool written in Go.

I don't know if it's because I surf HN , but a lot of really cool "ops" and system stuff seems to be written in Go lately.

<comment> vertex-four It's generally the sort of thing that would be written in C a few years ago, except C is a horrible language, and Go is the first semi-reasonable replacement. Personally, I dislike coding in Go (far too much of my code ends up being manual error checking), but Rust is on the horizon which might subsume a significant part of this space.

<comment> vertex-four A showdead comment says:

> I'm fairly amused that you want Rust after whining about Go's error > handling.

Fact is, Rust's error handling story is quite nice, with plans to get nicer. It has the try! macro which can automatically convert errors into my own error type with the boilerplate outside the function (thus successfully separating success and error paths to a large extent), and chainable Options and Results for when I need those.

With Go, nearly all of my code revolves around handling errors manually, generally repeating how to handle errors several times over, interleaved with the success code, when 99% of the time it's "return an error".

EDIT: Another comment: I'm well aware of Option and try!, etc in Rust. But overall, Rust doesn't mean that you don't have to think about error handling, it just has different mechanisms for reducing the noise in your code.

Indeed, and I said "most of my code is error handling". I didn't suggest I don't want to think about it - I'd just prefer that I can read what a function does without 2/3rds of the lines in that function being error handling, and thus obscuring what the function does in the success case.

</comment></comment></comment><comment><USER12> It doesn't appear to set tcp nodelay, as with most of these forwarders. [https://github.com/stealth/sshttp](https://github.com/stealth/sshttp) does it at the kernel level, much better.

</comment><comment><USER13> I wonder how far you could take this in terms of protocols. I can't think of a good use case yet, but is it at least technically possible to detect and quickly proxy away most common protocols?

<comment><USER14> sslh [1] (which is packaged and included in may linux and BSD distributions) has grown to support HTTP, SSL, SSH, OpenVPN, tinc, XMPP from the same port. It claims it can be extended to filter anything that can match with a regex.

What I find lacking lately is I've mostly wanted to extend the forwarding/routing of ssh connections based on username (or better by identity) to different VMs or hosts, but I have no idea how to achieve that at the moment (without creating dummy users on the sshd server).

[1] [http://www.rutschle.net/tech/sslh.shtml](http://www.rutschle.net/tech/sslh.shtml)

Github: [https://github.com/yrutschle/sslh](https://github.com/yrutschle/sslh)

<comment><USER15> I had a herp derp moment recently after installing OpenVPN then discovering that Nginx refused to restart because port 443 was 'bound by another process' or something like that. This looks like a pretty easy workaround.

<comment><USER16> Do note that 443 is typically the web interface for OpenVPN, not the actual VPN port.

<comment><USER15> I didn't have an IPTables rule allowing the VPN traffic (UDP port 1194) and so OpenVPN falls back to using 443, which triggered the problem. I looked at the workaround and decided not to bother as I didn't really need a VPN, I was intending to use the machine as an Nginx server only.

</comment></comment></comment></comment></comment><comment><USER17> A simple question. How come two programs can run on the same port? How does this being implemented?

<comment><USER18> I haven't read it too carefully but typically something like this would be done by having one program run on the port in question and then it would determine which protocol a given connection is speaking and hand it off to a different port based on config. So your https and ssh servers run on, say, 2000 and 3000 and the protocol recognizer runs on 443 and hands off connections to either 2000 or 3000. See, for example, reverse-proxying with nginx or haproxy.

<comment><USER17> Ya I guess this is the way that they would have implemented.

</comment></comment></comment><comment><USER19> Very interesting, but it's a real shame that you have to stoop to this level to access in order to access SSH from all networks. Interestingly, I guess this wouldn't work where HTTPS is MITM'd.

</comment><comment><USER20> Can this help me to ssh to my servers on DO.

I am behind my institute squid proxy which is a HTTP proxy. All the ports are blocked, all connections has to be through proxy. For https, it uses the connect request.

</comment><comment><USER21> This is neat. What practical applications does it have?

<comment><USER22> From the repo the project creator linked in the README ([https://github.com/yrutschle/sslh](https://github.com/yrutschle/sslh)): "A typical use case is to allow serving several services on port 443 (e.g. to connect to SSH from inside a corporate firewall, which almost never block port 443) while still serving HTTPS on that port."

</comment></comment><comment><USER23> I still don't get the practical advantage of this. As someone said below he/she wrote one and running similar setup in production. Just why? Typicall you access internal stuff over intranet over VPN. How is running both 22 and 443 on 443 in this multiplexing way help security?

</comment><comment><USER24> That's cool. :-)

I wrote something very similar in Node.js at work recently: a JSON-RPC server that accepts TCP and HTTP messages on the same port. I remember being very excited when I realised this was actually possible!

</comment><comment><USER25> I wonder if you could do this with Nginx and the Upgrade header.

<comment><USER26> If you could get SSH to negotiate the upgrade header before initializing its own connection, then you probably could.

I think this could also potentially be done via iptables rules as well, since iptables is capable of inspecting & rerouting packets.

<comment><USER3> A little known fact is that newer versions of openssh support ProxyUseFDPass which allows you to do some protocol negotiation before passing the socket onto to the regular client. [http://www.openssh.com/txt/release-6.5](http://www.openssh.com/txt/release-6.5)

<comment><USER26> Nice. I'd love to see that in practice. Might have to dig into that myself...

</comment></comment></comment></comment><comment><USER27> At weblogic, http, https and t3 (custom protocol) were all on the same port (since '97). No real need for multiple when they all have different negotiation protocols.

</comment><comment><USER28> Anyone knows how nmap -sV (Version detection) would report the open port? HTTP, SSH or neither ?

<comment><USER29> Edit: Looking at the source code [0], looks like all probes that this service matches will be reported.

[0] [https://svn.nmap.org/nmap/service_scan.cc](https://svn.nmap.org/nmap/service_scan.cc)

</comment></comment><comment><USER30> I've been using the same trick with OpenVPN for a while. Perfect to go trough proxies.

</comment><comment><USER31> It's a nice idea, but far from the only implementation. sslh is nice as it doesn't need go, and is packaged for most distros: [http://www.rutschle.net/tech/sslh.shtml](http://www.rutschle.net/tech/sslh.shtml)

<comment><USER32> sslh is linked from his page

</comment></comment><comment><USER33> it could perform better by using splice() kernel calls.

</comment><comment><USER34> Liking the Go, not liking the .gitignore.

<comment><USER35> Why?

<comment><USER34> The .gitignore is a good way to see if a project cares about being precise.</comment></comment></comment>