Hashcat v3.00 released - <AUTHOR> https://hashcat.net/forum/thread-5559.html <comment><USER2> What about benchmarks and performance updates/regression/etc.? I'm sure the CUDA to OCL switch was a preformance hit at least in some cases (and compared to the equivalent CUDA code). Has anybody worked on something comprehensive?

Would be good to convince he Phoronix guy to add it to his standard set of OpenCL benchmarks. He has the hardware and a good benchmarking/reporting tool, but somebody will need to pester him to do the benchmarks right.

</comment><comment><USER3> They said they merged hashcat and oclhashcat.

Sorry for the noob question, but is there any reason why they didn't also merge it with cudahashcat?

<comment><USER4> They did, which unfortunately means reduced performance for older (pre- Maxwell) NVIDIA cards.

</comment></comment><comment><USER5> Nice speedup. On my GTX 980Ti, WPA/WPA2 benchmark (-b -m 2500): cudaHashcat-2.01: 281.1 kH/s, hashcat-3.00: 301.2 kH/s

</comment><comment><USER6> Why there is no homebrew formula for hashcat? Developer claims OS X support.

Feels weird to download binaries and check sums manually.

<comment><USER7> This belongs to homebrew cask ([https://caskroom.github.io/](https://caskroom.github.io/)) and you can indeed install it using cask.

<comment><USER6> Isn't cask supposed to be for heavy apps with GUI?

<comment><USER8> I think you probably need some pretty big libraries installed to compile it yourself. Using cask you don't have to.</comment></comment></comment></comment>


TIOBE Index for March 2014: F# on its way to the top 10 - <AUTHOR> http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

<comment><USER2> Is it just me or does the TIOBE Index get more ridiculous every month? Transact-SQL and F# above Ruby?</comment>


What does it mean to be genetically Jewish? - <AUTHOR> https://www.theguardian.com/lifeandstyle/2019/jun/12/what-does-it-mean-to-be-genetically-jewish <comment><AUTHOR> Why on earth has this submission been flagged? It's a thoughtful article, by a Jew, of the rights and wrongs of using genetic testing, in Israel, to define Jewishness, and raises a number of interesting questions. What is there to object to?

</comment><comment><USER4> As a sepharadic jew i wonder what would the test look like, i am guessing the people from the south were less secular (a lot of our last names are arabic/spanish or portuguese)

</comment><comment><USER5> Perhaps I'm not understanding this correctly, but why does genetics matter (I'm not Jewish, so I have very little knowledge of how this works)? Is it not enough for someone to call themselves Jewish to "be" Jewish? Are there some sort of religious or legal consequences to doing so?

<comment><USER6> You are correct in your questions. It _should_ be enough, and there _should not_ be legal consequences.

The problem is that Israel is a very peculiar theocracy, and one kind of prejudiced against large segments of its population.

There _are_ legal consequences of being "officially" Jewish in Israel (just like there were consequences of being officially Jewish in the USSR).

For one, "official" Jews are entitled to Israeli citizenship.

Then, the marriage in Israel is a can of worms of its own, as there is _only_ religious marriage. See the article.

Your Jewishness (or lack thereof) dictates where you will be buried, too.

That should be enough to get you started.

</comment></comment><comment><USER6> First, an old Soviet joke:

-Isaac, we need to get outta here fast, they're beating up the Jews over here

-But in my passport, the nationality is listed as "Russian"!

-Isaac, you don't get it. They aren't gonna beat up your passport, they're gonna beat up your face!

\</comment><comment></comment><comment>--

The question of what it means to be Jewish is complex: it's a mixture of ethnicity ( _nationality_ in Soviet passports, which confused people for a long time), religion, and culture.

For the most part it's easy, though. I joked with a friend of mine: we don't need to remember being Jewish, others will remember it for us.

To that extent, I use the following _reductio ad Hitlerum_ test of whether someone should be considered Jewish: _Would the Nazis have rounded that person up for being a Jew?_.

That makes a lot of these questions simple.

Follows Judaism? A Jew.

Jewish mother? Clearly.

Jewish father? Still a Jew.

Self-identifies as a Jew? Clearly a Jew.

Looks very Jewish? Better be safe than sorry, a Jew again.

So what these Israelis are doing is ridiculous. Someone would be accepted as a Jew in the eyes of anti-semites, but be denied being Jewish at home.

It is very sad that Israelis are using DNA testing to do this ridiculous gatekeeping -- and at that, against the part of the population that has done so much for that country (there would be no Israel without Jews from the Russian Empire and USSR to begin with, as simple as that).

No prophet in his hometown, I guess.

</comment><comment><USER7> The history of Jews and Christianity is also a fascinating study. It's not appropriate to go into religious issues here, but to anyone with an interest in theology, please consider giving it a look.

</comment><comment><USER8> It means you're a Jew. It's the chosen _people_ , not the chosen random punk who "identifies" as a Jew.

</comment><comment><USER9> The crux for me was this paragraph:

"I have deep sympathy for the concern that genetic discoveries could be misused to justify racism," he wrote. "But as a geneticist I also know that it is simply no longer possible to ignore average genetic differences among 'races'."

There really shouldn't be a debate that there are genetic differences amongst 'races'. It shouldn't be something that is "taboo" to discuss or talk about, since it is a factually correct statement to make.

<comment><USER10> There's no rigorous scientific definition of "race", so there can't really be scientific facts about genetic differences between races.

Some "racial" groups happen to have a higher incidence of particular genes. But when you look at specific examples, it's absurd to connect this to any kind of racial theory. For example, Latinos apparently have a higher incidence of Alzheimers than the general US population, and this could possibly have some generic component ([https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5874398/](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5874398/)). But no-one would suggest that "Latino" is a bona fide racial category.

<comment><USER11> how about "a phenotypically and statistically relevant portion of one's DNA can be traced back to X region over the range of Y years ago"?

nobody is saying anything about "racial theory" in society at large. more so that certain particular phenotypes are strongly correlated together - <USER2> your example about Alzheimer's.

<comment><USER10> I don't really see what you're getting out. Yes, there are correlations between genes and other things. So what?

<comment><USER11> there's not much of a "so what" aside from the fact that that's true and people have typically labelled some of those clumpy groupings, "races". it may be haphazard, socially problematic and not extremely useful, but those correlations and average differences between groups are present.

The place where it becomes useless, in my view, and one of many ways in which it _does not_ ground racism is that differences _within_ these fuzzily-defined groups is vast.

a poster further up said "There really shouldn't be a debate that there are genetic differences amongst 'races'" and your comment seemed to, in tone, disagree while at the same time granting that its true. All I'm getting at is that this can both be 'true' and 'limited in usefulness' and if you agree then we're not arguing. ..but I sense that you don't agree and I'd be happy to hear more about the disagreement.

<comment><USER10> >people have typically labelled some of those clumpy groupings, "races".

Well no, not really. Racial labels aren't determined by DNA.

<comment><USER11> What else could it possibly be determined by? Perhaps we're talking about different definitions of the word "race".

Are you saying that the phenotypic differences between an Inuit and an African Pygmy ([https://en.wikipedia.org/wiki/African_Pygmies#Genetics](https://en.wikipedia.org/wiki/African_Pygmies#Genetics)) are not determined by those individuals' DNA?

<comment><USER10> >What else could it possibly be determined by?

Appearance and cultural characteristics (e.g. language, community, location). The connection to genetics is very loose. In the USA for example, someone who's considered "black" might have just as much "white" ancestry as "black" ancestry.

<comment><USER11> we are not talking about the same meaning of "race" then. you're talking almost entirely about socio-cultural elements (here. not earlier about Latinos, you should notice).

see my above comment about Inuits and Pygmies and notice how your tangent here doesn't relate to it. of course DNA explains that difference - nothing else can.

your divergence into culture is a bit disingenuous - especially since you were talking about Alzheimer's and Latinos earlier, a disease which has nothing to do with culture...

<comment><USER10> Erm, the point about Latinos is that they're a group almost entirely defined by socio-cultural elements. Latinos are not a random sample of the entire population, so there is no reason to expect them to have the same distribution of genes as the entire population. But obviously, there is no genetic criterion for being Latino. There are, e.g. Latinos with white European ancestry and Latinos with Mayan ancestry. Brazil is a massively diverse country, and yet pretty much all Brazilians are (by US standards) "Latino".

There is no respectable scientific or genetic definition of "race". Race is a socio-cultural construct. Naturally, there are rough correlations between genes and "race" in some instances. Lots of characteristics are roughly correlated. But by that loose standard, "sofware engineer" would be a genetically defined category too.

<comment><USER11> you say "obviously" there is no genetic criterion for being Latino... there's nothing obvious about that at all. you say here yourself they aren't a random sample of the population - then what are they? and whatever it is that ties these individuals together, I'd wager there's a genetic history overlapping in those tying elements. Or else you'd find much more ancestral diversity within "Latinos" (or "Asians", or "Blacks" or "Italians". there's a reason these partially-cultural-mostly-ancestral groups _tend_ to have similar ancestry. tend.)

just one example of the genetic angle of Latino-ness: [https://blog.23andme.com/ancestry/latino- ancestry/](https://blog.23andme.com/ancestry/latino-ancestry/)

if you go far enough back, we're all african, and if you go far enough forward, we're all exactly X% everything after enough gene-mingling. but we're not at that X% mix and we're also not all african. we're in an in-between stage where the cultural groups that are typically called "races" in this in- between moment on average tend to share ancestry and as a result, on average tend to be genetically similar. why are you making this sound like it's a wild claim?

I think of it as similar to taxonomy of species - there's no line during evolution where something stops being one species and starts being another. just like there's no hard line between races. but a sparrow is clearly not a giraffe. that's a useful comment about their genetic differences that may or may not give you information related to the correlations of those differences.

> "Naturally there are rough correlations between genes and 'race' in some > instances"

you don't seem comfortable letting this fact lie without caveating the hell out of it, which makes your position seem ideologically motivated - <USER3> makes me question how much truth you're willing to accept without obfuscating.

<comment><USER10> A Latino could have entirely white European ancestry or entirely indigenous ancestry (and those are far from the only possibilities). I think you just don't know what a Latino is (?) The blog post you link to might help you out here:

"Latinos — people who trace their ancestry to the ethnically diverse regions of Latin America."

"So for example, on average, people of Mexico have about 4 percent African ancestry, while for the average Puerto Rican the percentage is much higher."

Comparing racial differences in humans to species differences is wildly inaccurate biologically, and a racist trope. I think it's clear who has the agenda here.

<comment><USER11> i think you're misunderstanding the important parts of the analogy (and as a result calling me a racist, which is ridiculous). i'm saying all people are on a continuum of genetic difference and that some groups are clumped together along the spectrum relative to some phenotypes and other groups are clumped together elsewhere on the spectrum relative to the same phenotypes - and that it's easier to see differences between those groups relative to these phenotypes (an easier line to draw. say, average hair color between Pygmies and Swedes) and harder to see differences within those groups relative to the same phenotypes (harder line to draw. say, average hair color distribution within Pygmies).

tell me what is racist about that observation. at no point did i claim that certain of these clumps of phenotypic groupings are correlated with being stupid or inferior or better or worse (nor would I make that claim).

<comment><USER10> Obviously you can group people according to generic similarity. That could only be false if there were no generic variation.

The point is that there is no independently motivated means of grouping people according to their genes that will make, e.g., the racial classifications of current US society fall out as a result. You will get clumps, but you won't get one clump corresponding to African Americans, one group corresponding to Latinos, one group corresponding to Asian Americans, etc. etc.

People who are obsessed with linking these non-genetically-defined classifications to genes are, almost invariably, racists. What other motivation could there be?

<comment><USER11> off the top of my head i can think of a few non-racist, potentially useful motivations. here's a random one: say you're an EMT responding to a medical emergency and you have limited time to check for the top few health emergencies likely in the presented situation. you know that, based on the "perceived race" of the patient, condition X is more likely given this ancestry than condition Y. this is the only visible information that would influence your decision. your time is limited - it's only rational and responsible to check for the statistically more likely condition X before you check for condition Y. does that make this EMT a racist? or "obsessed with linking [...]"?

in the same way biological sexes might have medical correlations (color blindness, for instance), the things we're loosing calling races may also. why not use this potentially useful information in order to save resources and improve lives?

i can't help feel like you're descending into ad hominem - you're mostly agreeing with the facts of what i'm saying, yet claiming that looking at these facts at all makes one a racist. that's a non-starter. the facts are the facts and what you choose to do with them is what potentially makes you a racist; not merely their acknowledgement.

<comment><USER10> > you're mostly agreeing with the facts of what i'm saying,

No, not really. For example, you claimed above that "Latino" was a genetically identifiable subgroup.

As to the motivations you suggest, go back and look at my original comment in this thread. There's nothing in it that anyone with _those_ motivations would object to. In fact, that very comment made reference to the medical significance of differences in the distribution of genes between different "races".</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment>


Square's Disruptive Payment Service About to Get A Huge Retail Boost from Apple - <AUTHOR> http://techcrunch.com/2011/04/16/square-apple/

<comment><USER2> As a former retail manager of a brick and mortar store, I have to say that anything that brings competition to the payment processing industry would be huge for retailers.

Obviously, a retailer of Apple's scale has that much more to gain from disrupting the industry. Even moreso if they plan on having to negotiate with payment processors when they bring an NFC solution to market.

<comment><USER3> Apple isn't bringing an NFC solution to market anytime soon to the best of my knowledge.

Sadly, Square doesn't actually bring any competition to the payments marketplace at all. It just further entrenches credit cards.

I've written more about this here:

[http://www.quora.com/Aaron-Greenspan/Paying-With-Your- Phone-...](http://www.quora.com/Aaron-Greenspan/Paying-With-Your-Phone-Is- Awesome-Because-Its-Not-1960-Anymore-In-Reply-To-Farhad-Manjoos-Paying-With- Your)

<comment><USER4> I don't think that's a fair assessment . Square is coming from the merchant acquiring side (traditionally strict B2B), and branding themselves to consumers at the same time (theoretically, to breed trust). Square manages risk, don't get distracted by the hardware.

<comment><USER3> Well, maybe they bring some kind of competition in the world of merchant acquirers, but they are raising interchange prices, not lowering them. True competition lowers prices.

<comment><USER4> Have you looked at the mess that is FirstData> ISO> ISO> ISO?

Sales has been difficult to scale in this market for so long, it has relied on lots of layers of independent sales people. I would argue Square will bring some efficiency to this market.

<comment><USER3> I have. They don't seem to have changed much since they launched in 2009.

<comment><USER4> I'm not sure you took my point. FirstData is the largest merchant acquirer in the country; it's now privately owned, bought for $30B. It used to be part of American Express, as an interesting sidenote. These are entrenched industries, and you can't simply change them over night.

Out of curiosity, have you worked for a +$10B business?

<comment><USER3> I guess I still don't get your point. What is it?

Also, no, I haven't worked as an employee for a $10 billion company, nor do I have any desire to.

And yes, you can change entrenched industries overnight; that's the point of technology entrepreneurship, and it's why many of the people who frequent Hacker News bother coming at all.

Lastly, I've noted that in other parts of this conversation you claim to be an expert on payments--so who are you, again?

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER5> Overall, I like it and it's a great idea. But...

Have you ever been a merchant accepting credit cards? So, that guy buys your couch for $300 (in the promo video) and guess what, no $ gets deposited into your bank account. In the merchant world, that's called a chargeback. 99.9% of the consumers have no idea what this means...you don't get paid and it typically costs you additional fees.

Merchant clearing companies ONLY provide an authorization and a money transfer service for their vig. This means, consumers (and businesses) have nobody working for them and no protection against the deadbeat or scammer.

So, you can buy that 108" LCD TV on your AMEX, have it delivered to a friend's house, call the merchant back and claim you didn't receive it, and the merchant will get the chargeback since they can't prove you signed for it. Really.

<comment><USER6> The rules for chargebacks are better for card-present transactions. According to their site, if you get a signature and "verify the signature matches, you will usually win the chargeback dispute":

[https://support.squareup.com/entries/160990-security-and- com...](https://support.squareup.com/entries/160990-security-and-compliance)

</comment></comment><comment><USER7> Although I hav no knowledge on the matter, why is there an assumption that this means the iPhone 5 won't have NFC? I'd imagine if Apple were to introduce NFC it would do so by bringing on board a few large retailers who would support it and get key recognition at the iPhone 5 event. Square would still serve a role with smaller businesses and for person to person transactions for a while I'd imagine, on top of which one would assume that square would eventually rely on NFC as well and drop the attachment. Or maybe Apple would buy them outright - hence the reason to establish this relationship now.

<comment><USER8> More people have credit/debit cards than smart phones. There is no reason why Square couldn't support NFC eventually, but I think for the next decade, retail purchasing experiences, will involve consumers with credit/debit cards.

</comment></comment><comment> rm-rf How does a retailer using Square manage PCI compliance?

Are retailers using Square automatically non-compliant? My understanding is that PCI Council has not approved mobile applications under PA-DSS, and merchants who accept card using software that is not PA-DSS are automatically non compliant on PCI-DSS.

</comment><comment><USER9> I think this is really smart. Think how insane garage sales can be now when people can accept credit card payments. Or being able to split checks at a restaurant (when the waiter/waitress wont do it) by charging the others at the table while you pay the restaurant. Sure it looks like Square is losing money on this, but I think it was on HN where I read that Square was already processing $1mil a day. I'd also assume that this $10 credit won't be around forever.

Either way, the simplicity of Square is what will make consumers interested.

<comment><USER10> I just came back from eating, and two people used paypal over their phones to pay each other to split a meal... doesn't seem like carrying an extra gadget around is as good as the "what's your paypal" method.

<comment><USER11> What I did was epoxied the Square reader onto a keyring. That way I don't need to think about remembering it.

</comment></comment></comment><comment><USER12> FTA: "it appears that Square could be losing money on this"

What a naive statement. The author was doing some good reporting, then says something like this? Obviously selling the hardware is not Square's business model; collecting transaction fees is. Basic economics says they would want the devices in as many hands as possible.

<comment><USER13> I imagine Square would want the devices in as many hands as possible _that actually accept credit card payments_. If Apple retail stores were to simply give away the devices, there'd be a lot of people picking them up, with little advantage to Square. People like free stuff, even if they don't know what to do with it. By selling the product for $10, customers will think it is at least worth $10.

On Square's website, it's fine to give the devices away, because many of those visitors are already interested in accepting credit card payments. Not all Apple retail store customers are. On every Square sale that Apple does, Square is probably out $5 or more, but it's worth it, because it weeds out the least serious customers.

</comment></comment><comment><USER14> Is Square attempting to market consumer uses for their product? It seems like a device and service to process credit-card payments isn't really right for the masses of consumers that flood through Apple stores.

<comment><USER11> Count me in as one of the people using Square as a consumer device.

Ever been out to dinner with friends and when you go to split up the check, everyone wants to trump because they don't have cash and only have a credit card? Boom. Now I'll just trump and then have everyone pay me back with Square. The convenience is worth the inexpensive transaction fee.

<comment><USER15> Wow.

Awesome, Rube Goldberg.

</comment></comment></comment><comment><USER16> I can't wait to be hassled by the first homeless person who's sign advertises that they can securely process credit card transactions!

<comment><USER17> Relevant:

<http://www.youtube.com/watch?v=5tvuDxM7mdE>

</comment></comment><comment><USER18> I think this increases the possibility of something like Square being built into the next iDevice with Apple buying Square first. If Square doesn't sell, then expect Jobs to build his own.

<comment><USER8> Build his own credit card reader into the iPhone?

</comment></comment><comment><USER19> Can't wait to start buying street drugs with a credit card.

</comment><comment><USER20> My project (which was rejected this YC round but I still think is promising) will benefit from widespread square adoption so this is cool.

BTW is anyone from Square here on HN?

<comment><USER21> I'm an engineer at Square. I'm sure most of the company is on here as well.

</comment></comment><comment><USER22> It's a great idea with a great team behind it and this is a huge win on the biz dev side. Congrats to the guys.

One inconsistency from the TC post though:

> ... announcing that it is processing $1 million in payments per day

vs

> COO Keith Rabois told us in January that the startup is expected to process > $40 million in transactions in Q1 of 2011 ...

There are more than 40 days in Q1, even if you limit it just to business days. I'm confused.

<comment><USER21> The reason the projection for Q1 was only 40M is because it wasn't until March that Square reached the 1M/day milestone ([http://techcrunch.com/2011/03/02/square-now- processing-1-mil...](http://techcrunch.com/2011/03/02/square-now- processing-1-million-in-mobile-payments-per-day/)).

So in January and February they were doing less than 1M per day.

</comment></comment><comment><USER23> Although, I was initially skeptical of Square's success, I have found Square to be great for splitting small charges such as a dinner or a gas bill between my friends and I. The little card reader gizmo is a great conversation starter.

<comment><USER24> What does the dongle thingy feel like when youre using it? I've never seen one IRL, but all I can think about when I see the photos is that it would spin around, be awkward to use, and maybe even wear out the headphone jack. Any comments from your experience are appreciated.

<comment><USER21> Square users only keep the device into their phones when they are taking a payment. When it is not needed they will carry it in their pocket, backpack, purse, or even put it on their keychains.

Even if someone were to keep the device in their phone all the time I do not think it would wear out their headphone jack. It is no different than keeping headphones plugged in all the time.

</comment></comment></comment><comment><USER25> I keep wondering. How can you trust the app on the iPhone you are swiping your creditcard through? Isn't this just a skimmers dream come true? Also, in Europe the magnetic strip is quickly being replaced by a chip.

</comment><comment><USER26> Is the black model new? I hadn't seen that one before.

<comment><USER27> _You can also purchase the device in black or white (previously the Square devices were only sold in White)._

</comment></comment><comment><USER28> How this could/would affect Apple's adoption of NFC?

<comment><USER29> To me, it suggests that the iPhone 5 will unfortunately NOT have NFC (or at least not the built-in iPhone-to-iPhone payment system many of us expected).

This is a real shame, as the fragmentation of Android means it will be hard for Google (instead of Apple, as expected) to truly make NFC the new "digital wallet" standard.

<comment><USER4> There are a ton more stakeholders in NFC technology than Apple and Google. The way Mastercard and Visa look at it, they are taking away market share from cash ($).

Currently, contactless payment terminals exist at 1% of merchants (the 1% is from memory, but it is low): -Fast food (e.g. Mcdonalds, Jack in the Box) -Convenience (e.g. 7-eleven) -Movie Theaters (e.g Regal Theaters) -transit terminals (e.g. Las vegas, San Fran, Chicago, D.C.)

These two companies are not the make or break stakeholders in the NFC equation.

</comment></comment></comment><comment><USER30> Am I the only one that feels that this will impede the adoption of NFC-style payments?

<comment><USER31> I watched a documentary showing how hackers can get your CC number (and basic info I think) simply by using an NFC enabled device and standing next to someone with such credit card. I think the Square method is safer, for now.

<comment><USER4> You watched a documentary?

I come to HN for expertise because there are so many knowledgeable people that know a great deal about things in which I'm interested, but am only a beginner. I've come to expect expertise on this site in almost any category. As such, my only expertise is payment processing and mag stripe/ smart card/ contactless (NFC), both the technology and the business.

In short, your documentary was incorrect, and considering the technical nature of this site, this topic needs more color.

NFC is a very low-level protocol, security is determined by the overlaying pieces. Two of the most prominent security implementations (FeliCa by Sony, and MiFare by NXP semi) operate by "security by obscurity." The contactless national passports support FIPS 140 security (based on PKI). This is the best security you can get, As long as the developer has access to the secure element on the device, it should be straightforward how to implement good security. Think of it as SSL, but the issue is doing it well with a data rate so low (424kbps, typically, with 848kbps at most).

NFC technology has been at a stand still for 3+ years because everyone is fighting over who has control. The carriers aren't going to sell phones with their secure NFC elements "open." The carriers will extract some revenue from phone payment transaction unless someone makes a nice NFC "phone sled."

<comment><USER3> It is possible to be an expert on payment processing without being rude and obnoxious.

If you don't like what you find on this or any other web site, no one is forcing you to visit.

</comment></comment></comment></comment><comment><USER32> Here's the next step in this relationship:

<http://twitter.com/stevecheney/status/43042602668404736>

<comment><USER33> Please be respectful of all HN users time and don't link to your own Twitter statuses. This could be written as a comment on HN.

<comment><USER32> the point of the status was that this was written 6 weeks ago. Predicting a deeper apple/square relationship was right on</comment></comment></comment>


Ask HN: If you only had 40 hours to learn a new IT based skill what would it be? - <AUTHOR>

<comment><USER2> Python. IMO, it's so well designed that you can gain a comfortable (albeit still beginner) grasp on it within 40 hours, especially if you have prior programming experience.

</comment><comment><USER3> How to build a lean startup with Steve Blank [https://www.udacity.com/course/ep245](https://www.udacity.com/course/ep245)

</comment><comment><USER4> There are many many IT skills you could learn in 40 hours. Assuming you are not a complete n00b, how about learning Ruby and Sinatra (a "framework" for rapidly creating web applications). You could easily make it through the book, "Jump Start Sinatra," in less than 40 hours, for example.

Is this the type of response you're looking for? If not, please clarify. Good luck!

<comment><AUTHOR> My wife and kids are away for a week in the near future, so I thought I would take 40 hours and learn something new. I have no idea yet as to what that will be, so I thought I would ask more intelligent people what they would do :)

Thank you for the suggestion though!

</comment></comment><comment><USER5> Metrics measurement and tracking of some sort, depending on your area of interest and existing expertise. That could be Graphite and statsd, or a particular type of web analytics like Google Analytics or MixPanel. It takes roughly 40 hours to get a good basic understanding, implement, test, and start tracking useful things with each of those.

</comment><comment><USER6> I'd go with NoSQL (any of them, overview of all of them?) or AWS/cloud stuff, because I'm already familiar with Linux administration and RoR. In the enterprise you don't get to work with that sort of technology, so that's where I'd spend my time.

</comment><comment><USER7> Web security and attack vectors, seriously. Will be helpful regardless of the technology you'll choose to build web apps.

</comment><comment><USER8> what current skills do you have? I would pick a skill to compliment my current skills.

</comment><comment><USER9> Both Angular and Ember so I can at last make my _own_ mind up on which is better!

</comment><comment><USER10> Linux servers administration.

<comment><AUTHOR> That was definitely on my list :)

</comment></comment><comment><USER11> Mh or ruby and rails (but 40h are not enough for both) or probably GO

</comment><comment><USER12> Either Python or Ruby. Photoshop is also a good choice.

</comment><comment><USER13> Graphic design.

</comment><comment><USER14> State-of-the-art security and crypto.

</comment><comment><USER15> I'd learn Chef or Puppet.

</comment><comment><USER16> AI (in games, mostly)

</comment><comment><USER17> node or basic sysadmin or django

</comment><comment><USER18> java script, node.js or PHP</comment>


Rethinking web API development - <AUTHOR> http://matt.aimonetti.net/posts/2012/06/13/rethinking-web-service-development/

<comment><USER2> Why the crack about Webmachine? It seems sensible that you'd want to factor out all of the logic common to every web service so that you wouldn't keep re- writing it for every service you develop.

I don't believe that Webmachine forces you into "a specific way of providing your data." It wants you to provide data in a format that both your service and the client are prepared to understand, again, that seams reasonable.

<comment><AUTHOR> My issue with webmachine is the fact that it forces you into HTTP/REST which might not be a bad thing, but I don't like the lack of flexibility and being stuck in a rigid mold. Besides that, webmachine is great.

<comment><USER2> I think I understand what you're saying, the Webmachine documentation is pretty heavy on the REST. That said, in my opinion it could serve any kind of resource, the library itself doesn't force you to build a RESTful interface.

</comment></comment></comment><comment><USER3> "I also didn't mention the whole REST/RPC/Hypstermedia debate since I consider it being an implementation detail and a totally orthogonal discussion."

with respect to the author this article is well intentioned but it is (in my opinion) fundamentally misguided..

The choice of any of those styles will directly and deeply effect how your clients consume (i.e. couple) to your API.. and ultimately how you are able to evolve and maintain your application over time without heavily disrupting code written against your service.

Rails is perfectly adequate for exposing resources, rendering representations, and for publishing documentation - producing yet another framework that is entirely focused on API might help but in largely superficial ways. The challenge of good API design is in exposing it to the world so that it evokes the right behaviour from an ecosystem of clients you don't control the code for. The details of how you put the API and documentation together in the backend are inconsequential to this challenge since it is all hidden from clients behind HTTP.

<comment><AUTHOR> I see your point, what I was trying to convey though, was that whatever style you decide to adopt, you still need to value communication, consistency, reliability and maintainability. > "The details of how you put that together in the backend are inconsequential to this challenge since they are hidden behind HTTP." That's is true, except that to integrate well with the "ecosystem of clients you don't control", you need a way to communicate with the people behind the clients. And that's what matters to me whatever technical solution you use.

<comment><USER3> the interface you establish is the ultimate form of communication with the people behind the clients. You can't force people to read/obey documentation (no matter how pretty or up-to-date it is), but they are obliged (naturally) to follow the rules of your interface.

It's also worth bearing in mind that the design you pick will directly affect how you document your API - documentation of RPC APIs are different from that of Rails-style CRUD-over-HTTP APIs, which in turn are different from that of REST APIs (or "hypermedia APIs" - redundant term, really).

<comment><USER4> Also, if you follow REST closely your APIs should be self documenting.

<comment><AUTHOR> I have yet to see a REST interface that self describes in details its incoming params and output. REST gives you discoverability which is different from documentation.

<comment><USER5> Plus, it's actually really HATEOS that gives you discoverability, not just any old REST.

But either way, I agree with you, while the theory is that if you do it 'right' one way or another it's self-documenting, I have yet to see an API which doesn't need good documentation to be usable.

Well, actually, that's a lie, I've seen at least one: The TinyURL "api". Which is obviously extremely simple.

</comment></comment></comment></comment></comment></comment><comment><USER6> I wonder how would this Weasel_Diesel DSL framework that sort of drives you toward sinatra deal with number one requirement for most APIs --- being secure.

In other words, I need it to work well with implementing an oauth provider functionality.

Also potentially one needs to come up with a way for an API consumer to be able to generate oauth credentials in a (hopefully) user friendly way.

Hence Id prefer full Rails environment with things like Devise and ActiveAdmin

</comment><comment><USER7> Matt, now I'm working only with API and I couldn't agree more with you.

Last year I worked with a very big and monolithic Rails app and all the time I was wondering about move it for services but it wasn't possible.

I'm almost convinced that we can write service layers with a very consistent API and use Rails to consume it as a client. The HTML interface should be only another client.

<comment><USER4> Why? HTML is just another output format for a resource. Like Json or Xml.

<comment><AUTHOR> @MatthewPhillips maybe because the logic to generate JSON and HTML is very often quite different and having a tight coupling at this level might result in some serious pains later on.

<comment><AUTHOR> > You take the same data and either run it through a Json serializer or a view > renderer.

My experience might be different than yours, but very often my html views quickly end up needed more than 1 resource to render and now I need to fetch data just for the html templates. The same data set isn't needed when returning json or xml and the API end points exposed for data consumption are often quite different. That said, in some cases, I agree that your approach would work.

</comment></comment></comment></comment><comment><USER8> I'm working on an open source platform for restful api app development, running on node.js and mongo. The idea is to handle the backend stuff so you can focus on the frontend of your choice. But on open source, so something like wordpress for apps. I'd love input on the idea. <https://github.com/comster/house>

</comment><comment><USER9> Is "Documentation" just an implementation detail for what you really need: "Communication"? If I can have a smooth learning curve and a well-understood contract, then I'll have an API that developers enjoy using and integrating into products. Now granted, I don't see how this can be done currently without proper documentation (even if that just means naming the routes well, and providing illustrative examples), but that doesn't mean it's not possible.

</comment><comment><USER10> Why not build this as a middleware layer? You can mount a sinatra app within Rails (/services for instance), and then write your API in a predefined path structure that the gem will look into (within the rails app path maybe?)

You can pretty easily share models and whatnot -- and then you have a nice clean place to define/override your DSL. I would have to do some playing to make sure this is valid, but that might be an approach to think about.

</comment><comment><USER11> Sorry but can someone enlighten me, on why this might be be better than using: <https://github.com/josevalim/active_model_serializers>,

<https://github.com/nesquena/rabl>,

<https://github.com/rails/jbuilder>

</comment><comment><USER12> The DSL you describe is remarkably similar to WSDL (<http://en.wikipedia.org/wiki/Wsdl>) in terms of describing a web service and how to communicate with it.

Granted, DSL is a lot easier to read, since it is using Ruby syntax instead of XML. Functionally, they are the same.

</comment><comment><USER4> Is MVC really equipped for this new world? When you write a single page app there's really no need for the V server side, so you left with "MC" and its heavy handed conventions or a Sinatra-like method that more directly maps to RESTful resources.

<comment><USER13> MVC never worked for regular web pages, it needs bindings and direct feedback to make sense, all the purported MVC web framework were basically full of shit. To "do MVC" on the web, you either do it all on the client, or you split the C across server and clients, with M on the server and V on the client. Something like that.

Or you use different meta-patterns, and you stop lying to yourself (and to everybody else). That's fine, regular web interactions work and work well and they have structural advantages. They just can't do MVC in any sensible manner.

<comment><USER14> Agreed; there's essentially zero correlation between real MVC (as described in papers about the original Smalltalk implementations) and web "MVC frameworks".

</comment></comment></comment><comment><USER15> I'm currently using the rails_api gem for an API only app I'm building. It's pretty lean.</comment>


Apple adds support for encrypted DNS (DoH and DoT) - <AUTHOR> https://www.zdnet.com/article/apple-adds-support-for-encrypted-dns-doh-and-dot/ <comment><USER2> > Apple says developers can create apps to apply DoH/DoT settings for the > entire operating system (via network extension apps or MDM profiles), to > individual apps, or to an app's selected network requests.

This sounds like a direct support and expansion of what was already possible system wide via "VPN" apps like the free DNS Cloak app which allows you to choose any resolver (with or without DoH/DoT).

> "There are two ways in which encrypted DNS can be enabled," Tommy Pauly, > Internet Technologies Engineer at Apple, said in a talk on Wednesday.

> ...

> "The second way to enable encrypted DNS is to opt-in directly from an app. > If you want your app to use encrypted DNS, even if the rest of the system > isn't yet, you can select a specific server to use for some or all of your > app's connections," Pauly added.

 _> Furthermore, Apple's DoH and DoT implementations will also be context- aware. For example, if a user has a VPN app installed, or is part of a captive (corporate) network, the DoH/DoT server won't override the DNS settings provided by the aforementioned._

Thank goodness for this. While reading this article, for a moment I thought apps could use a different DNS server even if the user had chosen something else system wide via a VPN app (Google's direct usage of 184.108.40.206 in its applications on some platforms, bypassing the system resolver, comes to mind).</comment>


Show HN: Trumpifier, the flying 3D Trump hair piece App - <AUTHOR> https://play.google.com/store/apps/details?id=com.genewarrior.trumpifier <comment><AUTHOR> Yes, it's about as useless as it sounds, but quite entertaining.

Face detection (position and tilt/rotation) is based on Google's Face API, the hair piece is drawn using OpenGL.</comment>


Ask HN: How do I delete my account here - <AUTHOR> Hi,
  There should be a way, to delete all my comments here, and close my account here. What is the way?

   I could not find a way for it. If there is none. I request and authorize any of the admins to do it for me please.
 Thanks, <comment><USER2> You have to email the owner, Paul Graham.

By the way, I see you told everyone you would "quit HN" if you didn't get a satisfactory response to this comment: <http://news.ycombinator.com/item?id=2088044>

There are people here who down-vote simply because they don't like your face. Don't take it to heart. Just keep contributing useful commentary or stories and shrug it off.

<comment><AUTHOR> Yes, I don't like the elitist negative voting policy of this forum.

So I want to quit. The community by and large is good, so I will be a lurker still. But I shall not be down voted.

PS: Would hate to bother PG with this. Have a lot of respect for him. So request any other admins to just remove my account. After deleting all my posts.

<comment><USER3> Wow, you must have a tough time on the internet with this thin skin of yours...

Relax, why do you care about karma so much? Make your comments, and forget about them. If you get downvoted, you might want to think about why, but acting on it (and throwing a tantrum about it, which this is, basically) is pointless.

Just comment when you feel like it, try to add something to the discussion when you do, and forget about the rest...

<comment><AUTHOR> Okay. This is mostly my final comment here. Sort of replying to all the various comments here...

Typically, I don't have a tough time. As I talk to people on the Internet, as if I would talk to them in real life. I don't take advantage of the anonymity. You can see all my prev comments as a proof.

I maintain: down-voting, should only be used for spammers, or for clearly defined things (like profanity being used etc.) . As it does feel quite insulting, to be down-voted. The up-votes, itself, can handle everything.

In any case, I am not really upset now, or anything (thanks for trying to make me stay, as a commenter, in good cheer) :)

You can consider, this as my way of protesting, about things I don't agree with it. (And I stand to gain, no advantage, out of this as I have been anonymous, on this from the beginning...).

<comment><USER3> Hey, I totally agree with you. Dowvoting below 0 should only be for spammers/trolls. Profanity? Fuck no! I'd hate it if profanity got downvoted on here. See my comment from almost a year ago: <http://news.ycombinator.com/item?id=1161148>

But the reality is, downvoting goes wrong sometimes. That shouldn't be such a big deal, though. It works most of the time. Just stick around and you'll see.

</comment></comment></comment></comment></comment><comment><USER4> You've been here less than 3 months. In reality, you probably need to chill out a bit.

To answer your question directly, there is no direct support for deleting accounts. PG might be able or willing to delete it if you email him and ask nicely.

</comment><comment><USER5> Honest question: Why does it matter if your comments are deleted? If you no longer want to participate in the community, then you can simply not return. If you want to stop yourself from logging in, then change the password to something incomprehensible and log out, effectively locking the account.

However, it feels like you are angry and you also want to withdraw the content you've submitted as well. Why does that matter? To be honest, your comments are going to fade into history even if they continue to exist. Deleting them aren't going to change anything. Same thing with your account — even open, with no new comments (if you stop using it), it'll fade into essential non- existence as well.</comment>


What I Learned from a Taipei Alley - <AUTHOR> http://www.eugenewei.com/blog/2018/5/11/taipei-alley <comment><USER4> My other comment was a little too negative, so here's two positive alternatives.

The American system of throwing lots of great things into unlocked dumpsters does wonders for the poor. It's much more effective than non-profits, who might only help citizens/legal residents/etc. When I was broke in California, I ate food from dumpsters for about 6 months.

The French recycling system has large bottle banks placed in each village, where plastic, glass, and paper can be deposited. The council also issues free compost bins to houses that have gardens, so they can dispose of organic waste and make their own fertiliser.

Other items (wood, electronics, furniture) take more effort. In France these can be taken to a "déchetterie", or scrapyard. That would be great, except that it's recently become a _crime_ to remove items from these. That's actively hostile to the right to repair. In America it was often free to fish for scrap, and in Taiwan & Korea I'd just have to pay a small fee based on weight. Most of the computers and bicycles I owned came from scrapyards.

Can anyone else offer insight from other countries?

<comment><USER5> In my country we used to have bi-annual hard rubbish days where people would leave out old unwanted furniture to be collected by local council. When I had little money and no car, I could walk around the neighbourhood and drag home slightly damaged furniture, fix it up and furnish my home.

Now they've moved to just-in-time collection vouchers, so this perfectly serviceable furniture goes straight into landfill, and poor people don't get the chance to repurpose it.

On the positive side, the council pays a small reward for collecting and returning recyclable bottles, which provides the homeless with a chance of a modest legal income and stops some of them from panhandling.

<comment><USER6> This effectively happens once every year near American universities. Lots of furnishings in good condition, left in haste by students.

</comment></comment></comment><comment><USER7> I love Taiwan, but I would argue that it's the garbage system that builds a sense of civic cooperation, not the other way around. My impression of Taiwanese culture in general (compared to LA, where I grew up) is one of commitment to the status quo, preference for the path of least resistance, and strong risk aversion.

All of these add up to mean that if the truck is how you're supposed to take your trash out, most people will accept it as the unavoidable hassle that it is. The remainder will either live in a fancy apartment that takes care of it for you, or else litter and/or abuse the few streetside trash cans you can manage to find around here.

That's not to discredit the people in Taiwan who really do give a damn – there's a great video on YouTube by a vlogger who invites the mayor of Taipei (!) to walk the streets picking up cigarette butts and other litter with him, and they share some great insights with each other. But I see Taiwan's trash disposal system much more as a triumph of central planning than the Taiwanese character.

EDIT: forgot the link to the video (no translation from Chinese, though)

[https://www.youtube.com/watch?v=BtTQO4OsZqU](https://www.youtube.com/watch?v=BtTQO4OsZqU)

<comment><USER8> _> who invites the mayor of Taipei (!) to walk the streets picking up cigarette butts_

One consequence of the lack public trash cans is that every smoker I've seen disposes of their cigarette butts by throwing them down the steel-grated drains that line every street.

In several years, I've never seen anyone cautioned or fined, despite sometimes doing this in front of police and traffic wardens.

Given the copious rainfall, I can only assume that the butts find their way to the rivers surrounding the city and onward to the ocean. Presumably this could be prevented with a little education and enforcement, but there appears to be little concern.

</comment></comment><comment><USER9> I like this topic a lot.

Part of the reason this works is because households in Taiwan are much more likely to be multi-generational - there's usually someone home in the evening to take the trash out at the scheduled time. In higher end apartment or condo complexes with more people living alone, there may be a maintenance fee to use a dumpster.

Taking out the trash is also a vaguely social activity (at least among the elderly people in my area) you inevitably run into your neighbors all at the same time in a way that's very uncommon in the US sans for perhaps block parties.

<comment><USER4> I counter that it doesn't work for a lot of other people, particularly the young and single. Pickup times are during working hours or social hours. There are seriously people who excused themselves from social functions because their rubbish is collected at 7:30 pm.

Recycling is only collected twice a week. Oh, you want to study Chinese? Sorry, the class is the same time as your rubbish collection. Or you've got to be home on Saturday. There is nowhere available to take rubbish and just leave it there.

It causes arguments between housemates. When my girlfriend complained "Why did you put the used bendon box/bubble tea cup/etc in the regular rubbish?" and I suggested that it was my housemate, it started a terrible argument. When she caught my CouchSurfing guests not using soap to wash the oil out of a tin of tuna, she wouldn't talk to me for 3 days and refused to let me have guests again.

If you want to throw away broken glass, and put the pieces inside a cereal box for safety, the rubbish collectors will yell at you for throwing it in non- recycling. The only real solution is to throw everything into the regular truck, run away fast, and never admit it to your girlfriend.

<comment><USER10> Not going to be popular here but this sort of behavior is a form of abuse. You must conform to an externally defined standard of virtue, or face consequences ...

<comment><USER11> > You must conform to an externally defined standard of virtue, or face > consequences ...

That is basically every East Asian culture in a nutshell:

[https://en.wikipedia.org/wiki/Face_(sociological_concept)](https://en.wikipedia.org/wiki/Face_\(sociological_concept\))

Related:

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

</comment></comment></comment></comment><comment><USER12> Most young, single, and/or wealthy people don't personally deliver their trash to the truck. The apartment complex I'm living in now in Taipei has trash and recycling bins down the hall on my floor. The last one I lived in had compost too, with separate bins for meat and non-meat food waste. It's still mandatory to use the municipal blue trash bags.

Depending on the vendor, you do occasionally see trash piled up in big round bags that sit on the ground outside restaurants or stalls. Some are much better about limiting disposable plates and utensils than others.

Obviously the lack of space on this small island plays a role but more broadly, I think there is a sort of diffuse sense of social capital, and as Eugene says, civic cooperation, that allows public spaces and institutions to function differently than in the USA.

<comment><USER13> I would imagine this has to be.

I was trying to imagine how this would work in my apartment building in Manhattan. The building is 15 floors, 10 units per floor and two elevators, which are neither particularly fast or large. It seems like it would be completely unfeasible for everyone to try to deliver their trash to the street at the same time.

Or perhaps I'm misunderstanding the process.

<comment><USER12> No, I think your assessment is correct. Few residential buildings in Taipei are that tall (my current one, for instance, has 6 floors) but the households that personally deliver their trash to the trucks tend to be individual units (not part of a apartment complex or gated community) in older and more residential parts of the city in buildings with fewer (e.g. 3) floors.

But the bigger factor is that people who have the money to live in newer apartments would prefer to pay for managed trash.

</comment></comment></comment><comment><USER14> >A much more vibrant and livable San Francisco likely involves something like 25-50% fewer cars, sidewalks 50% wider, buildings 50% taller, twice the population density, and 25X the number of electric scooters, just to throw out some back of the envelope guesses of enough magnitude to alter one's conception of the city in a significant way. But no incrementalist approach will get the city there.

I totally agree. We need to break out of the cycle of designing cities for cars and then not building up public transit because everyone has cars. Another thing important for a vibrant city is an abundance of street level retail.

<comment><USER15> I agree with most of that but why should buildings be taller and population density higher? I'd like the opposite: taller buildings == less visible sky, more people around == more noise and more long lines. The three things I didn't like of China when I was there on vacation and I was happy not to find back home.

<comment><USER14> I think just having more people makes the area more lively. Less people will basically turn it into suburbs. Also higher density means public transportation can be better utilized and reduce the need for cars. I saw this at Arlington and Nova where right around the metro stations, there were high- rises and the area was very walkable and lively.

</comment></comment></comment><comment><USER16> This article is unreasonable. Taipei has alleys and clever ways of dealing with garbage therefore San Francisco should allow larger number of scooters.

But this ignores the major conflict that has already flared up. Without specific places allocated these scooters end up taking up valuable space in the public domain. Without successfully establishing methods for controlling and enforcing where scooters go they end up everywhere. My work involves wheeling equipment around along sidewalks all over the City and I am frequently blocked by not just individual scooters but entire piles which are heavy and difficult to move in part for the same reason they end up distributed that way. There is no particular place for them and only very limited efforts to collect them and bring order.

If you want to revolutionize some aspect of cities such as transport or trash collection then you have to do it in a way that does not block other people from doing their work and attending their duties. If your revolution starts to cause a lot of damage as the scooter craze already has then it will start to be reigned in by official actions. Thinking that you have absolute infinite license to block streets and pile up scooters in a very small and congested city is unreasonable and wrong and has already failed.

Try again maybe? Maybe aggressive collection of scooters based on Taipei trash collection could work where current methods have failed?

I understand that you want scooters and that would be nice, but I want to be able to use the sidewalks and have already established a pattern of use that leaves them available to the vast majority of others who live, work, or visit the City.

<comment><USER12> This article is contrasting SF's incrementalism with the holistic top-down overhaul of the trash collection system in Taipei. It's not saying Taipei's alleys imply SF should allow more scooters.

You have a legitimate grievance, but you are mischaracterizing what the article is about. It's not about scooters. It's an argument that incrementalism will only help you find the nearest local maximum, and that sometimes achieving a breakthrough in building a vibrant city requires centralized holistic policy changes.

</comment></comment><comment><USER17> A Taiwanese explained to me that since they have to pay for the official trash bags they care about how much stuff they can fit into that bag. Consequentially they compact the trash, take out whatever can be recycled and in general spend some time dealing/thinking about trash. This makes the problem of trash more personal to them so they actively think about it and care more about how much trash is produced. I have seen many Taiwanese carry around a non-disposable set of chopsticks, a glass bottle for water that they fill up at various places and some even have a glass straw.

Also the garbage trucks don't seem to always stop, it was funny to me watching people coming from all directions and running after the truck and throwing the bags in :-).

<comment><USER18> Same in Switzerland. It works like this - you can only submit trash for collection in authorized bags. Authorized bags can be purchased only in select shops. These bags are expensive and the larger the bag exponentially pricey they are.

Incentive to compact as much as you can in relatively smaller bags, and financial incentives are aligned.

In the countries I have lived, Switzerland was where I had to constantly conscious of trash accumulation and disposal.

</comment></comment><comment><USER19> > City officials discovered that citizens had been skirting recycling mandates > by dumping things in public trash bins

This is certainly true, i often saw signage on trash cans in places like 7-11 saying the trash was for customers only. And when I asked a local where I could toss a wrapper, they just took it and put it in their pocket or something.

</comment><comment><USER20> This reminded me somewhat of an impressive aspect of Burning Man: no trash cans and no loose garbage anywhere.

</comment><comment><USER21> I have footage of these garbage trucks:

[https://youtu.be/BtpWn6PuDX0](https://youtu.be/BtpWn6PuDX0)

<comment><USER22> After our last trip to Taiwan we decided to make a mobile game about the garbage trucks, just for fun. You run through a quintessential Taiwanese night market past street food stands, motorcycles, and 7-11's while dodging debris like durian and bubble tea in order to catch the garbage truck.

Here's a quick trailer if anyone wants to check it out: [https://www.youtube.com/watch?v=_SXWybqiLjQ](https://www.youtube.com/watch?v=_SXWybqiLjQ)

</comment></comment><comment><USER23> We used to have collection trucks in Lithuania few years after Soviet Union broke down. They used this horrible siren around 7pm once a week or so.

No notion of recycling. But there wasn't that much plastic in use until somewhere around year 1997 or so. I think it switch to public container system around that time too.

</comment><comment><USER24> Can anyone explain how it works in Japan? I visited twice and I noticed that public garbage cans are basically non-existant. I kept my trash in a plastic bag and dropped it in the wastebasket at the hotel.

<comment><USER24> Accidentally found out myself (I am just back from a short vacation in Tokyo): one of the guides explained that almost all garbage cans were removed as a consequence of the Sarin attack in the Tokyo Subway in 1995 - <USER2> [https://en.wikipedia.org/wiki/Tokyo_subway_sarin_attack](https://en.wikipedia.org/wiki/Tokyo_subway_sarin_attack).

</comment></comment><comment><USER25> This article has a very interesting take on the subject. And for those that have not seen it live, here is a video:

[https://www.youtube.com/watch?v=yHAJ7f0HyjM](https://www.youtube.com/watch?v=yHAJ7f0HyjM)

As background info: Before this system was introduced, people would simply leave their smelly garbage bags on the street for collection, not a good idea in a hot and windy country.

I was not aware that it also helped to reduce the amount of garbage significantly (as the article describes). That is a very cool side effect - <USER3> was this planned?

<comment><USER9> Not mentioned in the article is that the official blue garbage bags need to be purchased. Garbage collection is effectively pay-by-volume.

They're cheap, but the fact that they're not free changes people's behavior towards using less bags and separating compost and recyclables.

</comment></comment><comment><USER26> Growing up in Detroit in the late fifties and early sixties we had rag men that would come down the alleys. They blew some sort of whistle and would collect rags, newspapers, cardboard and such. They would have a single horse pulling a wagon.

[https://www.detroityes.com/mb/showthread.php?20679-sheeny- ma...](https://www.detroityes.com/mb/showthread.php?20679-sheeny- man-\(1950-s-junk-dealer-with-horse-drawn-wagon\))

<comment><USER27> In Taiwan they have people on scooters who will haul "trailers" of cardboard for recycling. So it's still a thing. AFAICT, they're not supposed to as it's supposed to be taken by the recycling company but often times either people hand it to them directly or they will retrieve from dumpsters (which take cardboard).</comment></comment>


App Store Lessons: the game changer rejection - <AUTHOR> http://www.tuaw.com/2009/06/12/app-store-lessons-the-game-changer-rejection/

<comment><USER2> As frustrating as this is, I don't see any real reason for Apple to change it's stance (other than fairness). People will complain yes, but enough devs will keep submitting apps so Apple has little reason to start paying them more respect. Until developers stop submitting apps wholesale, I doubt much will change.

The REAL buggaboo though, is that this is going to have the opposite effect that Apple wants. Instead of getting more high-quality submissions, they will start to get more stuff that can be devved in a small amount of time. The risk of getting rejected is just too great to justify putting a huge amount of time into one app.</comment>


Why we should adopt a non-Turing complete language for client-side scripting - <AUTHOR> http://doriantaylor.com/something-i-would-like-to-do

<comment><USER2> "It is a mathematical impossibility for the behaviour of Turing- complete code to be analyzed by machine."

This is categorically false. There are plenty of static analysis tools that can determine if programs written in turing-complete languages will halt. They can't do it for every program, but they can do it for large numbers of useful programs.

Simple counterexample: python is turing complete, yet it is possible to mechanically analyze and determine a whole lot about this program:

        print "Hello, World!"

Yes, that's a stupid example, but it demonstrates that the premise of this article is false.

As further example that the author misunderstands the issue is the quote: "That, or viewing your website means I have to pore over every line." If good static analysis tools can't figure it out, it is less likely that a person will.

Static analysis tools running on Turing complete languages are a useful tool. Sometimes they answer "I don't know" at which point you will have to decide if you trust the author or not, but the vast majority of code out there is fairly tractable.

[edit] It is true that it is a mathematical impossibility for all possible programs in a turing-complete language to be analyzed, but that doesn't mean that there don't exist programs that are analyzable and has little bearing on whether or not real-world programs are analyzable.

<comment><USER3> >There are plenty of static analysis tools that can determine if programs written in turing-complete languages will halt.

But they're heuristic, which means if their use ever becomes widespread it will be very easy for malicious software writers to defeat them on a case-by- case basis.

<comment><USER2> They need not be heuristic. It is possible to formally prove things about programs in Turing-complete languages.

<comment><USER3> >It is possible to formally prove things about programs in Turing-complete languages.

But not about arbitrary programs you download from the Internet. For such programs you need to require either that they include a custom proof, or that they're written in a non-Turing complete language so that you can check safety yourself.

<comment><USER4> ... or you could adopt a personal policy of just not running such programs. That's the top-level poster's point -- the boundary between statically- analyzable and not is extremely complex, and not coincident with Turing- completeness.

</comment></comment></comment></comment></comment><comment><USER5> Turing-completeness is difficult to avoid, and has little to do with security. For every addition to the language—browser extensions in particular—we will have to very carefully prove that it cannot introduce any way to create a non- terminating function.

But in any non-trivial interactive application, termination _can't_ be a guarantee. The user may not ever cause the program to halt, and indeed, you _want_ a game to run without end. Perhaps you could use a form of FRP: only the reactive part of a program would run continuously. But what would you gain?

We don't need to make a language where programs are provably innocent. We need to make a language where assumed-guilty programs are provably imprisonable! An ordinary statically typed functional language would do just fine.

<comment><USER3> >Turing-completeness is difficult to avoid [...] For every addition to the language [...] we will have to very carefully prove that it cannot introduce any way to create a non-terminating function.

Solving the halting problem doesn't mean all programs end - it means you can automatically determine _whether_ an arbitrary program ends.

<comment><USER5> Yes. So? We're not talking about the halting problem. The author wrote of total functional programming, a paradigm in which all functions and programs _are_ provably terminating.

<comment><USER3> > we will have to very carefully prove that it cannot introduce any way to > create a non-terminating function

>The author wrote of total functional programming, a paradigm in which all functions and programs are provably terminating.

So then what are you concerned about? Either use TFP, if indeed all your programs terminate, or have a different non-Turing complete approach, in which case you can still write infinite loops.

</comment></comment></comment></comment><comment><USER6> I think this is not a good idea.

1\. what kind of security properties do you want to verify. I cannot think of one that could not be checked at runtime when the dangerous function is called with actual parameters.

2\. turing completeness has nothing to do with security. Before Haskell had IO it was totally safe but still turing complete.

</comment><comment><USER7> While the sentiment is understandable, this solution is technical drivel. The concern is security, and could be solved by further restricting permissions in the browser. Anyone familiar with computabiliy would know that changing the language will not help. You could improve the situation today with a restrictive browser plugin.

</comment><comment><USER8> This raises an interesting question that I hadn't considered before: how many of the programs that we write every day actually rely on the Turing- completeness of their underlying languages? If the statically-verifiable properties of, whaddya call it, _strong functional programming_ outweigh the loss of expressiveness, there could be a big market for general-purpose (is that a contradiction?) languages of this bent.

Throw it on the pile of Things That Could Be The Next Big Thing, Maybe--right on top of declarative programming and highly-concurrent programming.

</comment><comment><USER9> I agree with what appears to be your general goal, but various points:

1\. You need to refine your argument. I suspect your main point _is_ philosophical and political, but you detract from it by setting up a nebulous security argument. The security concerns you describe are non-issues. Turing completeness says nothing of the available IO primitives, hence why people counter with sandboxing. Solving XSS is as conceptually simple as having any js-initiated request include the identity of what initiated it (in the case of XSS, the other site), and server frameworks having a whitelist of such initiators. But in general, a user shouldn't be even worried about cross site scripting as they're not meant to have control over it - their only input is whether to rely on the total security of a specific site.

2\. Executable blobs are the lowest common denominator (any concept can be realized in them) so new concepts tend to be implemented in them rather than engineering a more declarative format. Furthermore, users are lazy and auto- updating of software (in this case, on every page load) is a net win. However, apt-get also gives me these very nice properties.

3\. This is where the philosophy comes in - users should be in control of the software they use! Web 2.0 is actually _proprietary software 2.0_! Browser extensions can modify the applications to some extent, but are fighting an uphill battle due to the difficulty in analyzing Turing-complete blobs. I presume this is your real motivating factor in wanting to change the expressive power of scripts, but as long as the code has more expressiveness than a simple declarative format, you can never actually tame it. (Imagine a server framework that re-obfuscates the client-side code every hour).

4\. One fundamental issue to address is _naming_ the code so that end users may gain control over administering it. One doesn't install a new version of CAD software in the middle of a project, as their goal is to finish the project and not get bogged down figuring out how to use a new version. I only dist-upgrade when I'm willing to accept a few days of shaking out changes. Contrast with the current web, where a site will make unilateral changes and the only recourse of users is to complain. One should be able to locally 'roll back to the previous version of this site', and the site should support that by decoupling their code and data model.

5\. Another major issue is data store and "network" independence. If one doesn't like the changes site A is making to the software, they should be able to switch to a competing site B, and have their data and connections intact - akin to several programs using the same file format. This of course requires fundamental site openness, with is directly counter to the standard web- hollywood business model of becoming the middleman in an n^2 network, so I expect eventual disruption rather than gradual change.

</comment><comment><USER10> It's possible to make JavaScript not be Turing-complete. You could place a limit on the number of instructions the program could execute, or a limit on the amount of memory (including network transfers), either of which would make it mathematically possible to determine whether or not the program halts.

However, this doesn't mean it's feasible, and if the language is useful it's probably not. You can pick an NP-complete problem with a large input data set and make halting depend upon the outcome. It will take a very long time to determine if such an application halts or not, since you have to solve the NP- complete problem.

Of course, if you care only about states the application could potentially reach, instead of those it actually does reach, you could do this much faster. However, if you know which states are undesirable, you can check if you are reaching them during runtime as well.

</comment><comment><USER3> This is a much less revolutionary proposal than it may seem. The web already features extensive use of a non-Turing complete language. It's a less- appreciated feature of SQL, but it makes defense against nasty attacks at least feasible (if not always applied).

Another important advantage is query optimization. Programs in non-Turing complete languages can be automatically analyzed, not only to determine their security implications, but also to rewrite them in optimal form. In a good NTCL with an optimizer, you don't care how (in)efficient your algorithms are - they're automatically upgraded to their theoretical fastest speed.

<comment><USER11> Never claimed it was revolutionary. ;)

<comment><AUTHOR> The parent's point is that there is a (slightly) lower barrier to adoption due to the not-as-revolutionary-as-it-seems nature of the idea (i.e. it is arguing in favour of the idea).

<comment><USER11> Ah, sorry. Trying to get out the door here. heh

</comment></comment></comment></comment><comment><USER3> It seems there's some doubt in the comments that Turing completeness is relevant to security. Here's a simple proof it is. Assume you have an arbitrary function to execute and a set of no-nos (forbidden operations, machine states etc.). If you know for sure the function does nothing forbidden before its executions ends, you also know for sure that its execution ends. So you've solved the halting problem - which means your original function couldn't have been written in a Turing complete language, for which the halting problem is unsolvable.

<comment><USER7> Your total functional programming does not solve the problem at hand. TFP prevents you from creating a program that never halts, but it does nothing to prevent you from creating an incomprehensible program that takes 1e10000 years to compute.

<comment><USER3> I don't know anything about TFP personally or whether it's the best tool for this job. (I just agree with the job description.) And you misunderstand the halting problem - you can perfectly well write never-ending programs in a non- Turing complete language. The only difference is that you can tell whether an arbitrary program ends or not.

<comment><USER7> _I don't know anything about TFP personally or whether it's the best tool for this job_

To say that you don't know anything about it while claiming it will solve our problems is ... dishonest at best.

 _And you misunderstand the halting problem - you can perfectly well write never-ending programs in a non-Turing complete language. The only difference is that you can tell whether an arbitrary program ends or not._

I don't think that you understand the implications of the halting problem. You are claiming that use of a Turing incomplete language will make automated verification of programs possible, and that this automated verification will save us from web pages doing things that we do not want. I will suggest that any solid academic would not think highly of your argument.

Here's a simple experiment that might help you understand an important flaw in your argument. Determining the range of a short program takes a small amount of time, a longer program takes longer. TPS is a restricted language which allows for programs of any length, as long as they will eventually halt. If I write a huge, complex program, and it will take forever minus a day to halt, how long do you think it will take to verify? Spoiler Alert! Longer than you will wait for a web page to load.

The way that we use computers as society is not very academic. If you want to build a web browser that doesn't browse the web, you will find yourself quite lonely.

<comment><USER3> To reply to posts without bothering to understand them is... not worth responding to. I have a PhD in CS from an Ivy League school BTW, so spare me the "solid academic" lecturing.

<comment><USER7> _To reply to posts without bothering to understand them is... not worth responding to._

I think that I've done a passable job at understanding the argument and providing sound counter arguments. To each their own opinion.

 _I have a PhD in CS from an Ivy League school BTW, so spare me the "solid academic" lecturing._

One remark is hardly a lecture, but great to appeal to credentialism. That's the Ivy League spirit! I on the other hand have a mere bachelors degree; from a public school no less! I would jokingly admit defeat, but my school taught me that defeat is for the defeated.

I won't ask which Ivy League school - their reputation in computer science is low enough already.

</comment></comment></comment></comment></comment></comment><comment><USER12> The nay-sayers might be right, but I think this is an interesting suggestion. If data flow analysis is easier in a TFP language, it would certainly make my life easier (I work in the security static analysis business). It seems like it might be easier, since higher-order control flow is definitely a problem for data flow analysis, and TFP languages can't have higher-order control flow because that would open the door to arbitrary recursion.

So I'm not sure what I think about this yet, except that it's interesting to chew on.

</comment><comment><USER11> FYI I've already gotten some feedback re the (human attention and computational) cost of proof systems. I'm not sure yet if this problem is (exactly) the same as that.

</comment><comment><USER13> And this in a day where CSS is turing-complete...

</comment><comment><USER14> make sure to check out <http://elm-lang.org>

it's not what you are searching for but it might be fairly easy to turn it into what you describe.

the creator of elm-lang, Evan Czaplicki, told me he'll opensource it rather soon. of all functional-JS buzz out there, this one makes most sense to me.

</comment><comment><USER15> Interesting idea. It fits in well with a capability model of security. Also note, that as more computing happens on the web, the JavaScript sandbox becomes less meaningful.</comment>