How to find a business co-founder - <AUTHOR> http://www.jeffreytalajic.com/2011/03/how-to-find-a-business-co-founder/

<comment><USER2> Jeff could not agree more with #1 - go to as many networking events as you can...as good entrepreneurs will self select. I tend to network 2-3 nights a week in Boston and its quite evident who are the real hustlers and who are the "hobbyists".

I have been networking hard for a year or two and have already identified 3-4 people i would no question invest in starting a company with.

<comment><AUTHOR> Great word: "hobbyists" -- there's a lot of these types who attend events and are curious, but aren't true hustlers.

<comment><USER2> Thanks man. I find hobbyists aren't fully committed and look at entrepreneurship as "fun". Hustlers, also think and know entrepreneurship is fun...but its in their blood, they can't sleep at night. Or if you are like me...you email yourself ideas while lying in bed at 2 am haha.

</comment></comment></comment><comment><USER3> From my experience in the corporate world as well as the small business world, the business people who use more jargon and buzz words (out of place) are usually compensating.</comment>


Google and Facebook Have Failed Us - <AUTHOR> https://www.theatlantic.com/amp/article/541794/?single_page=true <comment><USER6> Zeynep Tufekci had a couple great columns about this recently regarding FB and the US elections this year. While I recognize that there's always a concern about who the gatekeepers get to be in the marketplace of ideas, I think this is a considerably more complex issues than "let all the information go wherever it wants and let the people sort it out"

Putting 4Chan in a top news slot is not "allowing unedited and unfiltered access to information", it is algorithmicly promoting a cesspool of disinformation into a spot that many users believe is fairly authoritative. There is no way to "not make a choice" here and let information be free. There is only figuring out ways to filter and sort the firehose of information that is now at all of our fingertips. (A situation, I should add, that human brains are not necessarily prepared for)

[https://www.nytimes.com/2017/09/29/opinion/mark- zuckerberg-f...](https://www.nytimes.com/2017/09/29/opinion/mark-zuckerberg- facebook.html)

[https://www.nytimes.com/2017/09/23/opinion/sunday/facebook-a...](https://www.nytimes.com/2017/09/23/opinion/sunday/facebook- ad-scandal.html)

<comment><USER7> > into a spot that many users believe is fairly authoritative

I mean that's the real issue. You can't be unbiased while trying to be a source of truth. You can be impartial and return results based on relevancy or you can intervene in an attempt to return the truth. Google has ventured into dangerous territory by mixing the two -- especially with their automatic snippets that answer questions.

> There is only figuring out ways to filter and sort the firehose

But it's an unsolved problem for how you put the control of this filtering into the users hands. The best we have right now is to just return everything and let the users choose what to pay attention to.

<comment><USER8> The unfiltered results ARE the truth. 4chan is the truth. In the sense that "Someone posted this thing on 4chan." And that's the only truth there is in internet-land: Someone posted something.

Is it real? Is it true, what they posted? Or is it "fake news?" You will never know, and you probably shouldn't try to take it that far. Or if you do, at least be able to handle the cognitive dissonance of believing it and not- believing it at the same time. The only thing you can truly know is what you witness in person. Or perhaps what you hear from trusted parties, but even there, your trust may be misplaced, or they may report something false in good faith that was the result of their having been deceived or mistaken. And you can misperceive and twist reality even all by yourself in the presence of supposedly non-subjective and "real" stimuli.

Regardless, from the vantage point of "looking at a computer," all you know about anything you see there, is that someone put it there. And even the "someone" part isn't necessarily true... it could be AI-generated like some sports and financial news is now.

The good news is, that which you can't witness with your own eyes, rarely has any real effect on your life. I'm experimenting with that. The sun still comes up, and it's still time to get some shit done. Sure sure, of course there are myriad ways someone or something far away can have an influence on me. What I'm saying is, what if you _ignore_ that? What if you construct a mental model of the world where it's actually not one big joyous tapestry of unity and interconnectedness, but just a fragmented patchwork and you have your own little square and that's it. Neither view is right per se, but they're both equally valid, which is to say, bullshit, yet incontrovertible to those who believe it. I'll say one thing though, take the fragmented view and suddenly you don't especially find yourself immersed in news of shootings and Google can't "fail you" because you don't rely on it as a window to the world - <USER2> only use it for what it's actually good at: looking for shit on the internet.

<comment><USER9> > The only thing you can truly know is what you witness in person.

> The good news is, that which you can't witness with your own eyes, rarely > has any real effect on your life

Not only anti-rationalist and anti-Enlightenment, but you're even disagreeing with object permanence!

<comment><USER10> > Not only anti-rationalist and anti-Enlightenment, but you're even > disagreeing with object permanence!

And not even "not only" that, it also veers into the dirty movement of muddying the waters of responsible reporting, into a discussion of "what is truth really?". When "nothing is true", every venue from 4chan to infowars is _equal_ in its _non-truth_ to AP/Reuters/WaPo/NYT/Atlantic/etc.

When all media is fake, listening to Alex Jones talk about water supplies making children gay is somehow legitimized.

<comment><USER8> Yeah no it doesn't. Just one more thing to ignore. Unless I personally saw someone turn gay from drinking water, but even if I thought I saw that, I wouldn't totally believe that either.

And I did mention trusted parties, which could be a reporter. You guys are just not in the mood for philosophising tonight I guess. You want to be certain of things. Disappointing response. Should've avoided the term "fake news." It's Pavlovian.

</comment></comment></comment></comment></comment></comment><comment><USER11> I think there's already too much filtering.

People need to make up their own minds regarding what is true and what isn't, what's worth their time and what's bullshit, which links to click on and which to avoid. If people can't handle this then we need to spend more money on education, or just accept that some people disagree with us.

I don't think aggressively filtering "untrustworthy" content will lead to a net benefit.

<comment><USER12> These platforms have hyper-optimized their products to show as much stuff as possible that people will engage with (share, click), so that they also engage with ads and stay active.

The problem is there is often some time when there is no news. No news isn't interesting, so it doesn't get shared as much as "news". Take the moments immediately following a disaster. Two types of news articles will show up:

"There was a shooting. We don't know anything yet, but we will keep you posted". Boring.

"We know who the killer is. Bobby Bobertson done it". Woah!

Now imagine you are a heavy social media user. You don't want to stay silent on such a big news story, so you want to share something showing you are engaged. Which story do you share?

(edit: removed duplicate "the problem is")

<comment><USER13> This comment is absolutely right. The algorithms are not optimized to inform people, they are optimized to maximize the number of ads people click on while consuming whatever content the algorithms promoted to the top.

This is at best a conflict of interest when it comes to content that ought to be viewed as news. But there is significant pressure these days to blend news with entertainment (which simply means engagement, which entails ad sales).

</comment></comment></comment><comment><USER14> I dont know if i could disagree with the author more.

They didn't fail me. I don't want or need to know about shootings, crashes, floods, etc. Not instantly, anyway. I did not seek news in las vegas: I avoid it.

If anything the previous news gatekeepers got us used to believing that if we dont stop everything we are somehow uncaring. So plane crashes, shootings etc hold a "insta-pass" to news. All hands on deck approach.

To me, the authors premise of FB and G as bad gatekeepers is wrong. Information is hardly ever right right away. Nobody i know expects that. Even with that, i believe people know the difference between a photo sharing site, a email and search/map site and a news organization.

<comment><USER15> I worked at Google News for 5 years, and completely agree w/Alexis. Google promoted 4Chan as a top result for people who wanted to know about Las Vegas; that's a fail, period. It is a fail. It should not have happened; it should not happen again; it should never happen.

Great, maybe you personally weren't fooled. That's entirely and totally irrelevant since there are 7 billion people on the planet and Google (and FB and everyone else) wants to serve all of them. Not all of whom are exactly like you.

Google fucked up, admitted it (kinda) and needs to do better. Period. Not hard to understand.

<comment><USER16> > that's a fail, period.

I disagree. If that's what people are viewing and if that's where the discussion of the news was happening then google should reflect that.

If 4chan was the only source google was pushing then fine. But as long as google is posting a wide variety of "news", then anything, including 4chan should be allowed.

Edit: People forget that the TMZ and even the inquirer used to be attacked also but they have produced fine journalism from time to time. And establishment organizations like Rolling Stone, The Atlantic, NYTimes, etc have produced terrible journalism from time to time.

No entity has a complete monopoly on facts and news. We should have diverse set of news/opinions/etc.

<comment><USER17> > discussion of the news

That's the problem. If I get the article right, Google listed results from 4chan in their news boxes that appear above search results –– and that's a problem because in this place you'd expect trustworthy information and not just some speculation.

Listing a discussion (even if it's on 4chan) within the regular search results is not a problem and not what the author is criticizing.

</comment></comment></comment></comment><comment><USER18> The reason why those of us on this forum can tell the difference between good and bad information is because we received a good education and learned critical analysis skills.

Facebook, Google and the internet in general are an objectively bad source of knowledge. They are subjectively good sources of knowledge.

The vast majority of people do not have the skills to use the internet as a source for good knowledge.

The contents of the average library contain better knowledge than the internet. The contents of a library at a world-class University and even more- so.

The internet is the most overrated institution of contemporary society when it comes to obtaining knowledge.

It is somewhat good for entertainment but probably not better than your average game of Dungeons and Dragons.

<comment><USER19> > The reason why those of us on this forum can tell the difference between > good and bad information is because we received a good education and learned > critical analysis skills.

We really need to stop congratulating ourselves on how smart we are and _we_ would never fall for such blatant lies, because we are such highly-educated critical thinkers. There are a bunch of silly beliefs that we witness even amongst us like Steve Jobs wanting to cure cancer with unorthodox dietary changes, that having no gender parity in tech is both good and natural, or this medical doctor with a respected career who believes the earth is flat:

[https://www.gizmodo.com.au/2017/03/the-men-who-believe- the-e...](https://www.gizmodo.com.au/2017/03/the-men-who-believe-the-earth-is- flat/)

We're all vulnerable to believe and defend the silliest things and then call ourselves critical thinkers while we do so. We can all be tricked. There are well-documented, effective methods to make us perceive and believe any number of things. Illusionists and magicians make a living out of doing this overtly; journalists and politicians do so less transparently.

Quite frankly, half the time I'm walking around slightly horrified that perhaps I'm believing and defending the stupidest lies and I think everyone else should feel the same way at least part of the time.

<comment><USER20> Do you believe Steve Jobs could not have told you the statistics on treatment for the normal treatment for the cancer he had? Or that he was not aware that most reputable literature on homeopathics is less than encouraging? Turning the stables do you feel you have access to all the information necessary on his situation and logic to be able to accurately judge his actions?

Society as a whole is becoming increasingly arrogant. If an individual does not agree with "us" that they must be somehow wrong, misinformed, or illogical. The reason for this is easy to understand. We all hold the beliefs we do because we hold them to be the most logical and justified. So somebody who doesn't hold such beliefs must be wrong, and we need to "fix" them. Yet of course the exact same is true of people who hold differing beliefs.

And this is in no way to suggest that both sides can be right on issues where there is indeed a clear answer. On many issues one side will be wrong, and one side will be right. And this is perfectly fine. It is critical in society that people are at liberty to make decisions that we may not consider logical, or even appropriate. Elon Musk deciding to spend all of his fortune attempting to start up an aerospace company and an electric car company is certainly something that very few would call a logical endeavor. It is missing the gravity of such risk to suggest it's only money. He gets emotional to this day when speaking of his time then - one can only speculate what would have happened had everything collapsed; there was certainly much more than money at risk there. But he succeeded. So we regard him as brilliant instead of a misguided fool, illustrating the absurdity of our labeling.

If you want something other than money, consider the history of penicillin. Now considered one of the most important medical discoveries of all time - <USER3> whole concept of injecting mold into one's body to inhibit bacteria is not exactly what most would call logical. And for years his discovery was completely disregarded by the public and by medical science. And that's fine - but it's also fine that people are free to pursue outlandish avenues and ideas without condemnation and judgement other than "Well, that's not what I'd think given the body of evidence available."

<comment><USER21> You're imagining Steve Jobs made some sort of rational choice. It sounds like he pretty much ignored the facts, as well as the advice of family and friends. Here's his biographer's quote to CBS:

"I think that he kind of felt that if you ignore something, if you don't want something to exist, you can have magical thinking. It'd worked for him in the past. He regretted it."

</comment></comment></comment></comment><comment><USER22> Google is more a conduit of news rather than a gatekeeper. FB is both a gatekeeper and a conduit to news as well as a news producer (since it pays or underwrites some orgs to produce news for it).

That said, I think The Atlantic is wrong in placing blame on Google when they themselves engage in questionable journalism (clickbait as well as often biased news-source).

There is no way we're going to come up with something "objectively truthful" because, news as it exists today is not about facts. It's journalism and journalism has always been about putting a slant on things --quoting unauthoritative sources ("man named Joe claims," etc.) loose factchecking, and more. All to sell more news (packaged with ads or for subscriptions, where you don't want to alienate your subscriber "base".

This is an attempted landgrab by establishment news orgs to corner what is news. They want to be the only sanctioned sources of news and punish alternative sources --using an obvious outlier to promote their pov.

<comment><USER23> > There is no way we're going to come up with something "objectively truthful" > because, news as it exists today is not about facts. It's journalism and > journalism has always been about putting a slant on things --quoting > unauthoritative sources ("man named Joe claims," etc.) loose factchecking, > and more. All to sell more news (packaged with ads or for subscriptions, > where you don't want to alienate your subscriber "base".

I look at it much differently: Nothing is perfect, no news source, no politician, no text editor, no scientific theory. They all fail our ideals but some are a lot better than others, some are a little better, and as others have pointed out in this discussion, an essential skill is to differentiate between them and also to assume the uncertainties of imperfection and to read critically.

To throw together all journalism as 'imperfect' is like throwing together all science, from the theory of evolution to latest upload to arXiv, as all a failure because it's imperfect. Yes, read Darwin critically, but don't conflate his work with everyone else's. The more I accept inevitable human imperfection, the more I'm amazed by people like Darwin and by organizations like the NY Times, which cranks out a very good, very difficult product on an amazing schedule. That they and others accomplish all of that under the constraints of humanity is truly amazing to me.

> The Atlantic is wrong in placing blame on Google when they themselves ...

We're kind of stuck with ideas from hypocrites, at least until the great AI awakening - and if it's strong AI, hypocrisy might be the first sign that it's working.

<comment><USER22> I think the Atlantic wants it's cake and eat it too:

>The problems with surfacing this man's group to Facebook users is obvious to literally any human.

So it's obvious to any human, yet people aren't good enough to differentiate fake from real news.

>Most people who joined the group looking for information presumably don't know that the founder is notorious for legal and informational hijinks

I mean, the author is picking and choosing anecdotes to make a point in order to further their agendum.

On the other hand I agree with you but it's irrelevant to the authors' point. The author, I would posit, is not really interested in sourcing better news (it's not impossible, for example, for 4chan to have the best info on a particular issue (via a contributor) while The Atlantic may have none. But they are arguing a 4chan should not be surfaced at all --not that 4chan should be better scrutinized and only surface accurate information.

It's an underhanded and opportunistic attempt to delegitimize non professional journos and build a moat around the "profession".

</comment></comment></comment><comment><USER24> Google is all about filtering. It doesn't just show you a random selection of every page on the internet containing your search term. Instead it applies subjective criteria to present you with what Google thinks would be the "best" results for you.

This is why people use Google.

So I don't understand when people make the generic argument against filtering, that filtering is categorically bad and Google shouldn't be in the business of deciding what we see and don't see. That's the whole point of Google!

<comment><USER25> > This is why people use Google.

Wait, what? I use it _despite_ that. Since 2000. Everybody seeing the same search results was never a problem, and sometimes even useful. There is a wide area between "just show random pages" (which probably not even the first prototype of any search engine ever did) and a "personal" filter you can't configure at all.

<comment><USER24> I don't mean the filter is personalized to you, I just mean that there is a filter! That is, Google doesn't believe every website is equally "good", they Rank Pages based on subjective criteria.

I just don't get why no one has a problem with Google trying to filter out spam (even though it can't be detected with 100% accuracy) but trying to prevent 4chan/GatewayPundit's blatant and obvious lies from being elevated is a place to take a principled stand.

Where are the tears for the spammers and scammers who have been so unfairly censored by Google for so many years?

<comment><USER25> > I just don't get why no one has a problem with Google trying to filter out > spam (even though it can't be detected with 100% accuracy) but trying to > prevent 4chan/GatewayPundit's blatant and obvious lies from being elevated > is a place to take a principled stand.

What does this have to do with _personal_ filters? Yes, there are filters, Google has to "make decisions", and parse language. That's a given. But that doesn't require showing different things to different people.

With a personalized algorithm behind the curtain, googling for "Pizza" might show you where to get Pizza near where you are, and let's say "Pizza in general" would give the results that just typing "Pizza" without a personal filter would give. So you have "Pizza / Pizza in general" vs. "Pizza shop in $city / Pizza". Big deal? What was gained here? You trade some convenience for the impossibility to get the search results everybody else is getting.

When I ask someone what they think is the X-est Y, and they first have a list of questions for _me_ to answer first so they can tailor their response to me -- not to clarify the question, mind you, but so they can tell me something I might like to hear -- I won't be asking that person for their opinion again.

> they Rank Pages based on subjective criteria.

That's not how it works:

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

<comment><USER24> I feel like we're talking past each other. Personalization of search results is orthogonal to this article and discussion so I'm going to pass on responding to your points there.

As for PageRank, I really appreciate the Wikipedia link. Super helpful. If you're arguing that PR is not subjective because it uses an algorithm, my response is: the algorithm encodes subjective judgements about how to evaluate "quality" in a web page. For example, the subjective judgement that a web page is likely to be of higher quality if there are a lot of other high quality web pages that link to it.

</comment></comment></comment></comment></comment><comment><USER26> It's rather bold for the Atlantic to complain about low quality news when they have clickbait garbage at the bottom of every article.

<comment><USER27> It's not either/or; many high quality news sources have clickbait rubbish stories to help pay the bills for the more expensive, higher quality reporting. It's either that, or paywalls (or both)

</comment></comment><comment><USER28> Not 100% surprising that journalists would view the machines that have wrested control of the news from them with hostility. Facebook definitely could use improvements, and it sounds like Google's search ranking in these rare kinds of situations could too, but the vitriol here — and the suggestion to replace machine ranking with ... surprise, journalists! — makes it seem like the "Us" who've been failed by ranking algorithms might specifically refer to The Atlantic.

<comment><USER29> You are right, but on the other hand, we pay Facebook dearly with our personal data and in return we get to do the work journalists should do, of navigating in a sea of information, most of it fact-free. There must be a more fair distribution of time and income.

</comment></comment><comment><USER30> Google and Facebook have failed the Atlantic which is seizing on tragedy to imply only sanctioned media (them of course) should be available through Internet searches.

However most of the rest of us are not failed as we already know results from 4-Chan probably aren't accurate.

Please stop failing all of us with this desperate bid to get back in control of information dispersal there The Atlantic. I'd much rather see a smattering of nonsense and be able to make that determination for myself rather than you deciding what should be available for viewing.

<comment><USER31> Why is this getting downvotes? It's spot on. The "mainstream media" have been failing us for years, yet now suddenly it's all Google's and Facebook's fault that people are getting inaccurate information fed to them?

<comment><USER32> +1

<comment><USER33> +1 There are plenty of brave journalists/bloggers but very few editors or corporate media vehicles prepared to publish their investigative reporting. I wouldn't dream of using FB as a go to 'news' source, while Google is essentially an aggregator/curator of information sources I may or may not take seriously. The idea that these lightweight websites should somehow be the gatekeepers of 'the truth' is pretty offensive. I prefer to triangulate across multiple sources and make up my own mind base don the information I uncover. Example: [https://lasvegassun.com/news/2017/oct/02/gunman-who- killed-5...](https://lasvegassun.com/news/2017/oct/02/gunman-who-killed-50-at- las-vegas-concert-was-reti/)

A lead story in the local Vegas newspaper states the alleged gunman was a multi millionaire property owner. Is this true? I have no way of proving it but it is certainly food for thought...

</comment></comment></comment></comment><comment><USER34> The article is placing the blame on Google and Facebook when it should be placed on us, the "consumers" of media. We need to take a look in the mirror and understand who we are and what we want.

Ask yourself. Really ask yourself:

\- What kind of information am I looking for and why? Am I just a digital rubbernecker? Do I want to break this story at the watercolor? Or do I need to know if a loved one was hurt?

\- Do I need to know shortly after an event occurs or am I able to tolerate a little bit of delay in my gratification?

Shortly after an event, there are many stories and they haven't yet been synthesized into one narrative. There are people who want to capitalize on tragedy and their voices are part of the mix. Over time, the noise is stripped away and what we get is the official narrative and that is one we can "count" on. If you are willing and able to wait until the official narrative comes out then a) congratulations, you have will power unheard of in this day and age, and b) you get the benefit of skipping all of the intermediary chaos states.

If you understand why you need to know and when you need to know it, then you can control the quality of the news you expose yourself to.

<comment><USER35> These kinds of statements seem deep and meaingful, but ultimately they are vaccuous.

The only reason any market entity exists is because people buy things from them, its the buyers fault.

The only reason corrupt governments exist is because the people elect them, or at the very least don't overthrow them, its the governed's fault.

Its a stupid oversimplication that places all the blame on the giant, vauge, and futile "everyone", while ignoring incentive structures and pretty much every ounce of nuance and sublty.

Not to mention that it totally ignores how entities like the aformentioned, and amagoosoftbook shape our preferences, both actively, and unitentionally.

Its a hopeless putdown of basicly any ability for anything to change, ever.

<comment><USER34> I am speaking specifically about this particular article and the topic it is covering.

Whatever assumptions you used to arrive at your conclusions were introduced by the story you wanted to tell. I'd rather you didn't extrapolate from what I wrote.

Ask me nicely and I will tell you why fixing Facebook and Google are not the answer.

<comment><USER36> The original replier doesn't sound as if they're extropolating to me. You're also telling a story, and shouldn't be the only one in the conversation to do so.

> Over time, the noise is stripped away and what we get is the official > narrative and that is one we can "count" on.

I'd ask why fixing Facebook or Google isn't the answer, but that would play into _your_ extropolating narrative. Instead, why shouldn't Google and Facebook be responsible, and held accountable, for posting absolutely fake news automatically? It's not a "firehose" or "unsubstantiated" information, it's projected as "news".

<comment><USER34> You've simply restated the problem. Why not contribute to the discussion?

How would you fix Google and Facebook? How would you hold them responsible and accountable? And why?

<comment><USER36> > You've simply restated the problem. Why not contribute to the discussion?

I'm sorry, but I've already asked a direct question and do not consider it a restatement of the problem.

<comment><USER34> It really would be a better exercise for you to think through how you would actually hold them accountable.

What service do they provide, concretely? What are their SLAs? What does your contract with them say? Every service is a contract between a service provider and a paying customer. There is a specific set of parameters the service provider must adhere to. What would a contract with Facebook or Google and their non-paying customers look like? Should people pay for the service or should we expect Google to eat the cost?

What is "news"? How do you know it when you see it? How do they detect fake news? What about all of the opinion pieces that appear on the Google News front page? Should those be included or excluded? Are we talking about white listing websites? Who controls that list and how do you get on it? Or, should Google hire people to filter the news for you?

I am asking you to think about what you are proposing so that you can see that there are problems there, some of them big in scope. Considering think about it is not a solution.

<comment><USER36> I see you've asked another series of questions without answering the one posed. In many respects, this might be seen as changing the conversation to something within your realm instead of answering a question.

> Really would be a better exercise for you to think through how you would > actually hold them accountable.

In short, the questions you've posed range from "bring your life experiences together" and "think through the specifics". I have, and my thoughts remain unchanged.

Posing that many questions across such a broad range of subjects and varying levels of specificity might be seen as a disengenious way to continue the conversation.

I have posed a straightforward question. Instead of an answer, I've received only other "thought provoking" questions. In response, that's how I arrived at my question to you, two responses ago.

In the future, you might find better dialogue by answering questions posed.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER31> tl/dr: We don't think people are capable of exercising judgment, so we want the computers at Google and Facebook to do it for them. Good luck with that.

<comment><USER37> It's not that they are incapable of exercising judgement. It's that when they do exercise judgement, it is consistently towards bad content. False content.

<comment><USER38> This problem needs to be fixed with education. The article demonstrates an extremely profound misunderstanding of technology.

<comment><USER39> Any problem which ends with "education is needed to fix it" will fail.

Education is a non-solved problem, and you may as well say "society will fix it", to get a better approximation of what Education entails.

Education on a subject is influenced and affected by

1) Student health, motivation, previous education, available time, availble security, water, electricity, nutrition, parental nutrition, parental education, stability, age, and so on.

2) Education and subject matter is affected by development of the country, politics of the country, cultural importance of the subject, job demands, payment/funds available for education, structure of educational systems and more.

So in other words, its not "fixable".

Do note, that if you developed a way to transpose both information _and_ meaning and expertise, a la matrix, into someones brain directly - you would not only "solve" education, but you would also be able to program legions of soldiers/attackers/drones with the same technology.

</comment></comment></comment></comment><comment><USER40> > Worse, when I asked Google about this, and indicated why I thought it was a > severe problem, they sent back boilerplate.

> Unfortunately, early this morning we were briefly surfacing an inaccurate > 4chan website in our Search results for a small number of queries. Within > hours, the 4chan story was algorithmically replaced by relevant results. > This should not have appeared for any queries, and we'll continue to make > algorithmic improvements to prevent this from happening in the future.

I believe Google can be lax about quality of results because it has no real competitor. These are the moments when I wish there was a healthy competition among search engines, so that all of them would be on their toes to deliver best results.

Having said that, did anyone try DDG or Bing during the initial period after the event? How was the quality of the news results on those sites?

</comment><comment><USER41> The real crime is that there is an assumption of companies with their own self-interests at the forefront are somehow benevolent arbiters of information on the Internet. This shows more the naive crassness of the media.

<comment><USER42> Nailed it. Exactly on what timeline do these people think these megacorp clickfarms were constitutionally/divinely designated as arbiters of truth? They have always been run by trash-purveying ad companies and have always been corrosive [1].

[1] [https://www.anxiety.org/social-media-causes- anxiety](https://www.anxiety.org/social-media-causes-anxiety)

<comment><USER43> It's companies fighting other companies for the mindshare of the public and profits. Your modern day "journalist" has no convictions anymore, they weave whatever tale their editors want to tell, whether it's true or not. This is our dire future, and I don't see a way out of it.

</comment></comment></comment><comment><USER44> I agree with the article. I think more humans do need to be added to the "decision-making" process.

I mean, com'on, promoting 4chan to the top spot in a news channel? Too many people in this country don't bother to check, they figure if it's the top article it must be true.

<comment><USER45> > I agree with the article. I think more humans do need to be added to the > "decision-making" process.

Not really useful when most journalists already demonstrate how even professionals can't check their sources.

</comment></comment><comment><USER46> Reddit and 4chan had more informative information quicker than all the news outlets.

They did not mislead me on anything about the incident. (They did have misleading comments that were easy to ignore)

Sorry, but just because there are dumb people in the world why should my results on Goolge be censored.

It's also bullshit, 4chan is very well know as a poor source and looks nothing like a newspaper so the concept it would be mistaken for a fact based news outlet shows more how dumb the writer and people with this belief are more than anything else.

This writer is so superior they have to save us dummies from facebook groups and 4chan? I find it insulting.

<comment><USER39> Well, you could have been on a certain subreddit, and you would be worried about false flag operations after a point.

I will agree, that several networks can get information out faster than older systems.

</comment></comment><comment><USER47> If we all such smart people/techies, can we spitball a better breaking news feed algorithm into existence?

I'll kick it off -

1\. Focus all news on Who? What? When? Where? Omit the "Why?".

2\. When in doubt cite the primary news sources (police feeds/courtrooms/local authorities/opposition leaders/pictures/geo tagged and timestamped audio&video feeds with geo tags)

3\. Secondary news sources like news orgs and journalist videos are second in importance

4\. Quote tertiary news outlets like Reddit/HN/4chan only when they can be cross verified with a primary source

More suggestions?

<comment><USER48> Just a comment:

Reputation is key.

Having studied game theory for systems of agents producing results and content, I feel fairly confident in this conclusion: the only reliable long- term design to incentivize beneficient, truthful behavior involves assigning good reputation in return for good behavior, and assigning future rewards/attention based on past reputation.

Based on this, I postulate that any good news feed algorithm must use reputation scores based on past history to choose what to believe and what to show when a new story comes out. Humans of course do this instinctively, which many modern news organizations will have discovered too late as they sell out their integrity, accuracy, and priorities.

Remember what von Neumann said about arithmetic attempts to generate random numbers? Similarly, anyone who attempts to algorithmically determine "truth" based on instantaneous metrics is living in a state of sin.

<comment><USER47> When it comes to sourcing information from discussion boards, each top thread is effectively the one and only time the algorithm will interact with that thread for that topic.

Unless each thread is monitored and updated by a small subset of power users when weighting for reputation matters, it is likely that the persons managing a thread are volunteers at the scene of breaking news or have been (self-)coopted into that role by circumstances. Such self selected thread managers can safely be treated as a one-time participant in the prisoner's dilemma game.

If this is true, the algorithm can safely assume that the other prisoner (the "thread") is going to betray them and so, betray them first by low-weighting them.

Of course, you use some sort of reputation for the source of the threads - <USER4> breaking tech news, a GitHub issue tracker is probably going to be a better tracker than an HN thread than a general purpose Reddit thread than a 4chan thread.

<comment><USER48> > Of course, you use some sort of reputation for the source of the threads

Yes, this is what I mean. A news source should have a history of correctness before being trusted to report future news. The issues you're discussing are exactly the reason we need reputation -- otherwise some false news can arrive once, get a ton of attention, and do a lot of damage before going away forever (and we see this on e.g. reddit).

</comment></comment></comment></comment><comment><USER49> Since Google and co were never given the responsibility of telling anyone the truth this seems to be another naked powergrab to spread FUD and scare stories so someone can have a 'monopoly on truth'.

Diversity of opinion and widespread rumour mongering is a natural state of affairs in human society. Those who are unsettled by this and seek some sort of uniformity and control betray a troubling megalomania. Elevating yourself over others to decide somehow only 'you' are able to discern the facts confirms it.

That leads to not to Google or Facebook curating news but 'one source of truth' controlled by the government and authoritarian entities, using the exact same logic. Some people may be experts at C and Go but betray an astonishing illiteracy when it comes to history, freedom and evolution of human society.

Notions of truth have been debated for eons so there is already a large body of knowledge. You need an educated literate population and accept people will have wildly differing views and trying to protect the 'ignorant' not only turns your society into a tightly controlled cage but reflects a streak of authoritarianism and megalomania in the 'protectors,' now prevalent among many technical folks.

</comment><comment><USER16> "In the crucial early hours after the Las Vegas mass shooting, it happened again: Hoaxes, completely unverified rumors, failed witch hunts, and blatant falsehoods spread across the internet."

It's the nature of the internet and social media. People rant, rave and gossip. It's not google or facebook's job to curate what people say, think or do.

I wish google and facebook and the social media companies would unite to fight back against traditional media. They've been attacked for the past couple of years relentlessly.

> their active role in damaging the quality of information reaching the > public.

With all due respect. If google/fb/social media wanted to filter out quality of information, they would ban theatlantic and the rest of the traditional media.

At the end of the day, this guy is just complaining that people are being people. Eventually things get sorted out.

Looking at the guy's stories list, it seems like all he does is whine about facebook and social media.

[https://www.theatlantic.com/author/alexis- madrigal/](https://www.theatlantic.com/author/alexis-madrigal/)

Who is alexis madrigal that we should even pay attention to him?

</comment><comment><USER50> > Gabe Rivera, who runs a tech-news service called Techmeme that uses humans > and algorithms to identify important stories ...

wait a second, you mean a 3rd party site can do a better job at filtering out fake news than Google/Facebook? and people can instead just _go to a 3rd party site for high quality news?_

but The Atlantic thinks Google/Facebook should have all the power and ace out the little 3rd party companies who offer a better product?

waaaaah?!

<comment><USER30> Some conservatives are concerned about liberal viewpoints on Facebook and consider it a conspiracy. Some liberals are concerned about conservative viewpoints on Facebook and consider it a conspiracy. Almost everyone is concerned about "trash" when it takes a viewpoint they oppose, less concerned about trash when it promotes a viewpoint they agree with.

Everyone thinks they know what "Fake News" is and most people who are vested think Google's algorithms should rank them higher and less deserving sites lower.

As with most human opinion it's a matter of self interest and so is the parent article. Stripped of the holier than thou mantel it's whining about page ranking. Common whine. Lots of us have it. But most of us aren't nasty enough to seize on tragedy in order to make the point. Which is just another piece of evidence about the nature of old media and why it shouldn't have a monopoly on information.

Personally I'm ok with semi-dumb pipes. I think in the aggregate it's better for all of us regardless of persuasion.

</comment></comment><comment><USER51> Google admits to scraping 4chan for news stories. This isn't just about "the algorithms" \- a human decided that 4chan could potentially show up in that carousel.

[https://arstechnica.com/information- technology/2017/10/googl...](https://arstechnica.com/information- technology/2017/10/google-admits-citing-4chan-to-spread-fake-vegas-shooter- news/)

 _Google News ' statement claims that these false reports landed on the service's "Top Stories" feed due to a burst of activity for a name that had never received many search attempts. "When the fresh 4chan story broke, it triggered Top Stories, which unfortunately led to this inaccurate result," the statement reads._

 _" We use a number of signals to determine the ranking of results—this includes both the authoritativeness of a site as well as how fresh it is," the statement continues. "We're constantly working to improve the balance and, in this case, did not get it right."_

<comment><USER52> Last I heard, 4Chan founder Chris Poole now is employed by Google as of about a year ago. Shortly after that, people on various boards noticed /pol/ results etc. showing up in Google News. I'm not sure if there's a coincidence in that timing or not :)

At any rate, yeah, someone had to approve including message boards as a potential source to scrape for news. Not a good decision in my mind -- 4Chan's reputation makes this decision even more questionable, sure, but I can't think of _any_ general social media / message boards / comment sections / etc. that would qualify as "news" in my mind. Certainly this lowers the value of Google News to me.

</comment></comment><comment><USER53> The value of the systems built by Google and Facebook and the quality/legitimacy of news from these systems is pretty much dependent on the users. The feeds are built by what users share. A platform is only as good as the people contributing to it.

When it is known that insanity in individuals is rare but in groups, nations, epochs (and also internet) it is the rule - do not look at google/facebook news feeds to be sources of valid information. If we all are smart and intelligent enough to use these systems wisely, the benefits are enormous. But it also allows trolls and people who want to create confusion to operate with freedom.

For no or 0 money you will obviously get poor quality news. You need editors to verify sources and then put them in print or online. Go and pay an online newspaper so their editors will have jobs to do what you expect and they do not need to publish click-bait articles just for ad money so that their firm can make money.

</comment><comment><USER54> If the results can't be trusted, don't use Google or (especially) Facebook as your news sources. As understand it, Google will aggregate its news - <USER5> hasn't got someone picking the articles. Stick with an established news source - i'll pick the BBC because I live in the UK.

</comment><comment><USER55> The reason fake news, clickbait and SEO techniques on poor content are able to prevail is the same reason spam mail is still a thing in 2017. Because it's an evolutionary race where each innovation is countered by a trick to avoid it.

</comment><comment><USER56> "The problems with surfacing this man's group to Facebook users is obvious to literally any human. But to Facebook's algorithms, it's just a fast-growing group with an engaged community."

"Most people who joined the group looking for information presumably don't know that the founder is notorious for legal and informational hijinks."

Those two paragraphs appear back to back in the article and are completely contradictory. 5000 people joined because it _isn 't_ "obvious to literally every human."

[edited to add quotation marks to make my comment clearer]

</comment><comment><USER57> It isn't important for the general public to know accurate trivia about tragic events within hours of their occurrence. One would think a _monthly magazine_ writer would know that...

</comment><comment><USER58> Actually, I would tend to think net neutrality should apply to content host as well. Provided content is not illegal, obviously.

The best to do to fight false info is to shame those who share it, just like we shame news outlets which do not verify their sources. It's probably the best way to make sure everybody double check what they post (plus, if citizen start to check their sources, that's a huge win).

</comment><comment><USER59> If you get your news from your neighbor, friend, relative or a site that claims to be satire, your probably confusing gossip with news.

</comment><comment><USER60> Not to deny there's a problem but this quote: "the problems in the system because there are computers in the decision loop"... Does the author expect hand made search results?

</comment><comment><USER61> It's at least a little bit ironic that on the same day major news outlets were announcing the death of a celebrity before he had actually died, and the story stayed up for hours.

</comment><comment><USER62> Google and Facebook were in it for the general good? ..i never knew

</comment><comment><USER63> People being too stupid to discern between 4chan and real news is not Facebook's nor Google's nor my problem. How about promoting critical thinking instead?.

</comment><comment><USER64> I think more of an issue besides google and facebook would be the way reporters used the information and also presented twitter as a unequivocal source of information.</comment>


Samsung Galaxy Note 10.1 review: 5.4 / 10 - <AUTHOR> http://www.theverge.com/2012/8/15/3243546/samsung-galaxy-note-10-1-review

<comment><USER2> 5.4? That's actually pretty sad. But hey, at least they didn't put a "mini" version of the tab.</comment>


Android captures 81% global market share, Windows Phone is 'fastest growing' - <AUTHOR> http://venturebeat.com/2013/10/31/android-captures-record-81-global-market-share-windows-phone-is-fastest-growing/

<comment><USER2> I think this was inevitable given the sheer number of cheap e-readers and basic media devices being manufactured in China which happen to use Android.

A more revealing statistic is web traffic, where iOS leads at 63% (stat: Piper Jaffray), and has made recent gains. 40% of apps downloaded in 2013 Q1 were iOS, vs 51% Android. 74% of revenue generated by apps was iOS (stat: Canalys). Business use: 62% iOS, 35% Android (stat: Citrix).

<comment><USER3> > I think this was inevitable given the sheer number of cheap e-readers and > basic media devices being manufactured in China which happen to use Android.

Ahem, those are not smartphones

> A more revealing statistic is web traffic

Exactly why?

<comment><USER4> Because it can indicate whether someone bought a smartphone or a feature phone with android on it.

<comment><USER3> No, it doesn't, it only means that there is less browsing.

If you use Facebook, Twitter, Whatsapp or other applications there won't be browsing stats but the use won't be the one of a feature phone

</comment></comment></comment></comment><comment><USER5> Is it really accurate to talk about market share when looking at shipments? A lot of those phones may never make it into users' hands...</comment>


Why is it important to have a website for your Business? - <AUTHOR> https://blog.worddss.com/why-is-it-important-to-have-a-website-for-your-business/ <comment><AUTHOR> Worddss Infotech sharing some points that describes why should your business have a website. Learn now the importance of website design & development for your business.</comment>


Why I learned to code instead of pursuing a career in finance - <AUTHOR> https://medium.freecodecamp.org/why-i-learned-to-code-instead-of-pursuing-a-career-in-finance-d5ef437c6922 <comment><USER2> For me software dev is the perfect mixture of money and freedom. In fact, I am hard pressed to think of a profession that offers more personal freedom.

I don't make as much as my finance bro buddies, but they work A LOT. And they work year round. I work six-nine months at a time (maybe a year if the contract is right) then I take at least a couple months off.

If I was a career/full time guy, finance would probably be the better choice, but as someone who spends his life trying to maximize the _life_ part: software really does it for me. It helps that I love doing it, for sure, but tbh finance is a complex, challenging field that's quite technical and mathy so it would likely be fun as well. Except for the people, many of the people are, uh, tough to be around. Not all, but many--still, tech bros aren't exactly the easiest either. Glass houses.

<comment><USER3> > In fact, I am hard pressed to think of a profession that offers more > personal freedom.

As a translator in Eastern Europe, I feel like I have a lot more freedom than the software devs here. I can work as little as 2-3 hours a day and pay all my expenses and save for the future. The job is remote by its very nature, so it doesn't matter whether I am in my own country, or I am traveling in Patagonia or Madagascar. I am able to dictate deadlines to my clients, I don't have to work to their schedule. For example, If a job will only take me half an hour to do, I can tell the client that I can return it in one week, and in the meantime I can travel or whatever.

I do some coding as a hobby and occasionally visit the programming language etc. meetups in my hometown. The software devs there make around the same amount of money I do each month, but they complain of the 9 to 5 routine, office politics, and how unhealthy it is to spend all day sitting in front of a computer.

<comment><USER2> That's a fair point. My feelings on this might be very US-centric since we get paid a lot more than our counterparts elsewhere.

Translators def have a solid situation, I met a translator last year when I was traveling and she lives that digital nomad lifestyle, works a charm.

</comment></comment></comment><comment><USER4> Here it's the opposite; i have a full degree in software engineering and over 13 years of doing it professionally, yet some Finance graduates, friends of mine, are earning much more (i.e. as CFOs of companies);

Sometimes i think i should have studied Finance instead!

The reason i do this (all software related activities) is because it's my real passion. I see many people engaging in "coding" bootcamps but only because of the market demand, not because they are passionate in any way about doing it, which is sad.

<comment><USER5> This is just about the only professional career I've heard of where people talk this way. Who goes into accounting because of their passion for bookkeeping and tax compliance?

<comment><USER6>
       This is just about the only professional career I've heard of where people talk this way...

In my experience: Nearly all doctors will at least claim it as part of the reason. Many (most?) lawyers. Most teachers. Most academics. All social workers. The list goes on and on.

In fact my first choice for counterexample would be your example - accountants. But in my experience they are often passionate about proving a helpful and necessary service, eve if they aren't passionate about the work itself.

<comment><USER7> Just because we don't feel any great love for spreadsheets doesn't meant nobody else does. I've only known two professional accountants but both enjoy what they do, not just the externality of providing the useful service. They like working with the numbers and rules. People called me weird at law school because I actually liked tax law. I'm fascinated by the interaction (aka train wreck) of public policy hitting financial ground truth. I would real tax cases and laugh out loud at some of the insanity. Just because something isn't popular or widely understood doesn't mean there aren't people who enjoy it.

<comment><USER5> Find it tolerable, maybe even like it? Sure. Show me someone who would do taxes on their own time for fun. I've sometimes heard it said that the main reason people decide to go into auditing or tax is they couldn't stand the other one.

For that matter, let's talk about a closer career to ours. How many people who are system administrators complain about relatives asking them for free consultations? Would that be an issue if they just loved configuring and troubleshooting computers so much? Even if you like computers a lot, what you get paid to do with them isn't necessarily fun.

</comment></comment></comment></comment></comment><comment><USER8> The good news is that now you can use your coding skills to have a career in finance.

<comment><USER9> The good news is that now you /need to/ use your coding skills to have a career in finance.

Almost all the young finance professionals at my place do a non-trivial amount of coding.

</comment></comment><comment> lloyd-christmas I worked in finance for 6 years before switching to software. I worked almost 80 hours a week as a discretionary equities trader. I realized that it was starting to be eaten by the tech/data-driven styles, So I took up software so that I could get a more competitive edge. Now I work webdev at 50 hours a week. Those 30 hours a week is a lot more significant to me than the pay cut I took by not going back into finance. The great part about it is if I REALLY want to go back into finance, I have both sets of skills. It never hurts to gain skills in areas where you don't have a formal education.

<comment><USER10> > 80 hours a week

So, you were either in the USA or East Asia, wern't you? I guess you were not in Europe.

<comment> lloyd-christmas Yes, I'm in NYC. I was typically at work for the european and US market hours during earnings season.

> I guess you were not in Europe

EU labor laws don't actually prevent those hours, if that's what you're implying. Most of my banking buddies in Europe work 70 hours.

</comment></comment></comment><comment><USER11> Trends are: finance is being eaten by software, software is being eaten by machine learning. The question should be "do I study machine learning?".

<comment><USER12> Software eats finance because it's making traditional finance jobs obsolete.

ML does not eat software in the same sense, because ML and software engineers generally do non-overlapping work. ML involves analysis, software involves synthesis.

There may be a day when ML automates software development, but it's nowhere close yet.

At most, ML is merely dominating current hype among software-adjacent technologies (along with block chain).

<comment><USER11> > because ML and software engineers generally do non-overlapping work

not in the mainstream right now. Check back in 10 years.

<comment><USER13> It'll be either ML or nuclear winter. Heck, maybe both.

</comment></comment></comment></comment><comment><USER14> It was mentioned in the article about the lack of formal education (specifically within the field of study) within software development. I would be curious to see what this would be like for a HN audience? What is everybody's story of how they got to where they are?</comment>


Archiving URLs (2019) - <AUTHOR> https://www.gwern.net/Archiving-URLs <comment><USER2> My current experiment in fighting linkrot is pre-emptive local archiving, hosting static snapshots of links, serialized using SingleFile: [https://www.reddit.com/r/gwern/comments/f5y8xl/new_gwernnet_...](https://www.reddit.com/r/gwern/comments/f5y8xl/new_gwernnet_feature_local_link_archivesmirrors/)

I am still finetuning it: there are a lot of domains which should be whitelisted because archiving doesn't work or isn't useful, and sometimes pages break when SingleFile'd (the content is there, but the CSS or JS is broken, and I muck around manually trying to fix them). The resource requirements are not that bad so far (21GB) but are probably a deal-breaker for anyone who wants the usual personal-static-site budget strategy of hosting on Amazon S3 for <$5/monthly, as even assuming way fewer links than gwern.net, cloud bandwidth is so expensive they'll quickly blow their budget. It also makes server logs messy as various bots try to fetch broken relative links, which were of resources which didn't get inlined by SingleFile (not sure what exactly triggers those).

However, so far it seems like a viable strategy.

<comment><USER3> Author of SingleFile here, Thanks for your feedback! Feel free to contact me or create posts on Github about these bugs, I will do my best to fix them.

<comment><USER2> I haven't mentioned it because logs are full of garbage from crawlers even without any bugs (there's a shocking amount of malformed, malicious, or just crazy bugs - I think there must be crawlers which use n-grams or something to predict possible URLs to speculatively fetch), and I haven't tracked down whether it's anything to do with SingleFile or just the crazy old Internet being crazy. At some point I'll have to dig into it more.

It's _probably_ something simple like "lots of websites encode addresses with absolute paths, so bots follow those; SingleFile ought to rewrite absolute paths to point to the original domain."

<comment><USER3> Thanks again for your comments. I also own a SaaS related to SEO and I can confirm what you see. Some bots request URLs that don't exist by trying to guess them. One the other hand, I also often see errors in links where the HTML contains for example <a href="www.example.com/another-page"> and is resolved as "[https://www.example.com/www.example.com/another- page"](https://www.example.com/www.example.com/another-page"). FYI, note that SingleFile is supposed to resolve all the links and that this should be reliable since it delegates this resolution to the browser.

<comment><USER3> I'm also realizing your issue could be related to some <noscript> tags which are not processed by SingleFile and could contain relative URLs. I should maybe add an option to remove them.

</comment></comment></comment></comment></comment><comment> ezequiel-garzon Does anybody know the rationale behind the policy the Internet Archive has about removing past content at the request of the domain owner (or leaser, to be precise)? I'm sure they have their reasons, but they are not very intuitive.

To me it's as if I lived on 15 Main St., and for that reason alone I had the right to block the publication of photo albums of past years years of 15 Main St., even if the dates are clearly indicated.

<comment><USER4> It's a simple way to remove content so it, I assume, acts as a way for IA to claim carrier protections under USA's DMCA, and to limit damages in other jurisdictions.

What they do is certainly tortuous infringement in UK - and probably most jurisdictions AFAICT (based on Berne Treaty, say), but it's so easy to remove your domains from IA that courts will be loathe to award much in damages.

AIUI they block access but don't delete the info; Fair Use/archival laws in USA probably make that lawful.

</comment></comment><comment><USER5> First law of the Internet: you cannot delete something from the Internet.

Second law of the Internet: you cannot keep track of where something is on the Internet.

</comment><comment><USER6> With link rot and all the lost pages of the day, I really do wonder how much information and effort is just lost to the sands of time over the years. This truly makes the Internet Archive such an important tool for everything we do on the internet. I know that is a commonly held belief here, but I really think many regular users need to come in contact with it and see the great benefit it has for us all.

</comment><comment><USER7> [https://archivebox.io/](https://archivebox.io/) is another interesting web archive tool.

<comment><USER8> Many others listed in our Wiki too:

[https://github.com/pirate/ArchiveBox/wiki/Web-Archiving- Comm...](https://github.com/pirate/ArchiveBox/wiki/Web-Archiving- Community#other-archivebox-alternatives)

</comment></comment><comment><USER9> This problem would go away if everybody used URNs instead of URLs and we had multiple public URN resolvers. URN resolution should be as ubiquitous as DNS resolution.

But alas, here we are.

</comment><comment><USER10> Fixed it for you: [https://web.archive.org/web/20200908171030/https://www.gwern...](https://web.archive.org/web/20200908171030/https://www.gwern.net/Archiving- URLs)

<comment><USER11> In fairness, if anyone's content is going to stick around, it's probably Gwern's.</comment></comment>


Swift vs. Go - <AUTHOR> https://sapan.svbtle.com/swift-vs-go <comment><USER2> The list doesn't mention optionals in Swift. Optionals are a substitute for nil/NULL and handle the absence of a value in a type-safe manner. It is similar to the Maybe type in Haskell.

(BTW, if you're interested in Swift, I send a weekly newsletter at [http://swiftnews.co](http://swiftnews.co))

<comment><AUTHOR> Good catch, I added it to the list

<comment><USER3> Optionals aren't a "functional concept", whatever that means. They're just another data type, like tuples, lists, trees, etc.

<comment><AUTHOR> Actually they are a special type of Monad which is a functional programming concept (see Haskell).

<comment><USER3> Yes, and lists [not necessarily linked lists] could have a Monad instance too. Does this make lists a "functional concept"?

</comment></comment></comment></comment></comment><comment><USER4> Is Swift a general purpose language? I thought it was for iOS and Mac development. I understand it is open source, but so is C#, and I don't see a lot of people using that outside of Windows (I could be wrong though).

<comment><USER5> I think C# is pretty a pretty common cross-platform language for games due to Unity's support for it. It's not common for other apps, though.

I don't think there's much cross-platform work being done in Swift yet. Give it a little time, though, it's only been open sourced for a few months.

One nice thing about it compared to many other languages is that it can use C APIs with almost no work. There's no need to screw around with annoying FFI systems, you just point the compiler at your C headers and the calls become available in Swift. They may not be very idiomatic Swift, but they're at least no more difficult to use in Swift than they are in C. That means that you don't necessarily need a bunch of Swift libraries to be built before you can start getting stuff done.

</comment></comment><comment><USER6> > inferred strong static typing

"strong" compared to what? Go's duck-typing actually makes it weaker than a lot more type systems than you might expect, and compared to something like Haskell or Rust, both of these type systems are incredibly weak. If you're comparing to C, then sure, but "strong" and "weak" typing mean nothing without reference to another language.

<comment><AUTHOR> In this context, strong as compared to Ruby/Python/Javascript

<comment><USER7> Seems odd to lump Python (which is pretty strongly typed) with Ruby and JavaScript (JS especially not being strong). Edit: Actually this whole thread makes it seem like we all have our own different definitions on what makes something "strongly typed" (or just confusion with strong and static). For myself, a language's type system's relative strength is all about how it handles (or doesn't handle) implicit type conversions.

<comment><USER6> This is roughly my point.

"Strong" and "Weak" are inherently relative terms; so, when used without a reference point, they will mean something different to different people. So, without a point of reference, the terms are not useful.

<comment><USER7> Even being inherently relative, you still need to determine the underlying values with some metric (like implicit type conversions, or max deadlift). If you tell me someone's max deadlift is twice their bodyweight, that tells me they're strong, even if it doesn't tell me their relative strength compared to say Sigmarsson. If someone says "Language X generally forces you to be explicit with your type conversions" that tells me it's strongly typed. Is it more strongly typed than language Y? That depends on explicitness exceptions -- e.g. Java does implicit autoboxing and toString()ing when you're doing string concatenation, Go effectively type aliases primitives so that e.g. net.IP can implicitly convert to []byte, Python complains when you don't explicitly call str() on things but converts numbers pretty freely (like auto- converting to a bignum, whereas other languages might throw an exception or automatically and silently wrap-around to a much smaller number than expected).

<comment><USER3> "Strong typing" doesn't mean anything when comparing languages. The difference between raising a `TypeError` at runtime or silently doing something wrong is entirely a matter of standard library design. For example, you can replace Python's built-in lists with your own list class that is as "weakly typed" as you want. But, from the point of view of _programming languages_ , the only thing that matters is that an unwanted situation couldn't be ruled out by the language itself.

</comment></comment></comment></comment></comment></comment><comment><USER8> I just got out of a work presentation on new features in C++11 and C++14. The two presenters went into what's apparently the standard debate about noexcept. This makes me appreciate Go's pragmatic decision not to have exceptions! When you start getting into the nitty-gritty and epiphenomena around implementing APIs, multiple return values with error codes looks pretty darn good.

Error codes are explicit and devoid of implicit automagic. You're not going to break a lot of contracts and alter semantics by adding a keyword. The error codes are explicitly part of your function signature, in the most stupidly straightforward way possible. If you're going to be a bad developer and ignore error codes, this is going to appear explicitly in your code. (As opposed to being rewarded with "cleaner" code when you sweep exceptions under the rug.)

<comment><USER9> _" multiple return values with error codes looks pretty darn good"_

I'm a fan of making errors explicit, but I continue to find the use of effectively a product type (value _and_ error) to return what is actually a sum type (value _or_ error) to be ugly and error prone. Ideally, invalid states should be unrepresentable. In this case, both "value and error" and "no value and no error" are not. This is not good design.

<comment><USER8> _Ideally, invalid states should be unrepresentable._

And clearly any language in which invalid states are representable is useless? Nice try, but nah. I like me some pure functions sometimes, but I'm not dogmatic about it.

<comment><USER9> Your response is so bad I almost think you're trolling... Hoping (I think) not:

 _" And clearly any language in which invalid states are representable is useless?"_

I did not call anything useless, much less the entire language.

And I am the first to agree that trade-offs need to be made between a variety of considerations. But in this case, _for the approach under discussion_ , I pointed out a design criteria that I find often important, that this approach is in _flagrant_ violation of, while getting basically (perhaps literally) nothing in return toward any other design considerations.

Either I missed things or that's just a bad decision. If you think it's the former, please engage me more constructively so that at least one of us can learn something.

 _" Nice try, but nah."_

This is needlessly rude.

 _" I like me some pure functions sometimes"_

This issue has _zero_ to do with pure functions.

 _" but I'm not dogmatic about it."_

Right, pointing out bad design can only come from a place of dogma. Never experience, never consideration, and never anything that could permit substantive discussion.

</comment></comment></comment></comment><comment><USER10> Would Kotlin be a better comparison to Swift, given they've both got huge potential for writing mobile apps?

<comment><USER11> Kotlin doesn't have a big backer though. I could see Google adopting Kotlin for Android officially in which case it could really take off.

</comment></comment><comment><USER12> I'd argue optionals are just a variation of Go's interfaces (e.g. io.Reader versus io.ReadCloser)... and enums are basically typed constants in Go (you just don't see the name "enum" anywhere).

<comment><USER13> Optionals can't be expressed safely in Go. They have a type of `Option<T>` or `Maybe<T>`. Swift just has this notion built as an operator.

Traditional enums aren't particularly interesting. What languages like Rust and Swift have are tagged unions. They let you associate data with each variant.

Moreover, pattern matching is needed to use tagged unions effectively.

Constants are not "basically" tagged unions or even enums. They are not grouped into a parent type. For example, if you have a `Foo` enum with `A` and `B` variants; while matching or accepting this, you can accept a `Foo` which is guaranteed to be either `A` or `B`.

How would Go typed constants achieve this?

</comment></comment><comment><USER14> >I hope they take a look at Swift as it matures in the next few years.

Maybe when binary packages are available for non Ubuntu Linuxes?

<comment><USER15> I think that is a valid concern. It is something that is being worked on [1] by the community. When those things get reasonably stable I think then it will be time to get those packages accepted by their respective distros.

Though as pointed out in SR-116 without ABI stability (which will not appear until Swift 3) packages do not necessarily provide a silver bullet of portability.

I for one have been maintaining a PKGBUILD script for Arch Linux that allows for a native package to be created. It's currently not working due to some issues with binutils [2].

[1] [https://bugs.swift.org/browse/SR-116](https://bugs.swift.org/browse/SR-116) [2] [https://bugs.swift.org/browse/SR-1023](https://bugs.swift.org/browse/SR-1023)

</comment></comment><comment><USER16> It's important to not only take compilation speed but also code quality into account. Swift and Go made very different tradeoffs here with SIL+LLVM compared to Plan 9.

<comment><USER17> I think Go hoped GCC would be their high-performance compiler, but it never got the attention it needed.

GCC has better micro-optimization in gccgo, but the compiler lacks important features like escape analysis and an up-to-date runtime so it's slower on real-world code.

<comment><USER16> Yeah, it goes to show that you really want a mid-level language-specific IR (which is what the Plan 9-based compilers have) if your language is at all high level.

I think the ideal for best performance of generated code is 3 IRs: a mid-level language-specific IR for high-level optimizations (especially around memory management and devirtualization), a low-level IR for lower-level optimizations (e.g. algebraic simplifications), and a codegen IR (for instruction selection and scheduling). This is what Swift is doing, as far as I can tell.

</comment></comment></comment><comment><USER18> Only looked at Swift a little so far, but liked something about the syntax.

Seems clean.

Going to check it out more over time. Hope the Linux support improves.

</comment><comment><USER19> What do you mean by "scripting mode"?

</comment><comment><USER20> Off topic rant about Svbtle: While browsing the article, I hovered my mouse over something, which told me to hold still, and then suddenly it gave the article an irreversible upvote, which I certainly never intended to give. Now that poor author thinks another person liked the article. Who knows, maybe all previous 12 upvotes were the same situation?

Can we go back to Web 1.0 please? Everything was simple, everything worked, everything was _fast_. Or at least can we compromise and have a few reasonable design choices from Web 2.0 and Web 3.0 merged back in with Web 1.0, and just go with that? The current Web is just too broken, but there's nowhere to file a bug report.

<comment><USER21> >Can we go back to Web 1.0 please? Everything was simple, everything worked, everything was fast.

No. Software is allowed to evolve, even if you don't like it.

>Or at least can we compromise and have a few reasonable design choices from Web 2.0 and Web 3.0 merged back in with Web 1.0, and just go with that?

No. People are allowed to make their own decisions about how to design and build their sites, and they have the freedom to make decisions you disagree with.

>The current Web is just too broken, but there's nowhere to file a bug report.

It's broken for you, but it's extremely entitled of you to declare it broken for everyone. Far, far more people would consider "revert to Web 1.0" to be a broken experience, and the web belongs as much to them as it does to you.

<comment><USER8> _> >Can we go back to Web 1.0 please? Everything was simple, everything worked, everything was fast._

 _> No. Software is allowed to evolve, even if you don't like it._

Translation: Programmer Hubris is a constant.

<comment><USER21> Perhaps. But if it means the internet brings me a far richer set of experiences and possibilities than simple text and images can allow then I'm not going to complain about it.</comment></comment></comment></comment>


Java was a colossal failure...JavaScript is succeeding because it works - <AUTHOR> http://jaxenter.com/douglas-crockford-java-was-a-colossal-failure-javascript-is-succeeding-because-it-works-45928.html <comment><USER2> Hmm. When measured against the ambitions of Sun's marketing team, Java is indeed a colossal failure (real failures: Applets, WebStart, BluRay, Swing). But then, Sun's marketing department was always smoking crack. That said, Java remains a potent force within the enterprise, and also in mobile (via Android), which is no small thing. It's also neat that the JVM is being used as an execution environment for new languages, which extends the relevance of the underlying platform and it's libraries. So to say it's a 'colossal failure' is rather unfair.

My belief is that JavaScript is succeeding because it appeared weak enough to sneak into all the browsers everywhere. The very fact that no-one took it seriously meant that no vendor had a reason to remove it. Apple thought Flash was a threat, so they removed it, but they left JavaScript in.

Then came a time of programmer maturity and open-mindedness. Functional and dynamic paradigms had a chance to take hold. JavaScript, it turns out, is a language with some structural beauty hidden behind a few (mostly superficial) glaring problems.

But the single biggest thing that JavaScript gives us over and above Java is true openness! There never was, and there never will be, a jsfiddle for Swing. The "installation" procedure for JavaScript programs is...clicking a link. I'd argue that the tooling for JavaScript is in some ways even better than for Java: for debugging UI, give me a developer console and webkit inspector over Eclipse any day.

It remains to be seen whether JavaScript will be the language of the server. I'm very excited by new tools that span the client/server divide, particularly Meteor (which is built on node). People always want to know if I'm a front- or a back-end programmer, and the answer has always been "both" although I've never been content with a) the language divide or b) server-rendered HTML. Single page apps, dynamic JSON data-structures all the way through the stack, and reactive programming is like a little slice of heaven.

The _interesting_ problem with Meteor is coming up with a way to recover that jsfiddle magic for the server-side pieces. Which is something I'm working on.

<comment><USER3> If you're interested in the full history, watch Crockford's Your New Overlord talk. He explains that Sun wanted JavaScript gone, but they had to keep it, because it was the only way for Java to talk to the DOM at the time.

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

As for Apple not seeing JavaScript as a threat... that's quite the understatement. Everyone seems to have forgotten that Steve Jobs actually went on stage and declared that Web Apps were the way you would develop apps for the iPhone, in 100% JavaScript. This was almost a year before the App Store and the Cocoa Touch SDK. Nobody really believed him at the time, but it was in line with what they'd been doing.

If you look at Safari's evolution on the desktop, there was a ridiculous performance boost with Safari 3. Incidentally, this was during the same time they would've been developing the iPhone's browser. At the same time they started doing things like CSS animations, CSS transitions, CSS 3D (which was first available on iOS, not on the desktop), all technologies that are required to bring an Apple/Cocoa-like experience to web apps. That's not a coincidence.

Someone who worked at Apple told me that, in fact, Steve Jobs wasn't entirely lying. They did believe web apps were the future. But they simply couldn't deliver on it, and even today, native mobile apps still have a huge lead over web.

</comment></comment><comment><USER4> There is no reasonable standard by which Java can be classified a "colossal failure". This headline is just linkbait, although the linked article may (or may not) actually be reasonable.

Did Java live up to every ambition that Sun had for it? No, of course not. Did it "fail" in certain niches, by some standard? Yes. But given it's widespread popularity and extensive use to this day, calling Java a "colossal failure" is as ridiculous as calling an M1A1 Abrams tank a sports car.

</comment><comment><USER5> How was Java a failure? There is only a few sentences where it said how it "failed in consumer electronics." It felt like they were stuck in there to create a sensationalist title, rather than being an important part of the article.

<comment><USER3> Because despite years of trying to shove it in people's faces, nobody genuinely liked using it. Then again, they never fixed the absolutely abysmal start up times.

Through Java Applets, Sun associated the Java logo with "my browser freezes for 10+ seconds". How nobody thought that was a colossal problem, I still don't understand.

</comment></comment><comment><USER6> From context, I'm guessing DC meant Java applets in the browser, in which case I have to agree with him. Java in general, on the other hand, while often unpleasant, is doing fine.

<comment><USER5> Also, it is a fairly easy object-oriented language to learn, seeing how the AP Computer Science test is on Java.

</comment></comment><comment><USER7> JavaScript is succeeding because it's the only choice, IMO. Sure, it's doing well on the server-side too now, but I think a big part of that is just because it's a fresh language there - no baggage with old libraries, etc.

</comment><comment><USER8> _Crockford: Your mom doesn't know what JavaScript is or care._

My mom knows what Javascript is and does care about it.

Let's get out of the habit of this casual ageism and sexism, OK?

<comment><USER9> Crockford wasn't being racist or sexist. He was using an idiomatic euphemism for "the average user".

Let's get out of the habit of being a a bunch of uptight curmudgeons about every little thing on the internet, OK?

<comment><USER8> I know it's an idiomadic euphemism, I've used it myself.

I'm not being uptight about "every little thing on the internet", I'm saying that in this specific way our language ought to evolve.

<comment><USER9> Well, you're entitled to your opinion, but it's my opinion that you're being uptight and there's no need for our language to evolve in regards to this one specific thing. Saying "you're mom xyz" to as a euphemism for "the average consumer" is neither racist nor sexist.

</comment></comment></comment></comment><comment><USER10> How is Java a failure?

<comment><USER11> To be a devil's advocate. Java is a failure because it never attained dominance in the niche it was trying to fill (web, mobile, embedded devices). This is of course disregarding Dalvik and numerous Java network libraries (like Netty).

<comment><USER12> I think it's doing fine on the web (think enterprise) and mobile (Android). Can't comment on embedded devices, since I'm not too familiar with embedded development.

<comment><USER13> I think by "web," he meant Applets. Which was the big thing. Servlets were much less part of their marketing, as I recall.

</comment></comment></comment></comment><comment><USER14> So which is it? Is Douglas Crockford a god or a superhero?</comment>


TradeBlock (YC W14) Raises $2.8 Million From Andreessen Horowitz, Others - <AUTHOR> http://blogs.wsj.com/moneybeat/2014/07/16/tradeblock-raises-2-8-million-from-andreessen-horowitz-others/?mod=WSJ_Opinion_LatestHeadlines

<comment><USER2> For those that have been around the Bitcoin community for a while these guys used to be called "The Genisis Block"

</comment><comment><USER3> It looks like Devonshire is the investment arm of Fidelity. Interesting to see some traditional finance guys making investments in the space.</comment>


Thinking of working for a startup? Understand this first... - <AUTHOR> http://weblog.raganwald.com/2005/03/are-you-thinking-of-working-for-start <comment><USER2> You can't quite treat the company as being worth the post-money valuation after a VC round. Angels would pay way more than 1% of the pmv to buy 1% of a company Sequoia had just backed. What they'd pay is the market price.

<comment><USER3> If you're saying that AFTER Sequoia has backed a company, on some later, subsequent round people will pay more, I agree that is supposed to happen.

But that doesn't mean the company was worth more at the moment Sequoia invested. I think the key difference between your means of valuation and mine is that I don't believe that the "market" is meaningful until the founders' equity is liquid.

The "market" is only a useful guide where there is a meaningful correlation between the "market' and the eventual, risk-adjusted value of the company when it becomes liquid.

In that respect, I believe that the VC PMV is a better indicator of the risk- adjusted Present Value of the company.

VCs spend an awful lot of time and effort researching price, and they don't seem to be paying a huge discount to the risk-adjusted PV of companies they back.

The plural of anecdote is not "data," however what I understand is that Angels as a whole are an unreliable indicator.

YMMV, but if someone is telling you "We paid a dollar, but it's really worth two," I would keep my wallet locked in a safe.

<comment><USER4> I would pay more at the moment Sequoia invested. There are a few reasons:

\- They have a record of picking winners

\- They probably invest at a lower price than other VCs (because people would rather have them as their VC)

\- The odds of success are improved due to the credibility and connections provided by Sequoia.

It would basically be a cheap way of getting in on their fund, assuming the premium wasn't huge.

<comment><USER3> What can I say, except "carry on, it's your money!"

But whether you would pay more or not, the subject was contemplating employment with a company and valuing stock options.

Never mind generalities. If Sequoia have a wonderful track record for picking winners, I offered another means of calculating the value of the stock based on the likelihood there would be a liquidity event.

Here's something to ponder: if the industry gets 20% and Seqouia gets 22% of their investments to a liquidity event, Seqouia is doing fantastically well. 10% better!

But: how much does a 2% difference in likelihood affect the value of the stock for employees?

Feel free to plug in Sequoia's actual numbers. I think you will find that they do not underpay as much as you may suppose.

It would basically be a cheap way of getting in on their fund, assuming the premium wasn't huge.

I would love to get in on their fund as well. But my post wasn't about investing, it was about valuing stock options so you could understand what they are worth on a risk-adjusted basis.

What's the difference?

Remember, when you invest alongside them you get all sorts of extra rights like double dips, convertible shares, preferred, and a zillion other ways to get money in situations at the expense of founders.

This is why it is very important not to assume that just because a name brand VC invests in a company that employee options or founder shares are somehow worth as much as you might pay for those same shares if you are the same VC.

If anything, employee options are worth much, much less, because VCs can get some of their money back if there is a modest wind-up or merger, whereas employees only cash out if there is a major event.

</comment></comment></comment></comment><comment><USER5> I think paul bucheit's post <http://paulbuchheit.blogspot.com/2007/03/equity- math-for-startups.html> is a much more clear explaination of the same concepts.</comment>


CrossFit: The Good, Bad, and the Ugly - <AUTHOR> http://www.t-nation.com/training/crossfit-the-good-bad-and-the-ugly <comment><USER2> Disclaimer: I have been doing CrossFit for about 2 years and I am also working on software projects for CrossFit gym owners and athletes.

I agree with most of the arguments in Mark Rippetoe's article. There is a huge quality difference between CrossFit gyms and coaches. CrossFit makes prospective gym owners take a weekend long course and then one can apply to be an affiliate owner. The CrossFit company doesn't provide any other support besides that. CrossFit is not a seal of quality. Being an affiliate means the owner took the course and paid the annual affiliate fee.

The system is very much based on reputation and smarter athletes move from gym to gym to find the quality they are looking for. Given that around the world there are 30 new CrossFit gyms opening every week (!), competition among the gyms is increasing dramatically.

I see more and more gyms opening either by former CrossFitters or coaches who do CrossFit-like exercises. Even though they don't affiliate themselves with CrossFit directly, they are benefiting from the "CrossFit hype" as well.

CrossFit can be a great exercise and training. It's important to find a good coach though!</comment>


Sxc – An s-expression based language source transpiler for C - <AUTHOR> https://github.com/burtonsamograd/sxc <comment><USER2> I made something very much like this! As I worked on it I slowly rewrote the transpiler in the sexpression language itself, which led to me using it to help guide new features. It's always tempting to write the compiler as the first program despite knowing that it produces a language designed for writing compilers. But it was just a fun programming project not designed to go anywhere.

I remember finding it was hard to remember how many parens to use where. For example is it (if (condition) (statement)) or is it (if (condition) (list of statements))? If it's the former you have to explicitly call out multi- statement if with something like progn, like (if (== foo 3) (progn (= foo 4) (return))), which doesn't feel very C-like, while if you pick the latter option it's easy to get the syntax wrong, when you have single-statement blocks because you need to double-paren them, like (if (== foo 3) ((return)). When you're writing scheme this isn't such a problem because it tends to be expression-oriented, but when you're writing C with a different syntax I found it pretty confusing.

<comment><USER3> You could use an if variant with keywords, like if* ([http://franz.com/~jkf/ifstar.txt](http://franz.com/~jkf/ifstar.txt)):

(if* (== foo 3) then (foo 4) (return))

<comment><AUTHOR> That's the choice i made, with (if .. (else... )).

</comment></comment></comment><comment><USER4> Gauche Scheme also has something called CiSE (C in S-Expressions) [1]. It's a bit under-documented though, but you can see examples throughout Gauche Scheme source code, for example [2]

[1] [https://github.com/shirok/Gauche/blob/master/lib/gauche/cgen...](https://github.com/shirok/Gauche/blob/master/lib/gauche/cgen/cise.scm)

[2] [https://github.com/shirok/Gauche/blob/master/ext/bcrypt/bcry...](https://github.com/shirok/Gauche/blob/master/ext/bcrypt/bcrypt.scm#L30-L41)

</comment><comment><USER5> We do this at work, but for pascal. Most algol-like languages can quite easily be converted straight away into sexpr. I just defined a neat little subset to begin with and mangled the rest in there. We generate a _lot_ of code using a guile/pascal macro system, using guile's syntax-case to destructure the macros and turning them into proper pascal.

It was really just a prototype at first. I was going to have a more pascal- like syntax in the end, but the prototype was fast enough, and manually parsing was more trouble than it was worth.

So, we don't write all of our code in sexprs, but have a preprocessor (PPP - the pascal pre-processor) that reads a sexpr version of pascal and generates code accordingly.

</comment><comment><USER6> Related, s-expression Python: [https://github.com/hylang/hy](https://github.com/hylang/hy)

<comment><USER7> also:

      - pixie (sexp + python + llvm)
      - pharen (sexp + php)

<comment><USER8> I remember this one: [https://github.com/tomhrr/dale](https://github.com/tomhrr/dale)

</comment></comment></comment><comment><USER9> Finally, a sexpr-based transpiler that actually allows you to manipulate sexprs as compile time.

I don't know how people keep missing this (like, for instance, Lispyscript): newsflash, people: syntax-rules is considered inadequate for many types of macros _by the community that invented it_. If you want the full power of sexprs, you need to actually have the ability to traverse them.

<comment><USER10> What do you see as the most important differences (or, what are the main kinds of macros for which syntax-rules is inadequate)?

<comment><USER9> Syntax-rules has difficulty in any context where referential opacity or the introduction of bindings is desired. This means anaphoric macros, loop structures with break statements, and so on. It's not impossible (at least in Scheme), but it is hard.

In addition, syntax-rules is based on a DSL. If you want to build a macro that cannot be expressed in that DSL, or is hard to exress in that DSL (fairly common), tough.

With imperative hygienic macros (provided they give you control over hygene), or imperative unhygienic macros, this isn't a problem.

<comment><USER11> This is why R7RS has syntax-case.

HOWEVER... various bugs can be easily introduced if your macros are not hygienic. For many use cases, syntax-rules will suffice, but when you use syntax-case you must explicitly break hygiene.

It is a parallel situation to languages like Rust where unsafe operations are sometimes required, and therefore provided by the language but you must explicitly flag them "unsafe".

<comment><USER9> That's... very wrong.

>This is why R7RS has syntax-case.

It doesn't. In fact, sc-macro-transformer is a candidate for inclusion in r7rs-large.

>HOWEVER... various bugs can be easily introduced if your macros are not hygienic.

That's true, but you're confusing hygienic/unhygienic with imperative/declarative. sc-macro-transformer, syntax-case and friends are all hygienic imperative macro systems. So none of that matters.

</comment></comment></comment></comment></comment><comment><USER12> I wonder what the most compressable language is. Would it be a C-style language due to {, }, and ; or LISP like languages due to ()s everywhere?

</comment><comment><USER13> Very nice.

What I particularly like about this is the C s-exp syntax. The s-exp C actually feels like C. It does not introduce additional tokens to identify functions or types.

This approach could be generalized to write transpilers for other languages with C-like syntax (Java, JavaScript, C++, etc).

<comment><AUTHOR> Thank you. I tried to stay as much with the 'grammar' of C but with the syntax of s-expressions. Whatever came out most naturally as a C programmer was what I used in the S-Expr language.

</comment></comment><comment><USER14> How is it different from [https://github.com/eudoxia0/cmacro](https://github.com/eudoxia0/cmacro) and [https://github.com/eudoxia0/magma](https://github.com/eudoxia0/magma) ?

<comment><AUTHOR> cmacro is it's own language that doesn't have the power of Common Lisp. Same with magma; to each their own, but I prefer the capabilities of CL over a homegrown macro language.

</comment></comment><comment><USER15> This is nice, but only hardcore Lisp users prefer writing C-in-sexpr's to just writing C.

The "industrial-strength" alternative in the open-source world is just to parse C into an AST; several important projects like the Frama-C analyzer (and, IIRC, the Cocinelle project best-known for "spatch") use CIL ([https://people.eecs.berkeley.edu/~necula/cil/](https://people.eecs.berkeley.edu/~necula/cil/)), and of course many recently-started projects use the LLVM infrastructure.

sexpr's do make the AST more obvious than relying on an external compiler, but you need to write a _lot_ of macro's before "more-convenient macro's" beat "more-convenient code".

<comment><USER16> > This is nice, but only hardcore Lisp users prefer writing C-in-sexpr's to > just writing C.

I object! The choice between this and straight C isn't completely up to personal preference; using s-expressions gives you objectively more power because it lends itself to lisp macros, which are really the strongest reason to use any lisp at all.

<comment><USER17> I think he's suggesting that you could add the same functionality using lisp as a preprocessor without having to write what is objectively C semantics weapped in s-exps.

<comment><USER18> That's more or less obvious, and even has prior art by Java father James Gosling in the Ace preprocessor:

[https://swtch.com/gosling89ace.pdf](https://swtch.com/gosling89ace.pdf)

Well, minus the "using Lisp" part.

</comment></comment></comment></comment><comment><USER19> I was trying to think of how to say the same and thought "sexy-c" might work. Cool project.

<comment><AUTHOR> I just say 'sexy' :) Thanks.

</comment></comment><comment> aaron-lebo This is a really fun approach.

How about an (unfinished) common lisp to go transpiler?

[https://github.com/aaron-lebo/centro](https://github.com/aaron-lebo/centro)

</comment><comment><USER20> This makes me think of the terra project ! [http://terralang.org](http://terralang.org)

Terra looks nicer to me, mostly because of syntax, but I can see those two projects having about the same power</comment>


IOS: A Beginner's Guide - <AUTHOR> http://code.google.com/p/openmobster/wiki/iOSBeginner

<comment><AUTHOR> This guide is designed to help you write your first iOS application. At the end of the guide you will get a idea of how the different parts of an iOS application come together to form an App. The guide also includes the XCode project for download.</comment>