China Restricts Export of Drones, Supercomputers - <AUTHOR> http://www.wsj.com/articles/BL-CJB-27405 <comment><USER2> What we should all be concerned about aren't the exports. It's the "imports" \-- drones invading our airspace, built by no-name manufacturers and launched by anonymous people, for who knows what purposes.

Even without nefarious goals, a drone can simply malfunction and drop on someone's head, which is already dangerous. But if 1 out of 1000 drones is programmed to do something malicious, how would our legal systems address it? Do we even have a system that could prevent something like that? We've never had to deal with autonomous robots roaming among people before.

What I'm most afraid of is the arms race of drones. It will happen before the AI arms race that Hawking and Musk warn about: [http://techcrunch.com/2015/07/27/artificially-assured- destru...](http://techcrunch.com/2015/07/27/artificially-assured-destruction/)

<comment><USER3> Wow, I don't even know where to begin except.. [1]

There are already millions of "drones" out in the world more then capable of doing all of the terrible things you can imagine and yet they don't because there are easier ways to do evil and people who have the desire to do bad things generally choose the easier route.

I would also like to point out Cars kill 38k+ people per year in the US and could also be used for all sorts of bad things (like running people over) should we be worried about all of those imported cars too? Autonomous cars could be instructed to run over a lot of people! Ban Cars!

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

<comment><USER2> One word: autonomous.

Cars aren't.

<comment><USER4> Most modern cars have more electronics in them than any drone on the market.

The difference is that the auto industry is heavily regulated, and even then you got recalls up to the wazoo.

</comment></comment></comment></comment><comment><USER5> China trying to get tech credibility by restricting exports of supercomputers made using Intel chips? Hilarious.

<comment><USER6> I'm getting sick of the this sort of sardonic racism on HN, and it never gets called out.

I'm from Europe and I can see what's happening. China starts making progress so US starts jeering every twist and turn. Give it a rest already. Same happened way back with Japan and all the jokes made back then.

Here's a story from 2011 about the Chinese building a supercomputer based on its own tech. Name me how many countries have done that? So, can I just ask HN comment people to please stop with the comments like this, it's gone beyond tiresome to annoying.

[http://www.nytimes.com/2011/10/29/world/asia/china- unveils-s...](http://www.nytimes.com/2011/10/29/world/asia/china-unveils- supercomputer-based-on-its-own-microprocessor-chips.html)

<comment><USER7> How is that racism?

<comment><USER6> Why shouldn't the largest economy in the world be able to produce high tech microprocessors?

The suggestion that they'd be banning the export of Intel processors is dumb.

The "Hilarious" is just icing. To me the whole comment smacks of racism. What would you call it? I knew I'd get down-voted for saying it, and I've held my tongue in the past. But it's nearly every article about China now. These sardonic off-the-cuff remarks. It's so accepted here, and it shouldn't be. So I'm calling it out.

<comment><USER8> Just to be clear, I didn't read that as a statement of abstract capability but of fact. China (still the second largest economy in the world by a large margin, btw) is not, in fact, capable of manufacturing leading edge microprocessors. They just don't have the fabs, nor industrial knowledge to build them.

So if they want a supercomputer right now (or frankly at any point in the coming decade or so), they need to do it with chips fabbed in the west. So restricting "export" of that technology back to the west does seem kinda funny to me. No?

<comment><USER9> > _China (still the second largest economy in the world by a large margin, > btw)_

What is the largest?

<comment><USER10> [https://en.wikipedia.org/wiki/List_of_countries_by_GDP_(nomi...](https://en.wikipedia.org/wiki/List_of_countries_by_GDP_\(nominal\))

The EU if you count it as a country, otherwise the USA.

<comment><USER11> I think the use of PPP is more appropriate than nominal - the former measures how much goods and services the country produces while the latter measures how many US dollars those goods and services sell for. A hamburger is a hamburger - Last time I tried it actually tasted better in a Chinese McDonald's than the Aussie counterpart.

<comment><USER10> A hamburger at McDonalds often costs more than in the states. Many things are more expensive here. You want to drive a car? Ah, that will be $60k please. We spent 120 RMB on a bottle of shampoo and conditioner last week..I told my wife that is almost $20!

<comment><USER11> You're in Beijing - that's like someone living in NYC complaining US house prices are $0.9m each. Accurate for where he lives, but cannot be generalised to the entire country as a whole, where median US house price is only $0.2m each. Things are a lot more affordable out in places like Foshan (where I had my Maccas).

EDIT: Reply to below:

You're talking from your Beijing experience and I'm talking from my visiting relatives in Shunde experience...Maybe it'll be hard for us to agree. Rents, Food, Public Transport, Clothing, Education are all quite cheap compared to the U.S. and those goods are what enable people to carry out their day to day lives. Walmart made-in-china goods are naturally cheaper in China than in U.S. House prices, Car taxes, Luxury taxes are part of government policy in managing monetary policy and exchange rates with the U.S. and has as much relevance as the nominal GDP - not much when you're measuring the average person's income and the goods and services they can purchase. And remember, China's population is several times that of the U.S.

<comment><USER10> Please, let's not even get into housing...I can never buy a house here. But at least rents are cheap!

Quality goods in China are expensive period. If you are in a second or third tier city, its even worse. We schedule trips to Hong Kong for shopping...we aren't the only ones also! Cars are expensive all over China as they are heavily taxed. Only food could be considered a bit cheaper, but you have to avoid the low end completely over food safety concerns (e.g. gutter oil).

All in all, I would save money by moving back to Seattle, I think. More to pay in rent, but houses are cheaper to buy, food is more expensive, but groceries would be cheaper. Taxis are much more expensive, but I could actually own my own car and park it legally without paying a whole bunch of money.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> This is silly. They are not acting in their own best interests by doing this. The only thing this does is open up the opportunity for someone else to step in. It's not like they are leading in either drone or supercomputer technology.

It would make sense if they were so ahead of the curve that everyone was clamoring to get the stuff and in which case the restrictions on the top end stuff would make sense but as it is I don't think they're in that kind of position. Manufacturing wise they might be but not in terms of R&D.

<comment><USER13> And the race to build rockets in the US was only about going to space 50 years ago... You might want to read up a bit about the reasons for Chinese industrialization. It's a means to an end. I've yet to read anything talking about China wanting to join the global economy beyond it's internal goals. You seriously think China's end game is building cheap stuff for Western consumers?

<comment><USER12> I didn't say anything about building cheap stuff for "western consumers", those are your words not mine. All I said was their manufacturing capabilities are currently unmatched but they are in no way leading in terms of the cutting edge stuff when it comes to either technology. It just seems counter-intuitive to me that being in that position they are limiting exports of supercomputers and drones.

For that matter I'm really curious which countries are clamoring for Chinese supercomputers and drones?

As for the history of Chinese industrialization I honestly don't see how that matters when it comes to setting export limits. It is purely a trade issue and usually when exports are limited in this fashion it is because the technology is perceived to provide some kind of advantage to whoever has it. Cryptography software comes to mind as a good example of something that the U.S. government tried to control with export laws for a long time. Carrying that analogy forward I don't see how supercomputers or drones provide any kind of advantage since most countries I can think of that could benefit from buying the technology from China do not pose a threat to it and those that wouldn't be buying from China and instead building things in-house are already equal to or beyond China's capabilities. The export limit in both instances is counter- intuitive because nobody wins from this arrangement.

<comment><USER13> So you believe that US manufacturing could equal China's output in both drones and supercomputers if there was an immediate and urgent need for them?

<comment><USER12> I don't think there is a shortage of manufacturing capabilities when it comes to drones and supercomputers in any place that cares enough for any of those two things, U.S. or otherwise.

</comment></comment></comment></comment></comment><comment><USER14> Mac Pro achieves 7 teraflops.

Also pictured in article are toy quadcopters.

<comment><USER15> an Inspire 1 is hardly a toy, it's a professional drone.

<comment><USER14> Professional filming, not a killing machine.

</comment></comment></comment><comment><USER16> If by "restrict" they mean "prohibit", then this unilateral action just destroyed most of the world's hobbyist & prosumer UAV trade flows, which were driven by Shenzhen factories big and small.

<comment><USER16> Looking further, the problem isn't so extreme: [http://www.suasnews.com/2015/08/37585/china-tightens- control...](http://www.suasnews.com/2015/08/37585/china-tightens-controls-on- drone-and-powerful-computer-exports/)

"From August 15, manufacturers of certain powerful drones and computers will have to give technical details to the authorities to obtain a licence prior to export, Xinhua news agency says.

The new regulations from the Ministry of Commerce and the General Administration of Customs are aimed in particular at drones which can fly for more than one hour and at heights of more than 15,420 metres."

So basically, drones powered by internal combustion engines need to be design- certified.

<comment><USER17> So despite the article talking about DJI heavily, none of DJI's products will be impacted.</comment></comment></comment>


About {lambda talk} - <AUTHOR> http://epsilonwiki.free.fr/lambdaway/?view=krakow <comment><AUTHOR> The {lambda way} project is built on two engines, 1) {lambda talk}, a purely functional language unifying writing, styling and scripting in a single and coherent notation, 2) {lambda tank}, a tiny wiki easy to install as a thin overlay on top of any web browser.

« But there are hundred of wiki engines and hundred of languages! Why yet another wiki and another language nobody will ever want to use? } »

Let's talk about it! [http://epsilonwiki.free.fr/lambdaway/?view=krakow](http://epsilonwiki.free.fr/lambdaway/?view=krakow)

</comment><comment><AUTHOR> This page [http://epsilonwiki.free.fr/lambdaway/?view=lambdapub](http://epsilonwiki.free.fr/lambdaway/?view=lambdapub) may be more appealing, but it's nothing but a promotional thing. Not serious. A joke. Please take a look here: [http://epsilonwiki.free.fr/lambdaway/](http://epsilonwiki.free.fr/lambdaway/)</comment>


Call Yourself A Hacker, Lose Your 4th Amendment Rights - <AUTHOR> http://www.digitalbond.com/blog/2013/10/22/call-yourself-a-hacker-lose-your-4th-amendment-rights/

<comment><USER2> This would all have been avoided if he had written "jr yvxr unpxvat guvatf naq qba'g jnag gb fgbc" on his website instead.</comment>


LXC, LXD and Docker – Making sense of the rapidly evolving container ecosystem - <AUTHOR> http://www.flockport.com/lxc-vs-lxd-vs-docker-making-sense-of-the-rapidly-evolving-container-ecosystem/

<comment><USER2> I like the main features of LXD; secure by default (unprivileged containers, apparmor, seccomp, ...), image based workflow (no more locally built rootfs), support for online snapshotting, including running state (with CRIU), support for live migration and a simpler command line experience.</comment>


Google pushes for swift on android - <AUTHOR> http://thenextweb.com/dd/2016/04/07/google-facebook-uber-swift/ <comment><USER2> Come on, that headline is pushing the bounds of credulity.</comment>


How we deal with business cards [infographic] - <AUTHOR> http://blog.mynameise.com/post/3086146716/how-we-deal-with-business-cards The business card problem and the solution we're building on a daily basis <comment><USER3> This seems like it would be a bit of a faff. With physical business cards, exchanging them is as simple as moving a card from your pocket into the hand of the person you are giving it to. You can even collect a whole bunch at once and arrange them in front of you to remember everybody's name at the meeting table. Who really struggles to keep track of physical cards? Insert into holder in alphabetical order when you get back. O(n)

With this there would be at least a couple buttons to mash on the phone, something will almost certainly go wrong with it in the middle of the Big Sales Meeting (sods law), you have to fiddle with your phone instead of looking your new contact in the eye etc etc.

If you are the sort of person that enjoys meticulously tagging mp3 files and has to add every single person they meet to FaceTweetMyspaceLinkedBook then maybe this seems great, but to me this is a solution to a nonexistent problem, that just makes life more difficult.

<comment><USER4> You've not dealt with enough business cards.

You go to a meeting, you get 8 business cards, you have to add notes in the lobby or parking lot so that you know who the decision maker was, who the person was that was driving the initiative, and, the person that pays the bills. Identifying the people that you need to contact while it is fresh in your mind is important. Cards are usually traded at the end of a meeting, but, I've always made it a point to swap cards as early in the meeting as possible so I could take notes. Am I going to take notes on my phone? Probably not. That said, people need to quit using glossy two sided cards. I do have a legal pad, but, it is much easier for me to write a quick note on a card because I don't have to worry about two people having the same initials and did I write down the wrong piece of info, etc.

Would transferring those cards be any easier via phone? probably not. I can write quicker than I can open a card, select the person I'm talking with and enter the notes. Having a quick way to pull up the 3-8 cards I just received to type notes, added bonus. Having a way to add a voice memo that can later be transcribed or translated, additional bonus. Able to integrate with my contact management software, extra bonus as well.

That is half the problem, and, in particular, one that Bump, Google Goggles, this product and many others don't appear to handle well. When I go into a meeting, I have to remember who I promised what, who I need to follow up with and when. So far, dead-tree cards fit this purpose better.

Scenario two, I'm at a bar/restaurant or some gathering, perhaps even <http://ftlhackandtell.eventbrite.com/> this weekend. I know the community there is likely to be technical, they are probably going to be on top of things, but, if I am there making contacts, there's one thing I need and that is a simple, seamless way of getting that data. I've got to carry Bump, Google Goggles, mynameise, and whatever other possible method I can to make sure I can swap info without having to swap a card. Email addresses are difficult to transcribe in loud settings, certain letters can be confused, people have cutesy names that miss a vowel so that it has to be spelled out letter by letter, etc.

"No, that's mgacontrl.ly yeah, megacontrol without the e and o, well, the first o in control, but not the second o, and .ly, but an l before the ., well, our sales staff liked the name"

Then, you have the conventions. In this case, business cards reign supreme. If I'm at a booth, I'm going to walk away with 200-500 business cards. People will hand me cards just to not hear a sales pitch and to get whatever promo goodies are being handed out. It isn't worth my time to get those cards electronically because 50% or more won't be interested and will give enough cues when I call back that they get moved aside. Of the interested ones, then I'll get those input into the system.

While each of these companies appear to be solving a problem, they really need to talk with the people that have the problem they're solving.

I was talking with a client this morning about the very issue. Three-four month android user, stack of 550 cards gathered over the last month. You know she deals with cards?

Lay them all face down on the photocopier, photocopy 10-13 cards at a time, puts them in a file folder to key into her contact management software on the plane to the next convention. She's very technically savvy, but, there are a host of reasons solutions don't work. Even the conventions have moved away from the barcode reader that reads the id badge and then hands you a list of each person you scanned at the end of the show.

I did tell her about Google Goggles for scanning the cards and she's going to try it on the next stack, but, out of 86 cards I scanned, 3 had errors - <USER2> three used serif fonts for the phone numbers. While it is nice for archival purposes, I can't depend on using google goggles at a function (unless it has a way for me to save a copy of the picture somewhere that I haven't seen).

I miss being in sales. :)

<comment><USER5> We print our cards glossy front w/ contact info. Matte back with small qr code containing contact info from front and the remaining area blank for quick notes. If someone wants to retain my contact info they can scan the qr code with one of the dozens of scanners currently available without having to worry about typos, data entry etc. It's also a bit of a conversation starter with those that have never seen one or don't know how they work which can make the meeting more memorable if it's a convention type setting.

<comment><USER4> I don't mind a glossy front as long as I have a matte side. I've used Sanford Uniball Micro blue pens since the 80s, but, at times have had to swap to the bic ballpoint disposable to write on a glossy card. Funniest thing ever was a prospect that had a card printed on actual photographic paper and he said, let me write my direct phone number on the card... after a few tries, flipped it over, still no joy. He ended up writing his number on one of my cards, which meant I had to keep both of those cards together. It was a beautiful card though and after 10 years, it is still in my desk.

</comment></comment></comment></comment><comment><USER4> Some notes regarding your app.

Created card, added logo, meant to add it as the picture, no way to remove the logo, won't allow me to upload a picture of the same name? Actually, won't let me upload at all, Chrome/Mac 10.6.6

Autofill tries to fill in the street number with the City, and the address line gets my street with the number. I'm not sure why you're separating the two fields. You don't ask for my state. The address appears to be incorrect, as I'm in the USA, our street number comes first, so, I'll assume you're not in the USA?

When I try to add my linkedin profile, it says 'Could not add service'. Wasn't obvious that I needed to enter the full url when twitter accepted just my username.

As you get further down and click about.me, the dialog box requires me to scroll up for input, then back down. I couldn't see a way to add my self- hosted blog.

After saving the card on step 2, I am able to upload my photo and deactivate the logo.

I'll give it a try this weekend, however, on android, it is based on email which means I have to hope that the email gets delivered. Does the IPhone app transfer it locally? or still go through your server?

It looks good, pretty easy to navigate. I hope it works out well for you.

</comment><comment><USER6> Saying that an area the 120% size of Central Park is deforested yearly to create business cards doesn't at all follow from what they claim. There may well be 24,000 trees in NYC's Central Park, but the last time I was there it was far from covered in trees. 30,000 could grow in a far smaller space.

That kind of reasoning doesn't inspire confidence!

<comment><USER7> 'Guesstimates'.

<comment><USER6> ... can also be wrong?

<comment><USER7> Very much so - the graphic is very much tongue in cheek though, can be taken lightly.

</comment></comment></comment></comment><comment><USER8> I could see something with NFC being much more productive than this. Actually have a plastic card, and just scan that sucker to each other's phones. This is an interesting idea but still doesn't really get rid of the paper usage because people like to have something physical.

<comment><USER7> We're diving into NFC - although still doesn't solve even half of the problem.

And something physical? Like cassettes? CDs? Newspapers?

<comment><USER8> Sorry about the belated reply, but what I meant to say that something tangible will always have a higher value than anything that is intangible. So while the business cards are really a great idea, it's gonna be a bitch to get people to use them. People prefer to have the cards in their hands, each one representing something individual, while E on the other hand represents the combination of all separate information onto one thing. Also, because business cards are physical, people other than those intended are able to find them and create opportunities. Finally, business cards are like the magic rabbit in my black hat of a wallet. I always seem to be able to pull one out that I need at random. It's less likely that I will find the business card of somebody I'm not looking for, if I'm not looking for a business card in the first place. Business cards help me by making sure I have contacts with whomever I want, whether or not I look for them. The only way I can think of this being implemented is if there is a card randomizer that pops up with a random card each time I look at the collection. I'm sorry if this doesn't make much sense and also I hope that this will be read, as I believe it should be taken into consideration.

</comment></comment></comment><comment><USER9> I like their little cartoon example... "Nice meeting you, got E?"

Just be careful who you ask.

</comment><comment><USER10> There's a typo when under "How do we fix this?", it says "inculding" rather than "including".

<comment><USER7> Fixed! Thanks.

</comment></comment><comment><USER11> You can't scribble on an E.

<comment><USER7> Actually, you can! <http://cl.ly/3s010o3p3O0M0M0I473W>

<comment><USER11> yeah, I saw the vid.... it's not really the same though, is it?

<comment><USER7> Nope. Notes on E get pushed back into the cloud. Notes on cards get stained. ;)

<comment><USER11> touché ;)</comment></comment></comment></comment></comment>


Websrvr – Deploy your websites to cloudfront using dropbox in a jiffy - <AUTHOR> http://www.websrvr.in/ <comment><USER2> How does it work?

<comment><AUTHOR> As soon as you sign up for websrvr, we create a folder named "websrvr" in your Dropbox, any folders added to this will be created as sites on cloudfront. So, you don't even need to login to websrvr after the first setup to create new sites.</comment></comment>


A verbal command line for the world - <AUTHOR> http://swombat.com/2011/10/26/siri-command-line

<comment><USER2> IF Siri can become a CLI for the world, then that is brilliant. But the most powerful feature of the CLI is the pipe - " _passing the output of one program to the next, to make magic happen_ " - and I remain skeptical if something resembling that can be made to work using a voice interface. Basically, I want to be able to say "Find a bus 19 that allows me to be at work at least 15 minutes before my first meeting each day, add it to my calendar and update every day at 9 pm", the equivalent of which is pretty simple in a Unix CLI. But, not having the command line to review and edit, I also need to be able to say this without first carefully considering the exact structure of the sentence.

Being able to control and input data to an increasing number of applications reliably is undoubtedly very good, but considering the many many many failed attempts to replace text entry to describe anything mildly complex suggests that it's not going anywhere.

<comment><USER3> _But, not having the command line to review and edit, I also need to be able to say this without first carefully considering the exact structure of the sentence._

That's no doubt difficult, but you just seem to be implying it can't be done, without giving any reasons why.

 _Being able to control and input data to an increasing number of applications reliably is undoubtedly very good, but considering the many many many failed attempts to replace text entry to describe anything mildly complex suggests that it's not going anywhere._

No it doesn't. Simply that a lot of people have tried something and failed to achieve it doesn't mean anything. Lots of people failed to make flying machines, until someone did.

You may be able to give particular reasons why it is difficult and why you think it not likely to be achieved, but the fact, by itself, that no one has been able to do it so far, doesn't demonstrate anything.

<comment><USER4> "Simply that a lot of people have tried something and failed to achieve it doesn't mean anything."

Yes it does. It doesn't _prove_ anything, but it does _mean_ something.

I'd point out that we've surrounded command lines with a lot of accoutrement over the years, like history, conditionals, and various ways of outputting things such that we can debug our system. The utility of the command line would plunge if we didn't have any of those, and it is completely unclear how to add those to Siri without turning it into simply another programming environment, a voice-activated interface to Yahoo Pipes.

I'd submit that there is a certain irreducible complexity in the command line, and despite how fuzzy and wonderful it may make you feel when using it, wrapping a voice interface around this complexity makes it _worse_ , not better. Or we'd already be doing it. If this is trying to do the mathematically impossible task of reducing a task's complexity below the number of bits it actually has, then yes, it _is_ impossible, too.

<comment><USER5> _I'd point out that we've surrounded command lines with a lot of accoutrement over the years_

I would counter your claims with the simple fact that the earliest command- line interfaces had none of these. A process change only has to offer an incremental improvement over what came before to drive adoption. Those of us who used the earliest shells and the job-control languages that preferred them know that the bar for usefulness can be set quite low and the tool will still be used and improved upon.

<comment><USER4> "The utility of the command line would plunge if we didn't have any of those"

If I'd meant "been eliminated", I would have said that. Nevertheless, I cite the "your mom" argument. "People" are terrified of the _nice_ command line, and we think that they're going to switch to a vastly, vastly more user hostile one, no matter how friendly and chipper it may seem on first glance? If "people" wanted command lines that much they'd already be using them.

</comment></comment></comment></comment></comment><comment><USER6> > The voice recognition is ok. The natural language processing is passable. > But all those are things that can be improved...

These AI fields have been notoriously slow to improve. Apple is great at applying new technology, e.g. the integration mentioned. They may be able to adapt somewhat with all the data gathered (pronunciation, word-usage patterns, typical requests), but I wouldn't expect significant improvements.

<comment><USER7> I expect them to improve because there are obvious, straightforward, practical improvements they can make already. As an obvious example, the NLP is currently limited in terms of the variability of ways to add things to your shopping list. Adding more variants of that would be easy.

The huge amounts of data they're gathering about what people actually use this for is indeed a huge advantage. With that kind of data, they can build a centralised dictionary of common patterns for asking just about anything. Because of Siri's practical orientation, there is no need to build a "generic NLP engine" (which is what you're, quite rightly, suggesting is slow to improve). They merely need to improve the effectiveness of the NLP engine they already have, by making it understand more common patterns. That's achievable through expert-system-like functionality that's existed for 30 years.

In terms of the voice recognition, that has been progressing steadily for 30 years too, and I imagine Siri will benefit from improvements to the technology base, as others will.

<comment><USER8> "In terms of the voice recognition, that has been progressing steadily for 30 years too, and I imagine Siri will benefit from improvements to the technology base, as others will"

Will it progress to a point where ambiguity is reduced to nil? The strength of the command line abstraction is its completely unambiguous interface - do what I say.

The do what I mean interface of Siri could be limited to actions with insignificant consequences - the human brain incorporates the best speech recognition available and still makes mistakes. Any speech AI performing significant actions would need to outperform the brain.

 _edit_ : That is not to suggest AI speech recognition outperforming the brain is not possible. There are probably metrics and methods for disambiguating common sources of confusion which could be performed in the blink of an eye rather than the minutes, hours or weeks later you find yourself thinking "Oh, THAT'S what he said!"

<comment><USER7> _The do what I mean interface of Siri could be limited to actions with insignificant consequences - the human brain incorporates the best speech recognition available and still makes mistakes. Any speech AI performing significant actions would need to outperform the brain._

Or actions which can be undone.

I'd be very concerned if the US army decided to use Siri to control its nuclear missiles. Less so if someone uses Siri to change their thermostat or query their fridge contents.

<comment><USER8> "I'd be very concerned if the US army decided to use Siri to control its nuclear missiles. Less so if someone uses Siri to change their thermostat or query their fridge contents"

Indeed... A command line for non-critical parts of the world.

For launching missiles? Nothing less than a bash script! ;)

</comment></comment></comment></comment></comment><comment><USER9> The only time I'd want a spoken command line is when I can't type; that is basically only while driving (or while dodging being shot/bombed). Admittedly that's a big use case (the driving part), so siri makes some sense there. Otherwise I'll stick to typing -- I _prefer_ textual communication even with another human in the same room, so maybe I'm an outlier.

<comment><USER10> I've been finding myself using Siri for texting even while walking or doing less dangerous activities like driving. I find that I can "type" much faster with my voice, and Siri is damn accurate.

</comment></comment><comment><USER11> The problem is that Siri has the drawbacks of the CLI, without many of its features. Don't get me wrong: as I said previously, Siri gets me excited like no other iPhone feature does.

But the reality is that, like CLIs, Siri has an unforgivably precise syntax, but unlike CLIs it lacks contextual help (tab completion), easy ways to string commands together and encapsulate them as one (pipes and scripts), job control, etc.

Right now, Siri is a poor voice based CLI, yes. But I think in the future -when natural language processing improves- these types of applications will be less and less of a CLI, becoming their own UI paradigm.

</comment><comment><USER12> If Siri is really the equivalent of a CLI for phones, then it's destined to be a niche technology.

The main reason why most users don't use a command line isn't, as the article says, because "most people have been satisfied enough with that [the GUI], so they haven't ever bothered learning to use a command line". It's because command lines are only better for very advanced users and/or people with an exceptional memory.

Fact is, with a command line you don't "talk" to a computer. You actually program it, with a kind of interpreted language and a plethora of libraries (executables). This means that you actually need to be VERY exact in what you write, you have to remember the "magic incantation" in every detail, or it will not work - or, likely enough, disaster will follow.

Vocal commands can be useful for the mass for very simple tasks, if the incantation is very easy to remember. To be able to actually talk to computers, on the other hand, we need actual AI, of the Turing test kind. We aren't anywhere near that for now.

<comment><USER7> _The main reason why most users don't use a command line isn't, as the article says, because "most people have been satisfied enough with that [the GUI], so they haven't ever bothered learning to use a command line"._

They've been satisfied enough with the GUI because the alternative, the command line, was several orders of magnitude harder to learn than the GUI. Siri is comparable, or possibly easier, in terms of learning difficulty.

 _Fact is, with a command line you don't "talk" to a computer. You actually program it_

But with Siri, you talk to it. That's where the NLP piece comes in. "Wake me up at 7am" works, so does "Can you set an alarm for 7am?", etc. The syntax is deliberately loose and not programming-language-like. So you don't need to be exact at all.

<comment><USER13> That's precisely the reason why the CLI parallel falls over, in my opinion.

A CLI is an interface that lets the user communicate using the the computer's language.

Siri is an interaface that [attempts] to let the user communicate using their own language.

It's a fundamental difference I think. Indeed the only thing that Siri and CLIs have is that they are non-graphical.

<comment><USER10> _It's a fundamental difference I think. Indeed the only thing that Siri and CLIs have is that they are non-graphical._

This is actually the similarity that matters. In a GUI interface, you have to page through "commands" to find what you are looking for. In CLIs and Siri, you simply go straight to the command by typing or speaking.

Programmers love CLIs because, after the initial cost of learning the commands, you can do things much faster than a GUI. But, speed of executing commands is less important on the desktop than on a phone, which is why I suspect most normal users don't bother to learn a CLIs.

But when you're on a phone with trying to tell your boss you're running late while coming down a flight of stairs, Siri is going to come in real handy.

</comment></comment></comment></comment><comment><USER14> I loved this quote

>("Add buy ketchup to my shopping reminders" failed, but "Add ketchup to my shopping list" worked)

This is exactly the way I would expect it to work. Would you say to a personal assistant: "Add buy ketchup to my shopping reminders"? It isn't natural. The second phrase is much more natural and was understood as one would expect.

<comment><USER15> The funny thing is that he is clearly thinking like a computer programmer in his first sentence. I wonder if naive users would generally have better results on first contact with Siri, compared to technical users who try to over-structure their commands?

<comment><USER7> You're very possibly right. That said, the "Add ketchup to my shopping list" version only sounds good for shopping lists.

If I wanted a list of work reminders, I might have: "Add send contract to john to my work list." which would be less natural... also, in my mind, what I was adding to my reminders was the task to buy ketchup, not "ketchup" by itself.

Anyway, I'm sure they'll add more supported syntaxes, and in parallel people will learn and adapt to the syntaxes that are actually supported.

</comment></comment></comment><comment><USER16> "When is the next bus 19 coming?"

This might be where the problems will start to surface. I suspect at the moment Siri nows that some keywords likely refer to the calendar, and acts accordingly. If you add bus schedules, you create a big problem - "when" will make Siri search your calendar, which will not be the right database for bus schedules.

Then again this might be easily fixed by simply searching all connected services for "bus 19", but this too might reach a limit of feasibility with a growing number of databases.

Maybe Siri can learn that "bus" most likely refers to the public transport database. It's probably not completely stupid, but it still seems unclear how much it can really do.

Of course having such interfaces in the future would be cool, it is just not clear that Siri is the first step in that direction.

</comment><comment><USER17> I wonder how third party apps would interact with Siri.

"What is the music that is playing now?" Shazam and SoundHound would want to be the service provider for this kind of query. How Siri would select which app to use?

<comment><USER18> Same as android does when you trigger a task that more than one app can handle: it asks you (and you can, off course, tell it to remember you choice so it doesn't bother you again in the future).

</comment></comment><comment><USER19> All this excitement about Siri makes me wonder, would people really talk to their phones in public places? Sometimes social barriers are much harder to overcome than technological ones.

<comment><USER7> I think it will, and Apple have made a brilliant design choice in allowing Siri to fire up when you bring the phone to your ear (and you're not in a phone call). People are already comfortable talking on the phone in public, and it's not immediately obvious to onlookers that the "person" being talked to is the phone itself.

<comment><USER20> I have actually seen people talking on the phone to people just holding the phone in front of them, so there's already precedent for that as well. I don't think social barriers will last long.

</comment></comment></comment><comment><USER21> Siri on Mac desktops would be great. Organize your work and surf the web while eating your lunch, hands off the keyboard.

<comment><USER16> Talking with your mouth full?

</comment></comment><comment><USER22> For some reason, people have missed out on one of the biggest avenues of potential in R&D originated environments like Self and Smalltalk -- _every object basically has a CLI_.

Yes, I'm serious. If you poke around in the Smalltalk environments, you will find not only that everything is an object, but also that _every single object_ everything from complex libraries to the humble character has something like a CLI that you can write little scripts against.

Squeak Smalltalk not only has something like a CLI for directly manipulating objects on a low level, there is also a framework called Morphic which lets you directly manipulate every individual object with a little GUI. It's as if every object also had its own lightweight IDE attached to it.</comment>


Show HN: I made a tiny BBS that only shows the last 15 posts - <AUTHOR> http://glug.bernsteinbear.com

<comment><AUTHOR> Please don't kill it.

Made with Sinatra, DataMapper/Postgres, and hosted on Heroku.</comment>


Ask HN: How to start a startup in field of energy conservation? - <AUTHOR>

<comment><USER2> As someone who currently works in energy here are some practical thoughts in no particular order.

a) Try to partner with someone who has an energy background, or at least try to find an advisor. It's a bit of an odd space

b) To be successful you're going to need to market the company as a way to reduce your energy bill. Since just about everyone pays for energy, you know have a huge potential market.

c) Figure out how long it will take for your solution to pay for itself. That way buyers can view it as an investment

d) it will be faster to grow with a focus on residential, but the big money and the bigger impact will be in commercial. When your energy bills are $1000/mo instead of $50/month 5% savings makes a big difference

e) Consider looking for a partnership with an energy company or looking for government (state, federal, county, city) subsidies. There should be programs that promote energy efficiency/conservation especially if it's "green" energy EDITED to make the post more readable

</comment><comment><USER3> If you have a viable idea then there are lots of possibilities. Incubators/Accelerators like the Unreasonable Institute in the sector are plentiful - if that's what you're asking. Many Universities have incubator programs as well should you still be a student. Or you can join an MBA program in that space and take it from there.</comment>


Chinese Hackers Target Universities in Pursuit of Maritime Military Secrets - <AUTHOR> https://www.wsj.com/articles/chinese-hackers-target-universities-in-pursuit-of-maritime-military-secrets-11551781800 <comment><AUTHOR> Paywall removed: [https://outline.com/s9tgAF](https://outline.com/s9tgAF)</comment>


Racial and Gender Discrimination in Transportation Network Companies - <AUTHOR> http://www.nber.org/papers/w22776 <comment><USER3> The abstract states "[p]eer transportation companies such as Uber and Lyft present the opportunity to rectify long-standing discrimination or worsen it", but the study appears (from my quick glance) not to have directly compared Uber, Lyft, and taxis with the same methodology. The (scant) evidence regarding likely racial discrimination by taxis seems to indicate that Lyft and Uber are much less discriminatory.

</comment><comment><USER4> That matches my intuitive opinion about it. And it only gets worse with the sharing economy. As soon as you choose your peer, it introduced human judgement.

One interesting thing would be to measure which race is the most racist, so we can sensibilize the right population.

Another interesting thing would be to have objective metrics to judge whether a transaction went well (whether the passenger was at the predefined location, on time, and whether the car was used with care).

I'll say it: Sometimes racism is based on a correct evaluation of the risk. So what can we do to diminish the risk?

</comment><comment><USER5> Consider a world where you are assigned a random phrase (i.e. "Correct Horse Battery Staple") when you request a ride. The driver is never shown a name. When they are shown the set of people they could pick up, they are not shown a photo or passphrase until they accept the ride. As soon as they accept your ride, they are shown your passphrase and your photo (the former to ensure that they are picking up the right passenger, and the latter to ensure that a previously vetted passenger isn't cheating and providing their account to someone else / buying a ride for someone else).

Wouldn't this go a pretty long way towards removing obvious sources of discrimination?

<comment><USER6> Not letting the drivers see a location and trying to force them to drive into ghettos where they might get carjacked will probably not go over too well, especially with female drivers.

<comment><USER5> I think this is absolutely true; and you'd want to show drivers locations - <USER2> can't think of any way to obscure this, and it does leave a source for discrimination ("don't drive into the dangerous neighborhoods").

I'm not sure I have any good solution to that particular problem, but surely perfect is the enemy of good, and the human anonymization approach is reasonable low hanging fruit?

<comment><USER6> I'm betting the location thing alone would still keep 99% of the present discrimination.

At some point the question should probably change from

"How can we force Uber drivers to increase risk of losing well-being, wallet, and car in the name of fairness to customers?"

to

"Why are these neighborhoods/people/demographic so scary to working class citizens, and what can we do to fix it?"

</comment></comment></comment></comment><comment><USER7> Interesting, but the standard deviations of the metrics are as large or larger than the mean in every case. Also, there is a lack of trend between independent replicates.

So, very noisy data to say the least. I think their taxi figure in the appendix highlights the problem of discrimination much more clearly than their analysis of this dataset.</comment>


Shocking images show surfer paddling through mounds of plastic trash in Mexico - <AUTHOR> https://www.dailymail.co.uk/travel/travel_news/article-6946683/Shocking-images-surfer-paddling-mounds-plastic-trash-Mexico.html <comment><AUTHOR> Except it's not actually shocking, its sadly expected.</comment>


Pingdom discontinues free plan - <AUTHOR> Just got this email<p>"To ensure the best possible product experience for SolarWinds® Pingdom® users, and to focus our resources and investment on this next phase of our product development, we will no longer offer our free plans as of February 6, 2019.<p>To continue enjoying the benefits of Pingdom, all free users will need to sign up for a paid subscription plan option by this date." <comment><USER3> I've been using Pingdom's free plan to monitor one site for many, many years. I'm guessing that SolarWinds has had this in the plan for a while, as the free tier likely has very few conversions since going from free to paid is a bit of a jump to ~$10/month ($120/year).

For someone who just wants to know if a site is up or down, and has a dozen cheap or free services to choose from (I also sometimes use UptimeRobot), it's not a market Pingdom really caters to anymore.

Anyways, this is also the reason I built Server Check.in[1] a few years back[2]; mostly for my use, and it's been a fun ride! Building a distributed, microservice-ish thing over the course of 7 years has been interesting. Would love to answer questions about it if you have any.

[1] [https://servercheck.in/](https://servercheck.in/) [2] [https://news.ycombinator.com/item?id=4901350](https://news.ycombinator.com/item?id=4901350)

<comment><USER4> What is the tech stack for Check.in?

</comment></comment><comment><USER5> I use WebSitePulse ([https://www.websitepulse.com/](https://www.websitepulse.com/)). After the free trial, they offer a free plan. Unfortunately, they ping your target just once a day. The good thing about them is they don't offer prepaid plans - <USER2> pay for what you use at the end of the month.

</comment><comment><USER6> Check out Freshping by Freshworks - offers 50 checks at 1 min interval & public status pages for free.

Disclaimer: I'm a maker of Freshping ([https://www.freshworks.com/website- monitoring/](https://www.freshworks.com/website-monitoring/))</comment>


Ajan Reginald – Ajan Reginald Celixer – Cell Therapy - <AUTHOR> http://www.ajanreginald.co.uk/biography/ <comment><USER2> >> Celixir invents and develops cell and gene therapies for hard to treat life-threatening / life-changing diseases.

Are you interested in developing a TDP-43 gene therapy for ALS, that would work as well for one third of Alzheimer cases?

[https://padiracinnovation.org/News/2019/05/a-plea-for-a- gene...](https://padiracinnovation.org/News/2019/05/a-plea-for-a-gene-therapy- for-als)</comment>


Dylan: the harsh realities of the market - <AUTHOR> http://logicaltypes.blogspot.com/2014/08/dylan-harsh-realities-of-market.html <comment><USER4> I'm the Bruce that he mentioned in the post.

For better or worse, I've been pushing Dylan forward heavily over the last few years and am effectively the primary maintainer.

Over the last couple of years, we've made a lot of progress. We've completely revived the documentation from 1990s era FrameMaker files and have it published via a pretty modern system. We've converted from SVN to Git and moved to GitHub. We've done 4 actual releases. We've improved our platform portability. We've provided some basic debugging integration with LLDB. We've fixed some long standing issues in the compiler and tool chain. We've improved the GC integration on all platforms.

But there's a lot to do. We need to fix our Unicode support. We need to improve the type system in at least minor ways if not major ways. We need to improve how parse failures are handled as the errors are not always friendly. We need more libraries. Some of this is really easy, some isn't. But for pretty much everything, there are bite-sized pieces of work that could be done in a couple of hours/week that would lead to significant gains.

I've wanted to just flat out use Dylan for something and have built some small prototypes with it and while they've worked out well enough, the actual projects themselves didn't go anywhere (unrelated to the use of Dylan).

I think this blog post was triggered by a comment that I'd made publicly yesterday that I'm feeling rather discouraged at this point. There was also a private email that I sent to 19 people who have been involved with Dylan recently, but the author of this post didn't get that email.

I view Dylan, not as a language from the past, but as a stepping ladder towards building a better language for the future. We don't have to get bogged down in a lot of the minutiae involved in creating a new language as a lot of the work has been done. We get to focus on things at a different level and those things are just as important. People bring up Goo often when Dylan comes up. Goo is interesting, but the implementation is nothing close to being industrial enough to survive an encounter with the real world.

I came to Dylan because I saw the mess that Scala and other languages were. I didn't like where they were going and following some people on Twitter like [https://twitter.com/milessabin](https://twitter.com/milessabin) and others seems to show that I'm not alone.

And that's why I'll probably keep at it with Dylan. I want a better future and I'm going to keep trying to build it.

<comment><USER5> It sounds like you care not only about Dylan but also about advancing programming language construction in general. Have you considered writing, e.g., blog posts about design decisions you make as you work on Dylan? Maybe it would help other people learn from your work.

<comment><USER4> I do ... and I post on [http://dylanfoundry.org/](http://dylanfoundry.org/).

I don't usually bother to post them on HN as I don't have the time to try to get something on the front page (otherwise, no attention). I do post them on r/lisp though or lobste.rs usually.

I've got a couple of posts in draft stage now that I hope to publish this week or next.

</comment></comment></comment><comment><USER6> If you're going to rant, you might want to actually have a clear point to make.

> college kids on comp.lang.lisp asking for the answers for problem-set 3 on > last night's homework

Surely not during the Naggum days. CLL was a hostile wasteland.

> That is the lesson of perl and python and all these other languages. They're > not good for anything. They suck. And they suck in libraries and syntax and > semantics and weirdness-factor and everything.

What? How have you not heard of CPAN? There is not a single language in the world that can touch Perl's libraries. I'm not sure why you feel the need to toss either Perl or Python under the bus to make some petty point about Dylan's lack of popularity. Python replaced Scheme at MIT. It's time to move on. I know I have.

You have to have your head pretty far up your own ass to not see how much Common Lisp _sucks_. It's a language designed by committee, and it _looks like it_.

I've used Erlang too. For everything Erlang does well, there are countless areas that make you want to bang your head against the desk.

Languages don't matter. Platforms matter. APIs matter. Playing nicely with the rest of the world _fucking matters_. Common Lisp wouldn't.

<comment><USER7> > What? How have you not heard of CPAN? There is not a single language in the > world that can touch Perl's libraries.

That's a really outdated meme. CPAN is small, pretty much every language you hear about regularly has a larger package space than CPAN. Even Go's package space is bigger than CPAN's. JS and Java each have package spaces roughly 3x CPAN's size.

[http://www.modulecounts.com/](http://www.modulecounts.com/)

<comment><USER8> [https://metacpan.org/recent](https://metacpan.org/recent)

There are a couple of CPAN module installers, and every one of them, by default, will not install the target module if there are any test failures.

Honest question: are there any other languages that do that? I last looked a few years ago, and it didn't seem to be the case.

<comment><USER9> Maven will not, by default, allow you to perform a release if there are any test failures. That seems like a better model, at least for a VM language - <USER2> something works on the release machine and not on the user's machine, you have bigger problems.

<comment><USER8> That's great to hear!

I'm not too strong on Java; does what you're saying imply that some/all/most of the freely available Java 'modules' or 'packages' that are built with Maven will end up running and passing associated test suites in most all of the organizations that end up using the code in question?

<comment><USER10> No, the tests are run as part of the deploy. So before deploying a library, if the tests don't pass, the deploy fails.

However, the artifact that actually gets deployed is a .jar file containing .class files. Users of libraries don't rebuild the libraries.

<comment><USER9> Just to clarify, "deploy" in this sense means "upload to your organization's maven repository (or maven central)".

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> The article hits rather close to home, as someone who, for better or worse, is committed to improving Common Lisp's ecosystem. I often feel this existential dread of "Is it worth it? Whose lives will it change? Will I spend years labouring in obscurity for nothing?". And while the answer to all those questions is probably not what I'd like to hear, I still do it.

This is why ecosystems are, for most people, more valuable than intrinsic language features: Tribalism along the lines of "We have X thousand people backing us up"/"X thousand devs can't go wrong". People don't care about monads or macros, they care about feeling like they're part of a large community.

<comment><USER12> Its even worse for the PL designer inventing something new without even a small ecosystem in place; I ask myself everyday "is it worth it?"

<comment><USER13> The important question isn't necessarily: Is it worth it, without the ecosystem? The more interesting questions is: What does this language add?

For example, I need to deal with some unix process management tasks. I'm not crazy enough to do them in straight C, so I'm using python for it's strong C bindings, so I can use system calls in C with python level control flow. However, there's a lot to be desired, because dealing with all this concurrency and inherent raciness of the system in a language like python is a royal pain in the rearside.

Similar things with java and performant programming. Some of my major programs at work don't use the java ecosystem outside of log4j, junit, apache commons lang and apache commons collections. They use java, because java is darned fast without being as brittle as C or as nuts as C++. So java adds a lot of really cheap development security.

Designing yet another language that puts the existing features together with just a tiny difference doesn't add anything. I've enjoyed looking at experimental languages, and I've enjoyed tinkering around with ideas myself some time ago. But by now, I've accepted I'm not smart or talented enough to make something worthwile, and it will be some time until an interesting new breakthrough occurs.

<comment><USER12> My languages tend to be very innovative or even inventive; e.g. I recently posted this to HN: [http://research.microsoft.com/en- us/people/smcdirm/managedti...](http://research.microsoft.com/en- us/people/smcdirm/managedtime.aspx)

My problem is quite the opposite: when the languages are so different from what already exists, people (and even myself) have trouble thinking about how adoption would even occur, at least in the short term.

<comment><USER13> A lot of languages have made one major mistake: It's not easy to get a development environment going, and some even wanted me to not use vim.

The first step to some kind of adoption is that I can get it running with an "aptitude install crazy-foo-language-dk", maybe after adding a repository. After that, crazy-foo or crazy-fooc should be interpreter and/or compiler, and that's that.

<comment><USER12> Ya, well, my languages include their own development environments (I see no different from language and IDE, actually). Smalltalk was great in this regard also, to the chagrin of many developers who wanted to use vim.

</comment></comment></comment></comment></comment></comment><comment><USER14> > These languages are defined, right there in the dictionary.

Erlang: see 'career wrecker.'

Please. Someone, wreck my career some more.

Unlike Dylan Erlang was created by a company for a purpose with very clear goals and it did and still excels at meeting those goals, and nothing out there gets close to the qualities it has. Not everyone needs those qualities, but sometimes nothing will do. Erlang is at the core of many solid industrial applications -- mobile to internet gateways, message queues, trading systems, large databases, handling millions of concurrent connection and billions of messages per day for WhatsApp.

What does Dylan do? This is the second time I heard about Dylan. I've played with Mercury, Prolog, Nimrod, Curry (Haskell + Logic programming) and other rather obscure languages but haven't heard about Dylan much.

Some languages just don't make it, sometimes it is just luck. However I don't like the disparaging and angry remarks thrown around at other languages and ecosystems. That does nothing to promote Dylan it only pushes people away.

<comment><USER15> > What does Dylan do?

I'm totally unfair here, because I really don't know much about Dylan, but my view maybe explains a bit why Dylan does not even "win" with people like me, who really like those strange languages like Lisp or ML.

To me, Dylan was never about creating something new and great. It was taking Common Lisp and "fixing" its syntax.

Unfortunately, I can't stand Lisp without prefix notation and lots of parentheses. And people who hate prefix notation and lots of parentheses aren't interested too much in Common Lisp.

The resulting set of people interested in Dylan was... well, I've heard of Bruce. Andreas Bogk was doing some _heavy_ advocacy in Germany, to the point where people just didn't want to listen anymore.

Let's say about ten people in the world cared. And I just don't see how that set could grow by orders of magnitude.

<comment><USER16> Dylan started out with a prefix syntax; the infix syntax was added on late in its development at Apple, because it was believed the market wasn't willing to adopt a prefix-syntaxed language. Turns out it didn't matter very much.

Dylan also standardized and simplified _a lot_ of the dark, twisty corners of Common Lisp. Generic functions became a core part of the language, rather than something bolted on by ad-hoc macro packages. The collections API was unified to use generic functions (so no more mapc/mapcar/mapcan/mapl/maplist/mapcon mess), and the language syntax's infix operators were all defined in terms of generic functions as well, so you could eg. define a matrix type and have + and * work on it as expected. The superclass linearization was fixed to be monotonic. Macros are hygienic. It's a Lisp-1, and everything in the language is an object bound to a name.

Honestly, I think its lack of success came down to a Worse-is-Better problem. Dylan is a _really_ nice language, designed by a committee with a combined total of over 2 centuries of Common Lisp experience. But it doesn't excel in any one domain. It's a large language, fairly complicated, which tried to mainstream a number of features with complex interactions and limited applicability. To an outsider, who doesn't understand those features or how they might be useful, it's too hard to pick up in a weekend. And so simpler languages like Scheme, Go, Python, or Erlang steal its thunder - they lack the total power of Dylan, but you can point to Scheme and say "Small composable building blocks", or Go and "Fast concurrency with quick, simple deployment", or Python and "Prototype anything, with batteries included", or Erlang and "Reliable message-passing concurrency." If you point to Dylan and try to describe it in one sentence, you get "Generic functions all the way down", which means nothing to the average programmer.

It's much the same problem that Scala faces, except that Scala features JVM interop and so Scala advocates can say "Tomorrow's language features with yesterday's Java code."

</comment></comment></comment><comment><USER16> Dylan was my favorite language back in college. I remember following PG's essays to Lisp, and then Lisp to all the newer dialects like Dylan or Goo. Dylan had it all: a metaobject protocol, generic functions, optional static typing, _infix macros_. I even got started working on an Eclipse plugin for it, which I ended up shelving after like 3 weeks when I lost interest.

Unfortunately, there are large network effects to programming languages, and the stuff that really makes you productive - libraries and tooling - <USER3> just lacked. It wasn't practical to write anything larger than an ICFP contest entry in it. So I went from Dylan to Python, which lacks many of the really cool language features and is a lot slower, but at least comes with so many batteries included that you can whip up a prototype for anything really quickly.

<comment><USER17> I don't really think it's purely tooling that's the issue. If it were so easy to use Dylan, then the tooling would be easy to write.

I think it's performance.

"Scripting languages" tear compiled languages apart when it comes to iterating. Write a "hello world" web app page in Python and Scala, then see which one takes 30 seconds and about a gig of RAM to actually display in the browser.

On the other hand, if you needed performance scaled across millions of users, you needed C or C++.

The big languages are C and C++ and Fortran (if you need performance), a long laundry list of "scripting" languages, and Java. Java is the only one that actually gets a spot because of its tooling, most other languages only got tooling because people loved the languages.

There's a lot of compiled languages coming out (or re-emerging) these days (Scala, Haskell, Swift, Julia) with funky features that require compilation that don't get you closer to the metal. I suspect that's largely because computers now have the RAM and CPU power to actually make them fun to use.

<comment><USER16> Dylan is compiled. It was done by the same folks who did CMUCL, which was the original optimizing compiler for dynamic languages, built in the 80s, well- before Strongtalk begat Self begat Hotspot begat V8.

<comment><USER18> Typo: Self begat Strongtalk.

</comment></comment></comment></comment><comment><USER19> _You could think of it as putting a low-pass filter on some of the good ideas from the '60s and '70s, as computing spread out much, much faster than educating unsophisticated people can happen. In the last 25 years or so, we actually got something like a pop culture ... So I think the lack of a real computer science today, and the lack of real software engineering today, is partly due to this pop culture._

A Conversation with Alan Kay, ACM Queue, 2004, [https://queue.acm.org/detail.cfm?id=1039523](https://queue.acm.org/detail.cfm?id=1039523)

<comment><USER20> The history of mass computing involves numerous 'bottleneck' events where an increase in usage was bought with a curtailment of hardware and software quality. You had the first blast of cheap minis available outside military and academic environments. Then you had cheap home computers with limited BASIC implementations. That was followed by web apps scripted with half-assed '90s JavaScript and served from cramped mass hosting servers. Then you had smartphones -- iOS using a somewhat spruced-up but constrained version of the decades-old NeXTSTEP, and Android using an outdated and pared-down version of Java.

This is pretty much what "Worse Is Better" is about. Cheap, readily-available software that runs on cheap, readily-available hardware is always going to have a huge head start.

<comment><USER21> Unix is another example of a worse reimplementation of an earlier system to fit the hardware constraints of the day.

The thing is though, the security model of multics would be a much better fit for today's security needs, but we don't have it because the hardware that could run it was too expensive 40 years ago, which seems crazy when I think about it. Sometimes it feels like the industry as a whole is no longer ambitious, that building fundamentally better systems is no longer considered important. It's nice that you can run unix on your phone, but i would like to run something better than unix on my desktop. Where are the OS's that are ambitious enough to eventually turn into scarlett johansson in the movie 'Her'?

</comment></comment></comment><comment> loup-vaillant > _Algebraic types? Dependent types? You 'll never see them. They're too ... > research-y. They stink of academe, which is: they stink of uselessness-to- > industry._

One may think that because closures are finally entering the mainstream (after what, 5 decades?), we have hope for those things to come as well.

But then I saw Swift. Built-in support for an Option type, so one can avoid null pointer exceptions. At the same time, this languages manages to recognize the extreme usefulness of algebraic data types, _without_ using them in their full generality. Like, why bother with a generic feature when we can settle for an ad-hoc one?

I'd give much to know what went so deeply wrong in our industry that we keep making such basic mistakes.

<comment><USER22> > But then I saw Swift. Built-in support for an Option type, so one can avoid > null pointer exceptions. At the same time, this languages manages to > recognize the extreme usefulness of algebraic data types, without using them > in their full generality. Like, why bother with a generic feature when we > can settle for an ad-hoc one?

Swift has the syntax to define arbitrary algebraic datatypes, even if it doesn't yet work in the beta versions of the compiler.

<comment><USER23> It seems to be likely that 1.0 will hit before this really holds true. In Beta 6 I'm told you can easily crash the compiler with recursive generic ADTs and most have to travel "through" some heap type to compile at all.

Furthermore, Swift doesn't support enough laziness/deferral/coalgebraic formulation to have, say, an infinite stream type without breaking GCD. These will probably be fixed in time, but Swift's ADT support is still pretty experimental to say the least.

<comment><USER24> Wow, where did you get Beta 6? I only have 5.

<comment><USER23> This is based off comments someone else had on trying to compile some of my experimental Swift modules.

</comment></comment></comment></comment></comment><comment><USER25> Dylan is also, unfortunately, an example of "worse is better" in action. The extant Dylan implementations were incredibly ambitious. CMU's d2c built on the experience with CMUCL. Harlequin Dylan (AKA OpenDylan) was "Dylan all the way down" with a sophisticated native code compiler and an IDE written in Dylan. Multithreading, generational GC, etc.

And what filled the dynamic language niche? Interpreted languages like Ruby and Python that have yet to achieve 1970's levels of implementation sophistication. But simplicity made them agile and portable and allowed resources to be spent on libraries.

<comment><USER26> Dylan wasn't really a 'dynamic language' in the classical sense. It was thought to bring the power of dynamic languages to application developers.

Dylan was made obsolete by Objective-C at Apple, not Ruby or Python. Outside Apple Dylan was made obsolete by Java.

Some of the early Dylan users complained that too much time was wasted on the IDEs, while the language implementation and libraries were lacking.

</comment></comment><comment><USER27> I appreciate this article by someone who is serious about contributing useful solutions to the world--not just the social aspect of programming--and appreciates a language that empowers him to develop those useful solutions as readily as possible.

When I'm not programming I like to get some distance from my work and hang out with people who have diverse interests. When I'm serious about programming I use Common Lisp. When I'm serious about connecting with other people I use English. Many people seem to confound these pursuits and end up with languages that compromise weakly between talking to people and talking to computers.

For me, programming is about solving business problems ASAP in a manner that is amenable to a long series of minor improvements over many years. Having a stable language standard with language improvements happening as add-on libraries is a huge win. My old code keeps working, so I can stay focused on improvements instead of bailing water.

Also Lisp has the seemingly magical property of being one of the easiest languages to read, understand, and reason about by programmers who have the aptitude to learn it--and it scares the pants off of people who don't. With all of the "expert programmer" pretenders out there it's helpful as an employer to have something that separates the serious programmers from the pretenders.

<comment><USER24> I fully agree. Maybe it's just me, but that sounds much more hands-on to me than the typical HN comment.

</comment></comment><comment><USER28> If you want to gauge a language look at one thing and one thing only. Who are these people using it and what are they using it for? The answer to that question is more important than anything else on the list after that. Amen.

<comment><USER29> Good one. Used this heuristic to select Erlang and very happy since that time :-)

</comment></comment><comment><USER30> There are a lot of things that strike me as being wrong about this essay. Most importantly, to understand the success or failure, you have to think about it, and its economics, like any other product on the market. Granted, programming languages have different characteristics as products than lighthouses or tv shows or telephones, but they do share things with them that we can learn from. This is a somewhat dated attempt of my own to share a bit of that thinking:

[http://www.welton.it/articles/programming_language_economics](http://www.welton.it/articles/programming_language_economics)

A few other things:

* Like rdtsc says, Erlang does not fit the mold in a lot of ways. It had a large corporate sponsor from the get-go, which was good for it in some ways (money for developers), and perhaps bad in others: lots of production code early on means it's not possible to change stuff that is less than optimal.

* As per my article, new/small/unpopular languages need a niche, a beachhead if they are to gain traction. You can't create a new language and platform from scratch with an ecosystem as big as Java's (indeed, piggybacking on the JVM is a popular strategy because of this), so you'd better have one thing where you absolutely kick ass. Erlang has this in spades, for instance. Ruby had Rails. Tcl had Tk and a few other "killer apps". PHP was _way_ easier to get started with than mod_perl, back in the day. I don't see this for Dylan, particularly, but then I don't know much about it, so maybe it's there somewhere, and BruceM will figure it out and the language will gain a following.

</comment><comment><USER31> I don't know that much about Dylan, but isn't there some consensus that Julia is the "new Dylan"?

</comment><comment><USER32> I really like Dylan, but it has a huge problem that never gets discussed - verbosity. The syntax is entirely too verbose for a modern language. My suggestion would be to first complete the Intellij plugin and then actually change the syntax so it can compete with the scripting languages.

</comment><comment><USER33> Very interesting read.

I have a soft spot for Dylan from magazine articles back in the Newton days.

Here we have a Lisp like language, with a more approachable syntax for the average Joe/Jane developers, AOT compilation and Apple kills it.

I think it is also important to bring out the paper from Erik Meijer about using Visual Basic to hook the typical enterprise developer into FP (via LINQ).

[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.118....](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.118.2025)

</comment><comment><USER34> You must find the corporate developer who cares ;-) [http://steve- yegge.blogspot.se/2010/12/haskell-researchers-a...](http://steve- yegge.blogspot.se/2010/12/haskell-researchers-announce-discovery.html)

And then maybe try to get more like him/her.

</comment><comment><USER35> Something I never quite understood about languages was why they are restricted to one or another domain. For example the author writes:

 _Algebraic types? Dependent types? You 'll never see them. They're too ... research-y_

Why can't those features be baked into C++ or Java?

<comment><USER36> I think C++ is full now.

<comment><USER37> People keep saying that yet the standards committee keeps nailing new tentacles on.

[http://c2.com/cgi/wiki?ExtraLegsOntoaDog](http://c2.com/cgi/wiki?ExtraLegsOntoaDog)

</comment></comment></comment><comment><USER38> I love Dylan. We should all be using it instead of C++ and Java. Particularly C++. Each time I type "friend" in C++ or have to use the STL, I miss Dylan.

</comment><comment><USER39> just say fuck! we're all thinking it!</comment>


When Facebook Disables Your Fan Page - <AUTHOR> http://www.thecoolhunter.net/article/detail/2126/when-facebook-disables-your-fan-page

<comment><USER2> From their post, they're complaining about Facebook disabling their fan page without explanation while littering the same item with unattributed images.

I've had work in the past posted to their site without attribution and it was a headache to get them to either attribute it or remove it (they chose the latter).

It seems rather obvious why their Facebook account was disabled.

<comment><USER3> While that's likely the case, at the end of the day if FB is trying to be an advertising platform, they can't do it without competent customer service to ensure they're not cannibalizing their own intent.

<comment><USER4> Google seems to do just fine without comptent customer service. Maybe that's the key to a successful advertising platform.

<comment><USER3> Can't tell if you're being sarcastic here.

</comment></comment></comment></comment><comment><USER5> If there's infringing content, then isn't that what DMCA notices are for? And shouldn't Facebook simply remove the offending specific piece of content, than rather an entire page like that? And shouldn't it provide warning in advance, with an opportunity to contest it?

The DMCA law establishes processes between content creators and websites, but leaves websites free to determine the processes (or lack thereof) between themselves and the users who submitted the content. I.e., a single photo can result in termination of your entire fanpage without warning.

As more and more people rely on companies like Facebook, Google, etc. to host their content, consumers are going to need protections against arbitrary actions by companies, lacking due process.

<comment><USER6> Facebook is under no obligation to continue hosting your fan page. The DMCA only prescribes upper limits to the liability sites like Facebook have to copyright infringement on their website.

> lacking due process

Due process is a constitutional right that only pertains to citizens' interactions with the Unites States Government and state and local governments.

<comment><USER7> Perhaps in this era of political speech being hosted on the servers of various third parties, such rights should be extended.

<comment><USER6> Considering that there's no constitutional basis for even applying due process to the private sector, I think you're going to have a hard time convincing anyone that's a good idea.

<comment><USER7> How does whether the law supports something influence whether modifying the law is a good idea or not?

</comment></comment></comment></comment></comment><comment><USER8> _> "The other reason that could have caused the closure of our FB page is that we sometimes use images even when we do not know who has taken the picture."_

And that, folks, is why you at least attribute your sources. I feel no sympathy for a _company_ who has no compunction about posting others' work uncited/unattributed much less even uncompensated.

</comment><comment><USER9> They are just going to have to take media licensing more seriously, why do they think they deserve a hall pass, especially considering their whole brand is build upon the work of others.

<comment><USER10> I was wondering the same thing, looks like a variation on the 'user contributed content' site, for which there are a bunch. If you want to run such a site in this era of copyright litigation you need to clear access rights for every image you put up.

</comment></comment><comment><USER11> I had a Facebook fan page with over 100,000 fans that was deleted suddenly for no reason. After around 3-4 weeks I got the page reinstated by using some contact links and email addresses I found by searching Google.

Facebook said we had posted inappropriate content but I was the only one with admin access and I'm absolutely 100% sure that never happened. Also the page was set up so users couldn't post images.

I think what must have happened was they had some kind of temporary exploit where someone was able to post inappropriate content that looked like it came from us, or maybe users were able to post something temporarily somehow. Or I guess it could have just been a glitch and nothing bad ever happened at all and that's why they reinstated it? It was very stressful but I'm glad it's over now.

<comment><USER12> Did they let you know what the inappropriate content was? When your page was restored was the history and content intact? Aren't you concerned it'll happen again?

<comment><USER11> They never let me know what the inappropriate content was. The page was restored with all the history/content intact and all likes intact. Yes I am very concerned and paranoid it could happen again and I've really locked down my page a lot more that I probably would have otherwise. For example I don't let users post to our wall anymore, they can only comment on our own posts.

Even before we were mysteriously blocked I never let users post photos/videos to our wall and obviously we'd never allow any inappropriate content there.</comment></comment></comment>


Wealth Inequality in America - <AUTHOR> http://www.youtube.com/watch?v=QPKKQnijnsM

<comment><USER2> This is just silly, based upon only 5,000 peoples "expectations".</comment>


Multiple moderators step down from Stack Overflow as protest - <AUTHOR> https://meta.stackoverflow.com/questions/389906/im-resigning-as-a-moderator-from-all-stack-exchange-sites-effective-today?cb=1 <comment><USER2> I started using reddit more, to both ask and answer others' questions. Reddit became is a welcoming community for many people who wanna learn a new thing, specially to discuss opinionated topics, to discuss architectural decisions, the trade-offs of using some techniques,.. etc .</comment>


Study: Stolen Web Content Sees More Traffic Than The Original  - <AUTHOR> http://www.inquisitr.com/8158/study-stolen-web-content-sees-more-traffic-than-the-original/

<comment><USER2> This isn't so much a problem as an opportunity. If newspaper content posted elsewhere gets more readers, then that suggests to me that the newspaper websites are doing something wrong that doesn't lead to readers going there. So if the newspapers fix what they're doing wrong, they'll get more hits.

I wouldn't necessarily characterise the unauthorised copies as "stolen" since it is probably the case that the people who view then wouldn't have viewed the original.

</comment><comment><AUTHOR> Not entirely surprising. Newspapers don't have large audiences of niche- focused readers. Put a particular story on one of those sites, and it will see more traffic.</comment>


Ask HN: How did you switch technologies? - <AUTHOR> I'm primarily a PHP/Node.js dev, but contracting with those skills (at least where I live) is a lot less easy than .NET/C#.
I know a bit of C#, but I haven't had any real industry experience. I'm also reluctant to take an entry level job for a year or two just to get those skills. I have bills to pay, etc.
Has anyone else been in this situation before and managed to successfully switch technologies without taking a cut in earnings? <comment><USER2> No comment about C# (wouldnt be my first choice)

To build knowledge, cred, and potential customers: find an open source/side project that excites you to death, use NewLanguage to do it, and then publish it on Github and relevant online communities. You may turn out not to like NewLanguage afterall.

To slowly work new languages into existing projects: microservices have been a great way to sneak new technology into old systems. I've employed Erlang in PHP projects (autocomplete), Q in Node.js projects (websockets/in-memory tables), etc.

<comment><AUTHOR> Interesting, this sounds like a decent idea. Thanks.

</comment></comment><comment><USER3> Internal transfer is a great path to this. If you can't get hired in stack A, but can in stack B, get a job somewhere that employs B but is short A.

PMs will often take any willing candidate, and in no time you'll be "one of the employees that does A".

I've accidentally transitioned from a product designer to a front end developer, even against my will, at least 4 times this way. There is no chance I could pass any serious front end interview, but I'm well enough equipped for the boring realities of the things that need to be updated in prod.

Once you're in the door, you're measured against the realistic "what needs to ship" bar, not the bright and shiny "we only hire the best" bar.

</comment><comment><USER4> I switched from pure infra (working in a technical college IT department) to front-end web dev (of which I had no prior commercial experience) pretty much through knowing enough to get by, and a good attitude towards working collaboratively and being flexible.

I beat out a guy with 10 years experience because his attitude was terrible.

Note: this was many years ago, and was with a federal government department so hiring practices may be different to "normal"

</comment><comment><USER5> Are you free to move to the Bay Area? Unless you're applying as a super- specialist, companies out here don't care too much what languages/frameworks you know as long as your fundamentals are solid (data structures and algorithms). For example, the tech stack I had used for the previous 5 years isn't used at all where I work now, and they didn't care when hiring me.

</comment><comment><USER6> I have often switched stacks for the needs of a job, either the one I already have or another that is already offered.</comment>


How Top Bloggers Earn Money - <AUTHOR> http://images.businessweek.com/ss/07/07/0714_bloggers/index_01.htm

<comment><USER2> I'm surprised Mashable is pulling in so much. I've been a big fan Pete Cashmore because he really does what Arrington did in the beginning and without the strange attitude. Through no particular connection or authority he's done a really great job at keeping track of startup development. Arrington has become very slow and complacent in comparison. Glad to see it's paying off for Cashmore. The underdog wins again.</comment>


Gogs – Contributing Code - <AUTHOR> https://github.com/gogits/gogs/wiki/Contributing-Code <comment><USER2> a) I had not heard of gogs, interesting. I do love the sheer number of options we currently have for developer oriented services.

b) I don't understand why this particular link has been submitted. Is there anything remarkable here, or some context I'm missing?

<comment><USER3> I'm guessing they're trying to get people to contribute to the project.

</comment></comment><comment><USER4> Unfortunately, regardless what the wiki says, the CR is not strict and because of that the code quality is not that great.

I also think the biggest issue when contributing to this project is that the owner clearly does not speak english as a first language. I know that doesn't invalidate the quality of his code (though the quality speaks for itself as not great) nor his feedback (though it makes it harder to understand), but his poor english results in everything just being _harder_.

<comment><USER5> I don't read it as legit critics. It's OK what some projects have core team members coming from different cultures. I find it fascinating and think we should embrace that.

On the other hand, it could be read as something between the lines: "the project actually is not community driven/owned and all the code must get accepted by single person. and you see some personal difficulties there, just because of language/culture barrier".. In that case, yeah, I see your point.

</comment></comment><comment><USER6> I really wonder why did this end up in the front page. The homepage of the repo would be a lot interesting.</comment>


How I Made a 31% Financial Gain in 12 Days Thanks to a Fork - <AUTHOR> https://insiders.fortune.com/how-i-made-a-31-financial-gain-in-12-days-thanks-to-a-fork-digital-currency-growing-pains-965920b8116#.w74cmkbpl <comment><USER2> I was hoping it would be about a GitHub fork, but this was interesting!</comment>


Is Your Web Site Fast Enough for Google? - <AUTHOR> http://blogs.wsj.com/independentstreet/2008/05/21/is-your-web-site-fast-enough-for-google/?mod=WSJBlog?mod=hps_us_my_companies

<comment><AUTHOR> 1) Find small businesses advertising on google using requester.mturk.com

2) Offer them a speed test trial on your underloaded servers.

3) Switch them over to your higher cost servers so they spend less on Adwords and get more business for less.

4) Repeat.

</comment><comment><USER2> The quality score just allows a lower minimum bid to be applied. In our case we are 60x over our .05 bid so it doesn't affect us.

<comment><USER3> The quality score is a way of Google extracting extra money out of the system. It works very well.</comment></comment>


Where Rails Rocks (and where Python doesn't) - <AUTHOR> http://blog.brandonbloom.name/2010/09/where-rails-rocks-and-where-python.html <comment><USER2> This should read "(and where Django doesn't)". A language and a framework are not the same thing.

I do not find this article any more compelling than the one it addresses. Most of these supposed superiorities are just plugins that the author likes that would work just as well in a Python framework, or straw-men. Call it, "Things I like about Ruby/Rails" and were cool. Frame it as "your language sucks" and it all comes off as fanboyism. I like Rails, but Django/Python works the way I do.

Saying that easy_install is "all kinds of broken" but in the next breath saying "Luckily there is Pip and Virtualenv" is a self-defeating argument. As it is, Ruby is well behind pip/virtualenv and the environmental isolation it gives you. And fabric / pip / virtualenv is a killer combo that makes deployment fast and easy. Rails has a Gemfile. pip has a stable- requirements.txt file. It's not rocket science.

Yes, Rake is great. Lots of things Python and Ruby projects can learn from one another. Rails 3 owes a whole lot to Django.

Haml/Sass: Meh. I don't need yet another layer of abstraction. But if I wanted to use these in Python, it would be trivial to do so. To each his own.

ActiveRecord vs Django: Use SQLAlchemy if you don't like the existing alternatives. It supports schema reflection just fine. As it is, lots if not most Django apps are written together with their database schema, and migrated together using South. For most projects, this is identical to how Rails is used.

Form Handling: I can use a ModelForm in Django, and do no mapping whatsoever. Accessing a Post dictionary is just as easy as a magically created attribute on a class. It's not that hard.

Templating: Jinja2 lets me import functions and class instances directly into a template's context, and thus keeps code where it belongs. Talk about religion all you want, but I actually work on projects that need a healthy separation between display and controller logic. Excellent coders that are also excellent designers are so rare that I have never met one. Every successful project I have been involved in has had excellent coders working with excellent designers who knew enough of one another's environments to work well together.

URL routes: Give me Regex any day!

Misc other supposed pluses: Cherry-picking. There are lots and lots of apps to pick and choose from in either platform. Some are good. Some are poor. The existence of a good app on one platform does not equate to a superiority over another platform.

<comment><USER3> _"Rails 3 owes a whole lot to Django."_

Care to elaborate?

<comment><USER2> [http://www.elfsternberg.com/2010/02/03/rails-3-django- funny-...](http://www.elfsternberg.com/2010/02/03/rails-3-django-funny- syntax/)

"whole" lot is probably overstating it. But some very big key things that make Rails 3 a lot nicer to use.

</comment></comment></comment><comment> old-gregg I don't get it. So he listed major Rails features, then he listed a few misfeatures (that pushed me away after 4 years of Rails). And then proceeded to proclaim that something rocks and something doesn't. How about copying and pasting "Table of Contents" of two books and proclaiming that A rocks and 3 doesn't? (yes, one being a letter and another being a digit, to make it as dumb as the original title)

Ughh, what's wrong with today's programmers, particularly Ruby programmers, and their unhealthy obsession with Internet fame? Want to link-bait your way up? Then learn from the masters. Remember Zed's "Rails is a Ghetto"? That's how you do it: sensationalist title must be followed by sensationalist content.

</comment><comment><USER4> I happen to like both. Why when one is awesome the other has to suck?

You mentioned easy_install sucks because it doesn't have uninstall. I assume you haven't had problems with Rails gem initializers where production and development environment differs by quite a lot?

pip + virtualenv is as difficult/easy as rvm. They both solve the exact same problems.

When it comes to _script/console_ , what's so hard about _python -i your/boot/file.py_?

I like rakefile, but i could also live without it by using plain ol' ruby file.

Haml, isn't that whitespace sensitive? Just kid... Sass on the other hand, would be awesome if it could solve multiple IE quirks for me. There's a sass equivalent in Python called CleverCSS, I wonder if it could solve my IE problems.

ActiveRecord, I fail to see how different it is compared to SQLAlchemy declarative mode. Aren't they solving the same problem? I would also add, I fail to see the difference between Sequel and SQLAlchemy. They both are also solving the same problem.

Cannot say much about FormBuilder, I like my form in html.

Layout, partials, helpers, (arbitrary functions, defining blocks in templates, etc etc) There are so many Python template engines that solved all of this problems again and again. From another angle, you don't really need Rails for this. Merb and Sinatra could provide such separations as well.

All and all, it's cool for you to express your happiness using Ruby. But why bash others?

</comment><comment><USER5> As a professional Python developer (and an extradinarily biased one at that: I contribute to Django regularly), this list absolutely fails to ring true for me, because I not only don't have the problems he's identifying, I find them to be our strengths.

</comment><comment><USER6> It's unfair to compare a programming language and a framework. Worst of all these types of articles keep coming up on HN. I guess the fanboys will keep coming, eh? :)

It's sad that many Ruby programmers think that their language is superior to another just because it's _cool_. I love Ruby, but I was interested in Python before learning Ruby. But somehow the language was not a fit. I think which language you like is just a matter of choice (and obviously depends on what you are doing). I would still jump at the opportunity of learning/using python because it's a pretty awesome language. :)

</comment><comment><AUTHOR> Some people felt that my last post was lacking substance. This post is an attempt to clarify what specific things led me to become so excited about Ruby on Rails. I hope that it also serves as a bit of a holistic exploration guide for newcomers to Ruby and Rails.

I'm also planning a follow up post covering what I don't really like and where the "magic" has burned me already. Similarly, I'd hope for that future post to act as a guide for Rails developers to get burned less frequently, a well as for Ruby library developers to do less burning.

<comment><USER7> That's great, but why compare it to "Python"? If you just wanted to write about what you liked, why not do that instead of trying to offer an empty comparison that isn't even on target any way?

<comment><AUTHOR> I'm comparing my experience learning Rails to my experience trying to find a Python framework or arrangement of tools. The problem I've had with Python is that I need to spend a lot of time picking exactly the right subset of libraries to get something that suites me; then I need to spend a lot of time gluing them all together. I haven't needed to write any glue code at all to use everything I mention in the article.

<comment><USER8> I think it's simply that Ruby is used primarily for web development where Python is used in just about every field for scripting and even as a Matlab replacement in universities.

Python web development projects are distributed randomly within the much larger python ecosystem and it's hard to know what stuff everyone's working on without a lot of crawling. With ruby\rails, even your google results on topics will be more targeted because the scope of the Ruby community is more targeted.

<comment><USER9> Ruby's certainly not used primarily for web development, at least not in the same way that PHP is. Its most famous use case is in web development, but it's widely used in non-web spaces all over.

</comment></comment></comment></comment></comment><comment><USER10> Oh god, this explains everything he is an expert on the ruby/python langauges.

"Only been working with Rails for two weeks; lots more goodness to uncover"

</comment><comment><USER10> uh, Articles like this make me sick. Why do people INSIST on comparing a FRAMEWORK to a LANGUAGE?

The one thing I've noticed about most Ruby Fan Boys is that they don't know the difference between a framework and a language. I say most because I have only talked with ONE person who knew that Rails was a framework.

There are an amazing number of frameworks for each language and there are also a lot of frameworks that draw reference from Rails. (Symfony comes to mind)

<comment><AUTHOR> I'll reiterate one more time. Being _very new_ to the Ruby community, I can't speak for everyone, although I suspect that I might.

Out of the box, Rails has been more pleasant for me to use than my favorite Python libraries from every category combined together via months of tedious integration and fine-tuning.

I'm not comparing a framework to a language. I am comparing an ecosystem to another ecosystem. I'm comparing Rails to what I have managed to hobble together from the best libraries available to Python developers.

I think that the tendency of Ruby developers to make this framework vs. language comparison speaks volumes about the particular whole formed of many parts. Python's ecosystem has many capable parts. I feel that it is lacking a cohesive hole. And I don't think it is due to lack of trying, just look at how many Python frameworks are out there!</comment></comment>


Show HN: Fitmeal – Food Tracker via SMS - <AUTHOR> https://fitmeal.com/ <comment><AUTHOR> Today I am launching Fitmeal v2!

4 years after I started working on v1 and it's still the simplest, most obvious way to track your eating habits—just text what you eat.

I'd love to hear your thoughts.</comment>


Profound remission in Crohn's disease requiring no further treatment - <AUTHOR> https://gutpathogens.biomedcentral.com/articles/10.1186/s13099-020-00355-8 <comment><USER2> Good point</comment>


Building a Serverless E-commerce Site with Stripe - <AUTHOR> https://www.acksin.com/solutions/serverless-ecommerce-with-stripe/ <comment><USER2> 2\. Tools

\- Servers

\- Servers

\- Servers

\- Servers

\- Servers

What a great tutorial on cognitive dissonance.

<comment><USER3> No servers that you run. :)</comment></comment>


Rootkits in your web application - <AUTHOR> https://www.youtube.com/watch?v=I1P4KU3E3VM

<comment><AUTHOR> Bump. Did anyone even bother to watch this video? IMO this is one of the best security conf talks I have found on the web, and I would be interested to hear what folks have to say about it.</comment>