Ask HN: Generating business lists by industry. - <AUTHOR>

About 2-3 days ago there was a post on here where someone suggested a great way to look up small businesses pretty comprehensively. I did search but none of my terms are getting it.
I'd love to hear that URL from someone AND start the conversation in general: What tactics do you use to generate lists of potential customers?
One neat trick I learned when dealing with bars and restaurants, was to link up with the Health Inspector & Liquor License databases (open to the public). <comment><USER2> I've found tools such as Google Alerts, Social Mention, and Social Blaze (and LeadNuke since I created it) to be indespinsable for generating lists of potential customers. I think the most difficult part is getting inside your potential customers' heads to figure out what they would be saying if they needed your product/service.

For instance, for RateMyStudentRental, my target customer (i.e. school) will be having problems with their off-campus student housing. So, if they're having problems, I will hear about it one of 3 ways:

\--1. a school administrator will write about it usually on some forum or housing community online.

\--2. a student will say (on twitter, facebook, etc) how much their housing or landlord sucks.

\--3. a landlord or local housing association will decide they need to do something about it and create a local workshop or call a meeting for the townsfolk.

\--4. the media will call it out by publishing an article about the state of the campus housing in the area.

\--5. some combination of the above.

So the trick is knowing what sort of language to look for online. For each case above, I would look for phrases like this, respectively:

\--1. "what should we do" + "campus housing"

\--2. "housing sucks", "landlord sucks"

\--3. "meeting" + "campus|student housing", "state of off-campus housing", etc.

\--4. city|county name + "student|campus|university housing"

\--5. general terms like "student housing", "campus housing", "student rental", etc.

This advice I think applies to all industries, not just student rental housing of course. For instance, if you're web development consulting company, you're probably looking for phrases like "needs web application", "needs web development", "looking for software", etc.

I think a rookie mistake that people (e.g. web development companies) make is paying attention to phrases like "rails development."

The problem is, if you're a web development consultancy, your target market doesn't know or care what Rails is or how you build the damn thing, they just know they need something on the computer that does what they need it to. So, if you just look for "rails development" keywords online, you're just going to get a bunch of funded startups and the like who just want to hire another programmer for their team, and it's a waste of your time (and theirs if you respond).

</comment><comment><USER3> Go find access to ReferenceUSA, Biz Miner, Capital IQ, D&B, Hoovers, InfoTrac, EBSCOhost, Factiva, ProQuest and do searches by NAICS code. Ideally you ought to do this before launching your venture as part of due diligence on the opportunity. Best way in is through a university library. Ask a friend or shoot a question out to your network to see if you know anyone with access. A single license is prohibitively expensive and you really want an aggregate of databases because they each have their positives and negatives.

I know MBA bashing is en vogue these days, but grad students have access to incredible database resources and rarely take advantage of them. The other day I read a $9,000 research report on a niche medical device industry segment and then pulled 5800 executive leads for my startup's first marketing effort.

happy hunting

</comment><comment><USER4> This is probably the link you were looking for: <http://news.ycombinator.com/item?id=1522327> (great post -- it piqued my interest too, so I'm very interested in hearing more ideas)

<comment><USER5> Yeah this was great, only my library doesn't subscribe to ReferenceUSA. My wife also works at both of the colleges in town and neither of their libraries subscribe either.

Where else could I find access to ReferenceUSA?

</comment></comment><comment><USER6> I assume there are workarounds to get some amount of data for free, but the fact is, if you want high volumes of professionally-gathered data, you pay the people who do that for a living.

Give Dun and Bradstreet a call, or use their web interface (ZapData.com). There are huge amounts of criteria you can search on; industry, employee size, and the like are two of many.

</comment><comment><USER7> You can use some of the crawl packages at 80legs to do this. We regularly do crawls of company directory listings like yellowpage sites and provide an ongoing feed for you to collect. <http://www.80legs.com/use-crawl- package.html></comment>


Terrible password requirement of the day, courtesy of CBP - <AUTHOR> http://imgur.com/a/htCgj <comment><AUTHOR> They have even disabled paste, for good measure.</comment>


Free of One's Melancholy Self: A History of the Quaalude - <AUTHOR> http://www.theparisreview.org/blog/2014/01/28/free-of-ones-melancholy-self/

<comment><USER2> Man, I wish I got the claimed euphoric effects from Ambien, rather than just mild hallucinations, slight confusion, and a bit of amnesia.

<comment><USER3> Those effects exist. Trust me. I've said and done some truly insane things when staying awake on Ambien. Not on purpose either, just didn't fall asleep for whatever reason, and when those euphoric effects kick in you don't have the critical reasoning to stay in bed. I've had to apologize to many people the day after for writing disturbingly surreal emails and facebook posts. Helluva drug. I refuse to take it anymore.

<comment><USER2> That's not what "euphoria" means.

<comment><USER3> What are you talking about? The euphoric feelings (a sense of uncontrollable excitement and happiness) led to me saying and doing strange things.

<comment><USER2> Euphoria and saying and doing strange things are not the same thing, and a drug that is simply euphoric doesn't cause you to act in the confused, manic state that Ambien does. Heroin users are not known for their fugue states.

<comment><USER3> The combination of euphoria with the other side effects of Ambien is what leads to the behavior I described, but I can see this is really about you being right at all costs. Lighten the hell up.

<comment><USER2> This reminds me of:

[http://blog.everydayscientist.com/wp- content/uploads/feynman...](http://blog.everydayscientist.com/wp- content/uploads/feynman-paint.pdf)</comment></comment></comment></comment></comment></comment></comment>


Stunning image technology - SeaDragon and PhotoSynth - <AUTHOR> http://www.clipaday.com/videos/ridiculous-image-technology-coming <comment><USER2> Non clipjacked version here: <http://www.ted.com/index.php/talks/view/id/129> . If you haven't already checked out the other TED videos, there is all kinds of good stuff in there. Its also a good example of how a flash video player _should_ be.</comment>


Ask HN: How do you find cofounders? - <AUTHOR> Hi everyone, I'm currently working on a startup idea I'm personally really excited about and I'm looking for a cofounder but it has been really tough. I've convinced some of my peers of the viability of my idea, and managed to enlist their help intermittently (we are all CS graduates) but I have thus far been unsuccessful in convincing any of them to commit to it full-time unless I can afford to match their current salary as many of them have long-term financial commitments.  As a result, I'm the only full-time person on the project and things are moving along much slower than I'd like. I managed to come up with a working prototype which is live right now, but having another technical cofounder I can work with would multiply my productivity by magnitudes.<p>For teams out there with full-time cofounders, how did you find them or each other? How did you manage to convince them to commit full-time? <comment><USER2> Stop looking. focus on finding someone that will be your first customer they will be way more valuable than any co-founder. if you have to build them a custom solution, do it. if your building some kind of ad based product remember the customer are the advertisers.</comment>


Notice of Privacy Policy Updates (January 2017) - <AUTHOR> https://help.evernote.com/hc/en-us/articles/235660588 <comment><AUTHOR> The interesting point:

> you cannot opt out of employees looking at your content</comment>


Getting Started with Rust: Working with Files and Doing File I/O - <AUTHOR> https://www.linuxjournal.com/content/getting-started-rust-working-files-and-doing-file-io <comment><USER2> Thanks for sharing. This is perfect timing for me as, having written a lot of Node.js CLIs over the years, I've been trying to learn Rust by rewriting one of them. This is helpful to check my progress against and tweak accordingly.

<comment><AUTHOR> I find it helpul too. Basic filesystem I/O is an accessible topic for beginner programmers. It's the first time I've really consumed much Rust-related knowledge at all, and it was easy/palatable.</comment></comment>


Mars Rover Finds Stronger Potential for Life - <AUTHOR> http://www.nytimes.com/2014/12/09/science/-stronger-signs-of-life-on-mars.html

<comment><USER2> Ugh no. "three sets of things must be present.... Five basic elements: carbon, oxygen, hydrogen, phosphorus and nitrogen."

That would be _Earthlife_ , but there's no requirement they be present for life generally.

<comment><USER3> It's not like we have any other models right now, is it?

<comment><USER2> We don't have any current _examples_ , no, but Gerald Feinberg and Robert Shapiro's book _Life Beyond Earth_[1], though published in 1980, gives a variety of provocative suggestions about what life other than earthlife might look like, and how we could detect it.

[1] [https://cmdev.com/isbn/0688036422](https://cmdev.com/isbn/0688036422)</comment></comment></comment>


Good Online Courses for Startups? - <AUTHOR> Any recommendations for ecourses / Udemy / videos that have teachable skills for startups? <comment><USER2> I haven't taken an entire course yet, but there are a LOT of resources for startups.

There are some very interesting ones by Y Combinator partners, for example:

[http://startupclass.samaltman.com/](http://startupclass.samaltman.com/)

There's also Peter Thiel's course on startups, didn't find a link but here's a "spiritual succesor":

[https://www.coursera.org/course/startup](https://www.coursera.org/course/startup)

This one I'll probably take:

[https://www.coursera.org/course/venturefinance](https://www.coursera.org/course/venturefinance)

and Steve Blank's courses, this one is based on his approach:

[https://www.udacity.com/course/how-to-build-a-startup-- ep245](https://www.udacity.com/course/how-to-build-a-startup--ep245)

<comment><USER3> The "spiritual successor" is meant to refer to CS183 which Thiel taught in 2012 at Stanford, not an online course.</comment></comment>


Ask HN: Ads in apps, what can I do better? - <AUTHOR>

I have an iPhone app and have about 3000-6000 users a day. I currently use mobclix and http://i.imgur.com/GzkDf.png is a summary of what returns I'm getting from advertising in my app.<p>Are there any ways to get a better return? Less than a dollar a day seems low to me, but I've never really put ads into anything yet, so maybe that's just normal for that amount of users. <comment><USER2> Try AdMob. Of course our audiences might be different, but for me it's performing 10x compared to your mobclix screenshot.

<comment><AUTHOR> Thanks, I'll give it a try. mobclix does have the admob support but I've never looked into setting it up.

</comment></comment><comment><USER3> If you haven't picked up on it yet the advertisement revenue model is a fail. Charge a price for your app and start making real money.

<comment><AUTHOR> Contractually I'm not allowed to sell my app, that's why I'm using ads. I was thinking of adding an in-app purchase of 'ad removal', that seems to fall our of the 'selling the application' condition.</comment></comment>


Why We Should Build Software Like We Build Houses (2013) - <AUTHOR> http://www.wired.com/2013/01/code-bugs-programming-why-we-need-specs/ <comment><USER2> We don't build houses (he said from San Francisco)</comment>


Megafilter: Nodejs Single user Google reader replacement - <AUTHOR>

I wrote a single-user nodejs based replacement: http://callanbryant.co.uk/megafilter/ which I have open sourced on github. It can understand the exported feeds and starred items from Google Reader, and I use it to (re)publish articles that I find interesting on my website here: http://callanbryant.co.uk/#Recommended<p>You can host it yourself, so no more dependence on 'the cloud'! <comment><USER2> Megafilter does oook nice. However, I have at least two problems with this software:

1) According to the installation instructions root access (sudo) is need because it will be installed in a directory that is writable by root only. If megafilter is truly meant as a single-user app it should let me install it in any directory of my liking.

2) Megafilter listens on 0.0.0.0 instead of localhost, and so is accessible to anyone on the Internet who happens to guess its port (yes, I know I can require a password, but still…).

A settings file would be nice.

If megafilter is interupted by a system reboot or a ^C, does it save a state file from which it can resume? Or does it start from scratch next time I start the app?

Cheers.

PS: Concerns are posted as issues on github.</comment>


Former NSA Chief Trying to Patent New Cybersecurity Technology - <AUTHOR> http://hosted.ap.org/dynamic/stories/U/US_NSA_SURVEILLANCE_ALEXANDER

<comment><USER2> Redirects to [http://hosted.ap.org/specials/bluepage.html](http://hosted.ap.org/specials/bluepage.html)</comment>


Reinventing the Wheel: I worry about the web - <AUTHOR> http://aerotwist.com/blog/reinventing-the-wheel/

<comment><USER2> .</comment>


Concrete Startup Tips from Del.icio.us Founder - <AUTHOR> http://strange.corante.com/archives/2006/02/08/fowa_things_weve_learned_joshua_schachter.php <comment><USER2> I think that the most important thing to learn from del.icio.us is that a web 2.0 service should be useful even if no one else is using it (or perhaps other people are using it but designating all their data as private).

The social aspects can be a bonus later when you have more users. But you should not depend on them to attract users initially.

<comment><USER3> Good call, just make something users want and make sure you have a good ear to hear from them. For me the social networking aspect is a luxury one can afford once the users are in place. But nothing beats good old common sense(which I find is making quite a comeback these days) of making something user's want. Just do that something exceptionally well and your well on your way.

</comment></comment><comment><USER4> Interesting content. Too bad it is one of the most poorly written articles I've seen in some time. It is so bad, in fact, that the meaning of some sentences has be to inferred...

</comment><comment><USER5> he covers a bunch of this in his startup school speech: <http://wiki.ycombinator.com/presentations/apr06/Joshua_Schacter.mp3>

worth a listen.

<comment><AUTHOR> I was there :)

</comment></comment><comment><USER6> I'll second the motion that the article is poorly written, but the content was valuable. Things like logging-in being a barrier for people are truths that one doesn't really think of when designing a web-based system.

</comment><comment><USER7> I am not sure if emails are good or bad though. I personally hate spamming by different websites. But while facebook could send so many emails to you a day (wall posts, photos, etc.) they're incredibly successful.

</comment><comment><USER7> I am not sure if emails are good or bad though. I personally hate spamming by different websites. But while facebook could send so many emails to you a day (wall posts, photos, etc.) they're incredibly successful.</comment>


Ask HN: Unmetered hosting, anyone? - <AUTHOR>

Hello! Anyone tried "unmetered" hosting services, such as nqhost.com? If so, what were your impressions? What are the average download/upload speeds? I can only imagine such a model with a bandwidth limit (explicit or not), after which we are talking at most of kbps, right? But even assuming low speeds, did you find the service to actually be available consistently?<p>Thanks! <comment><USER2> I've used hostmonster and that has been pretty reliable.

It is kinda' like newegg versus CDW.

There are some weird restrictions, you must have a fixed ip to use the maximum execution time for cronjobs, daemons, and things running in ssh.

Cronjobs are limited to 30 minutes. Daemons are unlimited (but you can get in trouble for saturating the CPU/network), web-based PHP/MySQL, FTP, etc is limited to 12 hours.

I have a site that takes a 2GB csv file once every 3 months and imports it into a denormalized MySQL db, and another site that downloads several hundred images daily and resizes them into thumbnails and a second size.

Each of these required creative solutions. That is what you get for ~$100/yr 'unmetered' hosting.

I looked at the hosting provider you mentioned, and it seems the server is located in Germany w/ upto 4GB of RAM and 250GB of storage for ~$75/month. Says 'guaranteed resources', but who knows how quickly you can saturate the CPU?

Rackspace cloud has a calculator to determine costs and you only have so much throughput, so you can calculate worse-case bandwidth scenario, or have another way to mitigate bandwidth "overages".

[http://www.rackspacecloud.com/cloud_hosting_products/servers...](http://www.rackspacecloud.com/cloud_hosting_products/servers/pricing)

<comment><AUTHOR> >> I looked at the hosting provider you mentioned, and it seems the server is located in Germany w/ upto 4GB of RAM and 250GB of storage for ~$75/month.

I would have no problem using a VPS. In that category they even offer a $6.95/month option: <http://nqhost.com/cheap-vps.html>.

</comment></comment><comment><USER3> <http://webhostingtalk.com/> is my go-to place for hosting opinions. More specifically, I recommend iWeb.com - I've had dedicated servers with them for more than five years. They're top quality. I haven't had any unmetered servers with them, though.

</comment><comment><USER4> I've been hosting a server on a Hazenet VPS for $7/mo for the past few months, which is unmetered @ 5 mbits. Seems consistent/reliable so far.. <http://hazenet.co.uk/vps.html>

</comment><comment><USER5> Why exactly are you looking for an unmetered host?

<comment><AUTHOR> Peace of mind. I always preferred flat fees for all services, even if I have to pay a bit more. When it comes to hosting I would of course expect a mechanism that prevents abuse. For example, lowering the traffic speeds considerably after a reasonable cap. Ideally, though, all the figures involved should be spelled out. Moreover, lower speeds would not be acceptable for a professional site (see next).

The funny (or worse) thing is that I don't have any professional sites, and my personal sites are essentially text based. Hence, I never use more than 50MB of Linode's 200GB! But still… I greatly value having _the option_ of agreeing on a final price and absolutely ruling out any surprises at the end of the month.

By the way, I miss the American meaning of "unlimited" or "flat fee"… There it means what it says, but here in Spain the "flat fees" of mobile operators in particular are so ridiculously abusive that you wonder how it's legal to advertise them so prominently with two paragraphs of "fine print" afterwards.</comment></comment>


Finances of a Bare Bones Developer - <AUTHOR> http://gamasutra.com/blogs/KevinMaxon/20140818/223653/Finances_of_a_Bare_Bones_Developer.php <comment><USER2> "This means that it's very possible none of us are making anywhere near minimum wage on this project, but regardless we're all making about the same hourly wage, a wage determined by the relative commercial success of the game."

Game industry, I do not miss you.

<comment><USER3> The saddest thing is that so many are so passionate about it. :(

<comment><USER4> Try to think of being a game developer as similar to being a musician or a painter. You can be plenty passionate about it, but it's a hard business and there are only so many dollars up for grabs. For every musician who is able to make a living off of music, there are probably 10 equally talented and passionate musicians who didn't. I think game development is turning out to be a similar business.

<comment><USER5> I completely agree. For every successful indie game developer there are at least 10 who have either quit part-way or failed to make any money.

</comment></comment></comment></comment><comment><USER6> These guys are making the classic indie game dev mistake- making a funky indie game that doesnt monetize well, has no virality, isn't freemium, etc.

Game developers like these aren't professionals, they're hobbyists. They're making games like its a hobby, not a professional job. They do no market research, experiments, etc. If you run a normal business or a normal startup like that, you will have similarly terrible results.

Be a professional. Look at the market. What monetizes well? What works? Hint: it's not the linked game.

Go look at the top grossing charts in the various app stores for an idea of what type of game you should be making.

I co-founded a small game company 2 years ago. We took 10 months to make our first game and have been releasing updates for it ever since. We're all working remotely. And, we're making enough money to pay ourselves a Bay Area salary.

I love video games. I love the game industry. I started as a QA tester and worked my way up from there. I will never do anything different. You can make money making games, but you can't be an indie game developer / hobbyist. Be a professional.

<comment><USER7> Very capitalist for a socialist_coder.

<comment><USER6> I want to pay taxes and receive good benefits =)

For me, living in Germany instead of the US while founding my startup was a dream come true. I got very affordable health care, health insurance, and child care when we weren't making any money. I never had to stress out about how to pay for those things while we worked for a year without getting paid.

Now that we are making money, I'm happy to pay more for those things.

And, it's nice to know that if we went bankrupt tomorrow, I could continue to get those social services at a price I can always afford.

</comment></comment></comment><comment><USER8> "I estimate that my living expenses over the 20 months of development were around $13k"

$650 a month? My utilities, insurance, and food budget easily exceed that, nevermind rent. My first job paid $35k/year, which was comfortable enough (in San Diego), but I was living paycheck to paycheck.

The problem with budgets like this is that they work for some people, not everybody, and set up artificial expectations (i.e. in terms of crowd funding or other capital). I am definitely an advocate of frugal budgets, but there is a line. I don't see $650 month working when you have a wife, kid(s), dog(s), mortgages, and/or car payments - but then again many independent developers are wise enough to not take on those things. I have all but the mortgage, and I consider my burn rate of $3k/month pretty frugal.

<comment><USER9> Honestly, I don't think I've ever had expenses under 1200$/month (also San Diego) even when I lived with my parents.

Rent here is 400$/month minimum - and that's sharing a room or splitting a house with 4 friends. Not counting utilities.

Food budget alone should be at least 400$/month as well if you're eating a meager 13$ of food a day.

You'd be amazing if you had less than 400$/month of car expenses including payment/repairs.

Then there's everything else. Health bills, insurance, internet, Netflix, etc.

<comment><USER10> You've never been poor.

$2-3 / day for food is doable (Cali groceries are a bit more expensive so maybe $4 here). Cut out all but the cheap meats. bread and veggies are super cheap (corn can be 5/$1 when it is in season)

no insurance. no internet (libraries are great). no car.

I never had expenses above $1000/month (not counting the month I paid $1000 to buy my first car) until I moved to the bay area and started making six figures.

<comment><USER11> Fairly sure we're not talking about the theoretical bottom limit here.

<comment><USER12> But I think the original commenter was commenting on the feasibility of the original article, which goes down to the minimum limit.

</comment></comment></comment></comment></comment><comment><USER9> I don't really understand why programmers go into game development?

Is it predominately the ultra low-end of programmers or something? It seems crazy to me that someone would take something like half the pay and way worse treatment/hours just to be in a specific industry.

<comment><USER13> Having made games for 30 years, I can tell you that a big part of it is a love of making something fun. I get to make something, and then play. Joy comes from playing and I am very joyful.

<comment><USER14> Can't you do the same without programming it though? I don't think I could have fun playing a game I programmed for someone else.

</comment></comment></comment><comment><USER15> Good to have transparency for others interested in doing something similar. It would be interesting to see a total number of hours invested to release v 1.0

And any learnings that might have sped up the process?

<comment><USER16> As nice it is to see some hard figures, the numbers are disheartening. They say it's possible to make some side money during college, but don't even think about trying 10 years later :/

</comment></comment><comment><USER17> Good day everyone,

I am selling US Facebook VOTES and Worldwide Facebook VOTES. All votes come from different account with different IP address.

Also available social media marketing service:- * Facebook page likes * Facebook photo/post likes/votes * Instagram likes/followers * Twitter followers/Retweets/Favorites * YouTube views/likes/ DisLikes * Soundcloud Plays/Followers/Downloads * Pinterest Followers/Likes/Pin/Re-Pin

If you need any service then contact with me. This is a guaranteed service.

[https://www.facebook.com/SellSMMserviceBd](https://www.facebook.com/SellSMMserviceBd)

Skype: rasel.miah55 Email: firstname.lastname@example.com</comment>


What the hell is a meme anyway? - <AUTHOR> http://asserttrue.blogspot.com/2009/04/what-hell-is-meme-anyway.html

<comment><USER2> A meme = Information that gets copied (roughly)

Susan Blackmore talks of memes as bits of information that get copied from person to person similar to how a virus can get spread from person to person.

She has expanded the idea to a "technological meme", a piece of technology that gets copied, mutated, etc. like a virus or a meme. "Teme" is her word for technological meme.

For instance, a mating ritual can be a form of a meme. Language can be seen as being built up of memes.

Basically for Blackmore, there are three selfish replicators.

1) Genes (genes like in viruses get copied around between living organisms) 2) Memes (information getting copied between the brains of living organisms) 3) Temes (technological information that gets copied around, not necessarily needing living organisms, like for example an internet worm can just travel at will throughout the internet, not needing human help to get copied)

They are "selfish" replicators in that, "if they can get copied, they will." I posted a blog article to my blog on this last year -

[http://blogkinnetic.blogspot.com/2008/08/susan-blackmore- tal...](http://blogkinnetic.blogspot.com/2008/08/susan-blackmore-talk-on- memetics.html)</comment>


Latest Mozilla Project: Android Competitor? - <AUTHOR> http://blogs.wsj.com/tech-europe/2011/07/26/mozillas-latest-project-a-competitor-to-android/

<comment><USER2> Does anyone here remember the Mozilla Seabird concept?

If not, here is an overview video: <http://www.youtube.com/watch?v=oG3tLxEQEdg>

Think it could be related to this?</comment>


Free your technical aesthetic from the 2010s - <AUTHOR> http://www.storytotell.org/essays/74-response.html

<comment><USER2> It's true that most natural languages cannot be parsed with a CFG, but he gives the wrong example. In fact, the language of the grammar that he describes can perfectly be generated by a CFG. E.g. for a rule such as:

      sentence --> noun_phrase(Num), verb_phrase(Num).

You could create the CFG equivalent:

      sentence --> noun_phrase_sg, verb_phrase_sg.
      sentence --> noun_phrase_pl, verb_phrase_pl.

It sure is a drag, but this is how many CFG grammars/parsers work. Of course, it's generally agreed upon that DCGs generalize better even when used with grammars that can be described with a CFG.

Most natural languages are not context-free, but he gives the wrong example. To provide a more convincing example - in Dutch you can construct phrases like:

 _dat ik Marie Jan de dozen zie helpen inpakken_ (lit: _that I Marie Jan the boxes see helping packing_ )

The NPs and the verbs correspond in the following manner: ik - zie, Marie - helpen, Jan - Inpakken. Or, more formally, the structure is: np_a np_b np_c np_x v_a v_b v_c. Of course, this highly resembles a COPY language, which cannot be expressed using a CFG, but (obviously!) can be expressed using a DCG:

      s(L) --> w(L), w(L)
      w([a|Rst]) --> [a], w(Rst).
      w([b|Rst]) --> [b], w(Rst).
      w([]) --> []

(This grammar parses/generates a string of zero or more a's and b's, followed by exactly the same string.)

</comment><comment><USER3> "Those who don't understand UNIX are doomed to reinvent it, poorly."

\--Henry Spencer

Which can then be turned into:

"Programmers who do not understand history are doomed to reimplement it - poorly" \- [http://enfranchisedmind.com/blog/posts/what-good-is-a-cs- deg...](http://enfranchisedmind.com/blog/posts/what-good-is-a-cs-degree/)

I thought both of them were good sayings to keep in mind, while reading the above post.

<comment><USER4> On the other hand, those that understand UNIX all too well, are doomed to recreate and use it ad infinitum, in lieu of creating something better.

At least the ACTUAL developers of UNIX created Plan 9, they didn't put their hands up and said "this is how you do things, no improvements can be made".

For example, when I see the lame "it's how it was always done", arguments against a sane FS hierarchy like the one gobolinux attempts at, I want to tear my hair off.

</comment></comment><comment><USER5> _It's strange that we live in such a bifurcated world, that on the one hand we have astronomical demands for a certain class of program, but for the kinds of programs we use day-to-day, they're shockingly procedural._

Programmers, by virtue of being a little bit understanding and forgiving of computers' nature, can enjoy software that frustrates the hell out of normal people.

It gets pounded into us over and over again that normal people are the right standard to build software to, but once in a while we should allow ourselves to enjoy something like the blocks program, even if it would never pass an A/B test against a blank screen.

</comment><comment><USER6> "Cocoa doesn't have this. C# doesn't have this. Nothing else has this."

Lisp has this. It has probably invented this.

<comment><USER7> Sounds like Lisp image files and .Net dump files:

<http://stackoverflow.com/questions/480083/lisp-image>

<http://msdn.microsoft.com/en-us/library/d5zhxt22.aspx>

</comment></comment><comment><USER8> You had me until the NoSQL rant. I see what you're saying, but modern data stores such as Cassandra, Riak, Mongo, Redis etc. are solving different problems and, IMO, it's ignorant to say that they are simply reinventing the wheel. There is life beyond RDBMS and ACID.

<comment><USER9> In graduate school, I was taught RDBMS & ACID by a Math Professor with a Math PhD, who later got a CS PhD, & personally interacted with Date & Codd. My key takeaways from that experience were:

1\. There's a very stringent one-to-one mapping between RDBMS & relational logic. To put it another way, BCNF is not a matter of taste. Its a matter of adhering to the rules. If two dozen data architects are given the same many to many relation, and asked to take it through 1NF to 2NF to 3NF to BCNF and then stop, every single one of them will have the exact same answer. And this is because normalization is an extremely formal process => formal in the mathematical sense of the word. Two sets that have a given many-many relation will decompose to the exact same subsets because the mathematics of BCNF is unambiguous. This is incredibly powerful => Because there's a wrong answer! So if you hire a data architect & the guy gives you a BCNF & you crosscheck that BCNF with a more reliable architect, you are checking if the answers agree objectively. Its just straight math, not a matter of subjective taste as to which should be the primary key & which should be the foreign key & how the transtive dependence works out. 2\. With objects in the mix, the relationship is already on creaky foundation. ORMs have an impedance mismatch because the relationships captured by notions of inheritance, polymorphisms, mixin traits - these don't have an exact mapping onto the set-theoretic notions captured by BCNF. Morover, there is a matter of subjective taste. You might design your UML differently from me & you might have valid reasons to do so. So while your BCNF exactly matches mine , your object model won't. 3\. With kv stores, your relations are even more mathematically fuzzy. You are storing entire multi- valued objects and your rows have variable number of columns & at times you are dealing with completely denormalized structure. The math simply doesn't apply at these levels, and people tasked with populating a NOSQL structure will come up with wildly differing solutions that are completely unsound from a mathematical standpoint, but will nevertheless perform ( upto a certain threshold ) simply because machines have gotten faster & network latency issues aren't holding them back.

I see more & more firms pick #3 because of trends( latest & greatest), lack of expertise to do #1 properly, or because of some false sense that scalability will bite them in the ass if they do #1 instead of #3, but primarily because #3 is EASY and #1 is hard. Its nice to not worry about normal forms & just have a multi-column row which grows & shrinks...but is it sound ? Am not sure.

<comment><USER10> Are you arguing that RDBMS can handle all of the data, performance, and scalability requirements as well as a kv store while also in BCNF?

<comment><USER9> There's no real argument cause these are orthogonal concerns.

In general, you'll have a bunch of concerns. 1\. BCNF 2\. ACID 3\. Performance 4\. Scalability 5\. Ease of implementation

Before noSQL, you'd prioritize in that exact order. Post noSQL, the order has precisely reversed. There used to be pricey Oracle consultants ( and Sybase consultants & DB2 consultants & so on....data architects of all stripes). They'd come in, study your data in some depth & figure out which attributes were single-valued, which ones were multivalued, which bunch went into which tables, who the primary keys & foreign keys were, what the typical views would look like, what joins would that involve & could you do away with some of those joins....hell, even the typical interview questions for a fresh grad having absolutely nothing to do with databases would still involve Outer Join, Inner Join, difference between the two, here take the Employee spreadsheet and the Company spreadsheet and decompose into tables upto 3.5NF, list all the keys & tell me how many joins you'd need for a view that lists all employees in Accounts making over 70k between the age of 35 and 45 in Illinois. All of the above is pure relational logic. Its completely tech-agnostic. You don't even need an actual database to answer any of that. Nowadays, the questions are more along the lines of - How do you deploy MongoDB ? Great, you're hired, cause Mongo will handle the scalability & performance & if it doesn't we'll just add another node....imo, this is a vacuous line of thought.

</comment></comment></comment></comment><comment><USER11> "instead of reading an exception trace, you get to load the actual moment the exception was triggered into your local debugger and pick up from there as if it just happened locally!"

I want this.

<comment><USER12> You already have it!

This is what our good old friend the core dump is for. Load the core dump in GDB and there you are.

I'd argue that on windows it's even easier. You can create a symbol server to store all the debugging info (the PDB files) and the debugger can download the correct symbols for that particular compiled version.

The PDB format supports having an arbitrary commands added to procure each source file. You can connect this up to your version control system so that not only do you have the stack and symbols, you can actually browse around the source code of whatever version of the code actually crashed just as if it had crashed locally.

On linux you have to work out a system for archiving your symbols and getting them for the correct version of your software yourself, but the effort is certainly worth it.

We have a system to generate HTML reports each day by grouping crash dumps by the functions near the top of the stack (if the top 5 functions are the same, it's considered the same crash), so each day we can see what the most important crash is.

<comment><USER13> Yeah, when a native app crashes, it just dies.

Whereas, generally with Common Lisp, I can trap the condition, fix the problem, and keep running.

I know what languages I'd consider starting grounds for 100% uptime systems (not 5 9s), and languages that segfault and die as part of their usual crash hangling are not among them.

(Erlang, Lisp, and Smalltalk would be my shortlist)

<comment><USER14> Picking nits here, but (limited) crashing (by design) is exactly why Erlang's failure handling is solid. It's like an automotive crumple zone for your application.

<comment><USER15> An Erlang crash is of an Erlang process, which is a tiny green-thread with shared-nothing. That's very different from a C program segfaulting.

<comment><USER14> Not if your application is a bunch of small C programs that monitor each other a la DJB.

</comment></comment></comment></comment></comment></comment><comment><USER16> Aaaah, SHRDLU, fond memories. When I was 7 around 1977 I had a wonderful magazine on robots (I still have it somewhere), and it had a long chapter on SHRDLU, and an interview with its programmer Terry Winograd. This was the first time I was captivated by computers, programming and pure unadulterated geekery.

<comment><USER17> After SHRDLU, Winograd denounce AI as hogwash and was instrumental in starting what we now know of as interface design/HCI.

<comment><USER18> And then, 30 years later, came Siri and IBM's Watson...

Winograd talks about three different metaphors for HCI: conversation, manipulation and locomotion. In the 70's he gave up on conversation for manipulation, and was right do to so, but with modern computing power and databases, conversation is coming back as a relevant model.

</comment></comment></comment><comment><USER19> What I like about UNIX: Everything is a file.

Except of processes.

And sockets.

And XWindows.

<comment><USER20> /proc and /dev/tcp

[http://tldp.org/LDP/Linux-Filesystem- Hierarchy/html/proc.htm...](http://tldp.org/LDP/Linux-Filesystem- Hierarchy/html/proc.html)

[http://www.linuxjournal.com/content/more-using-bashs- built-d...](http://www.linuxjournal.com/content/more-using-bashs-built-devtcp- file-tcpip)

X is just a protocol, you can happily think about X apps in terms of processes and sockets.

<comment><USER19> I agree, but this should have been from the start, or at least from UNIX- Internet marriage. My point was little tongue-in-cheek, but I believe that during the years UNIX has got things that are not truly with their initial idea. Or little more interfaces than necessary.

</comment></comment></comment><comment><USER21> relevant talk by Alan Kay:

<http://tele-task.de/archive/video/flash/14029/>

<comment><USER22> I love the content of that presentation as well as the fact that the presenter was clearly as high as a kite.

<comment><USER23> Why do you say that? The content or the style?

</comment></comment></comment><comment><USER24> One reinvention of remote debugging at the source of an exception is this, in Ruby:

<https://github.com/Mon-Ouie/pry-remote>

Now, if I only had the same thing for Cocoa Touch - after all, both languages are supposed to inherit from Smalltalk.

</comment><comment><USER25> speaking of aesthetic, this post has huge fonts, and a horizontal scroll. luckily there's readibility: <http://rdd.me/ycoese07>

<comment><USER26> I'm not sure if you noticed, but readability here seemed to drop some headers and also render the special font sections (code snippets, etc.) in skinnier and less legible text.

The scrollbar seems due to the conversation with the computer about the blocks --barring that, nothing else is offpage.

Really?</comment></comment>


Are Wireless Carriers Responsible For Fragmentation? - <AUTHOR> http://www.techiediy.com/are-wireless-carriers-responsible-for-fragmentation

<comment><USER2> The article is correct in honing in on the carrier and 3rd party firmware add- ons tacked onto vanilla Android releases (e.g. ICS).

Carriers rarely develop their own firmware extensions/skinning. They manage the process through specifications, where marketing will provide skinning assets and custom specs. In-house carrier developers rarely/never get to touch the device.

RIM was a notable exception to the rule where carriers gave them the flexibility to download firmware updates directly to the device, provided they didn't interfere with the minimal branding and custom apps.

Apple came along and forged a deal that all carriers hate. Although carriers may enjoy the increase in ARPU, carriers in general hate dealing with Apple; whether it's the T&Cs, scrambling to get device shipments in on time, or general Job-sian brashness.

This is all known history. What people forget is that carriers are typically large enterprises that are very slow to change. Most are probably still using old (i.e. existing!) binary terminal release processes. I call it 'binary' because they are either in complete control ("code to my spec you powerless device OEMS!") or at the mercy of Apple ("hey XYZ carrier -- my way or the highway"). Notice that in both of these situations, there's very little leeway for maneuvering.

Android comes along. Carriers hate Apple's way of doing business. Brain-dead analysis shows that Android didn't have the brand cachet that iPhones had. So naturally they wanted to re-exert their control back into the process. Unfortunately, the only way they knew how was by (probably literally) throwing the book (read: terminal specs) back to Android OEMs.

And so, you now have the current situation of:

1) Fragmentation; and 2) Slow firmware updates.

Carriers don't have the funding, organization and/or willpower to subsidize firmware updates.

 _The upgrade process for the OS on a smart phone should be multiple times over the course of a year and yet it seems that there is often only a single update._

This sentiment echos a portion of Android consumers. Yes, it's a big problem. But the rapid plethora of devices released by Android device manufacturers demonstrate that they are _also_ operating using old processes and risk- benefit models because they simply want to sell as many devices as they can to carriers.

In short, the article title is misleading: _everybody_ in the mobile ecosystem is responsible for the fragmentation, mainly for what I see as large organizations unable to change their terminal approval and release cycles enough to cope.</comment>


Show HN: Wordpress Multivariate Testing with bayesian experimental design - <AUTHOR> http:///wpexperiments.com

<comment><AUTHOR> I wanted to show HN about a new Wordpress plugin (my first software release) that I developed. It's an integrated multivariate testing system that is built directly into Wordpress (compare to Optimizely or Convert). It uses bayesian experiment design to maximize conversions during the experiments. I'd love any feedback.</comment>


Open Location Code - <AUTHOR> http://openlocationcode.com/ <comment><USER2> Another option is EZCOD: all the features of Open Location Codes, plus error detection and correction using Reed-Solomon FEC (forward error correction), in C++, Javascript or Python:

[https://github.com/pjkundert/ezpwd-reed- solomon](https://github.com/pjkundert/ezpwd-reed-solomon)

A reference implementation is online at [http://ezcod.com](http://ezcod.com)

More details at [http://hardconsulting.com/products/13-reed- solomon](http://hardconsulting.com/products/13-reed-solomon)

TL;DR

Friends don't let friends use geolocation codes without error detection! You'll end up in the wrong hemisphere...

A code like "R3U 1JU QUY.0" gets you within +/\- 3 meters of the coordinates 53.655832,-113.625433 -- with the ability to recover from 1 lost symbol, or a certainty of P(.969) that the presented code is correct.

Optionally, 15 symbols gets you within +/\- 20 millimeters of any location on the planet with P(.99997) certainty of correctness, or recovery from up to 3 missing symbols, or 1 erroneous symbol while retaining P(.969) certainty of correctness!

<comment><USER3> Yeah they list a lot of requirements on this page: [https://github.com/google/open-location- code/blob/master/doc...](https://github.com/google/open-location- code/blob/master/docs/comparison.adoc)

Oddly I don't see redundancy (error detection or better yet, error correction) in there but it seems to be an important part of human language. They do make an effort to reduce symbols that could easily be confused at least.

</comment></comment><comment> nevi-me There's also what3words [0], which uses 3 English words. They support a few other locales/languages I believe.

Their idea seems better from a human-readable perspective, and I prefer the solution to other concoctions like what Waytag [1] once did. Although Waytag founders focused on 'our technology is patented, soon Google and all the other giants will be licensing from us' part [2] instead of improving their user experience and creating a decent API. Their patent later got invalidated with GeoCities as prior art. I tried to find the detail on Stack Exchange, I'll add reference when I find it.

[0] [http://what3words.com](http://what3words.com) [1] [http://waytag.com](http://waytag.com) [2] [http://support.waytag.com/our- vision/](http://support.waytag.com/our-vision/)

<comment><USER3> Having the city on there is maybe more readable in many ways. The other thing that sets this apart from what3words is that what3words won't give out their word list as far as I can tell. This could be because they have taken $5 million in funding.</comment></comment>


Open Source at Google: Introducing CityHash - <AUTHOR> http://google-opensource.blogspot.com/2011/04/introducing-cityhash.html

<comment><USER2> I'm not seeing any benchmarks: since they tout speed as a major selling point, that surprises me.

Edit: For instance, the blog post mentions being inspirsed by MurmurHash, which touts its performance on its site along with benchmarks (<http://sites.google.com/site/murmurhash/>):

        OneAtATime - 354.163715 mb/sec
        FNV - 443.668038 mb/sec
        SuperFastHash - 985.335173 mb/sec
        lookup3 - 988.080652 mb/sec
        MurmurHash 1.0 - 1363.293480 mb/sec
        MurmurHash 2.0 - 2056.885653 mb/sec

In fact, it looks like the author of MurmurHash also developed a test suite for hash functions which includes performance testing: <http://code.google.com/p/smhasher/wiki/SMHasher>

<comment><USER3> looking at the code, they've optimized for speed. And they also said -

> We decided to optimize for speed rather than simplicity and even included > special cases for short inputs.

<comment><USER2> Right, I understand that. I'm just surprised that they aren't showing off benchmarks or statistics to quantify the performance gains they're seeing.

</comment></comment></comment><comment><AUTHOR> From [http://code.google.com/p/cityhash/source/browse/trunk/src/ci...](http://code.google.com/p/cityhash/source/browse/trunk/src/city.h)

// WARNING: This code has not been tested on big-endian platforms!

// It is known to work well on little-endian platforms that have a small penalty

// for unaligned reads, such as current Intel and AMD moderate-to-high-end CPUs.

//

// By the way, for some hash functions, given strings a and b, the hash

// of a+b is easily derived from the hashes of a and b. This property

// doesn't hold for any hash functions in this file.

<comment><USER4>
        #define UNALIGNED_LOAD64(p) (*(const uint64*)(p))

        #define UNALIGNED_LOAD32(p) (*(const uint32*)(p))

Any function that uses both of these violates strict aliasing rules and might miscompile on recent gcc versions. Only one of them isn't enough, because char* is allowed to alias anything in C/C++. But if you use both, then you have a uint32_t* and a uint64_t* pointing to the same memory, violating the language spec.

ffmpeg has a header of macros to avoid this problem. They have names like AV_RN32A (aligned, native-endian 32-bit read), AV_RL32 (unaligned, little- endian 32-bit read) and so forth.

<comment><USER5> > Any function that uses both of these violates strict aliasing rules

More specifically, any function that uses both of these _to access the same data_ violates strict aliasing rules. But this would imply that the data is being loaded redundantly, which seems unlikely in an implementation where speed is a top priority.

For example, I do not believe the following function violates strict aliasing rules:

        void foo(char *p) {
          bar(UNALIAGNED_LOAD64(p), UNALIGNED_LOAD32(p+8));
        }

</comment></comment></comment><comment><USER6> what does this do: #define LIKELY(x) (__builtin_expect(!!(x), 1))

oh, to answer myself, is to help predict the branch direction - it indicates which is likely the common case in the test. <http://kerneltrap.org/node/4705>

<comment><USER7> haven't seen this stuff in a while... given the complexity and large history- tracking tables of modern branch predictors, is this stuff still useful?

or is the code written in this manner just to make it more platform independent (i.e. cycles still matter for embedded applications, etc)?

<comment><USER8> There is really no connection between the likely macro and branch prediction here.

The gcc built-in simply will organize the code in a manner that makes the likely statement faster to execute (e.g. branching the unlikely block).

Branch predictors are a runtime mechanism so the processor guesses which outcome of the "if" is more likely.

One is a static optimization, the other is dynamic; if you like to think about it that way.

<comment><USER5> A lot of instruction sets (including x86) let you encode branch prediction hints into the actual instructions to help out the branch predictors. But for x86 at least these hints didn't turn out to be too useful, so they're ignored (except on P4, I believe).

</comment></comment></comment></comment><comment><USER9> I just finished created a PHP PECL extension for CityHash. Email me if you'd like to beta-test it before I submit it to the PECL dev list.

</comment><comment><USER10> Middle click not working as expected? <http://code.google.com/p/chromium/issues/detail?id=67844></comment>


Windows Live Messenger Will Be "Upgraded" To Skype Starting On April 8 - <AUTHOR> http://techcrunch.com/2013/02/15/windows-live-messenger-will-be-upgraded-to-skype-starting-on-april-8/

<comment><USER2> Skype doesn't even integrate well with WLM, it has better support for Facebook Chat!</comment>


Robust Client-Side JavaScript (2017) - <AUTHOR> https://molily.de/robust-javascript/ <comment><USER2> This is a great reminder of a lot of tools, and the closing thoughts are excellent:

"Still, JavaScript is the most brittle of all front-end web technologies. An important skill of a front-end developer is to know when _not_ to solve a problem with client-side JavaScript. It is always more robust to solve a problem further down in the stack."

Also, maybe the title here should include (2017)?

> Published on December 21, 2017.

<comment><USER3> I think the fundamental problem I find when architecting a new website is that not enough thought has been put into making HTML and CSS sites scale with complexity.

It feels like we put all of our eggs in the JS basket - we know how to factor out well-scoped components, encapsulate styles at the component level, and build reactive, state-driven interfaces, all from JS.

There are certainly patterns that allow for componentization, encapsulation, and state management in pure HTML and CSS. None of them that I have used (pure WebComponents, SSR templating a la Pug or Rails/Laravel/etc, the "good ol' days" of "simple" single-file HTML/CSS) have felt like they scale beyond a basic document with link-based navigation.

As soon as you introduce forms, real-time updating, or layered interface state (modals, drop-downs, etc) you start spiraling into progressively more and more kludgy orchestration scripts until you end up wishing you'd just built the damn thing in React to start with.

If there was a well-defined set of HTML and CSS patterns that you could start your website with and _always_ feel like you could add additional functionality without compromising the existing structure, I'd migrate to that in a second.

As it is, the best way I can see for accomplishing a web project where I don't feel boxed in as soon as the requirements change is to just eat the few days of setup complexity up front and use a well-supported JS-based component framework.

There are all sorts of terrible downsides to that approach, as have been extolled ad nauseum here and elsewhere, but I legitimately don't see another way to do it. It's easy to say "for a simple static site, just use plain HTML/CSS!", which is fine if there's a clear scope that won't expand.

The second you introduce uncertainty and possible future complexity, I don't see a better alternative to a current JS-favored stack.

That's hugely compounded by all of the zillion QOL things that you need to worry about as you account for complexity - time to first paint, responsiveness across screen sizes, proper eventing, cross browser support, memory leaks, jank-free animation, page weight, internationalization, etc etc etc. One layer of the stack has an answer to most of these concerns, but it's very difficult to orchestrate all of them without ending up with a lot of JS that needs to be managed.

<comment><USER4> How do forms require Javascript in your view?

My experience is that most of the Javascript used for forms is for fancy custom controls (where a standard one would be fine), weird editing flows (like click to edit), or other functionality which isn't actually needed.

That's not to say that JS with forms is evil. HTML validation is better than nothing, but complex data requirements may require custom validation logic in JS as a convenience to the user.

<comment><USER5> JavaScript is a requirement on most forms due to either designer or client expectation. They want styled, custom client side validation. They want a visual loading state while the form is being fetch'd to the server/service. They want a nice success message to display inline once the submission is complete. Rarely is it custom controls or weird editing flows in my experience - it's much simpler than that.

And we do it because they're paying the bills - there are more important hills to die on.

</comment></comment></comment></comment><comment><USER6> For error logging ([https://molily.de/robust-javascript/#error- logging](https://molily.de/robust-javascript/#error-logging) in the article), can anyone recommend a logging service that has a small JavaScript footprint?

I use Sentry on one site but it has a 56K library you have to load before any of your JavaScript loads, so bad for page size + bad for page blocking. I would have thought they'd at least let you use a shim to capture errors quickly while you defer loading the full library (like how Google Analytics does it) but I can't see an obvious way to do that.

Sentry has really nice features but 56K (17K compressed) is a big chunk when I'm trying to keep a page to about 100K transferred.

<comment><USER7> There are many ways the browser can fail. I'm sure their SDK is large because of all the random hacks they need to use to capture everything from every browser. Couple this with the need to create first-class API, which adds some code bloat, and I can see how this ends up at 17K compressed.

<comment><USER6> Why can't they do the shim approach while the library loads though?

Google Analytics for example lets you push everything you want to record into a plain global array called "ga", and when the library loads, everything in the array in processed by the library. This lets you start capturing events without waiting for the library to load.

<comment><USER8> it's a bit different though, you can't "push" errors somewhere, I guess so many error handlers and interceptors are set that it's not worth to split.

<comment><USER6> > you can't "push" errors somewhere

Why? Can't you push the Error object or stack trace into an array to await processing?

<comment><USER7> What if the thing that is pushing the error object has an error?

</comment></comment></comment></comment></comment></comment><comment><USER9> > Do not take anything for granted. Do not count on anything. Question your > beliefs.

One thing that makes it much harder to question your mental model: Not having one.

Confusion is bad.

I think some developers shy away from learning to build robust or accessible sites because getting something to work at all makes them feel like they are fighting against Venetian blinds[1]. By "some developers", I mean me. One key to overcoming this is the self-confidence that when someone says you are "overthinking things", "trying to understand the universe", or "just experiencing impostor syndrome" you can (silently, in a message you never send) tell them to pound sand.

If sitting down with a book[2] or other guide to frontend development helps you see a picture of how things work, be willing to give yourself that.

If writing automated tests helps you to see how things work, be willing to give yourself that.

[1] There are people who interpret it as an insult when frontend devs post [https://www.youtube.com/watch?v=-pzckbNyqfc](https://www.youtube.com/watch?v=-pzckbNyqfc), but it is a real expression of individual experience.

[2] [http://book.mixu.net/css/](http://book.mixu.net/css/)

</comment><comment><USER10> Too bad, I was hoping for a discussion of state reconciliation strategies between front and back end. Anyone know where to find the conversation on the state of the art?

<comment><USER11> I think the best we have is still using GraphQL on the Server, with a client side library like Apollo or Artemis (Clojurescript)

<comment><USER12> React + Apollo + TypeScript syntax took me a bit of time to get accustomed to after primarily working with JavaScript and REST APIs, but once I fully grokked it I decided I will never go back.

</comment></comment></comment><comment><USER13> An excellent book that will be understood by beginners and teaches all the important things, written in a clear and simple language without any shenanigans. Great work!</comment>


Write a code that endures endless business requirements:Designing Software - <AUTHOR> <comment><USER2> Was there supposed to be an URL?</comment>


DangerJS: The open source maintainers best friend - <AUTHOR> https://mxstbr.blog/2017/01/the-open-source-maintainers-best-friend/ <comment><USER2> As an open source maintainer I used to have the impulse of asking for tiny changes before merging such as what this post is suggesting. The alternative is just accepting the change and immediately "fixing" it for you.

The main reason I did this was to give contributors "credit" for their work. I wanted brilliant the lines of code you be attributed to you, not to me who accepted your PR but added a semicolon to the end to make it consistent with the coding style. But it seems people don't mind the core maintainers being janitors for them, and if they continue to contribute, following by example seems to work be better than being asked to on their first PR.

The "cost" of this is delay, but more importantly I believe it dampens the intrinsic rewards that go with contributing to open source through Pull Requests. Specifically a chore component is introduced and depending on communications you may also feel reprimanded for opening an unpolished PR in the first place.

What Danger does seem to do well is softening this communication portion _for required steps_. I believe the list is short (sign CLA, pass CI comes to mind) but I would caution and discourage other maintainers from using Danger to enforce an arbitrary rite of passage.

<comment><USER3> Writing code that meets code-style expectations isn't just arbitrary, though - it's exactly what your brilliant contributor will need to get in the habit of, if he/she wants to become a brilliant maintainer in the future. As you mentioned, the form of communications matters here: A friendly bot that describes where linting failed and what needs to be done to pass CI, plus a brief "Thanks, this feature looks really interesting! Once it passes Danger I'm happy to merge!" from the maintainer will do the trick. There's no need for the core maintainer to be a janitor at all, just an encouraging voice. And that's what we love about open source in the first place, right?

</comment></comment><comment><AUTHOR> I've been really happy with the community work that's gone into the JS version of Danger.

The JS community jumps on new tools so quickly, and is really active in adapting and forming the shape of a project. I think this is one of my favorite parts of the JS community.

</comment><comment><USER4> In case you'd like a service that provides similar functionality via a yaml file, I highly recommend var.ci: [https://var.ci/](https://var.ci/)

I've used it on a few OSS projects - the CakePHP/CakePHP project being the big one - as well as some private repos. Pretty powerful, and you can use it to automate away quite a few maintenance tasks on larger projects.

</comment><comment><USER5> I've been keeping an eye this project ever since I saw development begin for the JavaScript version.

It looks great!</comment>


The Future of Enterprise App Development Is Swift - <AUTHOR> http://techcrunch.com/2015/06/10/the-future-of-enterprise-app-development-is-swift/

<comment><AUTHOR> I posted a link to this after reading it because I'm trying to see where do people think Swift is/can actually go.

Beyond Apple's walled garden to make systems level applications? Are they putting this up as a C/C++/Go/Java replacement, or just "we're awesome" hyperbole?

It's confusing because I am both intrigued by and super wary of diving into Swift personally.

</comment><comment><USER2> Titles like these make me stick closer to Golang.</comment>


The Five Distros That Changed Linux - <AUTHOR> http://www.linux-mag.com/id/7651 <comment><USER2> Caldera isn't really that large of a milestone. And this article is definitely missing Gentoo. In today's world, the power users swing towards Gentoo and the rest towards Ubuntu (or fedora). Everyone else just falls somewhere in the other distros.</comment>


Friended is a new social network that wants to get real - <AUTHOR> https://techcrunch.com/2019/11/05/friended-is-a-new-social-network-that-wants-to-get-real/ <comment><USER2> I like the idea, but 2 things.

1) where did they get the prices of $4.99 a week? Facebook's average revenue per user per quarter is ~$25. That's approximately $1.50 a week, for their most profitable section. Elsewhere, FB makes $6 ARPU per quarter, or around 37¢ a week. I'd be willing to pay $1 a month for a social network if it manages to get around the network effects etc. but ~$20(!) for something Facebook enables at no monetary cost? Yikes. But, I suppose that may just be the patreon effect.

2\. Why is this iOS only? Limited resources excuses can be answered with 'do a mobile web so all mobiles can'. Is it the 'sometimes iPhone users tend to pay more for the same things Android users are too cheap to'?

I know the above can come off as somewhat harsh, but I do really like the business idea overall, I just want to discuss the implementation challenges.

<comment><USER3> $4.99 a week has to be a joke, right? $20 a month is about double what I pay for Netflix and half of my phone bill. Just to send messages to people? I'm sure the article is leaving things out but as of right now I don't get this at all.

<comment><USER4> I'm actually not sure its enough. It looks like the only play this service has is the "country club" model. You're not paying $5/week to get in, you're paying it to keep the people who can't/won't pay that much _out_.

The question I'd really like to find out the answer to is will average net trolls pay real money to troll?

<comment><USER5> I bet this turns into a casual sex hookup app. Put out there you're interested and see what you get back.

</comment></comment></comment></comment><comment><USER6> > No pressure, no public commenting and no rejection

Adults need to learn how to handle rejection. It's so essential to learning how to be happy in the real world.

People who are lonely because they fear rejection need to fix the fear of rejection part before they will actually experience a real friendship. Being open with each other is essential to friendship, and being open risks rejection.

Friendship isn't a individualistic pursuit, it involves multiple personalities and is full of risk and rejection. No reward without risk, contrary to what you might be sold on to mask your social anxiety.

<comment><USER7> > _Adults need to learn how to handle rejection. It 's so essential to > learning how to be happy in the real world._

There's a difference between someone rejecting you, and a bunch of anon/pseudonymous trolls piling on.

<comment><USER8> Fine, then adults need to learn how to handle a bunch of anon/pseudo-anonymous trolls piling on.

Myself probably included.

<comment><USER9> It's contrary to human nature to shrug off bullying. Even if you are strong, it changes and traumatizes you. Society should not rely on people growing unhealthy thick skin.

<comment><USER8> A lot of "ought" in what you're saying, but there's a stark reality that clashes with that ideology, and it's how little you can control others.

You shouldn't have to deal with people being assholes, so when they are you should let yourself get hurt? You shouldn't have to deal with drunk drivers, so you shouldn't wear your seatbelt?

<comment><USER7> > _You shouldn 't have to deal with drunk drivers, so you shouldn't wear your > seatbelt?_

No, but you're suggesting that we should all armor our cars. I'm suggesting that we should work to change the system so that instances drunk driving are dramatically decreased.

<comment><USER8> I would suggest armoring our cars if it were anything but absurdly impractical.

Getting to know yourself better, and understanding how bullying is a projection of others, and not related to who you are as a person is immensely practical.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> The Greater Internet Fuckwad Theory is nearly old enough to vote. (source for the uninitiated: [https://knowyourmeme.com/memes/greater-internet-fuckwad- theo...](https://knowyourmeme.com/memes/greater-internet-fuckwad-theory))

I don't understand why the founders think "this time will be different". The disconnection of digital communication makes it easier to be abrasive, even if real names are used and the comments are private. We have ample evidence of this from other platforms with direct messaging and identifiable individuals.

The majority of the messages will still be "kill yourself, you [expletive, slur]". The rest will be spam.

<comment><USER9> It's more "impunity" than "anonymity" (compare Facebook) but implementing moderation well (1) is the biggest cost in the whole system, you need literally hundreds of full time humans, (2) is somewhat of an unsolved problem, your moderators are also liable to become fuckwads, and (3) this is because your moderators are drinking from the firehose of the internet's dark side constantly and losing SAN points like they were buddying up with Cthulhu. This has commonly been regarded as inhumane.

</comment></comment><comment><USER11> Why not just make it so that people that you don't interact with get auto- unfriended over time. If you just post, post, post and have no meaningful relationship beyond parasocial bullshit, then in no time, you'd be removed from the networking system. With something like this, the network would no longer be a personal marketing system, but would actually only keep you with people that you actually interact with in meaningful ways over time, perhaps through event scheduling, and perhaps through conversation.

If you left for a long time, you'd come back to a friendless universe, sure, but only on the network. I guess that the ultimate goal of a network like this would be to get people off of it, which would be healthy for the individual, and bad for the company.

Oh well, there goes that idea.

<comment><USER12> I really like this idea. Not sure how it would play out or what the long term consequences would be on people's psyche but it's really interesting and certainly worth thinking about further. Kudos.

</comment></comment><comment><USER7> > _Friended wants to give users a deeper and more meaningful connection to one > another, which the company believes they crave._

> _The idea is to give people a chance to share how they really feel in a > vulnerable, one-to-one setting. In playing around with the app, I had > conversations with people about how to make friends in NYC and why it > sometimes feel like others don't care about us as much as we care about > them._

I'm a moderator for a city-specific subreddit, and we get _a lot_ of posts by people bemoaning the lack of personal connections, and seeking _deep friendships_. And I always tell them the same thing: _It. Takes. Time._

That's it. There's no shortcut. There is no short conversation you can have that'll turn a stranger into the kind of friend they're seeking. You can pay your five dollars a week to bare your soul to anonymous or pseudonymous users, but you need repeated human contact to form the basis for a friendship.

I'm glad they're trying to solve a real problem, but I don't think that "penpals - but with money" is it.

<comment><USER13> > There is no short conversation you can have that'll turn a stranger into the > kind of friend they're seeking.

I'm actually not sure this is true. And I say that because I'm actually not sure this is true:

> It. Takes. Time.

And I say _that_ because of things like [0], which seems to say that connection is more about vulnerability and depth of understanding than anything else, and achieving that depth can be accelerated.

[0] [https://journals.sagepub.com/doi/abs/10.1177/014616729723400...](https://journals.sagepub.com/doi/abs/10.1177/0146167297234003)

<comment><USER6> Real world relationships, those that are truly meaningful, take a lot of investment from both sides.

Outside of the lab being vulnerable carries significant risk. For one, you risk being taken advantage of. This happens all the time, people are manipulated for sex, financial gain, and sometimes just for social status gains (clique shunning etc.).

It's pretty common for vulnerable bonding to be misused by one or both parties. This can be in the form of using inside knowledge for blackmail or negative gossip/social shaming of some form.

People can be horrible. Finding good friends takes time because you have to learn to trust each other. Fast friends in my experience do not last.

<comment><USER14> I am not sure where you can draw a clear line on what is a meaningful relationship.

Some people decide to get married after knowing each other for a few weeks. Some of those marriages even end up healthy and lasting long term. If anything I think it's maintaining a real relationship that takes time not forming it.

<comment><USER6> > Some people decide to get married after knowing each other for a few weeks.

This is a high risk scenario. Being vulnerable early demonstrably can accelerate a relationship, but as I mentioned this is a high risk approach that most people would not recommend as the norm.

</comment></comment></comment></comment></comment><comment><USER15> Perhaps I may be very wrong, but the name of this network, "Friended", comes from a term that Facebook turned into common vernacular. "Friend me on Facebook" or "I friended you on Facebook". If you're starting point is a term coined by your goliath competitor, I'd be concerned.

<comment><USER16> Not only that but "I'm on Friended" sounds like I'm unfriended. That's a terrible name in my book of aesthetics.

</comment></comment><comment><USER17> > Right now, users can only post a conversation starter every eight hours. The > premium tier, which costs $4.99/week, allows users to post as frequently as > they want, and also includes a few other premium features, like the ability > to talk to people in your location.

Woah.. That's really expensive...

<comment><USER18> It might be a useful method of pre-selecting only people who care at least a little bit. And rich people.

</comment></comment><comment><USER19> Installed.

uploaded a picture.

made a mistake of putting email instead of name.

Tried to change it - can't

contacted support

got a notification: "people think you might be bot"

uninstalled.

</comment><comment><USER20> Ages ago I ran a phpbb site that initially followed this concept, but being community driven (I may have been a bit too friction-less), it quickly evolved into a community driven fetish/porn site. Every time I am tempted to create such a thing, I reflect back on how much work it was and lessons learned (about moderation requirements).

Hats off / kudos to anyone that can run something like this successfully at scale, as it is a lot of work and you can't make everyone happy. I hope it turns into something great.

<comment><USER21> This may seem like an unusual question, but why does it matter what the subject matter became if the community was accepting and safe?

<comment><USER20> Your question is quite valid and I agree. That said, at the time the subject matter; while safe and legal, was still a bit taboo. Not so much these days, but I may have been a bit ahead of the times.

</comment></comment></comment><comment><USER22> If you take "the idea is to give people a chance to share how they really feel in a vulnerable, one-to-one setting" and replace "one-to-one" with "small group" then this feels very close to the way many people used LiveJournal at its peak. Maybe slightly different in that the one-to-one stuff wasn't automated: people would have public posts in which they'd share more generic stuff, then curate private friend groups from people who responded in ways that suggested they would have empathy. These private networks would be where the more vulnerable things got shared and discussed.

Of course as a community it was much derided - teens and young adults finding their way in the world looked naive and emotionally immature from the outside - but it's interesting seeing someone trying to bring that pre-Facebook sense of sharing with a small and sympathetic group back.

</comment><comment><USER23> About time. I have been working on a similar problem ever since I found out about the Saudi agent that was uncovering twitter user identities to the royals ([https://www.nbcnews.com/tech/security/saudis-recruited- twitt...](https://www.nbcnews.com/tech/security/saudis-recruited-twitter- workers-spy-critics-saudi-regime-u-s-n1077881)). The main idea is to have zero knowledge for social graphs (both the connectivity and communication). The product behaves like a newsgroup clone with subscriptions and threads featuring zero knowledge (for host i.e. me and any other parties not subscribed/authorized to the topic).

</comment><comment><USER24> I wonder how much it costs to get a PR piece like this on TechCrunch. Does anyone know?

<comment><USER25> I wonder how much it cost to get this many upvotes on HN as well?

</comment></comment><comment><USER26> I like the enthusiasm. It's always a good idea to try and help solve the ever- present problem of "I don't have enough friends, I need more inter-personal connection."

Fundamentally, I believe we _can't_ solve this problem through technology. I think it can be used to initiate the friendship, but never sustain it. I feel the problem is you can't be vulnerable on a screen, it just never replicates the face-to-face interaction with someone else.

I've been there for many years looking for that online substitute, it just doesn't ever fully work. However - I wish you luck on your network.

</comment><comment><USER27> The first-listed option in the account creation flow is to log in with Facebook. Since I'm trying this to get away from FB, I'm not going to do that. But then once I've created an account with email, there's no way to put in any information that would help me connect with my existing friends. Why is there no way to indicate your university, employers, or location?

</comment><comment><USER28> Just what the world needs, another social network....

<comment><USER29> But the ones we have are so horrible. It's worth pursuing if there's a chance we can get one that's not horrible.

Of course, the corollary is the suggestion that any social medium starts out good, but inevitably becomes corrupted.

</comment></comment><comment><USER30> I feel like all the social network problem stems from posting only positive if we shared about overall we and everyone on the network will be much happier.

I thought about various mechanism to implements but nothing comes to mind that is good enough.

Example: Force user to maintain happy sharing vs sad sharing to at max 2:1 but now how do you figure out which ones are happy post and sad post.

</comment><comment><USER31> From the TOS: "2\. MEMBERSHIP. To become a Member, you must log-in through Facebook which provides your "Account Credentials", which you may not transfer to or share with any third parties."

Did anyone else see this? They can't promise to not hand over info about you to interested 3rd parties if your account validation and login is based in Facebook. Right?

</comment><comment><USER32> This is a pretty good idea but, it's monetization strategy probably isn't inclusive enough. I find that a lot people on social media aren't trying to make friends. They're mainly just there for themselves or content. But, putting the focus on developing proper kinship seems like a step in the right direction.

</comment><comment><USER33> I just want to be reminded in a year if this still exists or has any real traction.

</comment><comment><USER34> What's the X of Y here? Facebook of the church confessional booth :D

<comment><USER9> It's like Tinder, but you get bullied instead of ignored.

</comment></comment><comment><USER35> I wonder if regardless of the design of the platform, if simply having this be the idea behind the network will attract the right people, and build the right community to make it work.

</comment><comment><USER36> Can you search local and are these conversations encrypted? If so this is great for grey/black market sellers.

In addition to the inevitable harassment, this could be it's big money maker.

</comment><comment><USER21> My one gripe here is that it's only available as an iOS program. I think it would be much more accessible if it had a web interface, or if it also had an Android program.

</comment><comment><USER37> I like the identification of a problem, the remaining problem is that its another social network

Would probably be better off Re-using Blind's pitch

</comment><comment><USER38> It's unfortunate they couldn't get the name/domain/trademark for Friendster

</comment><comment><USER39> How do brand new social media platforms like this gather so many users so quickly?

</comment><comment><USER40> The world needs less digital "social networking", not more of it.

</comment><comment><USER41> I am your friend

 _slaps face_ for real?

yes

 _slaps face again_ really for real?

yes

Ok then</comment>


So Now Everything Is Google's Fault - <AUTHOR> http://www.techcrunch.com/2009/04/05/so-now-everything-is-googles-fault/

<comment><USER2> I usually disagree with Arrington but found myself nodding my head while reading this. Traditional media's sense of entitlement with regard to the internet is truly astounding.

<comment><USER3> Of course... how dare they demand control over their content?

<comment><USER2> That's not what it's about. In the case of Billy Bragg, it is he who's trying to control Google's content. In the case of that Guardian piece, there's a fundamental lack of understanding about Google's role. Google is the lifeblood of content providers. If you write an article and nobody can find it, does it really exist?

<comment><USER3> > In the case of Billy Bragg, it is he who's trying to control Google's > content

Except that it's not google's content, is it? It's content that's owned by the songwriters, as google themselves acknowledge. Why is this so difficult to understand?

</comment></comment></comment></comment><comment><USER4> This is really weird - how can anyone actually force a company to continue a service ? That's as good as saying that Sony should start making old school Walkmans again.

If a product or service is not profitable for a company, it is correct for the company to discontinue that product/service. All other parties should just live with it and work around it.

</comment><comment><USER5> Royalty paychecks are required to "keep" the "vibrant" music industry alive? No wonder everyone wants to be a musician

<comment><USER3> Why was this voted up five times? This comment is breathtakingly idiotic.

I mean, what exactly are you saying here? That royalty paychecks are wrong or immoral? If so, then, in your considered opinion, how exactly should musicians be remunerated?

> No wonder everyone wants to be a musician

No, in fact, people want to be musicians because music is beautiful and people like doing beautiful things. If they wanted money, they would go into banking or IT -- you'll note that Pat Metheney doesn't have his own 747, but Larry and Sergei do.

And, finally, for insinuating that music nowadays isn't vibrant, and heaping scorn on the totally reasonable desire by musicians to earn a decent living: fuck you, you pompous twit.

<comment><USER6> It's not idiotic at all. Most musicians, even of the mega pop star variety, make most of their money _performing music_ , not from royalties. I would go so far as to say that musicians _should_ make most of their money by giving concerts.

<comment><USER7> I upvoted you, because you make an interesting point, but I disagree. What if I'm a conceptual musician? What if I'm a _terrific_ composer but a terrible performer? Shouldn't there be a venue where I can make money through my compositions even if I can't assemble a traveling band to tour and perform them?

</comment></comment></comment></comment><comment><USER8> quote from Arrington in the article

 _They either need to adapt or die. And they're choosing a very noisy and annoying death._

I think they're probably a bit like chickens. Heads already severed but still running around.

</comment><comment><USER9> I didnt understand why Bragg was solo'd out it seemed he wasnt even the primary undersigned.

With Googles additions into the free music market in china earlier last week, one might be lead to believe that they would look have music videos in the UK.

The overall voice Michael seemed to write the article in was one depicting the G20 Riots in the UK.

</comment><comment><USER10> 22p per play is a ridiculous figure to try and get. There's just no way YouTube could ever make that from advertising or subscription.

Much as it irritated me not being able to play music videos from youtube, seems like they did exactly the right thing taking them down.

<comment><USER3> It's .22p, not 22p, per play -- similar to the price charged to radio stations. If radio stations can make it work, so should YouTube. And if it can't, then I prefer for the content to be removed, because if advertising can't adequately finance creation of music then some other approach will need to be found. I would prefer the direct approach, i.e. iTunes, you pay for the album or song, or Spotify, but it appears that around here this is seen as hopelessly antiquated (apparently new and better ways exist, although oddly no person or company has stepped forward to take advantage of these el dorado revenue streams). Failing that we could go back to the 17th century and have government sponsored patronage system. Brave new world!

And before people start posting replies along the lines of "it's not google's business to subsidize music execs" -- it is if a significant driver for google's traffic is interest in music content. And last I checked, it's not the music execs flying around in their own 747s, it's Larry and Sergei.

Don't be evil? Please.

<comment><USER11> > If radio stations can make it work, so should YouTube.

Nobody really knows, but the suspicion is that it's more expensive to do online distribution. Here's Mark Cuban on a similar subject:

[http://blogmaverick.com/2009/01/27/the-great-internet- video-...](http://blogmaverick.com/2009/01/27/the-great-internet-video-lie/)

"If you want an interesting excercise, call up a CDN and ask them how much it would cost to support an audience that is never smaller than 10k simultaneous viewers for a 1mbs stream, 24 hours a day, for 365 consecutive days. Then call up one of the satellite providers and ask how much they would charge you to deliver to 100pct of their customers, and then call up a cable company and ask the same question. Total up the cable and satellite numbers and compare them to the internet costs. You may be surprised to see which is cheaper."

He's talking about mass distribution, but distribution on a small scale is going to be even more expensive per stream served. Of course, it's still possible to generate cash from serving content online because Hulu does it. Whether .22p/song is a possibility, I have no idea.

> And if it can't, then I prefer for the content to be removed

That's what they did, unless I totally misread the article.

<comment><USER3> Those are fair points, and I agree that YouTube removed the music labels' content. Personally, while I sympathize with the songwriters complaining about YouTube's removal of their content -- after all, they have a gun to their heads: if they force YouTube to remove the material, then that material just gets fileshared, so they lose either way --, I think they're in the wrong on that count. Either way, this really wouldn't be a problem if people didn't download music illegally. That's the fundamental problem. It's what gives YouTube the ability to say, "no, we won't pay that price." -- the implicit corollary being, "and if we don't pay you, nobody will, because no sovereign, ISP, or consumer is willing to respect your property rights". I think that's what the songwriters find galling.

<comment><USER11> Interesting. I occasionally watch music videos on YouTube, and I try to watch the official one whenever possible, because all else being equal, I'd like to see people get paid. I think there's a ton of money to be made off of the monetization of the goodwill fans have towards a band. If a musician says, "here, look at the Coke polar bears dance for a while while you download my music, this helps me get paid," I think he'll make a lot of money. Not as much as he's getting for CDs, but hey, something is better than nothing. And if the labels keep things going as they are, nothing is what they're going to get. The iTunes store isn't really the solution: much of the time, people want to pay for music @ .22p a listen, not $1.00 a download.

<comment><USER3> > The iTunes store isn't really the solution: much of the time, people want to > pay for music @ .22p a listen, not $1.00 a download.

I totally agree, that's why I mentioned Spotify as well as iTunes. Although Spotify works off a flat-rate model, it could equally work on a per-play micropayment model.</comment></comment></comment></comment></comment></comment>


Apache Maven 3.6.2 Released - <AUTHOR> https://mail-archives.apache.org/mod_mbox/maven-announce/201909.mbox/%3CCACcefgc8DBFwq5vQ7EuZNGSeBxemz6Hd_2n%3DMV9T%3DpYgdUM5EA%40mail.gmail.com%3E <comment><AUTHOR> [http://mail-archives.apache.org/mod_mbox/maven-dev/201909.mb...](http://mail- archives.apache.org/mod_mbox/maven- firstname.lastname@example.com%3e) Regression when working partial exclusions (either the groupId contains a wildcard or the artifact contains a wildcard)

</comment><comment><AUTHOR> [https://youtrack.jetbrains.com/issue/IDEA-221882](https://youtrack.jetbrains.com/issue/IDEA-221882) Exception when importing projects with Maven 3.6.2</comment>


Leonard Susskind: Quantum Mechanics, String Theory and Black Holes - <AUTHOR> https://www.youtube.com/watch?v=s78hvV3QLUE <comment><USER2> Thnx for posting!

Link to Susskind's recent papers on Complexity and Cosmology. Like fine wine, seems to be getting better with age ;)

[https://arxiv.org/search/hep- th?searchtype=author&query=Suss...](https://arxiv.org/search/hep- th?searchtype=author&query=Susskind%2C+L)</comment>


Ask HN: Udacity nanodegree worth it? - <AUTHOR> so I'm looking at the nanodegrees, trying to determine if there's any legitimacy of having such online course degrees.
wondering if anyone on HN have experience with it and if it has landed you gigs.
I'm interested in the full stack nano degree but really tempted by the data analyst nano degree as well. <comment><USER2> I've finished the Front-end, Data Analyst, and Full Stack Nanodegrees (in that order). I'm not looking for a job, but I have received several job offers already. None of those offers came because of the certificate. Rather, they came from my portfolio and demonstration of skill and competency.

On a personal level, I learned an incredible amount going through the Nanodegrees, especially because of the project-based instruction. I've taken 20+ courses at edX, Coursera, and Udacity and went through pretty much all the curricula at Code School and Team Treehouse. I can safely say that Udacity Nanodegree was the most positive, valuable experience out of all of them-- you're not just taught what to do, you're taught how to think.

\---

Here's a copypasta response I wrote on Quora to the question, "How valuable is a Udacity Nanodegree certificate?"

The Nanodegree program is still new, and chances are, a potential employer won't be familiar with it, nor even heard of it. If they have, they'll probably still evaluate you based off of your resume and portfolio.

A Nanodegree certificate won't guarantee you employment, clout, or value on its own merit... at least not yet. But by going through a full Nanodegree program, you will finish with a full, robust portfolio to demonstrate to an employer and say, "Here are all the projects I worked on. These are the skills I learned while doing them. This is the quality of work you can expect from me."

Like any educational program or institution, you can skate by with the bare minimum and earn a piece of paper. If you do that with Udacity, I think you're missing the point, and your potential employer will see nothing but your bare minimum.

I'm a graduate of three Nanodegrees, and as such, evaluate it much differently than most other people. I have never placed much value in certificates or diplomas, and I always evaluate applicants based off of their portfolios and the knowledge and potential they bring into an interview. That said, I can safely say that if a resume with a Udacity Nanodegree arrives in my inbox, I will know that at the very least, that applicant has the will, drive, and discipline that's needed to complete a self-paced, rigorous course-load.

"Show me your portfolio," I'll say.

<comment><AUTHOR> very good.

do you get to build a portfolio through the nano degree program?

Which of the three nanodegrees did you find most useful? Does the full stack and front-end nanodegrees cross over? doesn't the full stack not cover front- end stuff?

The data-analyst is really interesting, do you need to brush up on statistics and such before you get into it?

Did you receive offers for data analyst/scientist positions?

How did you land job offers?

Does udacity teach how to perform on technical interviews?

Did you pay $600/month for all three nano degrees?

Basically I want to take it to learn all the stuff. I already have worked as a developer but just want an complete upgrade (been a LAMP dev for too long).

<comment><USER2> Wow, tons of questions...

1\. Each Nanodegree has 5 to 6 projects that you can add to your portfolio. For the Front-end Web Developer Nanodegree (FEND), one of the projects is actually building a portfolio.

2\. I probably learned the most in the Data Analyst Nanodegree (DAND), but enjoyed the Full Stack Nanodegree (FSND) the most.

3\. The FSND and FEND are separate (no cross-over), but complementary (skills in one will help the other). The FSND covers mostly back-end.

4\. For data analyst/scientist positions--I did not receive any offers.

5\. For FE/FS job offers--honestly, I don't know. I really wasn't actively seeking them, but I was lucky enough that people were coming to me. Udacity did a Student Spotlight blog on me, so I think that might be where or how they found me.

6\. Udacity has some awesome career services support, and they hold workshops on technical interviews.

7\. My bill at the end of the day was $980 total. I took the FEND and DAND concurrently, and they took 2 months each ($200/mo * 2 mo/ND * 2 NDs = $800). I finished the FSND in one month, and was part of the inaugural cohort (10% off = $180).

My best advice to you is to give some of the classes or Nanodegrees a test drive. Udacity is still a MOOC provider, so all the classes you can still take for free. Good luck to you.

</comment></comment></comment><comment><USER3> In tech, employers are often looking for demonstrated ability. The Udacity Nanodegrees provide an excellent opportunity to learn the right way to do things (courses built alongside prominent tech companies) and give students the structure, support and feedback to build a strong portfolio. I've completed the Front-End Dev, currently working on the Data Analyst, Full- stack. I feel that Udacity's offerings are more valuable than other MOOCs because they are designed with a focus on employment where as others are more "academically" focused.

</comment><comment><USER4> Online course degrees don't have much legitimacy in the traditional sense. It's good to take courses on Coursera/Udacity because you have great opportunities to learn for free. However, it's almost always better for to simply remove an "Education" section on your résumé if you haven't completed a degree.

If you can still fill out a résumé in other ways, you'll likely find that most reasonable employers in the tech industry are willing to overlook its absence. Just don't lie, when asked.

</comment><comment><USER5> I've done the Front End Nanodegree. The most important thing in the Nanodegree is not the certificate but the portfolio. By the time you finish it, you will have a strong portfolio of concrete projects you can show to employers and talk about in interviews. I, myself, didn't land a new job (I'm already full- time employed) but some graduates have already find jobs in web dev after the Nanodegree. Based on their feedback, having a portfolio was determinant in the process.

</comment><comment><USER6> The degree probably means nothing (if you put it on your resume, no one will care), but the knowledge is a good thing to have.

<comment><USER7> totally agree with this - it costs much more than online grad certs from top US unis too.

<comment><USER8> I'm curious. Can you please point us to some of the online grad certs from top US unis that you've mentioned? URLs . Thanks.</comment></comment></comment>