The Great Firewall Of China. Explained. - <AUTHOR> http://blog.archit.in/2011/04/the-great-firewall-of-china-explained/

<comment><USER2> I find that "80% of Australians support the Govt. proposed clean feed internet filter" to be disturbing. The survey has to be wrong and/or I don't quite know what a "clean feed internet filter" is.

I had a professor in college who once said "What is source code? Well it is kinda like Porn. You know what it is when you see it but you can't quite describe it." Maybe the "clean feed internet filter" is something like that?

<comment><USER3> According to wikipedia, [http://en.wikipedia.org/wiki/Internet_censorship_in_Australi...](http://en.wikipedia.org/wiki/Internet_censorship_in_Australia#Opinion_Polling):

 _Having a mandatory Government Internet filter that would automatically block all access in Australia, to overseas websites containing material that is Refused Classification? Refused Classification was defined as Images and information about one or more of the following: child sexual abuse, bestiality, sexual violence, gratuitous, exploitative or offensive sexual fetishes, detailed instructions on or promotion of crime, violence or use of illegal drugs. 80% were in favour, 19% against._

<comment><USER4> So, Aussies... is it working for you that _child sexual abuse_ is being lumped together with "gratuitous (by whose standards?) ... or offensive (to whom?) sexual fetishes?

Not that I, personally, am not repulsed by them, but what about banning "promotion" of "...violence or use of illegal drugs?" Is this standard applied in your movie theaters, too. That would keep you "safe" from a lot of Hollywood's productions.

I don't mean to be hard on Aussies - since wide swaths of U.S. population might vote for such censorship. I'm just wondering whether such tight, subjective control is the norm down under?

<comment><USER5> > So, Aussies... is it working for you that child sexual abuse is being lumped > together with "gratuitous (by whose standards?) ... or offensive (to whom?) > sexual fetishes?

For the most part I have few problems with our classification scheme. If you're genuinely interested in what goes in to a rating, the guidelines are quite easily available. (1)

It's interesting the attitude I find many foreigners, in particular North Americans have of a repulsion to any kind of censorship whilst simultaniously being ignorant of what our classification scheme actually does. The previous sentence was directed at your idea that the prohibition against the promotion of violence or illegal drugs would cause a hollywood film to be banned from Australian cinemas. It doesn't because context is a mitigating factor. Ignoring the issue of no 18+ rating for video games, the only thing that comes to mind that I wish hadn't been refused classification is 2002's Ken Park.

Forgive me if my attitude comes off as hostile, but I am increasingly annoyed at foreigners decrying our classification scheme as uniformly bad. I guess it's just different people having different values.

(1) <http://www.comlaw.gov.au/Details/F2008C00126>

<comment><USER6> Your attitude does come across as hostile, mainly because of this sentence: "I am increasingly annoyed at foreigners decrying our classification scheme as uniformly bad".

It's irrelevant if someone is foreign. What matters if people are informed.

Australian censorship system is expensive with unclear benefits. So I'd take two counter positions:

1\. The money could be better spent elsewhere. 2\. Let's see how well the system is working in five years time after feature creep sets in.

<comment><USER5> > It's irrelevant if someone is foreign. What matters if people are informed.

I disagree. Since our classification scheme arguably has next to zero effect on someone who isn't inside Australia, their opinions on what we decide to enact are irrelevant and nosey. A variation on "Why should you be able to tell me what I can/cannot do in bed with my wife?" really. It'd be different if we had any effect on the ability for foreigners to see or enjoy what they want in their own markets.

I should be clear and make a distinction between my support for the classification scheme as it currently stands with it's clear benefits in informed choices for parents and transparency that it is run with, and my opinion on the proposed internet clean feed filter, which is one of disapproval.

<comment><USER6> > Since our classification scheme arguably has next to zero effect on someone > who isn't inside Australia, their opinions on what we decide to enact are > irrelevant and nosey.

I'm not sure if you are being sarcastic here, but in case you're not: the idea that people are not allowed to have opinions on things that don't directly affect them is startling.

The "variation" you provide is false. Someone holding a reasoned opinion on something is not equivalent to someone issuing rules on what you may or may not do with your wife.

<comment><USER5> I didn't say someone can't have opinions, but I did say I find their opinions irrelevant. I realise that example was poorly worded, but I think you get the idea. It'd probably be better phrased as "Why do you think we're interested in you telling us what we should/should not do with our wives in our own homes?"

<comment><USER6> And I say informed opinion beats uninformed opinion no matter where the person is.

<comment><USER5> Things get murky though, when we're discussing something so inherently culture & values based like where to draw the line with film classification.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> This seems mostly accurate from my knowledge of the Great Firewall, but some of the info seems out of date (maybe the video is old). For example: Wikipedia and BBC News have been unblocked for a while now.

</comment><comment><USER8> Well... from a positive perspective, it creates so many jobs. Pointless and a job hated by people around the world. At least no one's dying... or is it a good thing no one's dying?</comment>


Displaced Dynamic Expression Regression for Real-time Facial Tracking, Animation - <AUTHOR> https://www.youtube.com/watch?v=mAGEiv3UNEU

<comment><USER2> looks great on easy data, would love to see a live demo on a crowded room - CMU has something implemented on 'faces in the wild' ([http://www.consortium.ri.cmu.edu/FaceDemo/](http://www.consortium.ri.cmu.edu/FaceDemo/))</comment>


Brain Computation Is Organized via Power-of-Two-Based Permutation Logic - <AUTHOR> http://journal.frontiersin.org/article/10.3389/fnsys.2016.00095/full <comment><USER2> There are only a few organizational principles that allow the number of groups (K) to scale beyond the number of neurons (N).

Polychronization ([http://www.izhikevich.org/publications/spnet.pdf](http://www.izhikevich.org/publications/spnet.pdf)).

This is e.g. different from synfire chains in which the number of groups equals the number of neurons. I don't remember much about the capacity analysis of standard reservoir computing methods (ESN, LSM, ELM), but I thought it was also limited to N.

I'm looking forward to more research in this direction! We as humans build up such long-term memories. This must be a driving factor in AI. A lot of prediction tasks hinge on being able to handle this huge temporal scale.

Currently I'm trying to see if I can formulate chains of transition matrices in MCMC that allow simultaneous search on multiple scales. I feel like the math from multiple angles is converging, exciting! We're gonna solve this in our lifetimes!

<comment><USER3> Is ELM reservoir computing?

<comment><USER2> Yes, if you consider the most salient part of reservoir computing method a random projection matrix that is quenched (kept fixed).

[http://www.nature.com/articles/srep14945](http://www.nature.com/articles/srep14945)

</comment></comment></comment><comment><USER4> I spent way too long staring at figure 1, before realizing that they're not using the word "permutation" in the way that people with exposure to CS or discrete math would use it. They're assigning a "neural clique" (possibly not exactly a clique in the graph theory sense) to each subset in the powerset of inputs, and then ignoring the empty set. _Now_ 2^i - 1 makes sense; ordering does not matter to the authors.

<comment><USER5> It seems like you are saying that the headline is nonsense because the authors of the article are using non-standard meanings for their words.

Any system with optional components has a factor of 2^n in its count of configurations -- each optional component might be absent. That's an interesting fact of math, not of any particular system.

<comment><USER4> I am not saying it is nonsense -- just that it was hard for me to understand their claim, in part due to a background that I expect many other readers here share.

</comment></comment></comment><comment><USER6> It seems that by "permutation" they mean what a mathematician calls a "subset", or a computer scientists calls a "bitmask". Essentially they found lots of evidence that animal brains implement demultiplexers?

</comment><comment><USER7> This sets off my BS detector.

The approach is to make a "thought experiment" about how neural computation might work mathematically, then look for evidence that the guess is correct. Their thought experiment makes them guess powers of 2 are special, that they should expect to see organization at sizes 1,3,7,15.

But when they analyze data, I don't see any comparison saying that 7 is really more prevalent than 6 or 8, or 15 is more prevalent than 14 or 16. Indeed 15 seems to be the largest they looked at.

The whole numerology theory driving the headline looks like unlikely, unsupported nonsense to me!

</comment><comment><USER8> This seems pretty hand wavy. I'm not seeing any actionable insights from this.

<comment><USER9> For real though. We already knew that neurons can do binary logic, they either fire or they don't and neurons higher up the chain fire based on converging inputs.

Also what do those plots actually 'show'. The authors claim repeatedly that the plots show the existence of 15 clusters, but without stating p values relating to any sort of classification for many of the plots.

</comment></comment><comment><USER10> Would anyone here be able to offer some book suggestions for tackling AI from the neuroscience/ biological perspective, as opposed to the computer science/ computational perspective? I want to expand my horizons.

<comment><USER11> I would suggest "Principles of Neural Design", a book that tries to explain why things might be engineered the way they are in biology:

[https://mitpress.mit.edu/neuraldesign%20](https://mitpress.mit.edu/neuraldesign%20)

<comment><USER12> "explains" and "might" are kind of at odds, here

</comment></comment></comment><comment><USER13> Wai H. Tsang:

[http://www.academia.edu/27961545/The_Fractal_Brain_Theory_-_...](http://www.academia.edu/27961545/The_Fractal_Brain_Theory_- _Chapter_4_-_Binary_Trees)

</comment><comment><USER14> Except for the Dopaminergic neurons, among other "subsystems".

<comment><USER15> That is explicitly mentioned in the article.

</comment></comment><comment><USER16> _This simple mathematical logic can account for brain computation across the entire evolutionary spectrum, ranging from the simplest neural networks to the most complex._

That is, further research will investigate how e.g. a mouse turns in a particular direction in a maze before investigating how high-performing humans perform amazing mental feats. It may all be the same at some level, but we have to walk before we can run.

</comment><comment><USER17> Some questions:

We act like stimuli are exact things but the brain is all about abstraction. In fact, a certain amount of entropy/information enters your beain every day from vision, smell, touch, etc. Its not stored in full fidelity. There arent enough nuerons or energy for that. So what is lost? Well...whatever isnt abstractable, right? You celebrate your birthday. You remember blowing out the cake in pristine vision. But how much of that 'movie reel' inside your head is actually a superposition of abstracted reality vs actual observed reality?

All Im asking is, is it even worth it to think of a human being in terms of absolute information when their memories are so sparse from reality. We remember whats important. And the things that are important, weve remembered to remember. But ultimately, the actual holding power of the brain is quite small. The brain is a master of deep abstraction from sparsity.

Is it like a quantum system? Where the superposition values of one subcortical system are flattened by another? So that a whole brain belief/memory is a function of the fuzzyness of each subsystem being exacted/wave function flattened by the heuristic correlation/connection between all the shitty data? I think we need to start thinking about sparsity. The universe is sparse when it comes to using 3d space. Holographic principle says physics is so symmetrical that we sparsely use 3d space. Such that our entire universe could take place on 2d space. Max Tegmark gave a talk about how deep learning works so well because of the sparsity of faces or music or voices, the overwhelming symmetry/redundance in physics and nature. And transitively, humans.

<comment><USER18> > _So what is lost? Well...whatever isnt abstractable, right?_

Raises a most curious question.. what ever _isnt_ abstractable?

<comment><USER19> We're just systems that transport our genes into the next generation. Our perception exists mostly to help us find food, avoid dangers and reproduce. Of course we lose a lot of information, because it is irrelevant to us.

<comment><USER17> Fortunately, evolution selected for intellect even though it might have initially have been past a minimum fitness/energy valley. Id encourage you to rethink this simplistic view that ignores the general tool that developed in order to handle more random and abstract specific solutions to threats.

<comment><USER20> There is no proof that smarter brain is what was targeted by evolution. It could be that the size of human brain was either purely accidental consequence of other factor or at least was driven by the needs like balancing when walking/running on 2 legs.

<comment><USER21> A simple reality check:

Considering the large energy needs of the brain, there is an evolutionary pressure to make it smaller... so something pushed it the other way.

<comment><USER20> Compared with apes humans much more efficient at digesting of starch. However to get enough protein and micronutrients from starchy root vegetables one has to consume much more in calories compared with vegetables. That effectively provided "free" energy to keep bigger brain. Of cause this is rather speculative, but it just emphasises that we really do not now why humans develop bigger brain.

<comment><USER22> Another abundant energy source is fish protein, which always existed but our ancestors species is the only species that went nuts over fishing. Its pretty easy for hominids or scavengers in general to get fish protein at a net loss, or in very small quantities, but once you have a big enough brain our species really got into eating fish starting about 100Kyrs ago.

Apparently there is evidence you need a pretty big brain and speech abilities to run a net energy positive fishing village. A neanderthal should be able to catch fish, just not efficiently enough to live off a fishing culture. Their trash piles have all kinds of bones, just not fish bones. Ours are/were full of fish bones, anywhere there's fish.

Fishing might have been "the niche" that led to our species... starting with older hominids who were better than average at gathering fish due to some local geologic peculiarity (the perfect river to catch salmon by hand occasionally or whatever), a zillion generation later of ever improving therefore ever fatter fisherman and we got a prehistoric Captain Ahab filling the tribe trash piles with fish bones and the non-homo sapiens cousins can't fish compared to us and die off because we're fat from fish and they aren't.

Large amounts of starch would seem to require agriculture which is pretty recent compared to fishing.

<comment><USER18> @VLM, ice age ancestors needed big game. Small fish are a joke for sustained energy and nourishment, maybe as a condiment to the main meal of mammoth or aurochs.

Our "ancestors" _really_ thrived for the most part of the very mega-fauna we helped extinguish.

> Their trash piles have all kinds of bones, just not fish bones. Ours > are/were full of fish bones, anywhere there's fish.

Your sources seem to wildly differ from my sources regarding the bulk of ancestral homo sapiens evolution during the ice ages. Feel free to share them.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER23> Why that pdf in the title? The page is a long html article.</comment>


Founders: Don't Forget to Sell The Dream - <AUTHOR> http://www.jasonshen.com/2013/startup-founders-dont-forget-to-sell-the-dream/ <comment><USER2> It's important that what you build can turn into something huge, but I still think being something a small initial niche absolutely loves is a lot stronger pitch for a startup than something which you think a lot of people will use.

"Make something people want" -- 1) Make sure you convince the investor that you can make it, that you're the best to make it, and that this is the right time for it

(Best way to show this is by having already done it...)

2) "want" -- as in hair on fire need. Not "tell you they would use if it existed, probably"

3) "people" -- a viable market, sure, but it matters more that you have a way to reach them (probably by being one of them), vs. that there theoretically exist huge numbers of them somewhere. "Oh, we're making something which all students would use, if the school districts provided it" is a lot worse if you have no way to convince school districts to provide it (e.g. if it's a new class of product they don't currently buy, and where incumbents sell (expensively) to the districts for other products).

(Of course, the best way to demonstrate "people want" is committed orders or actual product delivery and use metrics.)

4) "something" -- focus on it being a concrete product, vs. an abstract platform. Having something you can show is ideal.

</comment><comment><USER3> To quote PG, "...the way to do really big things seems to be to start with deceptively small things."

Aspirational goals are useful, but an answer to the "billion $" question is not always a necessity. Many billion dollar companies started off without an explicit goal to become huge businesses. See Facebook, Amazon, Google, etc.

Quote is from here: <http://www.paulgraham.com/ambitious.html>

</comment><comment><USER4> Maybe it's just the engineer in me but the second paragraph just didn't resonate. Too hucksterish maybe

</comment><comment><USER5> Makes sense. When you're selling to people looking for top-end outliers, it makes sense to describe what yours is rather than just telling them about the median expectation.

</comment><comment><USER6> F __* the dream! Founders: Don't Forget to Sell The Product!

<comment><USER7> Part of selling "the product" is exactly "selling the dream". How boring is it when I sit down to try and sell somebody something and start rattling off lists of detailed technical specifications:

 _Well, this is built on the JVM, using Groovy and Grails, and implements all the relevant technical standards, including Atom 1.0, RSS 1.0, WSDL 2.0, SOAP 1.13, GRDDL 11.9, FOAF 1.0, RuleML, SWRL, OAGIS, and UMBEL, and it has great features, like application integration over JMS, FTP, REST, SOAP and AMQ using Camel and an Enterprise Service Bus, and there's an Integrated Activity Stream using the activitystrea.ms protocol, and did I mention that you can make semantic assertions and store them in RDF using Jena and then query them using SPARQL..._

are you asleep yet? No? Well most customers eyes would have glazed over after about the second acronym.

OTOH, what about:

 _Are you worried about how your company will survive, and the legacy you will leave behind? Nobody wants to be known as "CEO of a company that went bankrupt". The thing is, you have a ton of potential here, you just need a way to unleash it. Imagine if... all of your employees were enabled to easily and conveniently share, transfer, remix and create knowledge, based on their experiences and the experiences of their co-workers. Imagine if innovations developed in the R &D labs made it into new, profitable product lines 5x faster than they do now. Imagine if you had the ability to have your whole company sense important signals from the environment you operate in, and react to those signals in a agile, adaptive manner.. never letting a competitor get the jump on you, and serving new customer needs before even the customer realizes them. Wouldn't that be a nice thing, Mr. CEO? Yeah? Well then great, we have some gnarly knowledge management and collaboration products that I'd like to tell you about..._

Of course, if you really want to get tricky, throw in some NLP "time distortion" pattern language:

 _You know, Mr. CEO, in five years, when your company is more profitable than ever, and you've won the State Chamber of Commerce "CEO of the Year" award, you're going to look back on today and see that this was the beginning of a very beneficial partnership, aren't you?_

</comment></comment><comment><USER8> I can't speak for investors, but I've been burned more by horrible startups-- as an employee, so more than any investor ever could be-- because I was some combination of naive and falsely desperate (I have a strong work ethic, and that sometimes impels me to work stupidly hard) and I'm fucking sick of most of these goddamn dreams. Bait-and-switch hiring is the worst. If I lie to get a job, I get fired-- and I should. But if a company engages in bait-and-switch hiring because "priorities changed" and I leave them, then I'm the asshole "job hopper". Fuck that.

Let's talk about substance. Not these dreams, most of which are impractical and laughable. I don't want to waste another year of my life implementing some wanker's dream in the hope that he'll one day throw me a bone (a real title, investor contact) so I can be on the other side of the table, lying to naive smart people in their 20s in order to get them to ruin their lives and relationships in exchange for 0.02% of something because they aren't smart enough to realize that token equity doesn't make them real business partners.

I'm sick of this nonsense. Why is our generation stuck in VC-istan instead of working on things that actually matter?

This whole ecosystem is built on selling dreams to clueless young people of extreme talent and dedication (like me, except I'm not young anymore; thanks assholes for wasting most of my 20s) who have no idea what they're worth yet. I can't speak about "most" but a great many founders that I know well are fuckheads (because the requirement of VC connections selects heavily in favor of assholery) who have no lack of skill _already_ in selling vacuous dreams and making empty promises. Let's not make these lying fucksticks any better than they already are at misleading people.

<comment><USER9> Please stop and consider taking some time away from HN.

The stories posted here clearly anger and upset you. This comment you just posted is a strawman argument and you posted a variant of it the other day in another thread, and another variant of it in another thread before that and....you've been posting variants of it on HN almost daily for months now.

As a founder, my ears always perk up with I find pointed criticism of founders on HN. I read carefully to see if there's any ideas or advice I can come away with. But for months now, every time there's been really aggressive criticism of founders on HN, the comment always turns out to be written by you. And it's always the same complaint or variant on it every time. It's gotten to the point where I have to screen comment threads ahead of time in case you've posted already.

Is it really healthy to keep returning to a well you find so poisonous? Jason wrote a well-intended article here and you're using it to post your same ideas for the 10th time this month. Is that fair to him? Is that fair to Hacker News readers?

Take some time off. Find things that excite you, captivate you, and make you feel joyful to be live. VC-istan is clearly not a place you want to spend time in, so go explore and find a better place.

<comment><USER8> I feel like my work isn't done. The truth needs to be told, and unfortunately, very few people have the courage to tell it, especially under their real names.

No, I don't dislike all founders or VCs obviously. I just hate most of the ones I've interacted with, and I'm shocked by the number of people who've had similarly horrible experiences. When I left my last startup after being asked to do something horribly unethical, in March 2012, I thought I'd been extremely unlucky. I thought my experience was a 1-in-10,000 case of bad luck. As I poked around, though, I realized that horrible experiences are the norm in VC-istan. People just don't talk about it.

Why the fuck aren't they speaking up? Why aren't they exposing unethical people and companies? Why are people so terrified of ex-bosses that they refuse to tell the truth so the horrible founders can fail and some good ones can step in?

I've managed to put cracks in the image of VC-istan. My job is to make those cracks bigger so some light can get through. At least some of the climate of anger that's been on Hacker News for the past few months is something I've started. Good for me. I'm starting to _contribute_. Courage is in rare supply in our industry; we tend to bend over and take it when our masters screw us. Well, at least I will fucking speak up.

So, I've also worked in finance. As an industry, it has an image problem. To get smart people, it has to _pay_. So it does. Most of the work isn't terribly interesting, but the pay is good and the people are actually a lot more decent than in VC-istan. If you're good, they'll treat you well. In general, financial firms are a lot better, ethically speaking, than VC-istan.

If we can bring VC-istan's image in line with what it actually is, then they'll have to (like finance) start treating engineers better if they want to get talent, and the bad startups will die out, making room for good ones.

<comment><USER10> I find your comments to be spectacularly useful. I'm a twenty something machine learning developer with a functional bent and high expectations for rewarding stimulation in VC-land, and you've recapitulated many of my own thoughts and conclusions spectacularly well. Would you mind if I bent your ear about a dilemma over private channels?

<comment><USER5> You might be better off asking someone who has accomplished more than blog posts and hn comments. Sounding like you know what you're talking about and actually knowing it are not always the same. Results are often a better signal of the latter. Just my 2c.

<comment><USER11> On the other hand, only talking to those who have been wildly successful, or giving their advice more weight, sounds like a great way to get trapped by confirmation and survivorship bias.

<comment><USER5> Good point. But if I were looking for an unsuccessful person to get advice from, I'd pick someone who looked within for mistakes/opportunities for improvement, rather than exclusively blaming external factors.

<comment><USER11> Even if they are largely external, we can't say that michaelochurch hasn't been providing suggestions for improvement. His overall message doesn't strike me as complaining just to complain, even if some of his individual posts are a bit over the top.

<comment><USER5> His overall message is how companies and management can improve -- advice for a position he's never been in and has no experience with. If he's said things that represent a serious acknowledgement of his own shortcomings as an employee -- i.e. a frank discussion of why such a high proportion of his employment experiences have been bad compared to typical HNers or engineers -- I'm not aware of them. He seems to be fairly self-congratulatory on that front, which is at odds with the results so far.

<comment><USER8> I checked your profile. One of those. Still butthurt that I exposed calibration scores and embarrassed "your" company?

 _His overall message is how companies and management can improve -- advice for a position he's never been in and has no experience with._

Wait, so watching idiots incinerate hundreds of millions, if not billions, of dollars of value through horrible business decisions when I could have done their jobs better at 17 is not direct experience?

I'm good at learning from failures-- my own (I've made plenty of mistakes, despite your claim that I don't acknowledge error on my part) and other peoples'.

 _a frank discussion of why such a high proportion of his employment experiences have been bad compared to typical HNers or engineers_

What has astonished me is to learn that my horrible experiences are _not_ atypical. I thought I was the only person to be screwed over so badly, and found out that there are hundreds of people with similar stories.

I won't claim that it's the norm, but it's not shockingly rare. People just don't fucking admit to these experience because they internalize their losses when the reality is that most people have shitty careers not because they are human garbage (as their bosses want them to think) but simply because they have been lied-to, exploited, and fucking robbed blind by their extortionist, criminal managers who have demolished their careers through bad work allocation and political malfeasance.

I wouldn't put myself so far out there on these issues if I hadn't realized that there's a whole corrupt system whose malignancies are underreported. If it was just me having bad experiences, I wouldn't go out there and point out how awful it is. Too embarrassing, no point. Unfortunately, the abuses of talent by the well-connected criminals are commonplace and it's time to fight back. Technology is _our_ territory by rights and we should take it back from those assholes.

<comment><USER5> > butthurt

I'd be lying if I claimed you did not spark my interest with your episode at my workplace. However, I am in no way upset about it, any more than I'd be upset by one of those YouTube fail videos. I was actually one of the ones who tried to help you. So, let's stick to discussion of my actual points. If I made untrue claims, it's enough to point them out, right?

Reiterating my primary point, in case it has been lost in the back-and-forth: if your approach leads to satisfaction, success, wealth, fame, or any other thing an ordinary person wants, I'd love to see some evidence of it. Does any exist? Failing evidence, I advise a novice to consider your words with a strong degree of skepticism, and to take into account your personal track record. This is healthy, no?

> so watching idiots ... [fail where] I could have done better at 17

You are like a walking, talking paragon of the Dunning-Kreuger effect. If you could do better, do it. I'd be surprised, but surprise is an emotion rationalists welcome. If I see some evidence of your extraordinary claims [1], I'll update.

And, no, backseat CEO-ing does not count as experience. Come on, that much _must_ be obvious.

> not atypical

Hard to say if you're falling to selection bias or me. You are highly atypical among the people I know or have heard of, and your comments certainly stand out as unusual on this site.

> Technology is our territory

It is the territory of people who make things, or who lead makers, as it has always been. People who do neither of those are mere onlookers.

[1] [http://rationalwiki.org/wiki/Extraordinary_claims_require_ex...](http://rationalwiki.org/wiki/Extraordinary_claims_require_extraordinary_evidence)

<comment><USER8> I tried to read your reply and my brain threw this:

       internet.util.MindBlownException
       Caused by: DoucheOverloadException
           at lowSignalSnark(your.post:9)
       Caused by: MoronDoesntUnderstandDunningKrugerError
           at yabberYabber(your.post:11)

<comment><USER5> In other words, you have no salient objections to what I've said. Got it.</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment>


Show HN: OS – GitHub issues to help beginners make their first pull request - <AUTHOR> https://open-source.now.sh/ <comment><USER2> As someone who spent 2yrs trying to figure out how FOSS projects work, I would like to extend help to any newcomer who is interested in contributing to FOSS projects, I have one of my own which you can contribute to,

Feel free to contact me, repo: [https://github.com/thewhitetulip/Tasks](https://github.com/thewhitetulip/Tasks)

email firstname.lastname@example.com

</comment><comment><USER3> See also [http://up-for-grabs.net/](http://up-for-grabs.net/)

</comment><comment><USER4> Mozilla has [https://www.joshmatthews.net/bugsahoy/](https://www.joshmatthews.net/bugsahoy/)

Feel free to contribute!

</comment><comment><USER5> I saw something, but the filters didn't work. Tried a reload, now it's 500.

</comment><comment><USER6> It would be nice to see the project on the card also... Not sure if that was a design decision, but its really unclear to just have something like 'Add react' as the title without a little more info.

</comment><comment><USER7> This looks nice, but it's not clear to me what it actually does. Is it just a list of github issues with first-time-only tags?

I would add some about information to make it clearer to the user what the benefit of this app is.

<comment><USER8> Yep, seems to be helping out with this idea: [http://www.firsttimersonly.com/](http://www.firsttimersonly.com/)

</comment></comment><comment><USER9> I'm guessing HN has killed this? I see a load of filters I can't change as well as tiles with placeholders instead of data...

<comment><USER10> yup. can't change language or anything else, which makes this kinda useless. :(

</comment></comment><comment><USER11> Filters don't work, but idea is nice :)

<comment><AUTHOR> Unfortunately this was due rate limit on Github

</comment></comment><comment><USER12> 500 Internal Server Error.</comment>


Show HN: Useful Libraries for Go - <AUTHOR> https://github.com/obsidiandynamics/libstdgo <comment><USER2> I would remove logrus, as they themselves have freezed the project. Historically there have been a lot of issues with their repository rename (for us it broke many production builds over the years). Usage of that lib should not be encouraged purely because of the build hassles.

Also i think you should maybe contribute to [https://github.com/avelino/awesome-go](https://github.com/avelino/awesome-go) instead.</comment>


Ask HN: Alternatives to TinyLetter? - <AUTHOR> Basically, I want a newsletter service that is just like TinyLetter but doesn't output garbage HTML full of unnecessary `span` and `div` tags. (MailChimp is an equal offender.) Preferably the HTML editor would be just as friendly as the WYSIWYG editor. I am willing to pay.<p>To be clear, I'd prefer a service that is aimed at writing rather than links. (This rules about Curated, unfortunately.) Does what I'm looking for exist? <comment><USER2> Yes what you're looking for does exist. Check out [https://volleyy.com](https://volleyy.com) and see if it meets your needs. [Disclosure: I'm one of the makers of Volleyy]

Our content editor looks a lot like the medium editor, and we are launching on RSS-to-email functionality this week.

</comment><comment><USER3> My reason for not using TinyLetter is that they insist on putting your post address in each and every mail.

<comment><AUTHOR> That's a legal requirement: [https://www.ftc.gov/tips-advice/business- center/guidance/can...](https://www.ftc.gov/tips-advice/business- center/guidance/can-spam-act-compliance-guide-business)</comment></comment>


You can increase your intelligence and 5 ways to do it - <AUTHOR> http://www.scientificamerican.com/blog/post.cfm?id=you-can-increase-your-intelligence-2011-03-07

<comment><USER2> The original paper, while not conclusive, presents an intriguing idea. But the conclusion of the article is extremely trivial. Do you really need experience working with autistic kids to know that challenging one's self is good?</comment>


AT&T gives some iPhone 3G owners a break on iPhone 3G S price. - <AUTHOR> http://technologizer.com/2009/06/17/att-gives-some-iphone-3g-owners-a-break/

<comment><USER2> Original story:

[http://www.businessinsider.com/att-to-offer- iphone-3g-owners...](http://www.businessinsider.com/att-to-offer- iphone-3g-owners-cheaper-upgrade-to-3g-s-2009-6)</comment>


The environment that OSS developers work in - <AUTHOR> https://github.com/JuliaLang/IJulia.jl/issues/398 <comment><USER2> Just an idea:

first post:Hi, it appears that running Pkg.add("IJulia") is broken. Please fix it or stop advertising this module...

first response: This is a volunteer effort. We regret to inform you that reports and issues in the tone of the above complaint are unacepptable. We cannot (and will not) help you until you ask for help in a polite way.

Status changed: from "open" to "awaiting politeness"

\---

The world contains people who want to act like this @aragnon. It will still contain those people tomorrow. Complaining about their sense of entitlement is not likely to achieve much. And we need to spend very little effort with these requests. We need __procedure __. We need simple rules, and absolute enforcement.

I don't know that Ijulia is, but I thank you guys for your efforts!

<comment><USER3> If the problem reported is real and affects many users, then I don't see how refusing to fix it because the person who actually reported it is an ass is reasonable. You are essentially suggesting that all users who experience the problem be punished because the one who reported it is a jerk.

<comment><USER4> No, I like it. The jerk is shut down and not rewarded until he can communicate like a civilized person. The person who shuts him down can still pick up on the complaint and get the bug fixed for everyone else - and if not, then any widespread problem will eventually have at least one polite request entered, right?

</comment></comment></comment><comment><USER5> Very inflammatory title. This happens occasionally, but I'd hardly call it "the environment that OSS developers work in." Furthermore, this really has little to do with OSS or even software development at all. The world is filled with rude and insensitive people that can't interact with others courteously and professionally. That is not news nor is it interesting.

<comment><USER6> This is < 1% of our users.We run a gitter channel with > 1000 people in it as well as around 1700 stars on github. I've seen some things but most people are polite. This is just cherry picked.

</comment></comment><comment><USER7> In 1924, William Faulkner quit his job as a postal worker, saying "I will be damned if I propose to be at the beck and call of every itinerant scoundrel who has two cents to invest in a postage stamp". With regards to FLOSS, people don't even have to invest the two cents. Which highlights the rudeness of some people - they rudely demand that people who donate their free time to help people, donate even more of their time to fix a problem.

While this is unfortunate, as Faulkner noted, it's not unique to FLOSS. Anyone who is in a position where they regularly interact with the public is going to run into rude people and crazies now and again.

</comment><comment><USER8> For a collection of this type of issues please see IssuesFromHell

[https://twitter.com/issuesfromhell](https://twitter.com/issuesfromhell)

<comment><USER9> > No one will play Starcraft with me

[https://bugzilla.mozilla.org/show_bug.cgi?id=83896](https://bugzilla.mozilla.org/show_bug.cgi?id=83896)

</comment></comment><comment><USER10> Really surprised they didn't shut down the thread sooner and I'm a little disappointed the devs didn't get a better "zinger" in there at the end, but major props to yuyichao for being a class act the whole way through. I don't think I would have had the patience to continue helping after that tirade.

</comment><comment><USER11> I just wish my project had users.

<comment><USER12> If you're [https://github.com/meddlepal](https://github.com/meddlepal), your projects sound interesting, but try writing a bit more in your README.md :)

People will start using your projects if they see a use for it, so you "just" need to make something random internet people want, and then sell it well.

<comment><USER11> Hehe. I was just being silly. That is me, but it's not my active account. These days I work under: [https://github.com/plombardi89](https://github.com/plombardi89)

That said, thank you for the advice :)

</comment></comment></comment><comment><USER13> I understand that the user had a very inflammatory attitude, but the dev helping the user actually agreed with his concerns. Yeah, the user wasn't being nice, but the dev was nice anyway. This happens everywhere, every day, in real life. It's not just the Internet's veil of anonymity, it's just that people are mad for reasons often beyond what you can see.

It looks like the user just needed to vent, and the dev seemed to ignore it. And that's what you should do. Trying to interact meaningfully with an emotion that doesn't mean anything will not help you. Pointing to community standards will often only aggravate mad people further. _Either help the person or lock the issue and leave it at that._

Calling out specific people publicly in HN posts is not a good idea either. If you must, I suggest anonymizing the content.

</comment><comment><USER14> Welcome to customer support at every organization everywhere. Many people who are have problems with your project (whether it be a paid or free product) are jerks about it. Sometimes they are right and sometimes they are wrong, but it's going to have no effect on their attitude.

</comment><comment><USER15> This seems similar in style to a Linus Torvalds rant, e.g. [http://lkml.iu.edu/hypermail/linux/kernel/1510.3/02866.html](http://lkml.iu.edu/hypermail/linux/kernel/1510.3/02866.html).

Julia is within their rights to enforce a community standard against such rants, but I wonder if those rants are what inspire people to write code and contribute (unpaid) patches...

</comment><comment><USER16> I'm _shocked_ to see that user has no commits, ever.

<comment><USER17> I used to work in QA. I file lots of bugs on github. (Hopefully politely.) But I've never committed anything - I don't even know how. Does that make my reports worthless?

<comment><USER18> Of course they're not worthless when you're submitting them in good faith with due diligence in troubleshooting/replicating steps. I <3 users, whether they write code or not that submit good bug reports and are willing to work with me to replicate/fix the issue. One does not need to be a developer to write a good bug report.

I volunteer a few days every month to triage bug reports at my developer job just to keep up my troubleshooting skills. I could probably not do this as a technical/team lead, but everyone on my team does, so I wouldn't make them do anything I wouldn't do. I like problem solving as well, so it can be fun trying to hunt down some obscure bug buried in a service that only manifests itself when the moons align in the customer environment.

Seeing some of the difficult customers our support staff have to pull information out of I have a ton of respect for those that organize bug reports in a coherent manner that shows they really care. Those that do, I go out of my way to help make their jobs easier (building them tools, simple scripting training, etc) and they pay it back by helping my development team.

</comment></comment></comment><comment><USER19> "You sir, just lost your spot in the support queue. Please come back another day, when you're with a better mood. Have a nice day."</comment>


How do I follow through on my projects?? - <AUTHOR>

I've fallen into a frustrating cycle.
1. Become very passionate about working on a new technology project. For like, 2 months.
2. Almost get to MVP stage.
3. Completely lose passion, decide project was stupid to begin with (this usually happens when I try to get people to use it, or realize what resources I'm missing).
4. Give up, chill for a month.
5. GOTO step 1. Acquire many half-finised projects...
Who has suffered from similar throughout their career, and how did you overcome it? How do you make enthusiasm sustainable?
Any feedback much appreciated. <comment><USER2> Does this sound like you?

You pick a project that sounds fun to work on and solve. After two months of working on it, you got "close enough" that in your brain you'd already done the work and solved the problem. You don't finish it because "implementation" is just rote, boring stuff at this point. You enjoyed the problem solving aspect and, now that you need to create documentation or finalize/polish your work, it's boring and tedious.

If that sounds like you, I can empathize - that was me for a decade. It turned out, in the end, that I wasn't picking interesting enough projects - I was choosing projects that could have been resolved in two months + one month of boring work.

Solution: quit screwing around on pansy projects and do something big.

</comment><comment><USER3> I wrote a blog post about all my past failed projects: [http://founderbynight.tumblr.com/](http://founderbynight.tumblr.com/)

I have had the same problems and I think the main challenge to getting them done was:

1\. Completely agree with ScottWhigham...I had solved the problem in my head so it wasn't a challenge anymore

2\. Didn't do enough research about existing solutions, companies so I got discouraged when I discovered better solutions

3 I didn't think it was a good enough project/solution to begin with so I wasn't motivated to finish

4\. I had a very good job that I enjoyed so I really didn't need to get the project finished

My current project ([http://www.pixtulate.com](http://www.pixtulate.com)) I really believe in, I love what it does, how simple it is and how many designers it can help. That drives me every night....I feel like I am finally working on something truly useful.

<comment><USER4> Hi Canterburry, All the best with your new venture. I'm also in the quest for an interesting problem to hack. I saw your current project. Quite interesting. Actually the third example should read "Example fetch with explicit container height"

<comment><USER3> sharmi,

Thanks a bunch for catching that...fix made.

</comment></comment></comment><comment><USER5> I feel like I can reuse an old comment on mine for this :)

4 points by jlengrand 153 days ago | link | parent | on: Ask HN: Why can't I get started?

In the past year and a half, I started at least a different dozen projects. None of them is finished, or in a "correct" state. I would start something, to stop it half way through in order to start something else. I would sit on the computer to work, and start gaming a few minutes later. . . But lately, within 3 weeks, I popped up my first android application on the store; without any prior knowledge on database, webscrapping or anything else I needed to build the app. The difference? The users. A friend of mine called me saying : Hey, I do that every morning, and the current way of doing it is a pain. I am sure you can do something for me. And magically enough, I got motivated, working my arse off to get the first version finished. Since it is on the market, I got 60 recurring users and growing. And this keeps me motivated. I put hours on the project, just because I get feedback. So the conclusion: Do something that someone asked you to. Get your users first, start working afterwards. Don't be alone. If you don't have users, then join a project that has already started, in order to code with someone and get some interaction. I think that for a good 90% of us, what keeps up working is the passion for solving problems others have. Hope this helps :)

The updated version is that I am currently having 700 daily users, everyone is really happy on the store (4.47/5) and I keep working on it daily.

Hope this helps :)

</comment><comment><USER6> I've been in your position a lot. I think the problem is with the _M_ in your MVP. Narrow it down. It sounds like you're producing M+VP where M+ means more than minimum. Once I figured that out, I was able to do a lot more, faster.

I think this happens to a lot of people because it is _really hard_ to take the M seriously until you start to see the Minimums of other now successful companies. The MVP for Reddit looked like hell (No offense kn0thing et al :-) and people forget that time when Facebook didn't even have a wall to write on.

<comment><AUTHOR> Would anyone have records/images of such MVPs? More examples?

I always feel like there's too much to do to reach an MVP.

<comment><USER6> You know, this is a great question. There are probably disjoint sources like the WayBackMachine that let us piece these things together, but I think a curated gallery as a sort of museum for young startup founders to see could be very useful.

</comment></comment></comment><comment><USER7> I've dealt with this same problem for many years as well. Recently I just completed a side project ([http://www.randolunch.com](http://www.randolunch.com)) for the first time ever.

Three things really helped me get it to the finish line:

1) I listed out all the possible features of the project, then marked only the features I _absolutely_ couldn't launch without as MVP. I used [https://workflowy.com/](https://workflowy.com/) to do this because I liked the hierarchical structure and the ability to cross off features as I implemented them. Whenever I worked on my project I'd have workflowy open in one of the browser tabs.

2) If I didn't feel like working on the project I'd open up the feature list, pick one of the simplest items, and implement it. I found that if I started writing even just a few lines of code it was enough to motivate me to keep at it for hours. This was especially helpful as I got closer and closer to the finish line.

3) As others have mentioned here, launch your project as early as you can, even when you still feel "embarrassed" by it, and tell people about it! Looking on Google Analytics and seeing even just a handful of people using my site was incredibly motivating! It made me want to continue improving the site just so that those few people would have a better experience.

</comment><comment><USER8> I created DoerHub.com as a side project and it now allows me to see how much interest there is in any of my side projects. That interest and the help that comes with it keeps me motivated longer (to the point where I quit my job to do DoerHub full-time). If anyone likes a project on DoerHub, they can contribute in multiple ways (spread word, join the team, pick up a task, or invite someone). So if I see an abandoned project of mine garners interest it gets easier to get back on it and a lot more fun, because I can do it with other people.

[http://www.doerhub.com/for/whichvc](http://www.doerhub.com/for/whichvc) [http://www.doerhub.com/for/doerhub](http://www.doerhub.com/for/doerhub)

[http://www.doerhub.com/of/dzink](http://www.doerhub.com/of/dzink)

</comment><comment><USER9> Here is my advice, if you are a programmer/developer/hacker

Once you become passionate about a new project, force yourself "Not To Start Development" on it for one entire month. In this one month, you will dedicate yourself to doing marketing research for the project - checking competitors, contacting potential customers, figuring out how to acquire customers (and how costly customer acquisition will be). If at the end of one month, you still find yourself passionate about the idea and find it feasible with respect to the market research done, by all means, jump in with both feet.

Why do this? I am a hacker at heart and I love to get my hands dirty building things. This makes me invest time in projects that have no future and should not be worked on. Forcing myself not to work on any idea I get for a month, ensure that I give my time to only worthy projects.

</comment><comment><USER10> As hackers advance it is easy for them to lose sense of what is difficult, useful or plain stupid. I think this is because hackers usually set themselves on a quest to conquer ...xyz and once that is in sight all the hacking fun seems gone. Here is what I do:

1\. I already know who would use my product before I build. They are not asking, "Do I need that?" but they are asking "When do I get that?".

2\. As I develop, I am more likely to leave things out than to add anything to it.

Always remember:

      "Perfection is not the absence of what can be added but of what can be taken away"

</comment><comment><USER11> Everyone is gonna give you advise on finishing and tenacity.

Have you thought of the opposite viewpoint - that it seemed like a promising idea, but once you fleshed it out you found out there's reasons why no one else is doing it?

I'd say you're doing it exactly right, keep working on projects, find out if they're dead ends or not, then move onto the next one.

If you want to improve your process, make sure you focus on prototyping and UI, and not worry about stuff like scaling.

Also - opensource your half-done projects on github, so you can have them as resume pieces.

</comment><comment><USER12> Join a mastermind group with few people that strive for the same thing you want to achieve. The single best decision I've done in terms of pushing my project forward. Every 2 weeks the three of us meet and share progress. It's a great form of both accountability and motivation. I feel super eager to work on my project for days after the hangout.

</comment><comment><USER13> Easiest way is to get partners (or at least followers) on a project, if you can. It definitely helps motivate me to keep working on things after the initial drive wears down.</comment>


Ask HN: Forcing programmers to fix their own bugs result in better code quality? - <AUTHOR>

I'm a programmer who works for a consulting company, and I've been assigned to a project where I'm fixing lots of issues created by other programmers, none of whom are still on the project.  I have an issue with this, as I think it breeds bad quality (or at least doesn't facilitate better quality) by not assigning any real responsibility to the original authors.  What do others think?  Would adopting a model of requiring programmers to be responsible for x% of their own bugs lead to writing better code in the first place? <comment><USER2> forcing them to have written tests beforehand would probably have avoided many of them in the first place I bet.

What you describe could be dealt with by having a team lead review things and assign some of the bugs back to the original developers. Done right, this can indeed increase some quality issues over the long haul.

The problem with this can often be the bugs are there not because they're lazy but because they really don't know a good way to solve the issue, and may not even have recognized the bug potential at the start. The 'fresh pair of eyes' argument has a lot of merit, but it tends to result in other people cleaning up for the original devs, which you're trying to avoid (I don't blame you).

Talk with the team lead(s) and see if they can divvy up some bugs back to the original devs, then track if those same mistakes get made by the same people or not.

</comment><comment><USER3> At the very least, it would create a feedback loop that would allow them to learn from their mistakes.</comment>


What Life Looks Like When Night Lasts for Days - <AUTHOR> https://www.nytimes.com/2018/01/26/reader-center/arctic-winter-night.html <comment><USER2> Growing up in central Michigan, followed by career years mostly in the mid Atlantic, I see both sides to immersion in white winter and its short days.

In the north, Winter is an opportunity to shift gears, don different threads, and turn your attention to cold, footing, visibility, and gloom.

But there's also skating on prepared rinks and for miles along snow covered frozen rivers, hiking and cross country skiing through thick stands of snow covered pines in dead silence at 15F, and cold play in a wealth of activities that exist only where cold and ice can pile up and last for months. And then you return home, slip into toasty togs, and warm yourself from within with a host of drinks that can't fully be enjoyed any other way.

Winter does have a certain magic to it.

<comment><USER3> It does. But after growing up in freezing winter Russia, then cold rain Holland and now living in California, even though I do miss some of those wintery things, I'm sure glad to be back to no season coastal California every time I spend even a few days in a cold/dark northern hemisphere place.

<comment><USER4> Hey, we definitely have seasons here - like now it's "raining once a week and sorta cold in the morning" season. Summer is very different ;-)

</comment></comment></comment><comment><USER5> The weak expert consensus is now that the largest contributor to near- sightedness is reduced exposure to sunlight as a young child which causes the eyes to grow slightly differently. Do places above the Arctic circle have higher rates of near-sightedness?

EDIT: apparently there is a correlation, but it seems to me it's not as strong as the sunlight theory would have suggested.

[http://onlinelibrary.wiley.com/doi/10.1046/j.1395-3907.2003....](http://onlinelibrary.wiley.com/doi/10.1046/j.1395-3907.2003.0151.x/full)

<comment><USER6> I can't understand how sunlight exposure could be more of a problem than excessive close-range work (reading books, etc.) during formative years.

<comment><USER7> That is a misconception and has been debunked (same goes for reading in dim light), I been a kid like that and I basically spend all day since the last 15y in front of a computer and I have near perfect eye sight. The "screen time" is not at fault per se if you get enough outside time. The reason is not just any "sunlight exposure" but it is about UV radiation that is important for the development of the eye.

<comment><USER8> The linked study doesn't agree that "that is a misconception and has been debunked". It says it's true:

> As indicated by other reports, myopia was found to be associated with ... > education and nearwork.

<comment><USER5> The above linked study is from 14 years ago. (I linked it because it addressed arctic communities.) It's the more recent work has mostly ruled out the near- work explanation.

> ...for many years there was an assumption that long hours of study indoors, > staring closely at books (near work) and never focusing on distant objects, > led to myopia. This study belied that error.

[http://sunlightinstitute.org/research-shows-sun-exposure- red...](http://sunlightinstitute.org/research-shows-sun-exposure-reduces- myopia/)

> ...increased load of near work was not significantly associated with odds of > myopia when factors including parental myopia, demographics, and outdoor > activities were adjusted for.

[https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3930282/](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3930282/)

</comment></comment></comment></comment></comment><comment><USER9> At least in my opinion the best part about living north of the Arctic circle is the months where it don't get dark

<comment><USER10> That's interesting. Moving from Southern Europe to Northern Europe that was one of the worst things for me. I simply could not get any sleep. One would think that they would have nice blackout curtains but in fact the curtains let all the light in, making sleeping impossible.

<comment><USER11> These do the trick pretty well. Considering the cost could you not install them?

[http://www.ikea.com/ie/en/products/textiles-rugs/curtains- bl...](http://www.ikea.com/ie/en/products/textiles-rugs/curtains- blinds/tupplur-block-out-roller-blind-white-art-60349115/)

<comment><USER12> I don't mind the change in light (dark or light) - but a friend recommended sticking alum foil over windows with normal house/floor cleaning soap for glue (doesn't hurt the glass, makes for easy removal). Worked for me when I worked night shift and went to bed around 10 am.

</comment></comment></comment></comment><comment><USER13> I grew up in Alaska, though not far enough north that night never ended. Still, when you go to a mostly windowless school (yay 70s brutalist architecture), you arrive in the dark and leave in the dark. I'd get a peek at the sun sometimes but effectively I'd only see the sun on weekends.

Both the winters and summers were surreal, the days bled into one another. I don't miss it at all, though I wouldn't mind going back home for a week in the middle of winter just for the memory jog.

</comment><comment><USER14> I haven't spent any time in the Arctic Circle but it's been an itch I want to scratch. The last 10 years I've been based at about 19° S but I went and spent half a year in 46° S. Arriving in summer, my brain kept thinking it was 4PM all the way to 9PM :-) Short winter days would race by. I found myself thinking 'day over already?!' a lot. The advantage was you were always discussing the dawn beauty with neighbours as everyone saw it.

</comment><comment><USER15> Speaking of endless night, an idea that has always intrigued me is the prospect of some rogue planets [0] out there, that don't get any light from a star but may still support life through their own geothermal activity and other chemical processes.

[0] [https://en.wikipedia.org/wiki/Rogue_planet](https://en.wikipedia.org/wiki/Rogue_planet)</comment>


A racial minority fights discrimination from elite schools and universities - <AUTHOR> https://www.wsj.com/articles/an-asian-american-awakening-1528755635 <comment><USER2> Many Asians came here with nothing, like many American immigrants before them, and through hard work and a culture centered around education and achievement have become one of the most successful groups of Americans.

They have worked hard for their success and should not be discriminated against because of they are doing things the right way. We should celebrate their success and hold it up as an example for everyone.

The delusion of identity politics is a poison to a free, democratic society and must be rejected. We cannot place American citizens in categorical boxes, racial or otherwise.</comment>


Sliders Suck - <AUTHOR> http://krogsgard.com/2013/sliders-suck/ <comment><USER2> When did slideshows become sliders, which used to mean something else?

Why does Android call its drop-down menus spinners?

"I used to be with it, but then they changed what it was. Now what I'm with isn't it, and what's it seems weird and scary."

<comment><USER3> I don't know what they're supposed to be called, but I've looked at more than one source-code and saw it called 'accordian.' Whatever they are called, I think they are a massive eyesore.

This is one of those things where I wish people wouldn't arbitrarily change names. Makes communication more difficult than it needs to be. Seems to be the irritating UI patterns that get refurbed into new names (same shit in a different box). Who would dare rename a button? Buttons are cool. Accordian / slider / moving billboard / whatever is just awful.

<comment><USER4> This is an accordion: [http://developer.yahoo.com/ypatterns/navigation/accordion.ht...](http://developer.yahoo.com/ypatterns/navigation/accordion.html)

Which brings up the fact that Yahoo did give us an organized Design Pattern Library replete with nomenclature, descriptions, and examples.

<http://developer.yahoo.com/ypatterns/>

<comment><USER3> Thanks for those links. I have the ypatterns bookmarked.

</comment></comment></comment></comment><comment><USER5> I agree, sliders are for portfolios and that's about it. Every web design team has a portfolio, so they have a slider on their page, so their clients ask for a slider on their page for no reason.

I think sliders that clearly give the users control are awesome as shit though. Best example is from my company's direct competitors <http://mobelux.com/>

Great slider

<comment><AUTHOR> I think that's a good example of how sliders can be used effectively. But most of the time, they're just not. Sliders definitely have a place, but right now they have far too big of a role in web design.

edit: and we, web professionals - suck at saying no. Especially when they're willing to pay for it. That's what we need to change.

</comment></comment><comment><USER6> Agree with the sentiment.

It seems like sliders are there for gratuitous sex and violence (to paraphrase a line from Never Say Never). In other words, on commercial sites that don't have much to say, but they just want something even remotely flashy, they go with a slider.

Seems like if you're really into content marketing, you've got something to say, and a slider wastes way too much space versus say something more like the home page of a blog (albeit often laid out in multiple columns).

If you don't have much to say, I'd do something more along the lines of 37Signals and just pitch your products and vector them off to the appropriate one.

By comparison, sliders seem to be wasting the viewers time. FWIW, both of the two I looked at from links here, mobelux and infomedia were awesomely slow to load the pages too.

</comment><comment><USER7> Lead Wordpress Developer at <http://infomedia.com/> and what's the first thing they have on their homepage? A slider. "What We Do" - slider. "How We Can Help You" - slider.

So why is your company using sliders? What was the "heck of an argument" that changed your mind on your own site?

<comment><AUTHOR> I've worked there for a year and a half, and the site is older than that. I can assure you our designers and me all want it to go away. And there are 25 people in our company, so I don't get to do whatever I want whenever I want. If I had posted that on our company site, your point would be valid.

And we're actually in early stages of a redesign (it's not even in WordPress right now), so it'll get taken care of : )

</comment></comment><comment><USER8> I find sliders great for e-commerce. A slider of highlighted products/specials feels a bit like window shopping.

Bonus points for those dots that show you what slide you're on and let you jump around, and a link to the product page from the slide. I've actually bought quite a few things that a site made me aware of through a slider.</comment>


Get your free AppSumo bundle while you can - <AUTHOR> http://appsumo.com/hacker-monthly/?r=2zaN

<comment><AUTHOR> Note - I chucked an affiliate code on the end there, but I don't think it will do much considering it is a free deal :P

And if you ask 'then why did you do it in the first place', I don't really have much of an answer - I just knew that if I did people like me (aka HN) prefer a disclosure.

So cheers guys, make the most of the free stuff - I'm not affiliated with the company just thought someone might find this useful.</comment>


The Worst Programming Language - <AUTHOR> http://worst.mitten.party/ <comment><USER2> I thought this was going to be about C++

However, this little language looks a lot like Joy (which I suspect was named ironically).

On a serious note, I'd be more curious to see alternative syntax for Lisp (please, I know about code as data etc). McCarty envisioned M-expressions [1], but I have never seen anyone implement them or even nicer ones.

[1] [http://www.softwarepreservation.org/projects/LISP/book/LISP%...](http://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf)

</comment><comment><AUTHOR> ...joke or not, that name is pretty bad. C'mon.

<comment><USER3> I don't know....the name could be wurst

<comment><USER4> Like sausage you don't want to see how programming languages are made.

</comment></comment></comment><comment><USER5> I think better name might be "vor", from the russian ВОР - [https://ru.wikipedia.org/wiki/%D0%92%D0%BE%D1%80](https://ru.wikipedia.org/wiki/%D0%92%D0%BE%D1%80) \- [https://en.wikipedia.org/wiki/Thief_in_law](https://en.wikipedia.org/wiki/Thief_in_law)

</comment><comment><USER6>
       ; Define 'hello' as a function that shows you The Message.
       define hello [ "Hello, " swap string-append "!\n" string-append prints ]
       ; All hail The Message.
       "World" hello

Could this just be written as?:

       "Hello, World!\n" prints

The example seemed a little convoluted to me.

</comment><comment><USER7> I just asked a macOS programmer why he's tweeting about back and forth code conversion between Swift and Objective C. His response was "Swift is dog slow."

</comment><comment><USER8> it's actually beautiful.</comment>


Republican net neutrality bill would gut FCC's authority over broadband - <AUTHOR> http://arstechnica.com/tech-policy/2015/01/republican-net-neutrality-bill-would-gut-fccs-authority-over-broadband/

<comment><USER3> So captured Congressmen and the cable lobby rebranded the much rumored Title X after activist groups started referring to it as "Title Xfinity."

Sen John Thune, a primary sponsor of this bill, has taken over $50,000 in political contributions between AT&T, Comcast, NCTA, Time Warner Cable, U.S. Telecom, and PACs associated with these groups.

We're not talking about a well-reasoned GOP alternative to "Obama's plan to regulate the Internet." This is a bill written by cable lobbyists to hamstring the FCC while throwing a bone to the American public.

Title II gives the FCC the authority it needs to prevent modern day monopolies from screwing up principles of net neutrality we've all enjoyed since day 1 of the Internet. These GOP plans should be viewed with a massive dose of skepticism, especially in light of the political contributions they've accepted in recent elections.

<comment><USER4> > captured Congressmen

The FCC actually seems more captured than congress. The head of the FCC is a former lobbyist for ISPs and Telcos.

<comment><USER5> > The head of the FCC is a former lobbyist for ISPs and Telcos.

And what has he said recently about network neutrality?

[http://www.reuters.com/article/2015/01/08/us-usa-internet- ne...](http://www.reuters.com/article/2015/01/08/us-usa-internet-neutrality- idUSKBN0KG2DU20150108)

Maybe the usual ideas about "regulatory capture" aren't as accurate as they seem.

<comment><USER5> [http://www.reuters.com/article/2015/01/08/us-usa-internet- ne...](http://www.reuters.com/article/2015/01/08/us-usa-internet-neutrality- idUSKBN0KG2DU20150108)

Downvoting this story doesn't make it untrue.

</comment></comment></comment></comment><comment> 0x5f3759df-i Some criticisms from the group Public Knowledge:

[https://www.publicknowledge.org/press-release/public- knowled...](https://www.publicknowledge.org/press-release/public-knowledge- expresses-strong-concerns-about-sen.-thunes-net-neutrality-discussion-draft)

This bill leaves plenty of holes for ISPs to abuse. Here is a few pieces of that article:

\- Allows discrimination in violation of the principles of the Open Internet.

>For example, these principles would not have prevented AT&T from limiting FaceTime to particular tiers of service – as it tried to do in 2012. It would not address discriminatory use of data caps, such as Comcast has used to favor its own streaming content over that of rivals. It would not address potential issues arising at Internet interconnection, the gateway to the last mile. Even worse, by eliminating any flexibility on rulemaking or enforcement, the bill would prevent the FCC from addressing any new forms of discrimination and threats to openness that arise.

\- Does not effectively block 'fast lanes.'

>Even with the protection the draft does provide – addressing blocking, fast lanes, and throttling – it opens a huge, undefined loophole of 'specialized services.' As this draft reads, Comcast or AT&T or any other provider can offer its over-the-top online streaming service as a 'specialized service' and give itself prioritized service. Companies could essentially sell prioritized service to specific applications or content simply by calling these fast lanes 'specialized services.'

\- Consumers lose protections while special interests gain new ones.

>But while consumers lose, Hollywood wins. The draft contains a special carve out so that broadband providers can act as Hollywood's special enforcers

\- Enforceability.

>This draft would prevent the FCC from providing more clarity about what behavior runs afoul of the stated Internet openness principles. By requiring that the FCC only hear complaints, only the most well-heeled and well-lawyered companies and individuals may be able to enforce their rights.

This bill is a wolf in sheep's clothing if I've ever seen one. Hopefully The President sticks to his statements and vetos this if it gets pushed through.

</comment><comment><USER6> Reading other news sources[1]:

> Much of the language was lifted directly from the FCC's 2010 Open Internet > Order, which was thrown out in court last year.

[1] [http://www.theverge.com/2015/1/16/7558715/net-neutrality- new...](http://www.theverge.com/2015/1/16/7558715/net-neutrality-new- republican-bill-limit-fcc)

</comment><comment><USER7> Would this have stopped Comcast from letting Netflix slow to a crawl? I dont think so.

There are always loopholes, and it would take years for the courts to determine if Comcast was breaking the law.

<comment><USER8> Netflix's famous slowdown may have been the fault of Cogent, Netflix's direct vendor, moreso than Comcast. See:

[http://blog.streamingmedia.com/2014/11/cogent-now-admits- slo...](http://blog.streamingmedia.com/2014/11/cogent-now-admits-slowed- netflixs-traffic-creating-fast-lane-slow-lane.html)

</comment></comment><comment><USER9> I would like to see net neutrality force uploads and downloads on service provided to consumers be equal. 50megabit service, allows 50megabit upload.

<comment><USER10> No, you actually dont. All ISPs operate on oversubscribing each available meg. If they did what you are proposing, the only options would be 1 mb up/down stream, 3 MB up/down speed, and 5 mb up/down speed.

Many ISPs have 100-10,000x over subscriptions per meg

<comment><USER11> I think asymmetric links and oversubscribed link are apples and oranges.

<comment><USER10> how so?

</comment></comment></comment></comment><comment><USER12> tel·e·com·mu·ni·ca·tion ˌteləkəˌmyo͞onəˈkāSH(ə)n/ noun communication over a distance by cable, telegraph, telephone, or broadcasting. the branch of technology concerned with telecommunication. plural noun: telecommunications formal a message sent by telecommunication. plural noun: telecommunications

But sure, let's pretend that the FCC shouldn't have the right to regulate ISPs, or that somehow ISPs aren't telecommunications companies</s>

</comment><comment><USER13> It would be great to get things like this out of the hands of arbitrary-law- makers (aka regulators).

<comment><USER14> I agree with you. Government regulation of the internet is going down the wrong hole. It's odd that opposing opinions can't be discussed on HN. They're just downvoted into oblivion and a hivemind forms.

<comment><USER15> It isn't government regulation of the internet. It's government regulation of cable companies that provide the internet.

I don't want the government monitoring or restricting my internet. I _would_ like the government to prevent companies from doing that to me.

<comment><USER16> > It isn't government regulation of the internet. It's government regulation > of cable companies that provide the internet.

I think this is a distinction without a difference.

It isn't a restriction of free speech. It's a restriction on what the newspapers can print to deliver the speech.

<comment><USER17> > It isn't a restriction of free speech. It's a restriction on what the > newspapers can print to deliver the speech.

It's a restriction on bus drivers refusing passengers based on what newspaper they're reading.

</comment></comment></comment></comment></comment><comment><USER18> It sounds like the intention is actually much better than net neutrality - <USER2> claims to be trying to encourage a more competitive market. Proper competition would make net neutrality irrelevant, and would actually serve people better. For example, speeds would go up as providers actually compete for customers instead of having local monopolies.

<comment><USER19> Do you really think the intention here is for more competition? Perhaps this is more regulatory capture?

</comment></comment><comment><USER20> They are just getting warmed up for 2015

Imagine if they grab both sides of washington in 2016 and then the supreme court nominations by the end of this decade.

Country will become a wasteland.

</comment><comment><USER21> Republicans: always just slightly worse than Democrats. Great choice last November, America! You surely won't regret it for decades.</comment>


3 reasons to use MongoDB - <AUTHOR> http://ryanangilly.com/post/1091884265/3-reasons-to-use-mongodb

<comment><USER3> Really, the #1 reason to use MongoDB (if you're me, anyway) is to save development time associated with making your relational schema start small and change as your new app progresses. I feel a smug sense of joy every time I add a field somewhere, or delete another, or create some kind of nested document. It's taken me a while to really understand how many compromises I used to make because changing schemas is a pain in the ass.

Simplified queries, though, are a knock against mongo. Joins are great and I would like to do joins on my Mongo documents, but I end up having to replicate a lot of that in code. Sure it's nice that a document can be more complex and you don't spend a lot of time moving things into tables that are really part of the same record. It's nice because it's not _forced_ , though, not because keeping data in different tables is always the wrong way to do things.

<comment><USER4> I use PostgreSQL and change my schema constantly, adding/removing columns, changing data types, switching around foreign key constraints, all within safely guarded transactions that I can roll back if I realize that I'm doing something wrong. (And yes: adding/removing/renaming columns is "instant": it doesn't actually do the work of rewriting existing rows on disk.)

Frankly, I also use MongoDB, and I'm terrified of screwing much with the schema, because then I either a) have to make certain I have anal documentation about what fields are in use on what subsets of objects, keeping code around to make certain to detect and interpret old kinds of data, or b) use "simplified queries" (really, write a bunch of manual code as if I didn't have a query model at all) in order to find and update these old objects, non- atomically and with no transaction safety.

Seriously: the only reason I've so far heard for why having dynamic type verification in my database server is valuable is when you have /so much data/ that it is now fundamentally infeasible to make changes to it with any centralized transaction control--specifically, Google's "it's always the interim somewhere" scenario--not because it is somehow more convenient to do so when you only have in the tens of millions of rows.

</comment></comment><comment><USER5> Three warnings when using mongodb. None of these are enough to say not to use it, but they're things you need to watch out for:

1\. Don't run javascript on a production db node. db.eval locks the node it's running on until it finishes, so the performance of that node will go down the tubes. Mapreduce is less bad in this regard because it does yield, but it does so too infrequently. If you want to use mongo's built-in javascript interpreter for anything other than development and administration, set up a slave to run your scripts on.

2\. Don't use 1.6.1. If you're using 1.6.1 right now, upgrade to 1.6.2. 1.6.1 has a nasty crashing bug that had my mongo node going down about once a day and not coming up without running --repair.

3\. Evaluate how much data loss costs you. Mongo stages writes in memory, and so if the db crashes hard it's likely that there will be some data that hasn't made it to disk yet. If you're building a social network the cost of some potential data loss is probably much less than the savings in hardare, admin costs, development costs, etc. But if you're a payment processor or a gambling site, stick with postgres.

<comment><USER6> > If you're building a social network the cost of some potential data loss is > probably much less than the savings in hardare, admin costs, development > costs, etc.

This also depends on what is being stored. I would be unhappy if Facebook lost any of my data, and my understanding is that they use safe storage mechanisms (ones where the commit goes all the way to disk before returning) for everything except transient views like the news feed and search. Also, I don't think it's clear that MongoDB has significantly improved either admin or development costs over its safe competition, so we probably only need to look at performance wins.

</comment></comment><comment><USER7> 4) For web apps at least, it's nice to get data back in json format that you can give to the browser immediately without having to build your own json object each time. MongoDB saves you development time at every level. Add to the fact that it is easy to horizontally scale.

I'm using mongodb right now and the synergy between jquery - node.js - <USER2> is simply amazing.

<comment><AUTHOR> Totally agree.

</comment></comment><comment><USER8> I like the idea of Mongo and have read about it but my relational mind can not be unwrapped. Maybe I am trying to complicate things too much. In that example if you have multiple people attending one event and you want to update the event name, do you have to go through all the people and all their events and update each one? Seems like that would be a lot of work, unless there is a way to query for that type of thing? And if there is a query, is it efficient? Seems like behind the scenes mongo would just be iterating through the users, but I'm sure there is more to it than that.

<comment><USER5> In real life you would have a users collection and an events collection, and the events field of users would be an array of event ids.

<comment><AUTHOR> My first response was "not necessarily," but I'm gonna ratchet it up a notch to a flat out "you're wrong."

Storing event_ids as an array in the events field defeats the whole purpose of organizing your data into rich documents.

In real life, you very well could build something where the events info was built straight into the user record.

</comment></comment></comment><comment><USER9> The reason you don't keep files in your database is that file systems are much better at handling files. Faster, more efficient, basically all the reasons that a single-purpose layer tends to be faster than a general-purpose layer.

Databases are much better at handling discrete data than file systems - that's what they are built for. Sure, I could keep my data in a bunch of little files, but that doesn't work as well.

(MS SQL has a feature where you "store" the file in the database, but the db writes the file to the filesystem, and just maintains a pointer to the actual file - not a bad hybrid)

I don't know how well GridFS stacks up (it is on my todo list), although I do like the idea of replication and sharding being built in. My gut (which has been wrong before) says that it is good for websites, not so good for general storage.

I use MongoDB for the same reason as mrkurt: prototyping new schemas is a breeze. I still find myself reaching for the old RDBMS toolbox as things move along, grow, and stabilize. Sometimes, a JOIN _is_ the right tool for the job.

<comment><USER10> "file systems are much better at handling files"

What about batch processing a large number of small files? say 10 million image files of 500KB. A typical file system will need to seek each small file.

I wonder if GridFS stores small files in blocks to allow efficient batch retrieval for processing.

<comment><USER11> GridFS is just a standard convention of how to map files to key-value stores like MongoDB -- you can implement GridFS over MongoDB in just a few lines of Ruby code. GridFS breaks files into fixed-size chunks, and uses a single MongoDB document per chunk. It's not exactly rocket science.

The author of the blog post touts it as a _feature_ of MongoDB, but it's more accurate to say that it's an artifact of MongoDB's 4MB document size limit -- you simply cannot store large files in MongoDB without breaking them up. Sure, by splitting files into chunks you can parallelize loading them, but that's about the only advantage.

Among the key-value NoSQL databases, Cassandra and Riak are much better at storing large chunks of data -- neither has a specific limit on the size of objects. I have used both successfully to store assets such as JPEGs, and they are both extremely fast both on reads and on writes.

Neither is built for that purpose, and will load an entire object into memory instead of streaming it, so if you have lots of concurrent queries you will simply run out of memory at some point -- 10 clients each loading a 10MB image at the same time will have the database peak at 100MB at that moment.

Actually, Riak uses dangerously large amounts of memory when just saving a number of large files. I don't know if that's because of Erlang's garbage collector lagging behind, or what; I would be worried about swapping or running out of memory when running it in a production system.

<comment><USER12> You actually list one of the advantages of GridFS right there in your post: streaming. If you are serving up a 700MB video, you don't want to have to load the whole thing into memory or push the whole thing to the app server before you can start streaming. Since we break the files into chunks, you can start sending data as soon as the first chunk (256k by default) is loaded, and only need to have a little bit in ram at any given moment. (Although obviously the more you have in ram, the faster you will be able to serve files)

</comment></comment></comment></comment><comment><USER13> To my (limited, I admit) knowledge of databases every one of these reasons was a reason to use CouchDB as well.

When the author got to the real arguments, he kept comparing MongoDB to SQL databases and the jab at CouchDB (and the other non-relational databases) seemed without merit to me.

I'm sure there are good reasons to use mongo over couch but I don't think they're the ones listed here.

</comment><comment><USER14> 4) You're using a 64-bit OS. <http://blog.mongodb.org/post/137788967/32-bit- limitations>

</comment><comment><USER15> MongoDB is elegant and remarkably powerful. Every developer should run through the excellent getting started tutorial they have for it, as it really is eye opening.

<http://www.mongodb.org/display/DOCS/Tutorial>

However I have to respectfully disagree on the "Simple queries" bit. The SQL example given is kind of terrible, however how about-

SELECT * FROM users WHERE id IN (SELECT user_id FROM events WHERE published_at IS NOT NULL)

or

SELECT * FROM users WHERE EXISTS (SELECT 1 FROM events WHERE published_at IS NOT AND user_id = users.id)

 _(Never use group by as a surrogate for IN/EXISTS. It forces the server to do a lot of unnecessary work)_

Is that really unintuitive? Perhaps it's just acclimation, but I find those incredible easy to grep, with the MongoDB example being a variant of the same thing.

Of course that's just for very basic queries. Aggregations in MongoDB are far from intuitive (<http://browsertoolkit.com/fault-tolerance.png>).

<comment><AUTHOR> I'm no SQL guru, but won't that subselect will break down when users and events grow to the millions?

I probably should have thought out the example a little more. We don't ever actually write that kind of query against our production database @Punchbowl. We have a data warehouse pull out high level stats every night, and we query that.

WRT aggregations, you're right -- they do require a bit of acclimation. Once you write a few, though, you're good to go.

<comment><USER11> > I'm no SQL guru, but won't that subselect will break down when users and > events grow to the millions?

Databases like PostgreSQL are excellent at performing joins -- which is all this subselect really is, namely joining two relations -- even when the datasets are quite large.

But this particular MongoDB query comparison is pretty worthless, since it's simply giving an example of denormalization, a concept which is equally applicable to relational databases -- the main difference being that with MongoDB, you hardly have a choice in the matter, since joins don't exist.

Don't get me wrong, I love MongoDB, but there are much better reasons to use MongoDB, such as the fact that every document is a flexible data structure, not a strict collection of columns. You can add keys and values as you choose, and store them as arrays or sub-documents depending on the encapsulation you need, etc.

So generally you will have an easier time working with data and being impulsive about it, than the square-hole-fitting-only-square-pegs model of relational databases, which require more planning and schema design, which in turn tends to squeeze all the fun out of working with databases.

There are pros and cons to both approaches, of course. MongoDB is not as mature as modern relational databases, by far. On the other hand, it has a nice feature which nobody apparently mentions: With MongoDB, the old relational theorist's pet peeve about the meaning of null values becomes moot, because in MongoDB a null value (ie., a missing value) is simply a value which is not there, ie. its key is simply not there. That's much better than null values!

Another advantage is the ability to work with hetereogenous collections of data without having to jump through too many hoops. For example, you can have a collection (table) called "publications". In this table you can store different kinds of publications: Books, magazines, comics, newspapers and so on. Each type of publication may have some common fields, but many have type- specific fields -- hence, hetereogenous data.

A relational database designer will tell you that in the relational world, you would denormalize. A central "publications" table with all the common columns, and then tables "books", "magazines", etc., with each table having their type- specific columns, and also having a foreign-key reference back to the "publications" table. Fine. But think of all the joins you will need just in order to list all and query this stuff; if you have only the publication ID, you have to go through all the tables to determine what type of publication it is. There's not just the performance aspect. The relational model is quite different to how people _think_ about data. MongoDB is easier on the brain, that way.

<comment><AUTHOR> > Don't get me wrong, I love MongoDB, but there are much better reasons to use > MongoDB, such as the fact that every document is a flexible data structure, > not a strict collection of columns. You can add keys and values as you > choose, and store them as arrays or sub-documents depending on the > encapsulation you need, etc.

Yup. I dropped the ball on this one. Should have a list of 4 reasons. :)</comment></comment></comment></comment>