Colorado Stores Throw Open Their Doors to Pot Buyers - <AUTHOR> http://www.nytimes.com/2014/01/02/us/colorado-stores-throw-open-their-doors-to-pot-buyers.html?hp&_r=0 <comment><USER3> _" Skeptical federal authorities are also paying attention. Although marijuana remains illegal under federal law, the Justice Department has given a tentative approval for Colorado and Washington to move ahead with regulating marijuana. But it warned that federal officials could intervene if the state regulations failed to keep the drug away from children, drug cartels or federal property, and out of other states."_

I have a feeling there are going to be people who ruin it for everyone else.

<comment><USER4> Truth is, every law is based on people who ruin it for everybody else. That is how marijuana got outlawed in the first place. People has this belief that we are somehow rewarded for passing thousands of new laws every year. The resulting authoritarian society is just the unintended consequence. Nobody actually picks authoritarianism on purpose.

<comment><USER5> Dig a little deeper on the history of anti-cannabis laws, and you'll find they're rooted primarily in fear of Mexicans and blacks. Sometimes authoritarianism is the goal, not the side effect.

[http://en.wikipedia.org/wiki/Harry_J._Anslinger](http://en.wikipedia.org/wiki/Harry_J._Anslinger)

</comment></comment></comment><comment><USER6> According to this the price will initially go up:

[http://www.usnews.com/news/articles/2013/12/30/high- prices-f...](http://www.usnews.com/news/articles/2013/12/30/high-prices-for- getting-high-expected-as-colorado-opens-legal-pot-shops)

...but since marijuana is literally a weed, why wouldn't the price eventually drop to something like that of tea? I mean, tea is harder to grow, process, and ship, and you can get it for 6 dollars a pound. Even the overpriced teavana stuff can go for as little as 40 dollars a pound.

<comment><USER7> There's still significant risk in grow operations because it's still a federal crime. The Obama administration has chosen not to enforce that law for the time being, but that can change on a moment's notice, and is likely to change if a conservative attains office (which will probably happen in 2016). Furthermore, even when done legally, there is significant regulatory burden on a state-sanctioned grow.

You're correct that ultimately marijuana will probably be really cheap, but we have to wait for the rest of the drug enforcement apparatus to become irrelevant.

<comment><USER8> Hang on, can you explain this to a European? How can something be legal and illegal?!

<comment><USER7> So the EU is basically the "United States of Europe". Remember, the US is a bunch of independent states (NOT provinces) who pool resources for the sake of defensive and economic convenience, just like the EU. Technically, the Feds are supposed to have very limited powers.

The situation in Colorado is analogous to The Netherlands explicitly declaring something allowed that the EU councils in Brussels have explicitly declared disallowed. One authority claims it's OK, the other claims it's not OK, and the citizen has to choose which authority they trust and/or fear more.

<comment><USER8> Well considering the EU has no guns, no army, no police force[1], no courts _for people_ , and no prisons and the Netherlands _does_ , it's obvious which to trust.

EU law binds _countries_ , not people. If a country does something that goes against EU law (which happens _all the freaking time_ ), then you can sue the _country_ in the EU courts to get the country to change the law. The EU isn't able to arrest you. And regardless, it's the national law is the only real law. EU law is just what a country is supposed to do.

[1] There is Europol (European Police Office) which is only for aiding cooperation between national police forces. It has no powers of arrest, and (most tellingly) it only has 800 staff for a population of half a billion people.

<comment><USER7> I'd definitely agree that, at least for the moment, the EU's powers are much weaker than the US's powers. I think it involves the EU member states being much less compatible and much more storied than US member states, and also the EU as an organization being much younger.

I believe it's evident that when you fly a bunch of groups under a single banner successfully for a long time, what starts as a loose, powerless alliance with only administrative activities (as the US was originally conceived) eventually becomes a very strong central power apparatus (as the US has now become).

Maybe it'll be different in Europe where the member states have so much independent history. Everything out here was basically a blank slate before it was annexed by the Union. In the relatively few places where this isn't true, there is much stronger anti-federal sentiment (the South, Hawaii). I guess New England is anomalous regarding anti-federal sentiments because I think it has always thought of itself as the most influential power in federal governance.

</comment></comment></comment></comment></comment></comment><comment><USER9> Here's to the great idea of Federalism, and hoping that Colorado and Washington show everyone else the way forward.

<comment><USER10> federalism, in reality, is really better exemplified by the unelected federal judges from ivy league law schools who decide the way we live our lives.

That is really what federalism is.

Democracy is what happens when the citizens of colorado and washington create their own laws to live by.

<comment><USER11> I believe he was referring to what we call New Federalism, or "states rights".

</comment></comment></comment><comment><USER12> Colorado, unlike a large number of US states, seems to take crazy things like simple economics and overwhelmingly positive scientific research into account when drafting laws. Here in the south we prefer to use 1950's mores, Jim Crow era law enforcement priorities and 3000 year old Judean religious texts when writing our laws. Bravo Colorado!

<comment><USER13> \- There are no successful clinical trials on marijuana by the FDA.

For someone who praises science, your statements really show your ignorance.

<comment><USER14> Isn't that because it was scheduled as illegal? Circular logic is fun!

<comment><USER13> So? What does your straw man have to do with anything? He stated marijuana is scientifically proven to be beneficial. It hasn't. No successful clinical trials exist.

<comment><USER14> _\- There are no successful clinical trials on marijuana by the FDA.

For someone who praises science, your statements really show your ignorance.

So? What does your straw man have to do with anything? He stated marijuana is scientifically proven to be beneficial. It hasn't. No successful clinical trials exist._

A brief use of the Googles turns up:

[http://www.ncbi.nlm.nih.gov/pubmed/24373545](http://www.ncbi.nlm.nih.gov/pubmed/24373545)

[http://www.ncbi.nlm.nih.gov/pubmed/24375977](http://www.ncbi.nlm.nih.gov/pubmed/24375977)

[http://pubs.acs.org/cgi- bin/sample.cgi/mpohbp/asap/abs/mp060...](http://pubs.acs.org/cgi- bin/sample.cgi/mpohbp/asap/abs/mp060066m.html)

and many more if you bother to look (also negative impact if you're interested in those!)

Generally you do not do a 'clinical trial' on something that is marked as a schedule 1 substance.

What straw man are you referring to? You implied it had no benefits because it doesn't have clinical trials... It doesn't have clinical trials because it is said to have no benefits (schedule 1)... Circular logic! Magic!

Edit: Quoting parent

<comment><USER13> THC is already legal in pill form with a prescription. Again as I've stated, there are zero successful clinical trials (in the USA or anywhere else) that show smoking marijuana is beneficial. Standard scientific proof requires clinical trials.

<comment><USER14> _THC is already legal in pill form with a prescription. Again as I 've stated, there are zero successful clinical trials (in the USA or anywhere else) that show smoking marijuana is beneficial. Standard scientific proof requires clinical trials._

First you never mentioned "smoking" in your parent (I quoted it in my earlier reply for reference).

Second 'clinical trials' are a specific thing. In the words of Inigo Montoya, you keep using those words, I do not think it means what you think it means.

A clinical trial is only done at a specific stage of clinical research or commercial drug development. Clinical trials are an expensive process that must be paid for by the researcher/company looking to market the drug. You may want to read up on what a clinical trial entails before you insist on it being the only useful scientific metric. Clinical trials are also primarily concerned with safety (it is at least 2 of the phases of the trial).

You may want to reconsider your use of 'clinical trial' in your criticism here.

Edit: Last it seems that you did not even bother to read or comprehend my comment/links before you replied with a comment that attempts to change the subject (smoking vs THC in pill form). That seems like very 'trolly' behavior and I will stop responding if you would not like to actually discuss the subject.

</comment></comment></comment></comment></comment></comment></comment><comment><AUTHOR> FYI, why the man in the current lede photo is, well, at the top of the story: his purchase is a symbolic one, as he's a Iraq War veteran with PTSD [http://www.theverge.com/2014/1/1/5263314/Sean-Azzariti- first...](http://www.theverge.com/2014/1/1/5263314/Sean-Azzariti-first-person- legal-recreational-marijuana-colorado)

<comment><USER15> It's disgraceful that our Veterans are treated the way they are. I have a few acquaintance who served several tours in Iraq and Afghanistan and the only thing that's allowed them to "reintegrate" back into peaceful civilian life has been illicit cannabis use. They live in Colorado so I'm hoping today is a great one for them.

</comment></comment><comment><USER16> Does anyone know if Colorado is enforcing seed traceability? That is one of the rules according to Washington's I-502 ([http://www.liq.wa.gov/publications/Marijuana/I-502/I-502_Dra...](http://www.liq.wa.gov/publications/Marijuana/I-502/I-502_Draft_Rule_Summary_IIX_12-06-13.pdf) crtl-f "Traceability"). Theoretically, that means the Feds would be able to know where the pot came from if it was found out of state. If implemented effectively, that would negate some of the worry about the product ending up in the wrong hands.

<comment><USER15> Plants can be grafted one onto another, sometimes cross-species. You can graft Cannabis onto grape vines for example.

Pro-growers can pretty much maintain the exact "same" plant for generations of plants.

Obviously this doesn't change the DNA "fingerprint" of the graft but it just shows the "seed to customer" tracing is a meaningless regulation.

<comment><USER17> Indeed, most growers 'clone' their plants as a propagation technique (cuttings). This style, growing a mother plant from seed and then taking hundreds of cuttings which grow into full size plants, ensures consistency and is faster than starting each plant from seed. Growers often swap trimmings rather than seeds, and they're sold in dispensaries.

</comment></comment></comment><comment><USER18> I'm curious what happens to the people who were surviving on the cash from selling it illegally.

Some of them are poor slobs. Some of them are organized crime.

Are they just going to try to sell it at a lower price since the police cannot tell where you got it from and might not even care anymore? Tax savings alone radically reduces the price.

<comment><USER19> The same profit margins exist for tobacco and alcohol, especially cities like NYC, but there are relatively few bootleggers in both markets. I think the legal risk significantly offsets the increase in price from taxation. But then again, cannabis differs from tobacco and alcohol in many ways in that an underground market has become highly developed. It will indeed be interesting to see...

<comment><USER20> There's also the consumer component. How many people would buy unbranded non- shrinkwrapped cigarettes off the back of a truck?

<comment><USER21> As it turns out, plenty!

[http://www.nytimes.com/2011/04/05/nyregion/05loosie.html?pag...](http://www.nytimes.com/2011/04/05/nyregion/05loosie.html?pagewanted=all)

</comment></comment></comment></comment><comment><USER22> I wonder how many more years before gutless UK politicians consider proper cannabis regulation?

<comment><USER23> Usually follows the US by a couple of years.

</comment></comment><comment><USER24> So, now that pot is legalized, how will the police fill all those costly new jails with black people now?

Criminalize them just for being black?

<comment><USER25> The black population is just 4.1% of Colorado, vs. the national average of 13.1%

<comment><USER24> I'm non-US so I dont have any idea where to obtain detailed statistics - <USER2> does anyone have data about how many blacks in Colorado are in state/fed jail for pot compared to the whole US?

And as a side question: do private jails exist in Colorado, or is the jail system in state hands?

<comment><USER26> Federal jail would be a federal thing. There are federal prisons in CO, most notoriously the Supermax in Florence, but they don't put simple drug dealers in there. Federal arrests for pot in CO?

Most recent stats I found are 2010 [http://www.ccjrc.org/pdf/2010_Colorado_Quick_Facts.pdf](http://www.ccjrc.org/pdf/2010_Colorado_Quick_Facts.pdf) Latinos/as account for 17.1% of the population in Colorado, but 31% of the state prison population. • African-Americans make up 3.8% of Colorado's population, but represent 19.4% of people in state prison. • Anglos are 74.5% of the state's population, but only 46% of the prison population CO has private prisons too. I think that's nationwide these days, sadly.

Now bear in mind that pot has been de-facto legal in CO for about 4 years already. The Denver PD (largest city in the state) has been de-emphasizing pot enforcement for several years. There's been greater emphasis on other enforcement areas, like domestic violence and drunk driving.

</comment></comment></comment></comment><comment><USER27> More acceptance would presumably result in more clinical trials of cannabis.

I'm aware of some small scale studies which have shown promise for diseases such as IBD (Crohn's/ulcerative colitis). How it stands presently some sections of society (global) suffer unnecessarily.

I'm lead to believe that some substances in cannabis are neuroprotective; This contrasts to something like alcohol, which causes neurological damage.

And from what I've read, it can also inhibit angiogenesis within tumours. Thus, may be legitimately useful against cancer.

It's hard for me to make assertions with sources, as this is merely what I've read over the years. It simply hasn't been worth the time to investigate further, given its legal status. But from what I can gather, outlawing of a drug with low toxicity and potential medical benefit is an absolute travesty for humanity! It's tantamount to low-grade torture by the state on people who have an illness that can be, to some degree, ameliorated. There also seems to be a pandering to special interests (alcohol, tobacco, and the prison industry). And a disregard for people's freedom.

Some may not like the idea of Cannabis being legal, but if it becomes a substitute for alcohol and tobacco, it could turn out to be a health boon (given its low toxicity). Not to mention the saving of lives via a reduction in organised crime.

It's a shame this didn't happen earlier, and in more places!

<comment><USER14> More research seems like a really good side benefit if it happens.

Inhaling burning plant matter is still bad for you. There are alternate means of ingesting the compounds in Marijuana though.

<comment><USER27> Vaping, edibles, and tea. At least that's what pop culture says.

<comment><USER14> I'm learning so much from this article/submission!

</comment></comment></comment></comment><comment><USER28> I wonder what the web-based POS system they are using in that photo

<comment><USER29> My employer, MMJMenu :)

<comment><USER30> Awesome. As the marijuana industry grows, so to will the industry for infrastructure supporting it, especially for compliance. I've been saying this for years. Cool to see a company executing on this opportunity.

</comment></comment></comment><comment><USER31> Smoking a bowl to celebrate! :-)

</comment><comment><USER32> A lot of mentions of airports in the first few paragraphs -- no doubt a foreshadow of articles to come on the DOJ.

</comment><comment><USER33> Finally, I am certain once other states see the revenue they will follow suit in legalization.

</comment><comment><USER34> We have same in Silicon Valley: [http://www.yelp.com/search?find_desc=medical+marijuana+dispe...](http://www.yelp.com/search?find_desc=medical+marijuana+dispensaries&find_loc=San+Francisco%2C+CA&ns=1)

<comment><USER35> Except in California it's nominally medicinal, and in Colorado it's recreational.

</comment></comment><comment><USER36> >To skeptics, it marked a grand folly, one they said would lead to higher drug use among teenagers

They don't know what the proper incidence of usage is. Meanwhile, we _all_ need to know why some people become addicts and others don't

</comment><comment><USER37> So it looks like there may be chronic price increases, at least until some kind shop owners open up. Once the stores start spreading like weeds, prices should come down.

</comment><comment><USER38> US invasion imminent.

</comment><comment><USER10> in this discussion in the media, out of all the millions of words that are going to be written about pot legalization in WA and CO over the next few weeks, how many words are going to be devoted to the fact that in the states of washington and colorado pot was legalized because the citizens of those states are able to create their own laws?

Very few words will be devoted to that aspect of it, and those corporate media articles that do discuss it will speak negatively of it.

And because the media will not bring it up much, neither will comments online do so.

Well, except for my comments.

<comment><USER39> They are hardly unique in that regard:

[http://en.wikipedia.org/wiki/Initiatives_and_referendums_in_...](http://en.wikipedia.org/wiki/Initiatives_and_referendums_in_the_United_States#Types_of_initiatives_and_referendums)

(They both have direct and indirect initiative statutes, but plenty of other states have one or the other (with more states having the direct initiative, which is probably closest to your "citizens of those states are able to create their own laws"))

</comment></comment><comment><USER40> BC Liberals listen up! BC bud is the last good thing remaining besides the shit job market and housing bubble. Take note of the Southern brethrens and emulate, tax, pay off the Olympic debt. If Vancouver does not do this, all the tech people will leave!

</comment><comment><USER41> It will be very interesting to see the numbers in the next 5 years. Numbers of those who smoke pot vs who don't. Lets see how successful financially each group are. How much they contribute to society. It will also be interesting to see which group goes further in school or their career. Which group turns out more long term "happy" people. Which group breaks more laws ETC.

I already know the answers to all of these questions, but it will interesting to see it become a provable, statistical reality.

<comment><USER14> What are the answers? Is there a back of the book? Give up the goods!

This (OP) is one of the funniest HN submissions I've ever seen for comments. What does this have to do with HN?

</comment></comment><comment> k-mcgrady >> ""This is our dream," said Kirstin Knouse, 24, who flew here from Chicago with her husband, Tristan, to take their first-ever marijuana vacation."

And there's some people already ruining it. I believe Amsterdam had this same problem. Drug tourism is not something cities want for many obvious reasons.

<comment><USER42> I understand the sentiment, but you forgot to include the rest of the paragraph:

>> She said that she suffered from seizures and fibromyalgia, and her husband from post-traumatic stress, but that the couple had not been able to get medical marijuana at home. "We're thinking about moving here because of it," she said.

Maybe they're just making up excuses, but doesn't sound like these are a couple of 20 year olds just looking to get high in the middle of the day.

<comment><USER43> Not that there's nothing wrong with that either.

<comment><USER44> Agreed.

I have a MMJ card in CA because it helps with some nerve pain I have. Half the time I use it it's a tiny amount to get me through the next couple hours (placebo or not it works well especially for the trivial cost) and half the time it's to get so high at night that I stop caring about it and hopefully get at least a few hours of uninterrupted sleep in. The benefits of the latter are severely underrated when you deal with chronic pain.

Not to mention I have no idea why society has a double standard with casual marijuana use especially given the use of alcohol, tobacco, caffeine, prescription drug abuse, and more out there. I'm trying to drink less alcohol as part of my weight loss plan for my wedding and it really shocked me to realize that people around me easily kill a bottle of wine per person at a single dinner on top of drinking cocktails, beer and straight liquor... and that my restraining myself to 1-2 alcoholic drinks a week is crazy in comparison. Some of my friends persistently bother me for Adderall that I never give away because I barely have enough of for myself. Et cetera. Weed is pretty harmless in comparison I would think.</comment></comment></comment></comment>


Nitrous.io Targets Enterprises with Pro Version of Cloud Development Platform - <AUTHOR> http://techcrunch.com/2015/04/22/nitrous-io-pro/

<comment><USER2> I speak only for myself, but my 'dev' environment more or less amounts to the operating system in its entirety, with access to programs like image viewers, vector graphics editing (i.e. making websites). I still find gnome useful for manipulating files from time to time. I wonder if the future of these ready- to-go development environments will be more like full-featured operating systems (Paperspace) that offer a whole machine in the cloud? Of course this would be a niche case but Google already has CitC images of Gubuntu that they use to avoid similar onboarding setups.

</comment><comment><USER3> Nitrious is the great solution to work with unix box, using it for months now and it really hides the pain of managing and setting the environment for Rails app development. The built-in IDE works great too, though would like to see some more tools like refactoring but anyway I like that all it requires is the browser so can work basically from any computer.

Yes, sounds like the advertisement but I am comparing to literally days spent on setting up the environment for Rails development on Windows and Ubuntu and my experience with Nitrious where it was like just minutes to get up and running.

</comment><comment><USER4> Surface-level, this seems awesome, but I wonder how it works for larger companies with more complex (read: messier) environments.

<comment><USER5> At Nitrous, we use Nitrous Pro to develop Nitrous Pro, and Nitrous Pro requires a pretty complex setup (minimum 10+ components required to run).

We did it by creating a master Docker image that runs Docker in Docker, with sub-containers running individual components. Nitrous Pro allows you to create development environments in the cloud with Docker images, and with the master image we created, we are able to recreate a dev env and onboard a new employee in only 10+ minutes in Nitrous Pro.

I won't say that creating this master image was a trivial task, but we provide many ready-to-go templates that are sufficient for most people to get started, and we are actively looking for ways to make customization of templates easier.

<comment><USER6> Hi, I have been a long time Nitrous user (I use it with my Chromebook). Do you have any plans for migrating current users to Nitrous Pro?

Thanks

<comment><USER7> There's a free plan on Nitrous Pro, so you can signup to reserve your free workspace (we're rolling out free workspaces, if you pay it's available immediately). We wrote about a few ways you can migrate your data to Nitrous pro here:

[http://docs.nitrous.io/v1.0/docs/migrate-your-data-to-the- ne...](http://docs.nitrous.io/v1.0/docs/migrate-your-data-to-the-new-platform)

<comment><USER6> Thanks very much!

</comment></comment></comment></comment></comment><comment><USER8> Unfortunately Nitrous.io does not work in China, neither does any other web based IDE that I know about. While it's true that it's a tough sell for Chinese companies, there are a lot of foreign companies here doing development.

</comment><comment><USER9> Outside of java is there even really any money to be made in development tools, always seemed like a sector where the open source free stuff is better than the commercial stuff (besides a few small niches of course).

<comment><USER10> "Outside of java ..."

Surprised by this given a Spring, Eclipse, Maven, Jenkins, et al setup I would think Java dev tools is a tough one to make any inroads.

</comment></comment><comment><USER11> I don't understand the basic premise that a development environment takes hours to setup. You must have production deployment automated, and you should have pre-production and testing environment deployments automated too. If so, building a dev install is minutes, not hours; never ever a day of work.

<comment><USER12> On Windows, setting up a dev environment can often be a pain in the ass, so if you're locked in for wtv reason I can see the pain point they're trying to alleviate.

Even then though, with things like chocolatey nuget[1] and cmdr [2], windows is heading towards parity.

[1] [https://chocolatey.org/](https://chocolatey.org/) [2] [http://gooseberrycreative.com/cmder/](http://gooseberrycreative.com/cmder/)

<comment><USER13> cmdr looks cool, but how does it compare to using cygwin through mintty?

Next time I reinstall Windows, I think I'll try out chocolatey to see if I can get the `brew cask` experience out of Windows.

<comment><USER14> cmder was my gateway drug to moving from windows to linux and from gui to ~50% cli use. Cygwin didn't produce quite the same effect.

Also, cmder is gorgeous :)</comment></comment></comment></comment>


The end of the office? Coronavirus may change work forever - <AUTHOR> https://www.ft.com/content/1b304300-0756-4774-9263-c97958e0054d <comment><USER2> I do think it will have long-lasting effects. In Columbus, Nationwide Insurance announced they are keeping 4,000 employees as work-from-home. These were mostly employees at satellite offices, but either way I think it's a sign. From my own experience a lot of large corporate jobs in finance, insurance, and government really don't need an office for most employees. They're going to look at the costs of having a physical footprint and I think that'll override fears of people doing nothing at home.

One thing that worries me about this movement is how intrusive corporations will be about spyware, webcams, etc to "make sure you're working". I can envision daily reports of mouse movement and eyeball tracking, or other extremely intrusive and draconian measures. I'd rather corporations just focus on work output, but that will also necessitate a more lean and skilled workforce.</comment>


Why chatbots must be cross-platform compatible - <AUTHOR> https://medium.com/@kipsearch/why-the-future-of-bots-will-be-multi-platform-67c503afaa7#1 <comment><USER2> Not only cross platform but cross service. The real loss in messaging in general is the lack of interoperability. One thing email did get right - protocols. The messaging wold seems to have given up on this to hoard and lock in users to silo'd messaging systems - wechat, snapchat, fb messenger, etc. How powerful would it be for people to have the ability to send messages across these systems _with_ the support of these vendors (as opposed to the Trillian like solutions of the prior decade).

<comment><USER3> Protocols are very important (R.I.P. XMPP). The article argues for bots to be the protocols that stitch the services back together, but we still need a standard for these bots to operate within...</comment></comment>


Chinese hackers infiltrate Pentagon - <AUTHOR> http://www.cnn.com/2008/TECH/03/07/china.hackers/index.html

<comment><USER2> FTFA: "But eventually Xiao Chen claims two of his colleagues -- not the ones with him in the room -- have hacked into the Pentagon and downloaded information, although he wouldn't specify what was gleaned. _CNN has no way to confirm if his claim is true._ "

</comment><comment><USER3> Wouldn't that be Chinese crackers? Not hackers.

<comment><USER4> You have to consider that it is the Pentagon that they are attacking :-)

</comment></comment><comment><USER5> I hope nothing secret in the Pentagon is connected to the internet.

</comment><comment><USER3> Seems like it is not only the American economy that is being assaulted by the Chinese.</comment>


Google is giving some presidential candidate ads different treatment than others - <AUTHOR> https://qz.com/1641096/googles-systems-didnt-see-beto-orourkes-ads-as-political/ <comment><USER2> I'm constantly surprised how three Sci-fi classics together describe the dimensions in the world where we live in. These books combine together to form the parameter space for our world.

1\. 1984 by George Orwell: totalitarianism, telescreens, thought police, doublethink, Newspeak, Big Brother and the cult of personality

2\. Brave New World by Aldous Huxley. Using medication to stay happy, psychological manipulation and conditioning, class hierarchy based on intelligence (or perceived ability).

3\. The Space Merchants by Frederik Pohl and Cyril M. Kornbluth. Huge international corporations de facto run the world. States are their front. Advertising is the best paid profession (FB, Google). Ads and products are very addictive and aggressive. Advertising agencies select the new president. People are fooled to believe that quality of the products is constantly improving their life while basic things needed for life are becoming more expensive and out of reach for normal people.</comment>


Ask HN: Why Apple and Google impose the languages used to build apps? - <AUTHOR> I understand that this could've been relevant few years ago, when smartphones used to be inadequate for the task.
But this is no longer a thing.
So why would Google and Apple hand-selected for us a couple of languages each for building apps on their platforms? <comment><USER2> I don't know about Apple, but Google doesn't force you to use a specific language, they just only support a handful. And at some level your language has to be able to interop with the OS.

Even before Google announced Kotlin, people were already using it or Scala to build apps.

React Native is another example of an unsanctioned effort to write apps in JavaScript.

So I don't think your premise is true: neither Apple nor Google impose a language, they just only support a small set of languages officially.

</comment><comment><USER3> Unlike open source where you have a hundred choices that are unsupported (most of them abandoned), they have a few choices that are supported and work reasonably well.

Also people tend to whine about objective-C and Swift but these languages enable you to easily build things that are almost impossible to build in most other languages.

</comment><comment><USER4> because companies that size enjoy putting developers through massive amounts of pain for fun :(</comment>


Ask HN: Tips for a first time startup? - <AUTHOR>

I am planning to start a company of my own later this year. Do you have some tips for me? I have no experience of starting a company of my own, even though I work in a start-up. <comment><USER2> Are you ready to not sleep for god knows how long? Have you thought about how you'll make money until your start up actually makes money? Do you have hundreds of connections? Because in reality that is how you grow - it's all about who you know and how you leverage those relationships. Best of luck to you - been there and it's a long, but exhilarating ride.

</comment><comment><USER3> Tips? Not as such, since I don't know anything about you or your business. But I can share some reading suggestions - things that helped me and that I consider valuable:

 _The Four Steps to the Epiphany_ \- Steve Blank

 _The Art of the Start_ \- Guy Kawasaki

 _The Lean Startup_ \- Eric Ries

 _Blue Ocean Strategy_ \- W. Chan Kim and Renee Mauborgne

 _Crossing the Chasm_ \- Geoffrey Moore

 _The 22 Immutable Laws of Marketing_ \- Al Ries & Jack Trout

 _Positioning_ \- Al Ries & Jack Trout

 _Repositioning_ \- Jack Trout (with Steve Rivkin)

 _Differentiate or Die_ \- Jack Trout (with Steve Rivkin)

 _The Ultimate Marketing Plan_ \- Dan S. Kennedy

 _The Ultimate Sales Machine_ \- Chet Holmes

 _All Marketers Are Liars_ \- Seth Godin

 _The Purple Cow_ \- Seth Godin

And add in one generic "Marketing 101" textbook. Find something at a used bookstore or order used on Amazon. Something like this, or similar:

[http://www.amazon.com/gp/offer- listing/0132177153/ref=sr_1_4...](http://www.amazon.com/gp/offer- listing/0132177153/ref=sr_1_4_up_1_main_olp?s=books&ie=UTF8&qid=1376497821&sr=1-4&condition=used)

I guess there actually is a tip embedded in all that... "learn as much as you can about marketing". I'm still learning myself, and I've only learned enough to have a vague notion of how much I don't know, but I've gained a real appreciation for the importance of this stuff.</comment>


Why CDs May Sound Better Than Vinyl - <AUTHOR> http://www.laweekly.com/music/why-cds-may-actually-sound-better-than-vinyl-5352162

<comment><USER2> Alright, so the reasons I've heard over the years that vinyl sounds better are:

a) the high-frequency roll-off starts at 15 kHz; b) the needle vibrates which smooths out the sound and provides warmth; c) the needle melts the vinyl at the molecular level which also smooths out the sound and provides warmth; d) the needle picks up feedback from the room; e) not all vinyl is created equal, you get a lot more quality out of a 5-minute 12" 45 rpm than a 30-minute 12" 33 1/3 rpm; f) clicks and pops and burns are part of the charm; g) the runout groove nagging you to get up is part of what vinyl sounds like; h) vinyl is physical and cool and sometimes extremely rare and barring an ABX test your perception of how good something is will be affected by these supposedly irrelevant meta qualities; i) some things are only available on vinyl, so of course it sounds better; j) depending on the type of music, the mastering won't be targeting mp3 players with earbuds but instead big club systems, so if you have good speakers, it might be easier to find the mastering you want on vinyl.

I don't know how many of these I agree with. Honestly the worst thing about vinyl is that it's heavy.

<comment><USER3> > the needle picks up feedback from the room

But that's a bad thing. I learned to isolate the turntable from the speakers when playing disco. Also, had to walk softly else the needle would skip.

<comment><USER4> Yes! Also, random noise can trigger asymptotic feedback at high levels. And asymptotic feedback tends to blow out amps and speakers.

<comment><USER2> The best general purpose solution I've seen is suspending turntables on wide elastic bands. An isolated booth also works.

</comment></comment></comment></comment><comment><USER3> I just find this hilarious. If you like the sound of vinyl; record it to a CDROM, play the CDROM, it sounds just like vinyl, pops, clicks, skips and all.

Also, back in the glorious disco era, record companies would release 12" single disks, where the grooves were spaced wide enough that the bass beat could be laid down. What more proof does anyone need that 33 records are inferior?

<comment><USER5> 12" singles were about extended play time, not about bass.

<comment><USER3> I'm afraid that is incorrect. I own many disco ones, and the bass is what they're for. The grooves are spread out and it frequently runs at 45 rpm. It's pretty obvious if you listen to one vs the 33 version.

<comment><USER5> Feel free to show any industry material promoting the sound quality of 12" 45rpm. They were only ever pushed as having more content than a 7" 45rpm.

<comment><USER2> The non-existence of ads on the internet from 40 years ago is not a validation of your universal claim. Second, people still press 12" 45 rpm singles, why would they do that when 33 rpm is available?

Here's something written by an engineer:

[http://forums.stevehoffman.tv/threads/why-45-rpm- great-45-rp...](http://forums.stevehoffman.tv/threads/why-45-rpm- great-45-rpm-12-lp-explanation-by-kevin-gray.132280/)

</comment></comment></comment></comment></comment><comment><USER6> As a vinyl enthusiast, I find claims of vinyl's superior "sound qualitY" (whatever that means) to be laughable. A CD can clearly outreproduce a vinyl even the first time you play the vinyl record -- by the fifth time you're playing the vinyl record it's clearly inferior from a technical perspective.

The thing that's fun about vinyl is that it feels more like a physical artifact -- each one sounds different, the album art is bigger, it's been around for a few decades, etc... that's why I like it.

<comment><USER3> Oddly, I like the smell of the vinyl. In it's own way, it's like the pleasant smell of a book.

</comment></comment><comment><USER7> May?? What do they mean May??

Why do you need an entire article for something that everyone already knows?

Even if you especially like the sound of vinyl, you can just play one and record it on a CD.

I watched a video of how they make vinyl. They take a ... wait for it .... CD! And play it into a machine that cuts the grooves.

<comment><USER8> Yet I think this article is interesting because it provides us with several explanations of _why_ people _perceive_ analog recording as better.

Here are a few quoting from the article:

\- _" few people who would tell you that recording classical music to analog tape has any benefit at all," Metcalfe says. But for some artists, he says — particularly in rock — those layers of distortion are preferable._

\- _[...] recording to analog tape isn 't any purer than recording music digitally. But the distortion and pitch variation that analog tape adds to the recording are preferred by some artists and audiences._

\- _" Because vinyl is a reflection and any digital is a reconstitution; it's not the same thing."_

\- _[...]the distortion and pitch variation that analog tape adds to the recording are preferred by some artists and audiences._

\- _However, for a less skilled mixing engineer, mixing to analog tape can "'glue' the music together in the most wonderful way,"_

<comment><USER7> Like I said, if you especially like that sound then simply record it on a CD.

Reflection and reconstitution? Those words have no meaning in this context.

And the thing about less skilled magically improving because of analog is just hocus.

</comment></comment></comment><comment><USER3> Does anyone believe Neil Young, an aging rocker, can actually hear the difference? Old age + decades of loud music = hearing loss

<comment><USER9> Neil Young does not understand mathematics based on the Fourier Transform, especially sampling theory.

Pono is also how he wants his legacy to be "archived". He does have quite the body of work.

</comment></comment><comment><USER10> Why round wheels may be better than square ones.

<comment><USER3> Triangular ones are better than square ones, too. One less bump.

</comment></comment><comment><USER11> It may sound "better", but I find it lacks the warmth and depth that vinyl provides.

Edit: /s. Sigh.

<comment><USER12> "Warmth" and "depth" seem imprecise to me. Do those words have quantifiable meaning to an audiophile?

<comment><USER3> warmth = the warp your record acquires when it gets warm. Mild warp (warmth) means the sound speeds up and slows down as it rides the hills and valleys. More warp (warmth) is the gap in sound as the needle achieves that coveted liftoff effect. "Warmth" can also happen when the manufacturer punches the center hole off-center, a depressingly common characteristic. Also known as "Doppler shift".

Depth = when the grooves are too close together and exceed a certain depth, you can simultaneously time travel both forwards and backwards in the music by about 2 seconds. This quantum "depth" effect is most prized.</comment></comment></comment>


Coinbase to Waive All Fees on 11/29/13 in Support of Bitcoin Black Friday - <AUTHOR> http://blog.coinbase.com/post/68147862129/coinbase-to-waive-all-fees-on-11-29-13-in-support-of <comment><USER2> Actually buying Bitcoin on Coinbase takes 3-4 business days for the bank transaction to clear and for you to have the Bitcoins to spend.

Unless you have Bitcoins already most people won't be able to participate in Bitcoin Black Friday deals.

<comment><USER3> I tried purchasing part of a bitcoin on coin base last week, and 3-4 business days is generous. It says I'm going to get my coins tomorrow, a full week after putting in the order. I was incredibly disappointed by this, but there is nothing to do about it.

<comment><USER4> I'm not sure of the timeline of what you did, but you can appreciate at least that they're giving you the market rate at the time you bought it (right? I also remember about a week ago reading a message on coinbase that they were over their buy limit, and in order to buy right then you had to agree to pay the market rate at the time of delivery)

Cause right now, it's looking like you made approximately loan-shark many dollars off of however many coins you bought at coinbase, that you're getting tomorrow, for which your bank probably still has not debited your account.

<comment><USER3> Yes, you make a good point. I did get the market rate back then. The only problem here is that I had different expectations, and expected a more immediate turn around. I'm not sure if waiting a week is really sustainable as a purchasing platform, but I'm also sure as time goes by, that time will decrease.

<comment><USER4> Yeah, every time I look at my bitcoins and their value I think "that's way too high, I'm not buying at that price" but I hold out and don't sell, and every new day that comes it seems like the prior day would have been a great time to buy. I don't think this momentum is sustainable either, but I'll tell you one thing: I'd be a rich man (at least I'd be out of debt) if I had bought more bitcoins instead of spending the ones I had on preorder mining equipment from Butterfly Labs.

</comment></comment></comment></comment></comment><comment><USER5> Not having fees is great... having a sane API would be much better.

<comment> coinbase-craig What changes would you like to see?

<comment><USER5> 1\. Separate private and publishable keys (like Stripe does).

2\. Get rid of the "create a payment page" nonsense and just let me send someone to [http://www.coinbase.com/payme?mykey=FOO&amount=10.00&currenc...](http://www.coinbase.com/payme?mykey=FOO&amount=10.00&currency=USD&custom=BAR)

</comment></comment></comment><comment><USER6> Wasn't bitcoin founded on the belief that it should be a currency free from transactional fees? Oh the irony of this Bitcoin Black Friday schtick!

<comment><USER7> No one promised free transactions. Bitcoin miners compete for transaction fees while transaction makers compete between each other for a place in the blockchain. Miners are interested in accomodating as many txs as possible (at least, to increase value of BTC as a whole which affects their own earning), but network latency limits the growth (too big blocks would have higher chance to become orphans if they propagate too slowly).

Bitcoin is a free market of validators and transaction-makers who try to find the lowest possible fees to support the most profitable operation for everyone.

PS. Hard-coded block size limit is not approached yet and will be raised by majority of miners when they see huge demand in transactions. If they don't they are undermining the value of the whole network and thus the value of their earnings.</comment></comment>


The Copyright Monopoly Was Always Intended To Prevent Freedom Of Expression - <AUTHOR> http://torrentfreak.com/the-copyright-monopoly-was-always-intended-to-prevent-freedom-of-expression-130414/ <comment><USER2> To paraphrase Jack Valenti: the future is to the past as the Boston strangler is to the woman home alone, with the windows open, listening to her favorite DRM-free digital audio files.</comment>


"Find me stuff I'm interested in" - <AUTHOR> http://scripting.com/stories/2011/02/12/findMeStuffImInterestedIn.html <comment><USER2> So, the plan here is:

1\. Read someones feeds, twitter, etc. and find what they link to

2\. Find other things the person hasn't seen that might be related to what they like, and deliver it to them as a set of suggestions.

3\. Profit.

#1 and #3 seem easy... #2 seems hard, as there are plenty of things I see in my own incoming streams (twitter, RSS, etc.) that are curated by those sources, but I'm not interested in. Similarly, finding on topic sources that I haven't already followed would be difficult after a while - there are only so many people discussing any one topic at any depth (especially if it's new and tech related).

This sounds like a "Netflix Challenge" difficulty problem, except with a much wider, shallower, and more capricious dataset.

<comment><AUTHOR> My feed shows you what I'm interested in, not just what I link to. There are words in the headlines, and in my descriptions of the stories. Those words are a goldmine.

You also have 2500 other people's feeds, who are using the same service. You have all kinds of ways of matching my interests against the stories they push through the system. This isn't new territory. It's how Amazon's algorithms work. They know that people who are interested in 3TB hard drives are also interested in (or at least like) Snickers bars. They know this because they ahve the stats in the database that correlate the two.

In other words, 2 is easier than you think. Lots of prior art.

<comment><USER3> I agree with zdw in that it's very much like the Netflix Challenge, in the way of focus.

If you don't narrow enough, on specific topics, you let irrelevant data in to the results, if you narrow too much, you cut out posts that were tangential but possibly even more relevant.

Also to compare this type of tracking to either Netflix or Amazon's recommendations, is hard, because they use a fairly static set of items to analyze, and thus don't suffer from long-tail analysis that would need to occur in a constantly updated set of data. For a basic search recommendation tool, this isn't as hard, but trying to pick up and determine someone's interests, without over or undercutting the topics, in a constantly changing set is very hard.

You also have to deal with shifts in user interest, Amazon gets by by only having to recommend for the latest few entries, in most cases. Trying to provide recommendations of new data for a user, you have to be able to be able to refocus to adjustments in the user's interests.

Also, as far as the words being a goldmine, not always, are they a great resource, yes, but only slighly more than the source that the user likes. Sources are great for initial narrowing, words are not.

Two is not really easier, even with prior art, the prior art is great to look at for inspiration and ideas, but when it comes down to it, it's a very different set of requirements.

<comment><USER4> "If you don't narrow enough, on specific topics, you let irrelevant data in to the results, if you narrow too much, you cut out posts that were tangential but possibly even more relevant."

I like Amazon's recommendation engine, but I'm surprised when I check out suggested future releases and get no more than a single page. I'm interested in a whole lot of things, and I think my purchase history and such would support that, but for whatever reason Amazon sometimes doesn't show me very much.

I'm guessing it's a side-effect of also marking some items as "not interested", with the software unable to make reasonable distinctions between likes and dislikes.

It's not uncommon, for example, to start getting recommendations for damn near every new DVD release simply because I put a DVD into my wish list. As if liking "a movie" == "liking movies" => "show all movies."

But if I then mark "Saw XII" as "not interested" it infers "does not like movies." Or something; it's hard to tell.

The absence of metadata in my choices make this quite hard. I like some rock music, but probably dislike most of it. Same for electronica or folk or whatever. Discerning just what I like about this or that artist or piece is hard, even for me. Same goes for books and movies. There are clearly common threads, but deducing them is non-trivial.

In many ways I like the same music and art I liked 20 years ago, but I don't always like the same musicians or artists, nor do I always like hearing or seeing things represented or presented in the same way. So, it's the same, but different.

For example, I loved "Metal Box"-era Public Image Ltd., but do not want to listen to "Metal Box" forever; I want to know what is the 2011 equivalent of "Metal Box". But that requires understanding current musical norms and conventions, not just the tonal and rhythmic qualities of a particular album.

The whole "When are two things the same?" question is at the root of AI, and a seriously tough nut to crack.

<comment><USER5> > I like Amazon's recommendation engine, but I'm surprised when I check out > suggested future releases and get no more than a single page. I'm interested > in a whole lot of things, and I think my purchase history and such would > support that, but for whatever reason Amazon sometimes doesn't show me very > much.

My theory is that this is evidence that the engine is using <http://en.wikipedia.org/wiki/Collaborative_filtering> \- the way I think of it is as a giant Venn diagram. At the beginning, I fit in almost every one of the little circles because the service is so ignorant about me. It will recommend me stuff from just about any overlapping circle. But as I select and anti-select items, more circles become invalid, and I slowly narrow myself down into a cramped little circle of just the items I've decided about, until finally no one else's selections overlap with my own and the service can't find anyone similar to steal recommendations from to give to me.

<comment><USER4> Good observation. Also a bit sad, if true, as it suggests that anyone outside the mainstream will get fewer recommendations.

Of course, it's tricky, and I appreciate an approach that takes into account that not everyone who likes Foo will like the same things; other likes and dislikes give important context. But I'd prefer a somewhat larger, if less precise, set of suggestions over a small set.

</comment></comment></comment></comment></comment></comment><comment><USER6> The "personalized news service" idea is my default example for startups that people keep trying and users keep ignoring. Entrepreneurs constantly want to build this thing and it consistently falls on its face like few other ideas.

Maybe it's because they just haven't been good enough, and as soon as someone cracks the code it will be great. However I think a much more likely answer is that only a very, very small number of people have a news discovery problem.

<comment><AUTHOR> The difference between this approach and the ones that startups have been trying (I see a lot of them) is that this idea will work. They've been trying to create something that works for everyone. This approach only works for people who actively forward or retweet links.

<comment><USER7> I think you'll find lots of attempts at ths problem. We tried to do this with data from Faves.com, our social bookmarking service. In the end we shut down our public recommendation service because we couldn't keep up with the spammers.

Any recommendation engine is a honeypot for web marketing types. I love the concept, but the scalable execution is very hard. I think the best sites approach this by engaging a motivated community, like HN, Reddit, and the original Digg. You need some zealous moderators to keep the spam at bay.

</comment></comment></comment><comment><USER8> I made a project that did news recommendations a few years ago. One major problem I came across while developing it is that there's a trade-off between accuracy and bias. The more accurate recommended articles are to a user's taste, the more they reinforce biases that he or she has. Republicans like right-leaning articles, Democrats like left-leaning articles, etc.

</comment><comment><USER9> I've been trying to implement this exact idea: <http://www.blazingrails.com/>

Topics describe your interests, and you can subscribe to multiple topics. The 'Best Posts' feed is a list of recommendations ranked by a combination of matching topics and points.

The end goal is that you start getting a feed of only content you're interested in.

</comment><comment><USER10> Feels like trunk.ly has the data to be able to do this...

I don't know much about recommendation engines but seems fairly easy to be able to see what links I share, see similar users and then recommend me things I might have missed.

<comment><USER11> Exactly what I was thinking. They have an API to mine the links data.

<http://trunk.ly/developer/>

</comment></comment><comment><USER12> I've used <http://paper.li/> to create a "newspaper" from my personal twitter feed (<http://paper.li/Stuidge> ). I follow people I'm interested in, and paper.li picks up their links and gives me an interesting daily summary.

This isn't quite the same idea as the OP, but I have found a lot of interesting links this way.

</comment><comment><USER13> Google reader has the "Recommended Items" feature that's pretty close to what you're describing here.

</comment><comment><USER14> This is what Popego used to do: [http://techcrunch.com/2008/09/09/popego- tailors-the-social-g...](http://techcrunch.com/2008/09/09/popego-tailors-the- social-graph-to-your-interests/)

</comment><comment><USER15> Is this not exactly what the "Recommended Items" feed in Google Reader does?

</comment><comment><USER16> I built this for delicious. Worked great but couldn't get staffing. Wah.

</comment><comment><USER17> Facebook's Like button provides the data to do this for the rest of the world.

</comment><comment><USER18> This reminds me of hunch.

<comment><AUTHOR> Yup, it's like hunch but for feeds.

</comment></comment><comment><USER19> I don't have a problem finding things I'd be interested in. Far opposite. I have the problem of not having enough time, energy and money to act on all of them. Therefore this feels like a solution without a problem.

</comment><comment><USER20> So, Amazon has:

"People who bought this book bought some of these other five books."

This 'recommendation' only requires simple counting and nothing like 'correlation'.

The technique has some pros and cons. I can believe that the technique is helpful for shoppers, but it's a bit too weak for a recommendation engine.</comment>


4 Things The World's Best Web/UI Designers Do Differently Than You - <AUTHOR> http://blog.collabmango.com/4-things-the-industrys-best-web-designers-do-differently/

<comment><USER2> No offence, but that list is pretty much "web design 101". No advanced concepts whatsoever.</comment>


Mystery of the ketchup cups - <AUTHOR> https://medium.com/@vervalkon/mystery-of-the-ketchup-cups-1e3091b9e6ff <comment><USER2> Great investigation!

However, the inventor of tea bags never intended them to be used for _brewing tea_ either[1]:

>First appearing commercially around 1904, tea bags were successfully marketed about 1908 by the tea and coffee importer Thomas Sullivan from New York, who shipped his silk tea bags around the world. The loose tea _was intended to be removed_ from the bags by _customers_ , but _they_ found it easier to _brew the tea with the tea still enclosed_ in the porous bags.

That is, the "correct" usage of tea bags came from the customers _misusing_ the product a century ago.

Who can say that unfolding a ketchup cup doesn't follow the same pattern?

[1][https://en.wikipedia.org/wiki/Tea_bag#History](https://en.wikipedia.org/wiki/Tea_bag#History)

<comment><USER3> Unless the story that tea bags was originally meant to be removed from the bags, is itself a myth based on one person's personal theory that slowly morphed into fact. :)

</comment></comment><comment><USER4> I adore deep digs on obscure subject like this. One wonders if the idea goes back even further, before registration. Perhaps some 1880's cafe was cranking them out with a diy divice. Seems like it would be a device you produce for practicality first, and 'you ought patent that' later when its utility was manifest.

<comment><USER5> More entertaining than the deep dig is the passionate position the author took: "The entire cult of those who open their ketchup cups is build upon lies, misinterpretation and shitty journalism."

Remember that scene from Knocked Up when Paul Rudd (I think it was him) talks about how much he wishes he liked anything the way his kid likes blowing bubbles?

I feel like there's an inverse here: I wish I was opposed to anything as much as this author is opposed to the improper use of ketchup cups.

<comment><USER6> I interpreted the statement as a tongue in cheek joke. One of the ever present dangers of the printed word, we can look at one sentence and come away with different meanings.

</comment></comment></comment><comment><USER7> Worse yet, Culvers uses _plastic_ ketchup cups. Not only can't you dip your burger in them, _you can 't get the ketchup out_ and onto your burger. It just sits in there, a gelatinous blob clinging to the sides of the cup. Useless.

I mentioned this to our local Culvers owner the day the place opened. No change in years. Sigh.

At least with the paper ones, you can crush them and squeeze the ketchup out like toothpaste onto your bun or whatever.

</comment><comment><USER3> When I was a kid, before these paper cups were widely used at restaurants for ketchup, my parents used to use empty cream containers. I used to like drinking the cream to empty out the containers. :/

</comment><comment><USER8> P.S. The real trick is to take a large soda lid and pump the ketchup onto it. (You may want to use two nested lids to prevent leakage through the straw hole)

</comment><comment><USER9> It turns out we've been doing journalism all wrong!</comment>


Australian cities among most liveable due to their size, say experts - <AUTHOR> http://www.abc.net.au/news/2016-08-18/australian-cities-among-most-liveable-because-they-are-smaller/7763016 <comment><AUTHOR> I strongly disagree with the EIU. I lived in Melbourne for 7 years, and while it may be home of the greatest sport on the planet, saying that it trounces a place like Tokyo in public transport and safety from crime is laughable.

If you want to go out in the CBD, you can come in on rail and switch to trams, but navigating to any specific location outside the 3000 postcode is not fun. Everyone knows you need a car to get around.

And don't even get me started on the violent crimes around pubs and clubs, the number of times you see broken glass and missing windows on cars parked in the streets, or the entire suburbs conquered by the illicit drug trade.

<comment><USER2> I'd say it really depends on the part of Melbourne you're at. East is the nicest. Northern suburbs (where I'm at) are pretty livable as well. West and Southeast can be dodgy. And I don't have much trouble getting from the Northern Suburbs to work in the Eastern suburbs or around on the weekends without driving. Actually, driving is getting to be much worse than public transport during peak hour.

<comment><AUTHOR> Good point. I'll walk back my hyperbolic statement a bit and agree that location is important. My statement was mostly from the time I spent around the inner city (North Melbourne, Richmond, St Kilda) - Northcote was was much more comfortable by comparison.

</comment></comment></comment><comment><USER3> I've lived just outside Adelaide, in Canberra and in the suburbs of Melbourne (Elwood then Mentone).

I now live in Thailand, but outside Bangkok.

There is definitely a hard-to-describe size difference - Bangkok as a metro area has half the population of Australia.

Australian cities have nothing to complain about when it comes to traffic. I've sat in the car in Bangkok traffic, and taken an hour to go the final 900m of a journey.

Having said that, some Australian cities are unlivable imo, because they're too "small town".

Visiting Adelaide is like a trip in time back to the 70s when shops all close at 5pm and nothing is open on Sundays.

</comment><comment><USER4> I live in Sydney and traffic is a nightmare. I want to get out..

Help. Please.</comment>


Start Your Own Tech Company Humble Book Bundle: 19+ e-books, $15, 24hrs - <AUTHOR> https://www.humblebundle.com/books/start-your-own-tech-company-book-bundle <comment><AUTHOR> Honestly, nothing super-compelling (total of 5 with 10+ Amazon reviews?) unless you like to read a lot of business books.

 _$1_

5 stars/46 reviews $20 Exporting: The Definitive Guide to Selling Abroad Profitably (Delaney, 2013) [https://amzn.com/dp/B00FNC77RY](https://amzn.com/dp/B00FNC77RY)

5 stars/05 reviews $20 Commercializing Innovation: Turning Technology Breakthroughs into Products (Schaufeld, 2015) [https://amzn.com/dp/B00IV79JH4](https://amzn.com/dp/B00IV79JH4)

5 stars/05 reviews $18 Inventors at Work: The Minds and Motivation Behind Modern Inventions (Stern, 2012) [https://amzn.com/dp/B009SRRVG2](https://amzn.com/dp/B009SRRVG2)

5 stars/04 reviews $17 Design Thinking for Entrepreneurs and Small Businesses: Putting the Power of Design to Work (Ingle, 2013) [https://amzn.com/dp/B00EBCGI36](https://amzn.com/dp/B00EBCGI36)

5 stars/05 reviews $15 Know and Grow the Value of Your Business: An Owner's Guide to Retiring (McDaniel, 2013) [https://amzn.com/dp/B00CYU98VQ](https://amzn.com/dp/B00CYU98VQ)

5 stars/10 reviews $18 Startup: An Insider's Guide to Launching and Running a Business (Ready, 2011) [https://amzn.com/dp/1430242183](https://amzn.com/dp/1430242183) (paperback)

 _$8+ ( "average")_

5.0 stars/05 reviews $35 Databases for Small Business: Essentials of Database Management, Data Analysis, and Staff Training for Entrepreneurs [https://amzn.com/dp/B0157W4JTS](https://amzn.com/dp/B0157W4JTS)

5.0 stars/21 reviews $23 How to Create the Next Facebook: Seeing Your Startup Through, from Idea to IPO (Taulli, 2012) [https://amzn.com/dp/1430246472](https://amzn.com/dp/1430246472)

4.5 stars/02 reviews $28 Big Data Bootcamp (Feinleib, 2014) [https://amzn.com/dp/B00MBL230G](https://amzn.com/dp/B00MBL230G)

no reviews $32 Make an E-commerce Site in a Weekend: Using PHP (Harwani, 2015) [https://amzn.com/dp/B01IK5GA0A](https://amzn.com/dp/B01IK5GA0A)

3.0 stars/02 reviews $35 Pro Freeware and Open Source Solutions for Business (Whitt, 2015) [https://amzn.com/dp/B011KFOT5K](https://amzn.com/dp/B011KFOT5K)

5.0 stars/01 reviews $17 From Techie to Boss (Cromar, 2013) [https://amzn.com/dp/B00CYU98V6](https://amzn.com/dp/B00CYU98V6)

no reviews $20 Build a Profitable Online Business: The No-Nonsense Guide (Olsson, 2013) [https://amzn.com/dp/1430263792](https://amzn.com/dp/1430263792) (paperback)

 _$15_

5.0 stars/11 reviews $17 Building Great Software Engineering Teams: Recruiting, Hiring, and Managing Your Team from Startup to Success (Tyler, 2015) [https://amzn.com/dp/B00ZHM53DK](https://amzn.com/dp/B00ZHM53DK)

5.0 stars/03 reviews $20 Disruption by Design: How to Create Products that Disrupt and then Dominate Markets (Paetz, 2014) [https://amzn.com/dp/B00ACC6AIW](https://amzn.com/dp/B00ACC6AIW)

5.0 stars/13 reviews $24 Regulation A+: How the JOBS Act Creates Opportunities for Entrepreneurs and Investors (Getty et al, 2015) [https://amzn.com/dp/B00DREFQOG](https://amzn.com/dp/B00DREFQOG)

5.0 stars/02 reviews $35 University Startups and Spin-Offs: Guide for Entrepreneurs in Academia (Stagars, 2014) [https://amzn.com/dp/B00NTQ0WZA](https://amzn.com/dp/B00NTQ0WZA)

5.0 stars/02 reviews $32 Financial Modeling for Business Owners and Entrepreneurs (Sawyer, 2014) [https://amzn.com/dp/B00MUUI618](https://amzn.com/dp/B00MUUI618)

4.5 stars/06 reviews $14 Why Startups Fail: And How Yours Can Succeed (Feinleib, 2011) [https://amzn.com/dp/B006RM2KOY](https://amzn.com/dp/B006RM2KOY)</comment>


How I fixed a bug in Atom - <AUTHOR> http://davidvgalbraith.com/how-i-fixed-atom/ <comment><USER2> I liked this article a lot. A programmer found a bug in something he uses every day, and learned enough to fix it.

I think articles like this are very useful to beginner/intermediate developers. Everyone in software says "write open source code", "make pull requests to code you use" etc, but there's a very big gap between knowing how to program and knowing how to track down, fix, and submit a PR for a bug in a program (and language!) you've never worked on before.

This is a good little tutorial on ways to attack a bug in a program. I especially like that he starts with two print statements - there's no wizardry here, just a programmer digging into a bug.

<comment><USER3> Absolutely. I think articles like this are the best way to demystify some of the stuff that seems a bit magical in working software. Things that look complex are rarely the product of genius, but rather of a long string of practical and sometimes painstaking, but fundamental logical problem-solving.

</comment></comment><comment><USER4> First of all, this is why people should stop adding stupid features to regular expressions. A sane regular expression implementation has __no __pathological cases. DFA generation can be done in O(n^2) from memory (in the absolute worst case O(n) is average), and matching can 't be worse than O(m) or similar (n is the size of the regex and m the size of the string). When you add features like back references and recursive matches, you bring the worst case complexity to O(a^n), which is exponential.

And why? So you could write some dirty hack rather than writing a simple recursive descent parser to create an AST of the code (which takes O(n)). What did you gain by ruining your regular expression implementation and writing shitty code?

EDIT: Matching _might_ be O(m), but I'm wondering about maximally linked graphs with many epsilon edges. The conversion from DFA to NFA would require O(n^2) in that case. Implementing it as an NFA evaluation might be faster than full conversion, but then you run the risk of having O(n^2) dominating in the matching.

EDIT: The author is somewhat correct on what "catastrophic back referencing" is. While you could argue that it is due to bad implementations of the greedy matching, it's a more endemic problem of how you have to implement a regular expression engine that supports back references. If you have to support back references, then you will always have a class of pathological cases which cause exponential time complexity. I had a useful graph about this on my toy regular expression engine (which performs much better than Python's implementation even though it's written in Python and not C): [https://github.com/cyphar/redone](https://github.com/cyphar/redone).

<comment><USER5> I don't always want to spend insane amounts of time writing full AST parsers. Sometimes it is a lot easier to write a simple, hacky, throwaway regex. It's a bit much to claim that backtracking regular expressions, a very useful tool sometimes, should never ever be used and everybody should waste loads of time writing careful code even in situations where it isn't required.

The problem is not the tool. The problem is using the tool for the wrong job - although who knows, maybe if they didn't just chuck out a quick hacky implementation, then atom simply wouldn't have the feature at all - in which case it is a trade-off between having the feature at all and an evidently tiny corner case bug that was easily fixed by someone who isn't even a regular developer of the project.

So I don't see the reason to be outraged or judgemental here.

<comment><USER6> "I don't always want to spend insane amounts of time writing full AST parsers."

This is an effect of the language, not the problem space. Backtracking REs make it very easy to write bad code, and then most languages make writing the parsing code hard.

If you're in a language that makes parsing code easier, like Haskell, then the tradeoff isn't anywhere near so bad. I don't mention Haskell just because it's the trendy thingy, I mention it because parser combinators really do make for some very easy parsers, and while parser combinators can exist in other languages they tend to be very syntactically heavyweight. Perl 6 is supposed to make parsing perhaps even easier, but I haven't played with it to know.

Parsing isn't really that hard, it just plays very poorly with Algol-inspired syntax.

To be clear, since this is the Internet and the presumption of disagreement is strong, this post is not an explanation of why you're wrong... it's an explanation of why you're _right_. It is absolutely a true statement that in most languages you're way better off bashing out a dangerous RE than writing a proper parser even for something as simple as this.

<comment><USER7> Haskell is, in fact, a _really good_ way to write parser code. That's the main thing I use Haskell for.

But how are you suggesting that Haskell could solve the problem of letting CoffeeScript plugins express which text they should apply to in a CoffeeScript text editor?

<comment><USER8> He's not suggesting that.

He's suggesting that the correct solution (recursive descent parser) is not inherently hard, but CoffeeScript makes it hard enough that people reach for less good approaches.

</comment></comment></comment></comment></comment><comment><USER9> I got to the bottom and couldn't believe that the solution chosen was to modify the regexp instead of use a for loop. He did such a great job explaining that the code is really just trying to count the number of parentheses or braces to see if they're imbalanced, that it felt the next step was "so I wrote a really simple set of loops that is fast enough on short strings and way less crazy otherwise".

<comment><USER10> Same here. Also, I don't use Atom, but looking at the expression I'm pretty sure it fails to account for strings with parentheses. The way the matching is done, it looks like it will happily count:

        func("some call :)")

as extra closing paren. (regex101 agrees)

<comment><USER11> Sometimes I feel like the difference between a junior, intermediate, and senior developers is that the junior hasn't yet figured out how to use regexps, the intermediate dev has, and the senior dev has figured out not to.

I kid, but...really. The number of times I've seen people burnt by non-trivial regexps in production code is absurd.

"Oh, I need to mangle this CSV that's in the wrong format"? Sure, write a one- off regexp.

"Hm, there might be a security vulnerability in this URL parameter, I need some way to filter out bad inputs..." Oh _hell_ no.

Literally two weeks ago I tracked down a crazy bug to a regexp someone had written to try and correct mistyped email addresses in a signup form (?!) that deleted "invalid" characters. Like a "+". So many facepalms for one short line of code...

<comment><USER12> out of curiosity: what would you use for the URL validation?

(but i get this is difficult: [https://gist.github.com/dperini/729294](https://gist.github.com/dperini/729294) )

<comment><USER13> Well, it's clear to see why people are lead astray. In this case, RFC 3986, which defines what a URI actually is, itself actually proposes a regex[0]. It even claims, and I quote, 'the "first-match-wins" algorithm is identical to the "greedy" disambiguation method used by POSIX regular expressions'. Of course, it doesn't actually _validate_ anything... it just performs rudimentary field extraction. Trying to do anything beyond that with regex is madness.

The ABNF grammar is fairly simple though and, I think, free of ambiguities. I've had luck converting it straight in to PEG form. It's not a trivial or wholly useful endeavour though, and, if you do so, remember to check the errata. For HTTP you'll also have to add in the changes from RFC 7230[1].

Oh, and of course, none of this validates DNS names, their labels, etc. for length, the "LDH rule", or the public suffix list[2], or IP addresses to check whether they have publicly routable prefixes.

Bottom line is, if you want to validate a URL, the best thing to do, much like e-mail, is to just try and GET it.

[0] [https://tools.ietf.org/html/rfc3986#appendix-B](https://tools.ietf.org/html/rfc3986#appendix-B)

[1] [https://tools.ietf.org/html/rfc7230#section-2.7.1](https://tools.ietf.org/html/rfc7230#section-2.7.1)

[2] [https://publicsuffix.org/](https://publicsuffix.org/)

</comment></comment></comment></comment></comment><comment><USER14> In general, when you are working on a problem and you think "let me use a regex for that" and then you come up with

        ^\s*[^\s()}]+(?<m>[^()]*\((?:\g<m>|[^()]*)\)[^()]*)*[^()]*\)[,]?$

to solve your problem, then you have IMHO come across a problem which you should not be solving using regular expressions.

Case in point is counting and balancing parentheses which is very easily done using a single loop over the string in question.

<comment><USER15> The worst part is that as soon as he mentioned regular expressions I knew exactly what the problem was.

Regexes are powerful and useful but also dangerous. People who don't thoroughly understand them and try to get fancy often run into problems like this. In general you shouldn't be using them to parse a computer language anyway, it is something you should be using a tokenizer/parser for.

<comment><USER16> If something can be done with regex, someone will do it with regex, and it will end up in a big project.

That's why I weeped when support for named groups and backmatching was added.

</comment></comment></comment><comment><USER17> Completely unrelated to the issue at hand... I had no idea Atom was written in CoffeeScript. I thought it was written in Javascript, which made me positive at the thought of hacking into it.

But this code? Definitely giving me a headache, and my interest went down to zero. There seems to be a meme and unchallenged _claim_ in hacker circles that CoffeeScript is somehow more "readable" and easier to understand.

Allow me to disagree, and I suspect there's quite a few like me. This code is harder to read. I _think_ I understand what the code does, but I can no longer be certain about the language semantics. That introduces needless uncertainty.

And it just broke all my pre-configured and pre-setup JS-tooling. Can't use any of that for this codebase. Just great.

So what's up with people writing applications and projects in NodeJS, a prime JS-environment which supports "all" modern Ecmascript-features, classes included, and then decide to go use a non-standard language for their app?

And for what gains? How did Coffeescript make this code more readable or easier to debug? It didn't. And now you need to debug code compiled from the actual code you wrote. How does that do anything except make everything harder?

TLDR: CoffeeScript seems like a bad choice for just about everything and I can't see why any big project with a desire for contributors would even consider using it.

<comment><USER11> First, good news: The Atom teams is (slowly) moving away from Coffeescript towards modern JS, and I think they'd agree (unofficially) that the choice proved to be a mistake.

Beyond that...

1\. The JS world moves stupidly fast, and Coffeescript is a relic of a now- vanished age. It was born, it evolved, and it died. Back in those long ago days of, um, 5 year years ago, there was no ES6, and Coffeescript looked a lot more attractive. So much so, in fact, that ES6 stole a bunch of Coffeescripts better features.

2\. If you're familiar with Coffeescript, it's terse and expressive and very readable. If you're not, it looks like gibberish. But that's true of _any_ language. The proper critique of Coffeescript should be "hey, not a lot of potential collaborators know it, so it'll see unreadable _to them_ ", not "hey, Coffeescript is generally unreadable". JS is pretty confusing and unreadable if you don't know it too.

Mind you, Atom was released 2 years ago, when Coffeescript was already starting to look dated. And it was an open source project looking for contributors so...yeah. Bad, bad choice. :)

<comment><USER18> In fairness, I built a fairly large app using CoffeeScript and it still took a lot of brainpower to read it compared to JS. All the typical complaints about ambiguous-looking syntax match my experiences exactly.

I ended up with a general workflow of having my Coffeescript source and the generated JavaScript sitting side-by-side so I could check that the output was what I was expecting. I've only had the urge to do that with ES6 and Babel a couple of times.

<comment><USER11> I built a pretty large app using Coffeescript, and I was about to say that I disagreed, and never felt like I needed at the generated output, but...

...now that you say that, I did end up going to the Coffeescript REPL on their website to test a bit of syntax a fair number times. I feel like a got used to it pretty fast, but I agree, a big chunk of Coffeescript's learning curve is getting past it's ambiguity, and there were some features I expressly avoided just because they were too confusing. Eg, I could never remember the difference between 'in' and 'of' in CS, so I just used underscore's equivalents. And then there were the comprehensions, and the weird scoping rules, and...yeah.

I'll be honest, switching from CS to a modern Babel/ES6+ configuration, I thought I'd really miss CS, but I really haven't. I maintain that if you know CS, good CS code is easy to understand, but good CS code takes way too much work to write. :)

<comment><USER19> Interesting. Comprehensions are probably the main thing I miss. I liked the automatic returns and the @ shorthand, but whenever I find myself using Python for whatever odd reason, having comprehensions again is like encountering a long lost friend.

</comment></comment></comment></comment></comment><comment><USER20> Isn't arbitrarily-long nesting or matching any sort of palindrome, where you count up and down, the classic case of something you should never do with a regex, because they're _finite_ automata?

People don't build parsers because of masochism, but because regular expressions are provably insufficient to capture things like nesting. You need to go at least one level up on the Chomsky hierarchy[1] to pushdown automata for that.

More importantly, shouldn't SOMEBODY working on a text editor know and recognise this sort of thing? I'm all for the hacker mentality of shipping, reducing developer time instead of machine time, using what you know, but this is the sort of hacky fix that just pushes the problem further down the line.

Great write-up though, very enjoyable read!

<comment><USER21> I found this on the ground. Did you drop it?

[1] [https://en.wikipedia.org/wiki/Chomsky_hierarchy#The_hierarch...](https://en.wikipedia.org/wiki/Chomsky_hierarchy#The_hierarchy)

</comment></comment><comment><USER22> I am still unsure why anyone uses Atom when it consumes so many resources. The emacs instance I have had open for some time now is using 92Mb. Atom instances have been reported in the hundreds of megabytes [1]. Of course, this is because it is actually a web application running in an entire browser, renderer and helper processes included.

I understand the need for people to be able to "easily" hack on it (easily in quotes here because really that just means "people who know web languages"), but that goal could still be accomplished in a native application that embedded a JS runtime for plugins.

[1]: [https://discuss.atom.io/t/high-usage-cpu-and- memory/16165/3](https://discuss.atom.io/t/high-usage-cpu-and-memory/16165/3)

<comment><USER23> Because it has a friendly interface, while Vim and Emacs have all these "weird" keybinds and whatnot. These are people switching from e.g. SublimeText to Atom.

I am not trying to harp on Vim or Emacs, I myself am a Vim user and use it for C++ code.

<comment><USER24> > Because it has a friendly interface, while Vim and Emacs have all these > "weird" keybinds and whatnot.

vim and emacs _are_ friendly and welcoming to people who already know them; new users in 2016 have some weird expectations due to growing up using insufficiently-powerful UIs, which means that they have quite a learning curve when picking up a powerful UI.

<comment><USER25> > vim and emacs are friendly and welcoming to people who already know them; > new users in 2016 have some weird expectations due to growing up using > insufficiently-powerful UIs, which means that they have quite a learning > curve when picking up a powerful UI.

Having first used both vi and emacs (and other text-mode - and even line-mode -- editors), though only casually then, I disagree; vi and emacs are, like almost anything, friendly and welcoming to people who have become deeply familiar with them, but they simply aren't as accessible as tools that benefit from the advances in the intervening years in making UIs easy to use for people that _haven 't_ invested huge amounts of time in familiarity.

This is really a different issue than UI power (though if vim and emacs didn't have both powerful UIs _and_ substantially bodies of users with long investments, they wouldn't stick around in the face of their disadvantages in terms of onramp.)

 _Older_ users just didn't, when they were new, have _alternatives_ with a simpler learning curve. So, there really was no trade off for the power vi and emacs offered (less powerful alternatives of the time were still just as inaccessible), where now there is.

<comment><USER24> > So, there really was no trade off for the power vi and emacs offered (less > powerful alternatives of the time were still just as inaccessible), where > now there is.

There's simply nothing out there as good as emacs. Nothing. Eclipse, IntelliJ, Atom, SublimeText, all those pale in comparison. vim has its positive points (it's an excellent way for a human to edit line-oriented text), but ultimately it too falls down in the general case. emacs is simply the best way for a human being to use a computer to edit data.

There _still_ isn't an alternative to vim and emacs. I kinda wish there were, but there ain't. Someday I'd like to use a modern emacs-like editor, implemented in Common Lisp (or a successor language), but right now emacs is the pinnacle of editor evolution.

<comment><USER4> > vim has its positive points (it's an excellent way for a human to edit line- > oriented text), but ultimately it too falls down in the general case

I think the only thing that Vim doesn't do that it should is actually use a proper language for scripting. Emacs has elisp, but Vim has VimScript which is a horribly stunted langauge.

Aside from that, I much prefer vim to emacs. Just because everything is mode- based, and the keybindings don't require 10 hands to do anything.

<comment><USER24> Check out spacemacs: the modes of vim, and the extensibility of emacs. Not really by cup of tea, but it sounds pretty cool.

</comment></comment></comment></comment></comment></comment></comment><comment><USER26> Could be avoided if the editor had a full AST of the code instead of using regular expressions to try to make sense of it.

<comment><USER27> The syntax will be broken 99% of the time and making a parser that recovers gracefully under any circumstance is very hard.

You could make an editor that only allows valid programs but that opens up a lot of UI problems, it was tried many times and it never took off in practice.

<comment><USER28> Yet Eclipse and IntelliJ IDEA (and most likely a lot of other IDE's) successfully use AST's for their code editor. The syntax will only be broken locally, so it's not that hard to recover.

<comment><USER29> I tried Eclipse many times over last decade. Always used for few weeks before code highlighting and completion drove me insane due to multiple crashes, hangups and slowdowns.

Trouble with elaborate 'correct' solutions starts when you need another thing. I don't think support in Eclipse for .cjsx or PureScript or whatever is coming soon. I won't wait 10 years till they get it 'right'. I'll use Atom to get the 95% right in few months.

</comment></comment></comment></comment><comment><USER30> Here's another one that needs to get fixed with Atom. Try writing this in the editor with syntax set to Go:

expected

func someFunc() {

            aSlice := []string{}{

     	}

}

actual

func someFunc() {

            aSlice := []string{}{

}

}

The end bracket on the slice's initializer never indents correctly when you type it and hit <enter>. It always defaults to the first character of the next line. It seems insertNewLine somehow is not able to grok the idea of more than one set of matching brackets.

Edit: issue filed [https://github.com/atom/bracket- matcher/issues/209](https://github.com/atom/bracket-matcher/issues/209)

<comment><USER31> Install the go-plus package and it'll `go fmt` on save everytime, saving you this headache. Works seamlessly.

<comment><USER30> Thanks for the tip -- yea, I have go-plus installed. It is helpful, but still isn't ideal to have to save the file in the middle of trying to initialize a slice.

</comment></comment></comment><comment><USER32> > This defines a named capture group, <m>.

I thought JavaScript regexes don't support named capturing groups. Is Atom using some library or custom functionality for that?

EDIT: Or is it a CoffeeScript addition? In their table of contents I only see regex blocks mentioned though ([http://coffeescript.org/#regexes](http://coffeescript.org/#regexes)).

<comment><USER33> [https://github.com/atom/node-oniguruma](https://github.com/atom/node- oniguruma)

<comment><USER34> Would switching to standard JS regular expressions substantially improve Atom's performance, even though it would mean losing some advanced regex features? I remember hearing that V8 JIT-compiles regular expressions to native code.

</comment></comment></comment><comment><USER35> Ofcourse it was regex. Regular Expressions: Now You Have Two Problems

Good job!

</comment><comment><USER36> I'll admit and thought that by "fixed" he meant made it not start slow... but this was very well written and interesting. Great job Mr Galbraith!

</comment><comment><USER31> I wonder if this is why Atom feels so snappy now. It's my main editor as of a few weeks ago because the speed is now good. It used to choke on a 1000 line rails controller, but now it edits that file just perfectly.

Congratulations to the author, great commit! Small payload, enormous benefits.

</comment><comment><USER37> It seems there's a need of a regex linter (eslint plugin?) that could warn on pathologically complex regexes. Is building this kind of plugin feasible?

Having said that, probably few people would explicitly opt in to using such a plugin unless it's bundled by default to some linter.

<comment><USER38> Well, regex101 [1], linked in the article, detects it, so it's definitely possible. Whether that code is open, or it's easy to replicate, is another matter.

[1] [https://regex101.com/](https://regex101.com/)

</comment></comment><comment><USER39> While this was a good read, should it not be titled:

# How I fixed the 'atom/language-go' package

<comment><USER40> No, he fixed a function of Atom, the original title is valid.

<comment><USER39> The regex he fixed was committed into the package atom/language-go, not into atom core. It was only an issue when writing go code.

<comment><USER41> Dude, you don't need to be so semantic. The headline had "atom" in the title, it had to do with Atom the editor, what more do you want? Do you think every headline should be excruciatingly specific and exact? Might as well just put the whole article in the headline.

</comment></comment></comment></comment><comment><USER42> I haven't worked on Atom or Electron apps (although it's on my todo list), but does the Chromium debugger not work inside them?

<comment><USER43> Yes it does, and that was my biggest annoyance with this article.

The chrome debugger with breakpoints, profilers, and a whole slew of other goodies is great for this sort of debugging.

Yeah, sometimes i need to avoid it because turning it on can actually slow the code down significantly, but the profiler would have been perfect to see where the time was spent here with just a few clicks.

<comment><USER44> > that was my biggest annoyance with this article

Perhaps a core contributor or someone who regularly works on the code-base would have approached it with the full suite of debugging tools available as you mention.

However, I get the impression that the author of this article is not one of those and simply wanted to crack open his editor to fix this one problem he saw (and happened to learn more about Atom, Coffeescript and regexps along the way).

Being upset over a great open-source contribution because they used "non- ideal" methods to arrive at a solution is just silly.

<comment><USER43> I probably could have worded it differently, but I'm not upset about it, it just makes me sad that people might not know that these tools exist!

I often use the same kind of thing for debugging (console.log('got here')) because it's sometimes too much work to leave the code to just get an understanding of if something is hit or not.

When i started reading the article i was really hoping he would use the profiling tools. I just feel sad that they are being overlooked a lot of the time, and this is a textbook perfect use case for it!

</comment></comment></comment></comment><comment><USER24> Yet more proof that anyone who uses regular expressions to attempt to parse a context-free grammar is in a state of sin.

Balanced parentheses form a context-free grammar, and thus cannot be parsed by regular expressions. There are extensions to regexps which make them irregular — and hence capable of parsing CFGs — but they often lead to poor performance, as here.

</comment><comment><USER45> I'm not familiar with the way syntax highlighting and code indentation logic in text editors is implemented, but using regular expressions to try and parse a CFG like the Go programming language seems like a phenomenally bad idea.

Maybe everyone does it and everybody is happy with it working only in 90% of cases, but it just seems like the wrong approach to me.

</comment><comment><USER46> Nitpick: Why is the link to 'Atom' in the article just a link to a Google search for 'atom editor'?

<comment><USER47> Haha, don't know how that got in there. Fixed it to point to atom.io, thanks for pointing it out!

</comment></comment><comment><USER48> The lesson is: don't parse with regexes. At all. Even for a first draft of a plugin for editor support for some obscure language should regexes be used for this kind of job.

Surprised to see that mistake in code that otherwise looks pretty high quality.

</comment><comment><USER49> I really really want to love this editor, it's beautiful, but it burns me every time I use it and I end up going back to sublime text. Slow, buggy, hangs, 100% cpu usage, huge amounts of memory usage...

</comment><comment><USER50> For those who want a quick look at the state of Atom today & it's packages I made a video covering the top frontend and backend packages for Atom. [https://www.youtube.com/watch?v=cFAzqvYoHJs](https://www.youtube.com/watch?v=cFAzqvYoHJs)

Or here's a small blog post I made: [http://cliffordfajardo.com/2016/atom- editor-review/](http://cliffordfajardo.com/2016/atom-editor-review/)

</comment><comment><USER51> You'd think both Atom contributors and the author would make use of coffeescript's multi-line Regex syntax so they could mark it up with comments...

</comment><comment><USER52> Grrr, that's not a _Regular_ expression at all. I think you'd be better off looping over the string and counting the number of ( and )s in a loop, guaranteed linear time.

I wish people would stop abusing regular expressions.

<comment><USER53> A regex is far more useful than a regular expression, and I'm ok with the terms getting conflated.

</comment></comment><comment><USER54> What a wonderful article! Yes what a nice trip you had to fix awesome editor (Yeah I am using ATOM and I love to code in it)!

</comment><comment><USER55> Good work. With enough eyeballs all bugs are shallow.

</comment><comment><USER56> ...and thats why Regexes should usually be avoided :)

</comment><comment><USER57> Wow mate, nice debugging down to the core.

</comment><comment><USER58> Good job

</comment><comment><USER59> Performance wise I never understood why ATOM is even used. it is lackluster compared to a notepad++ and there is a delay in every action: loading the software, clicking on a tab, on a menu, on an option. it seems to me like a very wrong idea to push the web into softwares

<comment><USER43> When was the last time you used Atom?

It's definitely not the fastest opening editor, and it does have performance issues, but they tend to be more rare than common.

The 2 that bite me are:

* the update/install screens in the settings tend to be a bit slow

* opening "large" files that have 1000+ characters per line will either hang or crash the browser depending on the size. If it's a "normal" looking source file, it runs like a dream with files up to 5gb+ (the largest i've used it for), but if it's something like a minified javascript file, a few kb is enough to hang the editor.

Outside of those 2 issues, i don't see any lag or stuttering in my normal use, and i've got about 70 plugins on top of the defaults.

But to answer your question, it's the customizability and the massive number of plugins that draws me. Plus it's fucking beautiful, and i know this isn't the most popular opinion, but if i'm going to stare at this thing for 6+ hours a day, i want it to look good!

<comment><USER60> It's by far the slowest compared to Sublime Text 3 and Visual Studio Code. VSCode and Atom obviously suffer from being Electron based compared to ST3, so the comparison there isn't exactly fair, but VSCode is noticeably faster to load and snappier to work with even loaded up with third party plugins. I have a similar amount of plugins for each of the three (10-15) too, so no real difference there.

And honestly I don't see a marked difference in visuals between those three. After installing my zenburn colour scheme they're virtually identical with similar if not identical UI features.

I don't expect the Electron based editors to match ST3 for performance (at least not yet), but honestly it's kind of embarrassing how slow Atom is compared to VSCode, particularly when it comes to things like checking for package updates and just _starting up_.

This is all based on using all three editors within the last three months (I've been swapping around trying to find what I like).

</comment></comment></comment><comment><USER61> you sir deserve this [https://xkcd.com/208/](https://xkcd.com/208/)

</comment><comment><USER62> "How I fixed a bug in Atom that affected almost no one, and then spent quite a lot of time writing an article about it, then wrote a title that attempted to give me more credit than I deserved"

.. which is his main pass time if you see his other posts, rather than spending his effort on fixing bugs that actually affect a lot of people. I am sorry but I don't really appreciate it and have trouble getting over the misrepresentation in the title of the blog posts.

<comment><USER63> Sure the title is a bit sensationalist, but there was a legitimate issue to fix and he did fix it.

Plus, it is a good write up that explains the problem, solution, and the steps taken well.

It would be a shame to see others put off from fixing bugs, and posting commentary on the solution, in open source software for fear of being put down.

<comment><USER62> Others should be put off from taking more credit than due in the title of their posts and from taking on bugs that aren't important just for that purpose.

<comment><USER38> No, _nobody_ should be put off taking on _any bug_. I hugely appreciate the fact that different people are up for different challenges and, therefore, with enough people, bugs should be fixable. Your ethos appears to be 'some bugs are just boring and not important enough; never bother fixing them'.

</comment></comment></comment></comment><comment><USER64> getting a 500, which tracks with my experience of atom

</comment><comment><USER65> > Having very little to go on, I began the search by searching the whole > codebase for the word "newline".

Is this really how people troubleshoot JS issues? In 2016?

<comment><USER53> I don't know javascript beyond the most basic aspects, what would you have suggested here.

<comment><USER66> Start debugger, cause 'freeze' to happen, pause debugger, look at call stack. I touch JavaScript as little as possible, but that's what I would do in any decent language.</comment></comment></comment>