Society Needs an Alternative Web - <AUTHOR> https://www.forbes.com/sites/cognitiveworld/2019/03/15/society-desperately-needs-an-alternative-web/ <comment><USER2> Any decentralized system that is more efficient if centralized, eventually gets centralized by efficiencies of scale.

Email is federated, but everyone running and managing their own email servers is too costly, so for consumers, it migrated to large sites. Web sites were federated, but everyone being web master for their homepage was too difficult, so we get GeoCities, and Yahoo Clubs, and later, Squarespace and Wix, etc. Then blogs were decentralized, but everyone self hosting and authoring blogs was too much, so then we get Wordpress.com and Tumblr, and Twitter, and FB, etc. (even USENET eventually developed super-large hubs like uunet)

For a federated, decentralized system to work and resist centralization, it has to be the case that running a node is dead simple, cheap, and out-of- sight/out-of-mind. It also can't be the case that hosting on a more powerful cluster, colocated with other nodes, gives you large benefits or cost advantages, otherwise, it'll just get centralized again.

Even cryptocurrencies fail this. They have terrible efficiency, but at least they were supposed to be relatively flat, instead of centralized and hierarchical, but instead, a majority of the hashing power is owned by a few large entities, so in effect, back to large financial players controlling much of the power.

I think one day we'll discover some ways to decentralize things in ways that resist re-centralization, but in the mean time, beliefs that you'll achieve cyber/crypto-anarchy by clever protocol design and the federales won't be able to rubber-hose-cryptanalyze you, is a dangerous belief that diverts us away from demanding the government and society agree to the goals of freedom. If everyone wants unfreedom, underground internet usage is a slim consolation.

<comment><USER3> > Email is federated, but everyone running and managing their own email > servers is too costly, so for consumers, it migrated to large sites.

I think this is what federation looks like when it works. Yeah, everyone uses Gmail, but it's also ok to use another service. It still works and delivers a pretty similar experience. Your messages make it out of the Gmail garden.

> Web sites were federated, but everyone being web master for their homepage > was too difficult, so we get GeoCities, and Yahoo Clubs, and later, > Squarespace and Wix, etc. Then blogs were decentralized, but everyone self > hosting and authoring blogs was too much, so then we get Wordpress.com and > Tumblr, and Twitter, and FB, etc. (even USENET eventually developed super- > large hubs like uunet)

Geocities was one of many roughly equivalent services. It was sort of a social network, but it was mostly just free hosting. Anyone could still link to anywhere and being on geocities wasn't a requirement for being on the web.

Squarespace is a pretty good product and not what I would consider harmul centralization, because it's still interoperable with other websites and they don't prevent people from hosting elsewhere. The web is still federated.

Something different has happened with social media. Different social media services aren't interoperable. I can't message you on Twitter from Facebook, or tweet at you on LinkedIn. You must stay in their walled garden to interact with their users. They're at such a critical mass that almost everyone is in their garden.

It seems like federation is a happy middle ground between decentralization and centralized walled gardens.

Maybe something like Mastodon will some day become so popular that Twitter is forced to become part of the federation and compete on features and marketing instead of vendor lock-in.

With a federated version of any type of social media clone, eventually new entrants will prefer to join the federation instead of trying to make a new walled garden. It wasn't really an option for Hotmail to only let you interact with other Hotmail users, because the federation was already established.

There was tremendous demand for social media services, but no federation to provide those services when the demand hit and explosive growth happened, so now we have a centralization problem.

<comment><USER4> It's becoming less OK to use a small service. Gmail and office365 will often classify mail from small provider as spam, with no feedback to the sender.

I was using s small British provider, and almost by accident discovered at some point in time that emails I sent to gmail addresses in the prior 2 months had been marked as spam, unless they were a reply something sent to me (so it wasn't true that everything got lost - only stuff I originated).

I gave up and moved to FastMail because I don't have the time to deal with this (and solving it once is no guarantee it won't happen again)

So, email is federated but effectively not decentralized - unless you use one of the central services, you are at risk from being obliviously blackholed at any second (that happens to large providers too, but there's safety in numbers - it will be discovered sooner by someone)

<comment><USER5> I thought this too while using a small provider, as my messages were frequently not delivered to Gmail or Office365.

Then I discovered my provider didn't set up SPF and DKIM correctly so emails were failing authentication.

There are many factors affecting email delivery beyond SPF and DKIM, and it can be difficult for a small provider to get everything right.

So if you're having delivery issues I'd start with that, not by assuming without evidence that the big guys are intentionally classifying spam just because it's from a small provider.

<comment><USER6> Even if you setup SPF and DKIM, you still run into issues when your domain does not resolve to the same IP as your mailserver with Gmail.

<comment><USER5> That's what SPF does.

It allows the owner of a domain to specify which mail servers are authorized to send mail from the domain.

</comment></comment></comment></comment></comment></comment><comment><USER7> I agree with the title - we do need an alternative web, but not the kind the author wants. We need an alternative web that has less censorship and regulation. The current internet is turning more and more into TV.

<comment><USER8> The author refers to a decentralized web, which cannot be controlled by any individual, state, or corporation. I think this implies less censorship and regulation.

<comment><USER9> I'd love to be as idealistic, but when "free and uncensored" service has ever been ended up being something else than a cesspool for alt-right?

<comment><USER8> A decade or two ago it was the left which was vying for free and uncensored. Political fortunes have changed and now it's the right. Censorship is not free of political bias, and those on the wrong side of the current trend will flood platforms where the censorship does not exist. Those who are in favour of censorship must consider that political trends change over time, and one day they might be the ones being censored.

</comment></comment></comment></comment><comment><USER10> Nerds need a new web because "their space" was taken over and they feel left out. That's basically the gist of all this talk about decentralization.

Even the difficulty of getting rid of certain videos like the mosque shooting shows that censorship isn't as easy as it's being portrayed.

Big decentralized networks would be /b/ and /thedonald, 8chan, Alex Jones and other shitholes of the internet, but on steroids, without anyone being able to at least make it more difficult for these people to get an audience.

<comment><USER11> Correct, it isn't easy to censor because the web is decentralized. So it seems to me that "nerds" had more sophisticated views on the subject at hand.

You don't have to consume uncensored sources, but in most (all) parts of the world, that is a serious blessing.

If there are some people that cannot stomach the existence of Alex Jones, that is their problem. I think he exploits his audience, but that problem isn't to be solved with China tactics.

</comment></comment><comment><USER12> One of the worst mistakes that the original web made was getting rid of the editing component in the early stages, probably once corporate entities and their cut-up picture sites got big (yet note that the reference web implementation "Amaya" was also an editor).

And in a similar note, a distributed web needs ubiquitous editing _and_ publishing. Right now I think that both are better served by something really lightweight. A distributed web publisher should be able to run on an ESP32. The editing and display component should run on old laptops or mobile phones. That probably means good riddance to JS everywhere...

Distributed WAP?

<comment><USER13> The editing component died out well before that. The original WWW browser was bi-directional: it was as easy to publish or edit sites as it was to view them (much like Wikis are today, but with a WYSIWYG editor). Even up through about 1998 Netscape shipped with Composer, which made it relatively easy to generate & publish HTML without knowing much about technology.

I think the problem was just development effort and the pace of development in the early web (and particularly during the browser wars). Shipping an editor with the browser meant that every new feature available to websites needed both an easy implementation (in the browser) and a difficult implementation (in the editor). The editor implementation would often require a lot of uncertain design work as people hashed out what the editor UI should even look like. It forbade the browser vendors from shelling this hard task out to external programs. If you wanted to embed a photograph on a webpage, Photoshop had already spent decades solving that problem; was the browser vendor supposed to duplicate all that work? If you wanted to embed a Java applet, Sun and Borland and IBM had invested thousands of man-years on development tools; would you ship an IDE in the browser? Some content types are just now getting decent editing software, 20 years later.

When you have 150M users browsing and maybe 1.5M users creating content, the economics are pretty clear. There's no sense putting 80% of your development effort into tools that 1% of the population uses.

Interestingly, even after user-generated content became a huge thing and easy WYSIWYG editors became just a JS embed away, the 1:10:100:1000 ratio still roughly holds: for every person creating content _daily_ , 10 people create content *occasionally, 100 register for the site, and 1000 people might view it as lurkers. That indicates that the problem might not be in the tools, and that creating content is just more difficult than consuming it.

<comment><USER14> > The editor implementation would often require a lot of uncertain design work > as people hashed out what the editor UI should even look like.

Isn't this just a dodgy way to circumscribe the complete failure of the W3C to keep their specifications sane enough for them to provide a reference implementation, even for a simple browser? That's how we arrived at the mess we have today, where you need a 9 figure budget just to maintain a modern browser implementation.

</comment></comment></comment><comment><USER15> I see this come up time and time again in technical circles and I just do not understand the issue. My first exposure to the Internet was in 1993, when it was dominated by usenet and hobby websites. It was a happy place, full of independent thoughts, discussion, and cooperation. As time went on, people started to establish businesses and make profit on the Internet. That was the turning point.

Do you want an Alternative Web? We have it. The infrastructure is there. Go back to the good old days. Run your own webserver, your own email server. Turn it back into a hobby, like it used to be. Establish "web rings" with your buddies. The Internet is a boundless eternity, with many opportunities for techies to establish communities of their own.

Leave the terrible modern Internet to the masses. We have endless frontiers to homestead. All this hand-wringing about the loss of innocence and the ravaging hordes of anti-vaxxers and far-right extremists is just silly.

Edit: The way I see it, once the Internet becomes your job, you have lost. When the web was a hobby, it was a great place. Profit motive drove the loss of innocence and was the beginning of the end of the hobby web.

<comment><USER16> People who hobby blog and don't expect to make money, nevertheless want to have some audience. They might be creating content for the benefit of a community.

However, discoverability has plunged because of changes in the way Google works, as I have found with blogs based on some of my special interests. Even when one searches for the exact words that appear in posts, Google might not show them at all! (DDG is often not much better.)

So, when people create detailed, useful content and find they are getting no visits at all, this is discouraging.

<comment><USER17> I remember this in the early day of blogging -- we were always leveraging community to drive organic reach. I was told by a FB person once that we need to stop chasing organic reach -- it ain't happening. The monetization to the forced FB feed meant everyone had to pay. For bloggers this is how they make money. It's become a staple for the industry.

</comment></comment></comment><comment><USER18> > Tim Berners Lee had this Pollyannaish view once upon a time that went like > this: What if we could develop a web that was free to use for everyone and > that would fuel creativity, connection, knowledge and optimism across the > globe?

It's wrong to describe that as "polyannaish", since much of it has come to pass. Despite its shortcomings and abuses, could anyone say the web has not fuelled "creativity, connection, knowledge and optimism"?

Berners-Lee is an optimist, but he is not blind to the downside of his creation. What happens next is another question.

<comment><USER19> I stopped reading when I got to this point, because it is clearly an opinion piece masked as news. Regardless of whether I agree with the opinion, because it is classed improperly I can't take anything else in it seriously.

<comment><USER20> There's no masking, this is simply an op-ed. It's fairly clear even from the title (news are usually titled as "this happened" rather than "this _should_ happen").

</comment></comment></comment><comment><USER21> As much as I like to consider myself a pro-freedom, anti-censorship type of person, articles such as this one rarely fail to amuse me. As long as the system of payoffs stays unchanged, the end result is inevitably going to be the same, and if the decentralized web does change the system of payoffs, there might be no incentives to motivate development and adoption of such a d-web beyond a small number of technically adept people. How many times have there been calls and widespread memes to abandon Facebook [remember Diaspora?], and yet it's still there.

It's all not doom and gloom, but what society desperately needs is to stop producing/consuming pointless articles such as this one or idiocy like "We should break up Google and Amazon" [Oh yeah? Go ahead and break them up them, I'll watch. Will you be selling tickets?], and to start performing _real_ economic and game-theoretic analysis of possible alternatives.

<comment><USER22> Get ready for more of it. All twenty Democrat presidential hopefuls just watched Warren talk about splitting tech companies and are currently looking for someone to hold their beer. It's going to be a long electional cycle :/

I don't know about an alternative web, but something will happen with Twitter, Google, Facebook upping their censorship game more and more.

<comment><USER23> Politicians promise all kinds of things in stump speeches that they know they cannot realistically deliver. Remember Bush I's "no new taxes?" Obama's public option healthcare plan? Trump's wall?

All gone by the wayside. What you say doesn't matter if you can't guarantee the right number of votes in the legislature.

</comment></comment></comment><comment><USER24> Can't be hard. I run my own personal web site and don't use Facebook or Google. Not because I'm trying to go all distributed or something, but because I think the products just aren't as good as the ones I happen to use.

I realize my profession and skillset put me into a minority that can even do this. And I realize this last statement is in contradiction to the first sentence of my post.

Oh and if there was a site that did a version of Facebook like it was in 2007, I'd sign up to that for sure.

</comment><comment><USER25> I've done some proof of concepts with IoT in the Danish public sector, and to do it, we've had to build our own wireless internet because the current ISP controlled one is just terrible, and it's mobile/wireless version is frankly too unreliable.

So now we operate a miniplacity wide internet. Setting it up was fairly easy, because we own a lot of network infrastructure and a lot of locations that are spread out over our entire county (might be the wrong word, sorry if it is), and it just works.

Unfortunately we have laws protecting ISPs in Denmark, so we can't exceed certain speeds without violating these. It's made me wonder though, and this is my personal opinion, if we shouldn't rethink the way we do internet infrastructure to be much more democratic and citizen owned.

<comment><USER26> This sounds like a really cool project. Do you have any more information somewhere by chance?

</comment></comment><comment><USER27> A key quote from the article:

> Adoption of a decentralized web cannot play by the old rules. New > experiences and interactions that are outside of current norms needs to > appeal to individual values, that enable trust and ease of adoption. Pulling > users away from convention is not an easy task.

They seem to suggest Decentralization is at odds with "conventional" consumer experiences.

It doesn't have to be that way.

For instance:

\- D.Tube (decentralized YouTube)

\- notabug.io (P2P Reddit)

Both look, feel, and act very much like their "conventional" versions. Yet both of these are fully decentralized using GUN (my project: [https://github.com/amark/gun](https://github.com/amark/gun) ). Most users would not even know there is a difference.

So it is certainly possible to both appeal to the masses/convention, while being private/secure and free/open-source and decentralized.

Although I do think we do need NEW and DIFFERENT experiences, things that are "fresh" and fun. Facebook basically looks corporate now. We need to build new UI/UX experiences that define a new "era" of the web, in the same way people look back and remember the 80s or 90s. This doesn't have to be something we look back to, it is something we can engineer from the start. :)

<comment><USER28> I wouldn't really say _fully decentralised_ they require DNS and a webserver to point to for the website. Although the content may be decentralised, is inaccurate to claim its _fully decentralised_.

Decentralising domain names is not an easy task, as IPFS is discovering...

<comment><USER27> We've successfully done local multicast, Bluetooth, discovery. DNS is not necessary, IPv4 works, and with IPv6 there are even people hosting P2P reddit from their desktop - so no, servers not needed either.

And we have Identifi/Iris for naming, by Satoshi's 1st contributor to Bitcoin. The future is here, yesterday!

</comment></comment></comment><comment><USER29> This is why I really like what Beaker Browser is doing. It feels like when I first discovered the Internet in the 90's. I highly recommend you check it out, if you're into decentralized and easy to use web: [https://beakerbrowser.com/](https://beakerbrowser.com/)

</comment><comment><USER30> Lot of orphan statistics in that article. For example, there's been an 11 percent increase in cyber bullying between 2006 and 2016,but what was the percentage increase in how much time an average teen spends online? Bet it's bigger than 11 percent. Every other statistic is similarly without companion data.

There's also no concrete support for the central premise that big tech companies are to blame. One could just as easily make a case that the massive increase in time parents spend online instead of with their kids is entirely to blame.

</comment><comment><USER31> IIRC this current web technologies are already decentralized, we dont need an alternative. We need more nodes, so it can live up to its potentials. Perhaps start by buying a fixed computer, something that can be up 24/7 and then add services on top of it. But when 80% of the chatter even among developers is about how to use the latest centralizing cloud service, this is not going to happen.

<comment><USER26> Once you factor in ISPs blocking port 80, the need to configure port forwarding, and server maintenance, it's a hard sell for the average Joe. I think we need something like sandstorm.io if we're ever going to take self- hosted to the masses.

</comment></comment><comment><USER32> While I agree with FAANG being way too powerful (and that they are all US- controlled with no viable European competitor in sight!), there is one elephant in the room that no one has been able to solve at all: the potential of abuse for non-centralized sites that cannot afford (or technically support!) any kind of moderation.

The TOR network is a prime example - markets dealing in anything from cannabis to war-grade weapons, huge child porn dumps, malware coordination servers. Or the same stuff in the "clearnet", where as an addition there are huge problems with absolutely vile Nazi propaganda (e.g. Stormfront), Russian propaganda disrupting Western elections, "anti vaxxers" that literally kill people and other conspiracy bullshit.

Society doesn't just need an "alternative web", society needs an alternative society that doesn't make anything devolve into dumpster fires.

<comment><USER23> Agreed. It's less about the possibility that the system can be exploited it always can), and more about the fact there are people out there actively wanting to exploit the system to serve their own ends.

<comment><USER17> So what I'm hearing is that opportunism will always exist regardless of structure

</comment></comment></comment><comment><USER33> It would be great if more research would be made into un-centralizable systems and technologies instead of just "distributed systems".

If we could build technology out of building blocks for which _dis_ -economies-of-scale ("the larger the more expensive", or "the more you own, the more expensive it's to buy more") would apply, and for which any kind of centralization would _increase_ cost the world would be a much more interesting place, and I mean in general, not juts IT, but food production and architecture too... I guess we'll have it when we'll have self-replicable autonomous drones too but that will be the dusk of humanity so there won't be much time for us dinosaurs to enjoy its benefits :(

</comment><comment><USER34> A decentralized web would not mean a safer web. Those two concepts are irrelevant to each other.

In fact, a decentralized web would be more dangerous than the centralized web, from the perspective of bringing closer together people with the same ideas and reenforcing them through the echo chamber effect.

A decentralized web would mean that there would physically be no opportunity to come in contact with the opposite view, which will enhance the problems that we now have with the spreading of false ideas.

The dichotomies that would be created would be so enormous that the opposing view would loet any humanity status. The opponents would be aliens, and exterminating aliens would not sound as bad as exterminating other people.

</comment><comment><USER35> I have worked 10 years in this direction, see PJON [https://github.com/gioblu/PJON](https://github.com/gioblu/PJON)

</comment><comment><USER36> IMO the only way to decentralize the web is to rovide tech that has better uX than centralized solutions and that's hard. Centralization didn't arise because companies are evil, it did because decentralization is inherently complex. Preventing decentralization is another story, though. IMO technology is not enough here, we need the law too. I don't mean regulation, god forbid, that will only make it worse. I mean something like inter-server agreements saying that a server may not lock users in etc. with the appropriate legalese. Those could be enforced i.e. by only federating with servers that send an "agrees-to: <list of sha xxx license hashes>" header. Getting people to adopt it is another story, though.

</comment><comment><USER37> "I see a society that is crumbling" \- texts that begin with a conclusion, are propaganda, because they are designed to intimidate and that shapes the reader's view before even laying out the problem. Of course you can expect a politically biased solution after every scare. The pattern in a loop is: SCARE->OFFER SOLUTION. Every sentence in that article is designed, not to let you think, not to offer some insight, but to tell you _how_ to think instead. Maybe there is a case to be made but it does not seem to be the author's intention to search for the truth in the matter, but rather to influence an already established position.

</comment><comment><USER38> > Business needs to change its mindset

We are past this. Business today is a faceless online giant, nothing human, no mindset at all. Only goal is share price. I think major driver for this is financial markets, a.k.a legalized gambling.

</comment><comment><USER39> I am curious what widespread 5G adoption could mean if it was used generally as the last mile solution. Why wouldn't the high speed of the network allow for people to do significant self publishing? 1000 megabit internet could support 200 live hd streams even from the same server. Getting that many live viewers is pretty tough. So for most people, it could make self hosting at home more meaningful. People could even form collectives of synced nginx backends if they had really large audiences.

<comment><USER40> Sending the same message 200 times seems like a waste. Can't you just use udp broadcasting?

<comment><USER39> Well certainly I'm no expert on internet broadcasting. I have experimented a little with nginx's rtmp server for hosting a live stream. Does nginx have the udp broadcasting ability? How many clients could it support? Pretty exciting if the 200 figure can be breached.

</comment></comment></comment><comment><USER17> Hi everyone, this is Hessie Jones. I wrote the piece on Forbes. I'll go through your comments today! Love that this is sparking discussion. Cheers!

<comment><USER41> love the analogy to pollution - if you see someone dropping litter you would call them out, but people litter the web with poorly researched or otherwise ill-formed opinions constantly, not to mention giant corporations doing the equivalent of pumping high volumes of toxic waste into the air we breathe in the form of manipulative advertising. we need internet environmentalism

<comment><USER17> I like the term internet envirionmentalism -- what's good for me is good for the internet. But like climate change, unless it impacts the individual directly, few are likely to buy in. I met an environmental activist last week and she told me that people in Japan is a culture of cleanliness -- it's instilled in the child from a young age. And it perpetuates into society. For Singapore, that has translated into stricter laws. In North America, people have to care otherwise it's likely no real strong regulation will ever happen.

</comment></comment></comment><comment> grumpy-cowboy 100% decentralization is an utopia. But with the Fediverse, we have the best of the both worlds: most people will register to a "centralized" instance like mastodon.social and people who want will be able to run their own instances/nodes with their rules, their policies, ... and federate it. Pretty much like any email server.

</comment><comment><USER42> A basic internet where people are taught and then tested on logic and bias. Take nations as an example. Nations survive economic hardships by inducing in the population a sense of insular self-defense and struggle for existence (of the nation). When a nation is economically prosperous suddenly it's borders are not so well defined and people naturally develop a cosmopolitan outward and international view based around common union and empire with weaker nations which become absorbed or vassals.

Nationalism is neither bad or good, it's a system wide response to mostly economic signals in a given population or subgroup. If the average internet user understood this, public discourse would be more civil and solutions oriented. Since the issue is not clearly addressed because the political and intellectual class have been purchased by the business elite which engage in transnational profit, the entire concept of the nation state is being undermined from first principles in order to prop up new exploitative economic zones. This will lead to popular uprising and revolutionary war, as it has in the past.

You can of course replace the nation with something better for the individual. America did this in the 1960s by replacing the nation as a people (race) with the nation as an idea (free markets, individualism, equality), this influenced many other nations and won the cold war. And we are probably in a similar replacement phase now, as an Anglo -American -European identity emerges in order to face the challenges of central and east Asia, Africa and South America. The intellectual framework for this new union is not there yet since it is unclear why nations and world zones are in constant competition- far left is offering freedom far right is offering tradition both are struggling to sell the middle who simply want stability.

</comment><comment><USER43> Is the web (all its corresponding data) public or private?

Answering that question determines how data flows and thus what's currently wrong. Answering that question also predicts why an alternative web would equally fail to achieve separate merits.

</comment><comment><USER17> Thanks everyone for your comments. My name is Hessie Jones and I have written this article on Forbes. I will weigh in on these thoughtful comments as I go through them. Thank you again!

</comment><comment><USER14> Pipe dreams of a generation that would happily live in free apartments with hidden cameras and microphones in every room. They even put their Alexas everwhere for just a little convenience now.

Free (as in beer) trumps convenience trumps any sort of rational idealism. It's a materialistic world. Incidentally, it also provides all the tools to "opt out" at a low price. But if you want everyone to opt out (which is what the author seems to want), you'll have to pay for them too.

</comment><comment><USER44> We're never going to have a decentralized and alternative web until we figure out the economic model behind it.

<comment><USER17> Agree it has to make money. Tech giants stifle innovation and competition by buying companies they see as threatening. We need a consortium. And we need a model that can't be easily penetrated by big tech. Money is a true motivator -- and doing the right thing doesn't fall on the same plane when people are enticed with this kind of incentive.

</comment></comment><comment><USER45> Yep it should have stayed straight HTML + CSS, leaving all the rest for Internet protocols, but here we are.

</comment><comment><USER46> My view on this:

1) Technology makes bad people as efficient as good people. Let's define "good people" as honest, productive workers who value universal virtues like freedom, well-accepted scientific findings, and necessary progress. Now let's define "bad people" as selfish, dysfunctional news-site commenters who think Hillary Clinton is producing vaccines in a pizza shop on the moon, and demand that you equate their ignorance with your well-reasoned opinions.

2) Perhaps my most controversial assumption, the "everyman" that deranged populism appeals to tends to be more of the "bad person" than the "good person".

3) From 1991 to present, the proportion of "everymen" to "professionals" using the Web has steadily increased, empowering more "bad people" than "good people".

So is it any surprise then, that we're at where we're at? The problem isn't the Internet, Tim Berners-Lee, the problem is that we don't seem to have the courage to admit that the vast majority of people we hoped would use it constructively have chosen to misuse it, empowering them even more to demand ignorance and fear be elevated back to the position of a movement demanding political power.

The problem is our so-called neighbours, and their jubilant disregard for everything that free society once stood for.

</comment><comment><USER47> Cool: [https://web.fabric.pub](https://web.fabric.pub)

<comment><USER48> Cooler, and free: [https://www.datprotocol.com/](https://www.datprotocol.com/)

</comment></comment><comment><USER49> Tl;dr: The world and the web suck; Tim Berner-Lee was a clueless Pollyanna; We're gonna solve everything with DECENTRALISATION that will come to pass by (makes vague hand gestures, draws ballon shaped objects).

What a bunch of useless drivel.

<comment><USER17> It's only Pollyanna if you do nothing about it. Decentralization is more than an idea. There are many technologies developing privacy as an integrated feature on their platform. There is enough of an appetite to support it more widely than it has been.</comment></comment>


Win a year's mentorship from Alexis Ohanian - <AUTHOR> http://www.prizeo.com/prizes/alexis/a-years-mentorship#bkstandup

<comment><USER2> Wait, wasn't this submitted yesterday? [https://news.ycombinator.com/item?id=6451899](https://news.ycombinator.com/item?id=6451899)

And before that, which was deleted so it could be resubmitted: [https://news.ycombinator.com/item?id=6451740](https://news.ycombinator.com/item?id=6451740)

(curiously, all three links have the same initial commenters)

<comment><USER3> because its for charity...

<comment><USER4> I think his point is that it's weird that you don't comment on anything else, but manage to have impeccable timing in terms of showing up when this thread is posted.

Edit: Especially if you go back in your comment history and see that you actually know Alexis. So it's kinda offputting to see the early votes get gamed like that, even if it is for a great cause.

</comment></comment></comment><comment><USER5> I don't understand how Prizeo complies with relevant contest related law. You get entries in proportion to the size of your donation, but apparently contributing does not improve your chances of winning. This seems to be a direct contradiction.

From the contest rules:

The winner will be chosen at random using Prizeo's certified random number generator. No payment or contribution is necessary to enter or win. Contributing will not improve the chances of winning. The contest is subject to Prizeo's Terms and Conditions. The prize is non-transferable.

</comment><comment><USER6> From [http://www.prizeo.com/prizes/alexis/a-years- mentorship/defau...](http://www.prizeo.com/prizes/alexis/a-years- mentorship/default/official-rules) ... Quebec is not a country. ;-)

<comment><AUTHOR> Touche. They wish they were, though! Right?

</comment></comment><comment><USER7> Very cool. Would love to go to a Nets Game with you!

<comment><AUTHOR> It'll be fun - especially this season!

</comment></comment><comment><USER3> damn this is a good idea. i hope i win the #waffle prize. or maybe get to eat some other #pastry with #you.

</comment><comment><USER8> what does be a YC founder for a day entail?

<comment><AUTHOR> Office hours with YC partners and me at the YC offices. We'll go to red rock coffee in MV, too!

</comment></comment><comment><USER9> Love it

<comment><AUTHOR> I can't wait to get waffles with some generous donor...</comment></comment>


Show HN: EnnoDB, a simple NoSQL database - <AUTHOR> http://twigtechnology.com/blog/2015/06/11/announcing-ennodb/ <comment><USER2> _> fast, in-memory database

> The Raspberry Pi that I used for developing and running the server is a > fantastic little machine, and its specs encouraged the compact, memory- > efficent design.

> I set up a quick JavaScript example that reads and writes values from the > database running on my home server, at [http://enno.kn- > bremen.de/keyval.html.*](http://enno.kn-bremen.de/keyval.html.*)

Really cool. Is the home server an actual raspberry ?

<comment><USER3> Oh cool, an in-memory lightweight NOSQL database. In the context of pervasive computing I can see its multiple use cases. A embedded device with limited computing capabilites would be able to store, process and act on sensor data in near real-time.

Can this database be also embedded in applications?

<comment><AUTHOR> The source code is there for anyone to do whatever they like with it. Of course you could use this in-process and strip away the server logic, it's even split into source files to make that easy (nosql.[hc] are the files that implement the key-value store, everything else handles the fcgi requests).

</comment></comment></comment><comment><USER4> > _" First of all, yes, the name is a pun."_ \- Enno Rehling

It's not that uncommon in MySQL-land to name things after people, so I guess it fits right in! MySQL itself was named after Monty's daughter, and MariaDB was named after Monty's other daughter.

Though I must confess that I originally thought EnnoDB meant "Ain't no DB" in a certain accent :p

<comment><AUTHOR> I did not know that! This is some cool trivia.

</comment></comment><comment><AUTHOR> I figured every full-stack programmer worth his salt should try to write his own database at least once, no?

<comment><USER5> Define "full-stack".

<comment><USER6> Isn't "full-stack" just a new(ish) word for systems programmer? I.e. a programmer who can reason about and optimize for what goes on on the hardware?

<comment><USER7> I've always thought "full-stack" meant both front-end and back-end. Meaning that they could work on the website and the API.

</comment></comment></comment></comment><comment><AUTHOR> Don't you love it when you announce your project to the world, only to spot a massive bug immediately after? Let me reiterate everything I already said about people not using this for critical data, because it's apparently losing keys from time to time.

<comment><AUTHOR> Incidentally, this is where the idea of writing a journal paid of, because even though keys were getting corrupted in memory, the journal was fine, and after the bugfix, read back nicely and recreated the keys.</comment></comment>


Your chance to name the newest element (Element 112) - <AUTHOR> http://www.guardian.co.uk/science/blog/2009/jun/11/element-112-name-periodic-table <comment><USER2> StephenColbertium</comment>


To Associates: Our Next Steps in Response to Tragedies in El Paso and Southaven - <AUTHOR> https://corporate.walmart.com/newsroom/2019/09/03/mcmillon-to-associates-our-next-steps-in-response-to-the-tragedies-in-el-paso-and-southaven <comment><USER2> [https://www.businessinsider.com/walmart-gun-buying-review- vi...](https://www.businessinsider.com/walmart-gun-buying-review-virginia- store-2019-8)

<comment><USER3> Summary of this Business Insider piece:

* I went to a Walmart store in Virginia with the intention of buying a gun as part of an investigation into the placement, selection, marketing, security, and sales of firearms in Walmart's stores.

* My journey to bring a gun home from Walmart was more complicated than I expected, and I was left with the impression that the company takes gun security and sales seriously.</comment></comment>


Show HN: Hotlister, a Spotify app for Billboard charts - <AUTHOR> https://hotlister.herokuapp.com/ <comment><AUTHOR> This is a small webapp I made in Node.JS with a dash of socket.io, it lets you look up Billboard charts by genre and date and save them as playlists on Spotify.

There are still a few kinks with the Spotify lookup (mostly issues that pop up for older songs), but overall it's working well enough that I wanted to share.

Any and all feedback is appreciated!</comment>


CSS Pattern Backgrounds - <AUTHOR> https://www.heropatterns.com/ <comment><USER2> Good one, reminds me of the good old subtlepatterns.com (Now at [https://www.toptal.com/designers/subtlepatterns/](https://www.toptal.com/designers/subtlepatterns/)) from where I picked up background images many times. You have SVG, cool!

A great feature will be the ability to preview the website itself with a chosen background. SubtlePatterns.com has this.</comment>


Ask HN: Best way to learn HTML and CSS for web design? - <AUTHOR> A friend is a graphic designer who specializes in print (e.g., product packaging) but wants to learn html and css to get into web design.<p>Which books and/or online resources would HN recommend for a person with a non-technical background? <comment><USER2> I run a group with almost 600 JavaScript learners. With this many people, we've been through the vast majority of self-study resources. My goto recommendation for learning HTML, CSS, & JavaScript is [http://www.freecodecamp.com/](http://www.freecodecamp.com/) This has consistently had the best results for our learners!

It (a) assumes no knowledge coming in, (b) provides a linear progression from no knowledge to a portfolio of web applications, (c) lets you move as fast or slow as you want, (d) lets you skip lessons and topics you're already familiar with, and (e) has phenomenal online support. (EDIT: and it's free)

Once your friend has the fundamentals, I'd also suggest checking out [http://flukeout.github.io/](http://flukeout.github.io/) and [http://flexboxfroggy.com/](http://flexboxfroggy.com/) . They're fun little games to introduce lots of css and flexbox features.

<comment><USER3> Say I'm already a competent programmer in C++/Python. would these also work out?

<comment><USER4> I have your background and am a front-end web developer now; that being said I looked it over and it looks like it covers most of the stuff you'll want to know, judging from map (table of contents).

My only gripe on the subjects covered is that they do jQuery before JavaScript. But if you're already competent, then let me just tell you jQuery is just a JavaScript library a lot of websites use instead of "pure JS" because it handles a lot of cross-browser issues and makes for a simplified/unified API. Instead of having to write one native DOM API method call for Chrome and another for IE inside an if (browser is IE) { ... }, you can just use jQuery's corresponding method and it'll do the right thing automatically. At least, that's the argument a lot of people use. That and the jQuery API just being more concise

However, jQuery is largely considered very cumbersome by more experienced devs, owing to being slow in performance and to being a large file include that slows page load times, and a lot of people try to avoid it for that reason. It's worth studying this link to see how you can do all common jQuery things with normal JS.

[http://blog.garstasio.com/you-dont-need- jquery/](http://blog.garstasio.com/you-dont-need-jquery/)

There's also "smaller" versions of jQuery, which provide the same/similar API without being huge, like Zepto. Zepto is 9.1kb, jQuery is 95. 95 is a lot.

So yeah, long speech on one little gripe, but I feel like it needed saying because that site is probably good for teaching most other stuff you'd need to know.

<comment><USER5> > However, jQuery is largely considered very cumbersome by more experienced > devs, owing to being slow in performance and to being a large file include > that slows page load times, and a lot of people try to avoid it for that > reason.

I whole heartedly disagree. Experienced devs consider jQuery a tool and know when to use smaller frameworks like vanillaJS or something heavier such as React/Aurelia. Also, in terms of web libraries/frameworks, 100kb is not that big.

</comment></comment></comment></comment><comment><USER6> [http://htmldog.com](http://htmldog.com) \- Hands down the best way to learn HTML and CSS. It's free!

[http://htmldog.com/guides/html/beginner/gettingstarted/](http://htmldog.com/guides/html/beginner/gettingstarted/)

He will get context on what HTML is, and how it interacts with the browser. It's much easier to internalize knowledge with this website than it is elsewhere.

<comment><AUTHOR> Great, thank you for the link.

<comment><USER7> w3schools.com

Keep the link as a reference but it also provides some good quizzes to learn and practice basic concepts. 8 years ago that's where I started learning HTML/CSS/PHP.

</comment></comment></comment><comment><USER8> I would do this:

\- choose a small project. Something that creates discomfort but not crippling anxiety (this will require self-awareness - too small, you won't learn much, too big, you may give up and take a confident hit).

\- split the project into parts so you have a bunch of questions. 'How do I build a site in HTML/CSS?' is fairly broad. Perhaps "how do I build a header?" is too. Break it down until you either know how or you can find the answer quickly, i.e 'how do I insert an image?' or 'how do I set a width, background colour and consistent space inside the edges of a box?'

\- have someone who you can call upon to answer questions or help convert what you are trying to do into a phrase that uses industry terminology for which you can find ample resources. Forums/IRC can help here - there are some jerks who will kick off about you not using google but many will be understanding if you explain you are new and still need to pick up terminology to make searching easier

\- repeat the above endlessly, expanding your skills and integrating new discoveries

An interesting example of this is of someone who built 200 or so Rails projects over a year. I may have got the numbers wrong.

Good books can help get started and reading certainly helps but making the process multi-modal by reading from many sources, listening (such as videos or a local web meet), doing via projects and experiments and seeing your results will be most effective.

I don't have recommendations for books - the only thing about HTML I read in a book was a small section of a cheap internet guide that got me started when I was a kid. This wasn't required when training an apprentice but probably useful.

</comment><comment><USER9> I would recommend getting started with Head First HTML and CSS.

[http://headfirstlabs.com/books/hfhtml/](http://headfirstlabs.com/books/hfhtml/)

It will give them a good foundation and confidence to setup a website from scratch.

[http://headfirstlabs.com/books/hfhtml/](http://headfirstlabs.com/books/hfhtml/)

Have them purchase a domain and setup a simple shared hosting account to publish a website. Shared hosting like hostgator is good enough to start, learn the basics, use FTP (recommend, MAMP/WAMP, sublime text, filezilla).

Then they can move on to more advanced topics.

</comment><comment><USER10> I've always recommended Mozilla's Developer Network (MDN) - [https://developer.mozilla.org/en-US/](https://developer.mozilla.org/en-US/)

It has alot of good resources and a wealth of information. As a seasoned web developer, this is still one of my go-to sites for documentation on web related stuff.

<comment><USER11> I think MDN can be a good reference when you want to find out details about something, but I don't think it's very helpful to newbies who don't even know what it is they're supposed to be learning.

<comment><USER12> There's a whole subsection dedicated to learning on MDN.

[https://developer.mozilla.org/en-US/Learn](https://developer.mozilla.org/en- US/Learn)

</comment></comment></comment><comment><USER13> I recommend the following:

1\. Check out Jennifer Dewalt's project 180 websites in 180 days - [http://jenniferdewalt.com](http://jenniferdewalt.com)

2\. Free Code Camp is quite good (but the focus is more on coding rather than design) - [http://www.freecodecamp.com](http://www.freecodecamp.com)

3\. Nathan Barry's books are great - [http://nathanbarry.com/books](http://nathanbarry.com/books)

4\. [Plug] - I'm starting a new site for online courses and need beta testers for some HTML and CSS courses which go from scratch to pro level. Happy to give your friend early access for free - [http://learnetto.com](http://learnetto.com)

</comment><comment><USER14> Anchoring onto this, but with different requirements: Are there tightly condensed resources to learn the most important bits of HTML, CSS and plain JavaScript really fast for somebody who otherwise knows how to code and has written some HTML a long ago.

Or is it like with LaTeX that you just start and on-demand google the pieces?

<comment><USER11> You might like this one: [http://learn.shayhowe.com/html- css/](http://learn.shayhowe.com/html-css/)

<comment><USER15> I powered through this tutorial in two days and would highly recommend it to anyone - I feel like as though I took quite a bit away from his teaching.

</comment></comment></comment><comment><USER16> I teach web development in a graphic design program. You're welcome to check out my resources: [https://learn-the-web.algonquindesign.ca/](https://learn- the-web.algonquindesign.ca/)

All the tutorials & videos are available there as well as the curriculum and assignments for each week.

</comment><comment><USER17> Take a look at Bento. [https://www.bento.io/](https://www.bento.io/)

[https://www.bento.io/tracks/front-end](https://www.bento.io/tracks/front-end) \- front end track

[https://www.bento.io/grid/](https://www.bento.io/grid/) \- all their tutorial recommendations

They hand-pick some of the best free tutorials for each of the technologies you might need (including the other ones mentioned here) and even have curated tracks for front end.

</comment><comment><USER18> Best book for non-technical persons: John Ducket, Web Design with HTML, CSS, JavaScript and jQuery Set. [http://www.amazon.com/Web-Design-HTML-JavaScript- jQuery/dp/1...](http://www.amazon.com/Web-Design-HTML-JavaScript- jQuery/dp/1118907442/ref=sr_1_1?ie=UTF8&qid=1454777537&sr=8-1&keywords=Jon+Duckett)

Best online resource: [http://learn.shayhowe.com/](http://learn.shayhowe.com/)

<comment><USER19> Ducket is a little dated these days but it is a great intro in my opinion.

<comment><USER18> Agreed. It's strength is the visual presentation, not so much the technical details.

</comment></comment></comment><comment><USER20> My girlfriend is teaching herself to code, and her favorite resource is [http://codeschool.com](http://codeschool.com). I've watched pieces of some of their lessons and they definitely spend more time going over programming (or even computer science) basics, whereas codeacademy seems to skip that and just throw jquery at the students. And they have a nice mix of well-produced video content to go with some interactive repl exercises.

</comment><comment><USER21> Mid-level web student here.

I've read several HTML/CSS books and gone through half a dozen courses. I'm comfortable with your basic HTML/CSS page, have a basic handle on Javascript (assuming I'm not doing anything more complicated than using getElementById to change some attributes on a click), and I can use jQuery/Bootstrap when I need to.

Right now the biggest hump for me is figuring out how to make mobile-friendly sites WITHOUT resorting to a framework. I feel like the vast majority of books or e-courses right now will go the following route:

1) Teach basic HTML/CSS for barebones basic and legacy pages

2) Introduce HTML5 syntax

3) Briefly show how to do a "pure" mobile-friendly page using viewports, flexbox, and media queries.

4) Spend fifteen minutes on the above, and then say, "But that's too much work. So now we're gonna use Bootstrap and never do Step #3 again!"

That above has happened consistently, and it disappoints me. I can do Bootstrap, but frankly I hate writing it. I feel like I have to go five or six div's in deep before I'm actually writing any text that's going to be visible to the end-user.

I'd really like to find more resources on making a mobile-friendly webpage that doesn't rely on Javascript to resize itself. In particular, I've got a few webpages that I built as past projects or coding exercises that I otherwise think look fine, and I'd like to figure out how to easily retro-fit them so that, say, the images don't stretch more than 100% of the screen width without having to rewrite the entire page using jQuery.

Anyone have any suggested resources for building mobile-friendly pure HTML/CSS sites?

<comment><USER22> The only thing you really need to know is how to use media queries.

[https://developer.mozilla.org/en- US/docs/Web/CSS/Media_Queri...](https://developer.mozilla.org/en- US/docs/Web/CSS/Media_Queries/Using_media_queries)

[http://www.w3schools.com/css/css_rwd_mediaqueries.asp](http://www.w3schools.com/css/css_rwd_mediaqueries.asp)

<comment><USER11> It's not just about media queries... one also needs to understand the concept of "fluid layouts" \-- that is, declaring your widths in percentages instead of pixels. Media queries can help tweak a design to change/respond to different screen widths, but the first step is making sure your widths are fluid and flexible (otherwise you'd basically need separate media queries for every single pixel from 300 to 1000).

</comment></comment></comment><comment><USER23> For non-technical, head first html/css is great: [http://www.amazon.com/Head- First-HTML-Elisabeth-Robson/dp/05...](http://www.amazon.com/Head-First-HTML- Elisabeth-Robson/dp/0596159900/)

It's not always the case but for html/css, learning by doing is amazing.

</comment><comment><USER24> One year ago I was working as a frontend engineer and although my JS skills were good, my CSS skills were pitiful. Over the course of the year, I sat down and implemented most of material design. Now I can take a look at basically any mockup and wire it up.

I found it very helpful to look at how other people implemented certain components.

</comment><comment><USER25> There is truly no substitute to just jumping into the thick of things, learning by doing, and looking up how to do things as you go along. However, I know that it's intimidating when you are starting out and don't know where to turn first. For that first kick-starter course to form some basic knowledge, I have found that [http://www.lynda.com](http://www.lynda.com) has a really wide variety of beginner tutorials to get your feet wet in many different categories.

</comment><comment><USER26> Not a designer but much of my job is styling web content and working with designers and devs. I'm paying for a couple months of "team tree house" which has pretty good videos, little quizzes, and a wysiwyg editor so can you follow along and code.

The videos spell things out nice and slow, sometimes a bit too slow but you can fast forward if you already know a section.

It's meant for web designers, so I'd imagine it would work for your friend. The site also has courses for a few web programming languages and Wordpress etc.

Anyone else used this?

</comment><comment><USER27> Check [https://thimble.mozilla.org/](https://thimble.mozilla.org/)

Imo it is the best editor you can use to learn HTML and CSS.

<comment><USER28> That's pretty cool, but I couldn't use it as it doesn't support even basic keyboard movements like Ctrl + (right arrow).

<comment><USER27> this is to learn rather than building an entire project. And I really advise you to try it more as you learn.

Also, are you on OSX? I never use Ctrl + → but rather emacs shortcuts like option + f, option + b, ...

<comment><USER28> I'm a professional coder, and I code in vim. I didn't expect the IDE to have vim bindings, so I didn't mention that, but I use the others in the command line or text fields in the browser, etc. Anywhere there's no vim bindings.

</comment></comment></comment></comment><comment><USER29> I would just like to point out that people tend to take the most practical approach possible when learning HTML and CSS. So they learn JQuery, Bootstrap, Wordpress, Rails, etc. because it's the fastest way to get things done.

It is my opinion that this leaves a large gap in ones education, and so supplemental / lower-leveled resources should be sought out if one wants to have an "expert-level" understanding of HTML and CSS.

</comment><comment><USER30> [https://www.codecademy.com/learn/web](https://www.codecademy.com/learn/web)

<comment><USER6> Personally I think CodeAcademy is just a bad meme. They offer cheap tutorials such as:

"To save your name type:"

       var name = "Sergio";

"Good job! Now you know what a variable is. What? I have yet to see one person learn something useful using CodeAcademy except paste what the terminal is telling them to paste. I would stay away from this site.

<comment><USER30> >Personally I think CodeAcademy is just a bad meme.

Respectfully, OP was asking for resources related to learning HTML and CSS from a non-technical point of view. From a standing start, JavaScript is a way down the line in the web _development_ part -- not the beginnings of HTML and CSS for web _design_.

Sure, Codecademy is not the be-all solution, but they're accessible enough to get started for a broad section of non-technical folks, hence my recommendation.

Edit: italics.

<comment><USER6> Same problem: [https://www.codecademy.com/courses/web-beginner-en- HZA3b/0/1...](https://www.codecademy.com/courses/web-beginner-en- HZA3b/0/1?curriculum_id=50579fb998b470000202dc8b)

"Copy paste this to pass this lesson" \- No context given, just do this to pass. That's not good learning.

<comment><USER18> Codecademy has hundreds of little exercises. Often, first they introduce you to a concept where you just read through the example and press Pass if you got it. After that you always have to write or correct code yourself. Pointing out at one particular exercise can not prove that the approach itself is bad.

</comment></comment></comment></comment></comment><comment><USER31> I've only just started down this path, but [http://www.theodinproject.com/courses](http://www.theodinproject.com/courses) seems pretty good so far. It's more a curated, guided collection of other resources than a resource itself, but that works for me.

</comment><comment><USER32> While not a perfect site, [http://www.w3schools.com/](http://www.w3schools.com/) is my to-go place whenever I need check something. Its content might not be all fully correct, but strangely it gets to the point very efficiently for me.

<comment><USER33> Please try to support free and open resources like MDN ([https://developer.mozilla.org/en-US/](https://developer.mozilla.org/en-US/)) and [http://www.webplatform.org](http://www.webplatform.org) instead of w3schools

<comment><USER22> I like to use both. Sometimes MDN gives an excellent technical description of something, but W3Schools tends to give a bit more examples, and lets me play with the code.

Once I know how it works, I can look at the technical description and fill in any gaps that W3S had.

</comment></comment></comment><comment><USER34> A comprehensive guide, including in downloadable e-book format: [https://frontendmasters.gitbooks.io/front-end- handbook/conte...](https://frontendmasters.gitbooks.io/front-end- handbook/content/index.html)

</comment><comment><USER35> Wordpress. Add theme. Change what you don't like by Googling stuff. Get site built.

There is not a lot of utility in HTML + CSS on its own, unless you want 1996 style web pages that are static.

Knowing HTML is one thing, being able to build something in Wordpress will be far more CV worthy.

</comment><comment><USER36> Here is perhaps a controversial suggestion:

don't! Just use boostrap studio ( [https://bootstrapstudio.io](https://bootstrapstudio.io) ) or something (there exist free alternatives if you don't like paying 25 bucks) :)

<comment><USER37> I think the friend in question is trying to get a job. At that point, knowing flexbox or using grid classes might not be enough for an interview. Naturally, I'm guessing on both accounts.

</comment></comment><comment><USER38> See also my web Development resources list [http://g14n.info/2014/01/web- development-resources](http://g14n.info/2014/01/web-development-resources)

</comment><comment><USER39> I graduated graphic design in 2009, I worked from 2009-2011 building Joomla and WordPress websites for companies, then went freelance and I've been doing responsive front-end web stuff for about five years now. Here's how I got from where you're at to where I am now.

The web is built using three technologies: HTML, CSS, and JavaScript. Literally every other technology that gets used with the web has to interface to one or more of these three, so focus your learning on the foundational technologies. If you try to learn React and Bootstrap and Flux and Grunt and Parse and Node and SASS and everything else you'll get worn out just trying to get started. By learning the foundational technologies you can quickly adopt any tool you truly need to use, but you could never keep up with all the tools available out there.

Here are some simple rules and attitude changes I adopted in my own discipline that resulted in rapid learning in CSS, then HTML, then JavaScript:

\- when building new projects, don't automatically include bootstrap, or other libraries. Only include what you need AS you need it

\- don't look at other people's code before trying to write your own solution first, this helps you clarify your needs!

\- when you do look at other people's code, NEVER copy/paste it, read and earn and rewrite what you need

\- only ever copy/paste code you have personally written in the past

\- don't be afraid to rewrite code at any time

\- code is expendable, and the more code you write the better you will write code

\- avoid preprocessors and compilers, they create extra work

\- anything that can be built depending on a library can be built more efficiently without it

 __HTML Questions for Learning: __

\- can I still do it without that containing <div> as a wrapper?

\- is there any HTML like <div style=clear:both></div> trying to solve CSS problems using markup?

\- how could this be rewritten without using any classes at all?

\- what's the fewest amount of tags I would need to mark up this design from scratch?

\- what's the most relevant or correct HTML5 tag for this ([and there are a lot of them!) [https://developer.mozilla.org/en/docs/Web/HTML/Element](https://developer.mozilla.org/en/docs/Web/HTML/Element)

 __CSS Questions for Learning: __

\- how could I write this CSS without using any classes at all?

\- if I remove this line, does anything break?

\- what styles can this element inherit from other CSS rules?

 __JS Questions for Learning: __

\- if jQuery does this, what regular JavaScript does jQuery use internally to do this?

\- if jQuery didn't exist, what would the solution designed to meet my needs look like?

And in addition to that, all I can say is that the more you do it the better you will get! Create some basic templates and get used to creating throwaway HTML pages to test one thing, or check something. Don't get invested in and finesse and polish every project or page you build or you'll have a very shallow level of skill and spend too much time on too few pieces.

One good habit would be to start pushing code to Github. You can view the traffic there, so if people are viewing and using your code you can be motivated by that.

Also, CodePen is like a social front-end coding playground. I would highly recommend you check that out and get the habit of testing and trying things out in the open.

The other last thing I will say is this: simplify! in 2013 my idea of a barebones HTML page was a whole site template like this: [https://github.com/tomhodgins/5keleton](https://github.com/tomhodgins/5keleton)

By 2015 I had it pared down to this: [https://gist.github.com/tomhodgins/c09dd6f9485d77d14e55](https://gist.github.com/tomhodgins/c09dd6f9485d77d14e55)

But that was still so heavy it was slowing down my learning. Now when I want to test something here's the HTML snippet I pop into a new text file:

        <!DOCTYPE html>
        <html>
        <head>
          <meta charset=utf-8>
          <title></title>
          <style></style>
        </head>
        <body>
          <script></script>
        </body>
        </html>

Only when you distill it down to the basics can you do it at the scale you need to really experiment and learn.

 __Resources: __

\- Mozilla Developer Network for CSS:[https://developer.mozilla.org/en- US/docs/Web/CSS/Reference](https://developer.mozilla.org/en- US/docs/Web/CSS/Reference), and JavaScript: [https://developer.mozilla.org/en- US/docs/Web/JavaScript/Refe...](https://developer.mozilla.org/en- US/docs/Web/JavaScript/Reference) Reference

\- HTML5 Specification for HTML reference: [https://www.w3.org/TR/html5](https://www.w3.org/TR/html5)

\- You Might Not Need jQuery for learning JS: [http://youmightnotneedjquery.com](http://youmightnotneedjquery.com)

\- Ditching jQuery for learning JavaScript basics: [http://gomakethings.com/ditching-jquery](http://gomakethings.com/ditching- jquery)

</comment><comment><USER40> As with any tech the best way to learn it is to use it. Work on a small project that you are interested in. Skim tutorials, other people's code and manuals to figure out how to do so.

</comment><comment><USER41> I liked codeacademy.com for css and html. Thanks to it I managed to get a grasp of how html, styles, and css work. I was already a technical person so his/her mileage may vary.

</comment><comment><USER42> For all the "just go to W3Schools" people in this thread: [http://www.w3fools.com/](http://www.w3fools.com/)

</comment><comment><USER43> Check out [Simple & Useful]([https://s3.amazonaws.com/simpleuseful/index.html](https://s3.amazonaws.com/simpleuseful/index.html)) and [Mozilla Thimble]([https://thimble.mozilla.org/](https://thimble.mozilla.org/)).

Here's a blog post I wrote about learning web design: [http://hypertexthero.com/logbook/2012/04/web-design-where- to...](http://hypertexthero.com/logbook/2012/04/web-design-where-to-begin/)

</comment><comment><USER44> I would suggest [http://www.freecodecamp.com/](http://www.freecodecamp.com/)

Plus the website is also open source :)

</comment><comment><USER45> Interesting suggestions all around. I've been looking for appropriate tutorials for a high schooler. Many of these suggestion seem to fit the bill.

</comment><comment><USER46> My opinion on best to worst codeschool(paid, ~$500/year) codecademy freecodecamp or googling tutorials for what you want to learn to do

</comment><comment><USER47> studying</comment>


I develop free software because of CUNY and Blackboard - <AUTHOR> http://teleogistic.net/2011/09/i-develop-free-software-because-of-cuny-and-blackboard/

<comment><USER3> I use Blackboard as professor a lot, and while pedagogically it can do amazing things technically it's poorly done and annoying. I think the author wrongly poo-poos the one-stop-shop feature of Blackboard. The fact that the annoying quiz making facility grades automatically and posts grades to the annoying grade center that can't even do weighted grades right is still pretty great compared to the alternative (which is what? Getting my students to get their own logins to some other site, take a quiz, scrape that data automatically somehow to some kind of password protected database and get them to sign in to _that_ and then check there)

Everyone gushes over the Kahn Academy approach of expecting perfection and permitting failure; they're right and I can run with it in Blackboard.

What I do: Write random question pools using Blackboards obnoxious question writing web interface.

Randomly generate quizzes from a series of different pools by subject.

Let my students take the quiz as many times as they want; offer _zero_ partial credit

Blackboard automatically puts the latest grade into grade center (which is almost always the highest since they stop taking it when they're satisfied with their grade) which they can then access with their university login at any time without revealing confidential information about other students

There is a terrible, ridiculous, hackery way to dump to question log files into excel, clean up the data (takes about an hour) and get feedback on how often each question in each pool is answered correctly, so I know which subjects the students are struggling with. We go over those topics in later lectures.

This has had a huge effect in my sections because it feels like the students work twice as hard but are half as stressed about it. They can fix just about any result for the better by _learning the material_.

So tl;dr I love learning content management systems and by implication Blackboard despite its many egregious flaws.

In terms of startup ideas, I think there's plenty of space to work with Blackboard rather than try to replace it i.e. I don't think their proprietary quiz formats would be difficult to decipher at all, which means a clever startup could make a "We make making Blackboard quizzes easy!" product and do big enterprise sales with it. Universities love to feel they are on the cutting edge of "technology" and clearly have deep pockets for this stuff (if you didn't click on the expensive link in the article you should)

<comment><USER4> > I love learning content management systems and by implication Blackboard > despite its many egregious flaws.

Your obliviousness is obvious in your writing. So let me offer what you can hopefully take as a Penn-and-Teller-esque response.

Student and former independent LMS developer here. No offense, sir, but profs like you are a major part of the problem. Any interest you have in LMSes is unnatural. You're a professor. Your students did not sign up to be your test subjects. Do you have any idea how much time is wasted by your students in the byzantine hell of your personal online frolicking? 3 sections x 20 x 1 - <USER2> hours a day makes ... we might be better off skipping your class and deriving Black-Scholes from first principles.

Your university quite possibly has rewarded you for your LMS geekery by making you some sort of educational tech committee member, maybe even the chairman. Your students blow sunshine up your ass because you hold their futures in your hands, but I'm sure you ignore all that. Blackboard will blow what ever you want up your derriere, so long as you or your committee keeps telling the deans that Blackboard is making progress, or has new feature "x". In fact, Blackboard will blow harder if you question their utility.

> Universities love to feel they are on the cutting edge of "technology" and > clearly have deep pockets for this stuff

Sir, _you_ are one of _them_ \-- the people at the university -- that the author wouldn't mind actually taking what he has to say to heart.

<comment><USER3> So sell me! Blackboard does a million things but I really only care about 1. posting syllabuses, links, and documents 2. making randomly generated auto- grading quizzes 3. auto-updating a gradebook.

Does your software do these things better? Does it do things I didn't even know I wanted? What are the big ways you hope to make the world of LMS better? Non-techies experience great pain learning complex new software, what awesome improvements justify a switch? I'd love to have some alternatives and some ammo to back them with.

<comment><USER5> I think what niels_olson is asking for is to weigh your time saved versus the collective spent time of the students in some measure when considering the use of an LMS tool.

(Disclaimer: I don't use Blackboard, but am curious about the state of LMS art.)

<comment><AUTHOR> I know I always found these a huge imposition for no gain as a student. Email to a designated address: easy. Run a Unix command on the CS department server to submit: also easy. Deal with some bullshit LMS to figure out what it wants: hours of my time.

Even as a prof, they're a pretty mixed bag. For a lot of simple things, it's infinitely easier to ask students to just email me something as an attachment, with a particular subject line, and then set up a quick procmail filter to grab and process the attachments. Then you can actually run scripts on the result, which it turns out in computer science is something you sometimes want to do (you might even want to run _tests_ on code!). The role of these LMSs appears to be to make it as hard as possible to just get a damn zip file with all the data so I can run my scripts, and then also difficult to upload my grading results back into the system. Maybe that would be okay if they included internally all the functionality I might need, but: 1) it's hard to use any functionality they _do_ include; and 2) as far as I can tell, they don't include anything like compiling code with gcc and running instructor- submitted tests on it.

</comment></comment></comment></comment></comment><comment><USER6> I am a university professor who occasionally uses Blackboard. Some thoughts:

I certainly agree that Blackboard is overpriced and somewhat painful to use. I don't use it much. I mainly create my own web pages from scratch, which I find to be about as easy as using BB, and rather more conducive to my aims (which include making most course materials available to the public).

But then there's this:

> It forces, and reinforces, an entirely teacher-centric pedagogical model.

Um ... that assumes that the BB area _is_ the class, which I find rather silly. I use my websites (and BB now & then) to get information to students, including handouts, announcements, solutions, links, and source code. I could do all this on a physical bulletin board, but the paper cost would be excessive, and it would require students to type in source code, instead of simply downloading it.

But my website is not intended to be some collaborative space where students learn together. On the contrary, the model I follow is to provide my students with resources, and allow them to learn as they see fit (together, if they wish; sometimes I require it). After all, high school is over. My students are adults. They run their own lives. And there are plenty of collaborative learning spaces around here. They are called "tables", and they are used a lot.

This is not to say I'm against the online-collaborative idea. Certainly, if someone figures out how to enhance the educational experience with some kind of computerized thingy, then I say more power to them. Let's get lots of start-ups in this area to come up with lots of interesting things. But in the mean time, I don't feel obligated to somehow "manage" my students' total educational experience.

> The very concept of a "learning management system" may itself be > wrongheaded.

Oh, certainly. But after all, "learning management system" is just a term invented by marketing people. We don't have to take it to heart.

</comment><comment><USER7> In my humble opinion, blackboard and the like (moodle, sakai...) are mainly useful for core classes that have a lot of students taking quizzes or writing papers or doing readings.

Faculty and instructors, I think, sometimes forget when they have academic freedom to teach their course whatever way they see best (sometimes they really don't have this choice though, like for much government/military/corporate training). They can use stuff outside of blackboard if they wish. Also though, they may not have the time or skill to set up their own online course tools.

There are alternatives that many faculty are embracing such as wikis (wikispaces, etc.), blogs (wordpress), and even some universities are exploring more decentralized or cloud-based alternatives that don't box you into a walled garden, like wordpress hosting, drupal tools (harvard's openscholar), google apps, and see what BYU is creating (although I'm not sensing that it will be open sourced): <http://learningsuite.byu.edu/> (described in the educause article below)

The newest LMS tools like Instructure (and the newest version of Blackboard) are basically trying to emulate Facebook, for better and for worse, with dynamic streams of information and connections to social networking tools. Some believe Blackboard will not dominate the market for much longer: <http://mfeldstein.com/emerging-trends-in-lms-ed-tech-market/>

Anyway, there are plenty of articles exploring the effects (negative and otherwise) of learning management systems like Blackboard: [http://www.educause.edu/EDUCAUSE+Quarterly/EDUCAUSEQuarterly...](http://www.educause.edu/EDUCAUSE+Quarterly/EDUCAUSEQuarterlyMagazineVolum/EnvisioningthePostLMSEraTheOpe/199389) [http://firstmonday.org/htbin/cgiwrap/bin/ojs/index.php/fm/ar...](http://firstmonday.org/htbin/cgiwrap/bin/ojs/index.php/fm/article/view/2530/2303) [http://firstmonday.org/htbin/cgiwrap/bin/ojs/index.php/fm/ar...](http://firstmonday.org/htbin/cgiwrap/bin/ojs/index.php/fm/article/view/2434/2202)

Unfortunately many academic IT departments are primarily just consumers of vendor technologies, they aren't big enough nor do they have enough money to develop custom software tools. Purdue and others are some exceptions: <http://campustechnology.com/innovators>

An even bigger problem is probably that most faculty have no training in instruction and pedagogy and learning theory and design. As one person put it, "College teaching may be the only skilled profession for which systematic training is neither required nor provided–pizza delivery jobs come with more instruction." See [http://edtechdev.wordpress.com/2009/08/31/50-examples-of- the...](http://edtechdev.wordpress.com/2009/08/31/50-examples-of-the-need-to- improve-college-teaching/)

</comment><comment><USER8> The whole Blackboard thing is interesting. But what I found most refreshing is that the author actually presents himself as a bona-fide public servant, and seems to give a hoot about what that is supposed to mean.

These days as a society we have collectively accepted certain economic ideas as gospel. Public activity == parasitic. Private interests == the american way. It's refreshing to hear a different story.

</comment><comment><USER9> My school used eCollege, a Blackboard competitor. From what I have heard from professors that have used both they are both on par with each other in terms of being absolute shit.

When I was still in school the students attempted to push the administration to go for an open source alternative called Moodle which is miles ahead of anything else.

Speaking of Blackboard, apparently some security vulnerabilities were found: [http://www.scmagazineus.com/zero-day-holes-found-in- blackboa...](http://www.scmagazineus.com/zero-day-holes-found-in-blackboard- platform/article/212156/)

<comment><USER10> I haven't used eCollege or Blackboard, but I have used Moodle (as a student) in a couple of courses, and to be honest I found it to be a stunningly mediocre. If it really is miles ahead of everything else then the whole concept of that type of software probably needs to be radically rethought.

PS: I should add that this was a good 3 years ago, so great things may have happened in the meantime.

<comment><USER11> > If it really is miles ahead of everything else then the whole concept of > that type of software probably needs to be radically rethought.

That's pretty much what I thought, reading that. The college I'm at right now uses Moodle, and while it gets the job done it doesn't do so particularly well. Might just be because of how the professors use it (there's a lot of variability in how useful it is between classes), but even in the best cases it's nothing special.

</comment></comment></comment><comment><USER12> I am pleased and interested by the somewhat heated exchanges going on and especially because of the focus on online education and which technologies do or might support online teaching and learning.

Online education is of great interest and importance to me. I started working in this field in 1983, and have had the opportunity to help shape it, study it, and I continue to contribute to the field. I come from the education side, and have written some books on this topic. I have had a company that developed online environments to support learning, and the result was a pretty excellent collaborative learning environment software that 16 years later I still use and which students are pretty positive about. However, my company put our dollars into development rather than marketing, and eventually found that the competition had a crappy product but alot of marketing dollars. So, I wound down the company in 2002. The market was primarily educational institutions, schoolboards, etc and they were buying into the 'lms' solution, where learning is viewed as something to be managed and packaged.

Primarily, I am a prof. and I have been teaching online since 1985: I taught one of the very first totally online courses, and it was based on collaborative learning. In fact, online education in the 1980s was almost all about group learning, team project, knowledge building---whether in secondary or tertiary or training education.

Phew...long lead it. But I provide it as a framework to my message which is that: online education can and has served as a major game changer in education, and is likely the key to the 21st century Knowledge Age.

I don't see much reference to that in this discussion. Most of the comments so far seem to be referencing old paradigm ways of teaching and learning...i.e., lms stuff. None of the software mentioned has achieved great or even mildly interesting or important learning gains. Mainstream elearning software are mostly associated with groans and frustration and anxiety, not excitement at new ways to teach and learn. Moodle is really a muddle, let's be clear. Like BB, Moodle was not designed nor developed for learning or teaching. Education was an add-on to this 1990's moo (aka mud). Educationally, Moodle is just a bunch of things added on without rhyme or reason--anything goes, sort of. BB was initially and largely remains an administrative software. This was not about technologies designed to address learning activities but a slap dash kind of commercial "solution" (the fact that Moodle is open source does not, imho grant it dispensation or holiness). It is making a mess of online education and undermining and distracting the field.

Let's focus on learning, which should and could be really exciting and relevant adventures. About inventing! Innovating! Solving problems! ENgaging in Knowledge communities. Addressing realworld conundra! Let's talk about learning theory. WHat learning methods work best? How can we, educators and technology developers) support 21st century pedagogies and discoveries with new technologies?

The 21st century is a new paradigm and it is about Knowledge building. Our learning approaches and technologies need to support collaboration and knowledge building. That vision can help orient us to new ways of learning, to supporting new paradigm learning pedagogies and strategies.

Let's stop kicking around the 20th century can of learning strategies primarily based on 19th century factory-needs and models (lecture halls, rows of student desks bolted to the floor, obedience, memorization, repetition, etc.). BB and Mooooooodle take us backward. They waste time, money and talent.

Its time to innovate and make a difference, and the world of teachers and learners will thank you for investing your time and energy in designing real solutions.

Cheers, Linda

<comment><USER13> "Like BB, Moodle was not designed nor developed for learning or teaching. Education was an add-on to this 1990's moo (aka mud)".

Moodle has absolutely nothing to do with MOOs or MUDs, and was, in fact, designed from the ground up as a learning management system.

</comment></comment><comment><USER14> Absolutely stunned by the cost of Blackboard referenced here: <http://bit.ly/pjCNow>. No software that is as poorly made as Blackboard should ever cost _that_ much. Glad to know my now former university is ditching BB for a different service.

<comment><USER15> After seeing that figure, I'll be writing a letter to my current university asking them to ditch BB for a different service. What options should I suggest?

For those who don't want to click the bit.ly link, The 5-year contract is for $4,228,812.50 and can be seen at [http://wwe1.osc.state.ny.us/transparency/contracts/contractt...](http://wwe1.osc.state.ny.us/transparency/contracts/contracttransactions.cfm?Contract=NMP0141&Agency=70000&entitytype=Agency)

<comment><AUTHOR> That's not too unusual, unfortunately, and not _entirely_ the fault of one side. Selling to a system like CUNY, and the kinds of reporting, maintenance, and support requirements they have of these kinds of contracts, is hardly worth it unless you get big money. Maybe $1m/yr isn't the minimum for it to be worth it, but if you sell one of these big systems as a hosted enterprise solution and you're only getting $100k/yr, you'll have trouble breaking even. Just the trips out to meet with the various IT Strategy Boards and Educational Technology Review Panels and whatever will cost you $10k in travel, as one cost among many, and then there's some liability insurance to protect against things like security holes leaking grades, etc.

</comment></comment></comment><comment><USER16> I'm working out of PSU on a humanitarian engineering and social entrepreneurship venture based in India. I have to say that Moodle is light years ahead of the competition. I'm speaking not just from a users perspective, but as a system administrator, it's an absolute dream to work with. Which operating system would you like to run your LAMP server from? OSX? Not my first choice, but it works fantastically all the same.

</comment><comment><USER17> For professors and instructors looking to try something new, see <http://coursekit.com>. We're in a private beta this semester and are still accepting classes.

Press: <http://cl.ly/AGRE>

For developers interested in the space, we're hiring: <http://coursekit.com/jobs/engineer>

</comment><comment><USER18> What is the reason for Blackboard and eCollege's dominance? Is it truly because the school "IT departments are dominated by Microsoft-trained technicians and corporate-owned CIOs" or is there another reason?

I understand that Bb is very litigious and has a pretty broad patent on "eLearning" but that doesn't seem like it's stopping its competitors.

<comment><USER19> I worked in Higher Ed for a while, and when I left I thought "oh it should be really easy to create a company that makes better software than much of the academic software out there, probably for way less money as well". But then it hit me. Almost everything, even pretty inexpensive stuff is purchased by large and mostly unqualified committees (with a requirement that at least one member be insane). The process is usually drawn out over many months, even years (not just for blackboard scale sized products). The result is that to survive the key is not a great product, but to have patience and lots of salespeople in suits to send to listen to these committees and make them feel like you care. (In my experience even if you know what product you want, you still have to go through the ritual, the fastest I ever saw software purchased was 4 months, and that still required bringing in sales people even when we knew what product we wanted)

A team of 1-3 smart developers could create a product that is significantly better than blackboard and orders of magnitude cheaper in less than a year. But the process of selling the product would take more energy and resources than they could commit. A team of smart developers would quickly realize there are much better ways to make money and sell software. I believe this is the core of why most academic software (institutional level) is terrible, the only companies that would put up with this are ones that are more interested exploitation than creating great software.

</comment></comment><comment><USER20> Whenever Blackboard is mentioned here on HN, the message is very clear. Almost everybody agree that it is a piece of shit.

Doesn't anyone think that this is the perfect market to be entering these days? The market has a ton of potential (as evident by all the money that is being spent on it) and the satisfaction with the current leaders is seriously lacking.

Are there any YC companies that are tackling this area?

</comment><comment><USER21> I just started a postdoc at NYU and have been forced into using Blackboard to teach my class. Inspiring alternatives can't come fast enough.

<comment><USER22> I am not sure how inspired it is, but Sakai is a very good open source alternative to Blackboard used at many Universities.

<http://sakaiproject.org/>

<comment><USER23> We use a system built on sakai at my university. While it isn't horrible, it isn't brilliant either.

In the CS department we have a command-line utility for submitting homework and grades, and the classes just have a simple website. Everybody likes that system more than the one based on sakai, which should give you a good idea of how much functionality sakai brings.

Additionally, everybody is now using a system called piazza[1] as an online forum for the class instead of using the one provided by sakai. I rather like it and it has met considerable success in most of the classes that deployed it. Of course, some of my professors are _very_ enthusiastic about this system; one of them even has a testimonial on piazza's main page.

[1]: <http://www.piazza.com>

</comment></comment></comment><comment><USER24> After hearing endless complaints about Blackboard at Hofstra, I was just left wondering what the computer science students at all these schools were doing. This stuff doesn't seem that hard. One undergrad or Master's thesis, maybe a seminar on web development, and you've got it.

<comment><AUTHOR> Harvey Mudd's taken that approach for a few courses, having student projects develop fairly course-specific management/grading/feedback tools. They're less general, but tend to be less crufty and a good fit for the course as a result. The tools for the intro C++ & data-structures course, for example, integrated with revision control, a submission system, gcc compiler, tests, and various lint-type tools, and an automated early-submission system that would give students basic feedback on whether their submission was compiling and passing sanity checks. Also, there was a grading interface for entering comments (with some things pre-selected, like failed tests, and easy cross-reference to the source code), which would then record the results, and produce & email nicely formatted results emails when done.

It was an amazingly bad awakening when, after _that_ was my first-ever TA experience, I TA'd a course in grad school using Normal Course Management Tools, which by comparison didn't really automate much of my job at all, nor particularly seemed designed to fit with what the course was doing.

</comment></comment><comment><USER25> "The project is not pitched as a Blackboard alternative, for a number of reasons (primary among which is that the Commons's Terms of Service prohibit undergraduate courses from being held on the site)."

Is there any particular reason undergraduate courses prohibited?

<comment><USER26> Money. The site was started on a shoestring budget, and we don't have the resources (servers, support, etc) to serve the 300,000 undergrads at CUNY.

</comment></comment><comment><USER27> Incidentally, "a sort of Hotel California" is actually a pretty good analogy for data lockin.

</comment><comment><USER28> CUNY or CUNI means asshole in farsi.

</comment><comment><USER29> What is Blackboard?

<comment><USER30> It's a company that pretty much owns the education market, despite their products being nearly universally considered to be harmful^H^H^H^H^H^H^Hhorrible.

For more information, see wikipedia: <http://en.wikipedia.org/wiki/Blackboard_Inc>

Edit: I should point out that my knowledge of blackboard is near non-existant, I haven't had to use it in any of my schooling (university in central florida, public education in silicon valley), so I don't have a useful opinion of it.

<comment><USER31> Blackboard doesn't own the market. There are tons of campuses that are using alternatives, and more than a few that are migrating off of Blackboard onto other alternatives.

<comment><USER32> They don't own the market, but they hold a good deal of patents in the field, and are very aggressive when it comes to using them against competitors.</comment></comment></comment></comment>


When the Culture War Comes for the Kids - <AUTHOR> https://www.theatlantic.com/magazine/archive/2019/10/when-the-culture-war-comes-for-the-kids/596668/ <comment><USER2> This is more about idiots with too much money trying to remove anxiety over their kids future by spending five figures a year on preschool.

There are diminishing returns on this. The writer is part of an elite group of idiots who behave irrationally in the highly emotional situations around raising kids.

</comment><comment><USER3> To me the main takeaway was, if you put your kids in a school that doesn't market itself as focused on the kids' education, you will get a school that isn't focused on your kids' education.</comment>


Programming With Only Functions - <AUTHOR> http://joshbohde.com/blog/programming-with-only-functions <comment><USER2> With a bit more background (on lambda calculus) I think this would make an interesting intro to lambda calculus for Python developers.</comment>