Why Medium Sucks - <AUTHOR> https://www.cdevn.com/why-medium-actually-sucks <comment><USER2> I feel like we are beating a dead horse here. Everyone I talk to knows Medium sucks. I personally hate the modal that comes up every time if I'm not logged in and how much of my screen is take up by fixed bars.

Medium has a community though. Facebook sucks, but it has a community. Twitter sucks, but it has a community.

You are going to get more people to see your post if you put it on Medium. You are going to get more "friends" if you are on Facebook. You are going to interact with more people if you are on Twitter.

Creating your own blog will now result in you having to manage your own hosting and possibly even do some "development".

Using another solution may not reach the community you expect to reach.

I find the discussion of HOW to get communities onto better platforms to be a more interesting topic than why the current platform sucks, especially when that platform doesn't even seem to listen to the criticism.

<comment><USER3> I may be one of the folks not part of the Medium community. I only visit Medium via direct links (on HN, shared on Twitter or shared directly to me by friends). I can't remember the times I've been on Medium's home page or opened up their app to browse.

If those direct links sent me to somewhere else entirely tomorrow I wouldn't care.

<comment><USER4> If those direct links sent me somewhere else tomorrow I would care, because odds are the alternative would be better. Medium is seriously annoying with its sign-in nags and large amounts of the screen taken up with unnecessary bars.

I just want to read an article. Medium is a worse experience than average in that regard.

<comment><USER5> I use the Web Annoyances Ultralist[0]. Blocks basically everything except the header (non-sticky of course) and the text, which ends up as a nice centered column on a white background.

[0][https://github.com/yourduskquibbles/webannoyances](https://github.com/yourduskquibbles/webannoyances)

<comment><USER6> really cool thanks. the combination of uBO and NanoDefender is absolutely awesoome but I didn't have this Ultralist as part of my setup yet.

</comment></comment></comment></comment></comment><comment><USER7> I think Medium is great.

I pitched an article to an online magazine, about UBI. They said they ran one too recently, so I figured I'd self publish. I could have put it on my site, read by zero people, but I figured a medium.com URL would get farther wherever I submitted it.

I was right, but not only that, the Medium twitter account tweeted my article, and Medium asked if they could edit it and make an audio version.

Many interesting things came of this signal boosting. People started emailing me from weird places, like economics professors and government researchers, including one guy at the World Bank. I was invited into a secret slack that I'm still part of today (unfortunately most of the good internet is going the way of non-public places, but that's another topic). The net result of one article they boosted has been meeting a lot of people who are now my friends, two years on. Kind of amazing in retrospect. Medium's boosting also allowed me to gather enough Twitter followers to feel like its a useful platform, in a sense unlocking "my own" audience.

None of this would have happened if I self hosted. About these issues of canonical URL, why would I care? If I self hosted almost no one would have read it. I am more interested in reading and writing than I am in canonical URLs or a small bar on my screen. I suppose its unfortunate if it annoys 90% of my readers, but that's a lot better than no readers.

So thanks Medium.

(my only nit is that their editors changed some of my language to be more snarky, so I would not let them edit again)

<comment><USER8> That sounds like a great outcome, but it's predicated on having been hand selected by Medium to share your specific story. 99% of posts won't get that same treatment. Would your outcomes have been similar without that boost? That is, just by posting on Medium, would you have achieved a reasonable level of reach otherwise?

<comment><USER7> We cannot know of course, there is no Twin Earth where Taylor Swift is president, nobody likes pizza, and I or Medium had done things differently. I can only ponder the odds of my personal blog becoming popular vs a story on Medium becoming popular. Both may be very small, but it should be clear that the odds are still greater in the Medium route.

Tags allow visibility to people perusing topics on Medium, or getting emails about those topics. The SEO boost is clearly greater, and Medium is unlikely to go down if a flood of traffic arrives. And the possibility of "editors pick/best of" etc is obviously greater, since it exists at all. And besides, since I am not famous, leveraging a famous domain lends enough credibility for more people at the margins to read what I wish to say.

So my particular outcome aside, I think it good advice for any internet rando, including myself, to leverage the power of such a platform while the benefits seem nonzero. Though I understand people's reservations (such as this article!), they seem overstated or else to ignore completely the clear advantages, even if they are only potential advantages.

</comment></comment></comment><comment><USER9> This is why I am a big fan of POSSE[0] which is an abbreviation for Publish (on your) Own Site, Syndicate Elsewhere, a content publishing model that starts with posting content on your own domain first, then syndicating out copies to 3rd party services with permashortlinks back to the original on your site.

[0] [https://indieweb.org/POSSE](https://indieweb.org/POSSE)

Also worth reading:

[https://medium.com/@joe_wegner/why-i-dont-write-for- medium-c...](https://medium.com/@joe_wegner/why-i-dont-write-for- medium-c7cc156bc5d9)

[https://www.webdistortion.com/2019/05/16/can-we-all- please-s...](https://www.webdistortion.com/2019/05/16/can-we-all-please-stop- using-medium-now/)

<comment><USER10> a.k.a. decentralization

<comment><USER11> a.k.a. the web, to be fair. Major siloes were a later development.

</comment></comment></comment><comment><USER12> You need look no further than Ev Williams' opinions on the future of the web to understand why it sucks:

 _" The idea won't be to start a website. That will be dead. The individual website won't matter. The Internet is not going to be about billions of people going to millions of websites. It will be about getting it from centralized websites."_

[http://www.forbes.com/sites/roberthof/2015/09/09/mediums- eva...](http://www.forbes.com/sites/roberthof/2015/09/09/mediums-evan- williams-to-publishers-your-website-is-toast/)

<comment><USER13> This is pretty much what supermarkets did to the high street in the 20th century and I fully expect it to happen to the web in the 21st.

</comment></comment><comment><USER14> I have a votum separatum.

I think it is lovely that Medium charges people directly, instead of:

\- selling data

\- spamming with adverts

What else do you expect? (I'm flabbergasted that most people prefer shady ways to get revenue... and then criticize it as well. Even here. Let's PAY for social networks and services. And let's finally acknowledge that the "free" model is more than often tricky/shady or at least - not sustainable.)

</comment><comment><USER15> I know SEO and visibility is high on Medium.

I'm still a bit amazed that so many people, many of them who aren't short on visibility, chose to host their content on that site.

Most of it i would have rather read on someone's personal site as IMO that adds a lot of character and context.

<comment><USER16> Every personal site I've ever seen looks worse than Medium. I don't want the "character" of a slightly different UI every time, I want the interface to get out of my way so that I can get on with reading the actual content. Medium does that (yes, subject to logging in, but you can do that once and forget about it).

<comment><USER17> Firefox's reader mode does exactly what you looking for.

<comment><USER16> When it works. It's still an extra click even then.

<comment><USER18> Safari can defaut to reader mode for some sites. I would assume the same is possible with Firefox.

</comment></comment></comment></comment></comment><comment><USER19> It's true, Medium sucks. What is more pathetic is that we are even here with a Medium to complain about. What part of the 1995 World Wide Web tech is insufficient to deliver a page of legible text and possibly some images? Why on earth is there even a gatekeeper on such? Hosting costs for such are as low as it can get. We have digressed to a level of decadence Geocities could never even hope to achieve. This is MySpace 2.0 dumb. What the actual heck?

</comment><comment><USER20> I don't think we need a centralised publishing platform like Medium ever again. Anyone can create a blog for free using Wordpress. RSS feeds are amazing and it can easily serve the job of subscribing to these blogs. Look at the podcasting community for example. It's built on top of RSS feeds and it is thriving. Nobody needs a Medium.com in Podcasting world. What we need in the blogging world are more platforms and apps that are built on top of RSS feeds. Better RSS readers. Platforms that makes it easier to easily find and subscribe to blogs using RSS. Platforms that brings audience to self hosted blogs.

<comment><USER21> Well decentralization is mostly a sham in its current state. You think people will care about Block.One's Voice app? Steemit more or less died. Hacker Noon got greedy. Wordpress blogs are dead.

<comment><USER22> Wordpress blogs are not dead. 30% of websites are WordPress.

Are you sure it's not your reading habits that have changed? For example, I wake up and check my RSS reader (feedbin) where I subscribe to hundreds of individual blogs (many powered by WordPress). Actually this article was in my feed because I subscribe to HN RSS with a "Blog" keyword filter!

I don't have numbers but my anecdotal experience is that more blog articles I read are on WP blogs than not. Ghost is probably the other major platform I see along with static site generators.

<comment><USER20> Since you mentioned you read 100s of individual blogs what do you think of [https://diff.blog](https://diff.blog). Its a side project that I have been working for a while. Do you see yourselves using something like this?

</comment></comment></comment></comment><comment><USER23> Here's the Dev.to piece on the FCC section that the author is talking about. I wouldn't take FCC's public posturing uncritically as it appears they stole a lot of people's articles on the way off of Medium and ruined a lot of author's SEO in the process. [https://dev.to/ben/i-m-concerned-with-the-move-that- freecode...](https://dev.to/ben/i-m-concerned-with-the-move-that-freecodecamp- just-pulled-by-leaving-medium-io8)

</comment><comment><USER24> Must be a slow HN day if we've got another post about Medium

<comment><USER15> Yeah it's getting to be "a bit much" with the volume of such articles.

</comment></comment><comment><USER25> So I have been putting together a way for people to more easily make their own blogging platform. It would kind of mimic a blog or social media platform, but since everything is committed to a repository using the JAMstack it could easily be converted to a full website or in your case you could simply delete the repository or any number of your posts because they are just files in your repository. Any feedback would be wonderful. [https://your- media.netlify.com/post/make-your-own-media/](https://your- media.netlify.com/post/make-your-own-media/) Everything is owned by the end user. This is only providing a recipe for people to use. I will also mention that [https://www.stackbit.com/](https://www.stackbit.com/) is doing basically the same thing but more from a "Make life easier for Website designers" perspective.

</comment><comment><USER26> My theory is that the aggressive business practices and dark patterns are a sign of desperation in the face of a failing business model. Nobody wants the paywall, so authors don't put posts behind the paywall (most of them don't even blog to make money, they do it for publicity or for fun). You might sympathize with Medium here: they're hosting all this content for free and nobody wants to give them the money to pay their hosting costs!

But here's the thing: those hosting costs only become significant when they _are_ centralized on a platform like Medium. If I want to go start my own blog site, I can set it up without any coding and host it for single-digit dollars a month. If most authors are blogging simply because they want to, they won't have a problem with paying that nominal fee, and suddenly huge server costs are spread out to the point that they become trivial. Medium is trying to solve a problem that didn't exist. That's why it's sinking.

<comment><USER23> Reasonable in theory, but in practice subscribers have gone up and that's evident in the payout to authors. Also, in the vacuum of HN & FCC leaving Medium, I had no problem launching a programming pub focused on the subscriber program, finding authors (212 in the first 40 days), and readers (now hitting 25k views/day).

What's sort of lost in all of this discussion is the point of the subscriber program. The point is to higher quality articles to people who care about quality. A programmer's hourly rate is well above three figures, why would you waste your time reading low quality articles? Because sometimes they're the best available. But it doesn't have to be that way.

</comment></comment><comment><USER27> I agree with the author: It sucks. But so does white font on a blue background, since we're also talking about readability. At least they got that right!

<comment><USER28> Are you dissing Word Perfect and edit for DOS?

<comment><USER27> No, those are mostly fine, but a blog has different requirements than a text editor. I just find it a bit hard to read, because for example bright pictures really stand out, and I think he's using different shades of white (or grey) for the font in different elements (like a paragraph or a quote).

I just discovered that it's possible to switch to a light theme, which is much more readable. Still would've preferred a nice serif font, though.

<comment><USER28> Yep, it was a comment in jest.

I use the readability button and "Dark Background/Light text" on Firefox when things get a bit too wild and bright for me.

</comment></comment></comment></comment><comment><USER29> > Let's start with something simple, like syntax highlighting.

I built a syntax highlighter, Shiki, that allows you to use any theme from VS Code to color your code [0]. It works great with Node now as a static website generator plugin, but with some effort you can run it all in client side as well. TypeScript's new handbook is using Shiki [1].

I can't really believe how it's 2019 and Medium and Slack still can't syntax highlight code snippets.

[0]: [http://shiki.matsu.io/](http://shiki.matsu.io/)

[1]: [https://microsoft.github.io/TypeScript-New- Handbook/chapters...](https://microsoft.github.io/TypeScript-New- Handbook/chapters/classes/)

<comment><USER30> Syntax highlighting add any information tho, without it it's easier to bring focus to elements that matter with emphasis.

</comment></comment><comment><USER31> "There are also a few Medium alternatives out there. I personally post my blog to Dev.to (which you might be reading this on right now) as they support the features I need to control my own content. As a product guy, there are definitely some UI changes I would make, but the overall experience is much better than Medium."

Is Dev.to a developer focused medium? It looks really slick! Could it be a future Hugo and Medium replacement for developers personal websites/blogs?

<comment><USER23> Dev.to is great. It's part of why I don't understand the point of FCC and HN leaving Medium. Why try to be the go-to independent platform for programming articles when Dev.to is already doing it so well.

</comment></comment><comment><USER23> Medium publisher here (I run three pubs behind the paywall). I'd love for people to just start considering Medium a paid service like Netflix or the NYTimes. Medium and the NYT offer monthly samples and Netflix doesn't. That's why you end up hitting the modal so often for NYT/Medium.

I think there's a bigger point though which is just "Does Medium have articles yet that are worth $5/month?"

It would be totally reasonable to answer no. But every month they spend more money on authors. And, you don't see this, they are also ramping up spending on editors.

On programming topics, a lot of articles are finally getting a stricter editorial curation and even going through copy edit. Even though I'm involved in editing some of these programming articles, I don't think it'll be enough editorial in the end. I think programming articles should also go through a tech review where the code actually gets tested.

I'm hopeful, based on the growth of the programming publication that we'll be able to afford tech reviewers at least by the end of the year. So maybe if it's not worth $5 now, it'll be worth $5 later.

</comment><comment><USER32> Can anyone explain how Medium got to be so big, despite its drawbacks?

I mean, it wasn't launched _that_ long ago, and it's not like blogging platforms were rare then. Was it the curation/discovery aspect? Or something else?

<comment><USER33> When it started it wasn't annoying at all, and is even lower-friction for a blog than github pages. However, they don't have enough of a draw to justify the annoyances/pay wall, and larger blogs leaving will make their value proposition even worse. It isn't that hard/expensive to setup a blog with a static generator like Jekyll or Hugo, the hardest part is migrating off of medium. They do have good SEO, but with freecodecamp & hackernoon leaving I would imagine they will start dropping in rankings.

Edit: For folks who want WYSIWYG editing, even something like the tools namecheap provides or hosted WordPress are very viable options as well, since not everyone will be comfortable with a static site generator.

<comment><USER34> Also forestry.io is a pretty good free backend for a static site with WYSIWYG editing.

</comment></comment></comment><comment><USER35> Any Googlers from the search team reading this:

Just downrank medium.com. This is the actual problem with Medium.

The content on medium is ok but does rarely match the search ranking it has.

</comment><comment><USER36> It only there were some kind of system self hosted blogs could use... that you could use an app or site to subscribe to... Like a Really Simple Syndication or something like that. You could pop open your app, and get through all the new posts from everyone you follow really quickly.

Nah, Medium and google's fast republishing proxy thingy are so much better.

</comment><comment><USER37> Medium actually works great if you just block all their cookies. This fixes most "news" and publishing sites.

</comment><comment><USER38> For me it's about too many eye candies there, I really just want simple text with pictures only when it is absolutely necessary.

that probably explains why I like HN, simple and brief, it might not be the most impressive UI when you started to use it, but it works well for the long term.

</comment><comment><USER39> Until such a time that I don't find ALL programming info on Medium.com or it's subsites I will continue to decry this increasing centralization of content.

The web is our tool for liberation and this is a subversion of the very principles that the web was founded upon.

</comment><comment><USER40> What would be the easiest, most inexpensive way to host a blog with code support today?

<comment><AUTHOR> Netlify (free) + and static site builder. My blog (the one this article is on) was built with Gridsome (uses Vue.js). I personally like it a lot.

Other options are, Jekyll, Gatsby, Hugo and many more. Netlify will make any of those free.

</comment></comment><comment><USER41> Part of public domain now: [https://en.wikipedia.org/wiki/Medium_(website)#Criticism_and...](https://en.wikipedia.org/wiki/Medium_\(website\)#Criticism_and_Controversy)

<comment><USER23> Oh brother. An alternative take on that criticism is that FCC pulled off a huge copyright heist: [https://dev.to/ben/i-m-concerned-with-the-move-that- freecode...](https://dev.to/ben/i-m-concerned-with-the-move-that-freecodecamp- just-pulled-by-leaving-medium-io8)

I'm pretty sure that what FCC calls extortion was actually just the end of a free ride. Based on what I know of the ecosystem and the offer that was made to me as a publisher, I think the content of the Medium's approach would have been along these lines:

"For the past several years, you've been getting a free ride where we gave free hosting, free traffic, free readers and created a situation where most programming authors on our platform looked to you as the first place to publish, i.e. you got free authors. That free ride is over. We think you have these options:

A) We have pivoted to a subscription business. Do you want to pivot with us and publish within our paywall? If so, we'll continue giving you readers and authors, along with an editorial budget and a page-view based performance bonus. Also we'll start paying your authors out of our end.

B) Stay on our free platform. You'll still get the benefit of the SEO traffic from the articles you've already published and you can continue to publish as much as you want. We won't algorithmically promote your articles though and that will probably mean that fewer authors will choose you as their publisher.

C) You can leave. The problem with leaving though is that you don't own the copyright to any of the articles in your publication or your subscribers. So you can ask your current readers and authors to move with you, but on the surface it looks like this will cost you quite a bit of traffic."

I'm not sure about FCC's actual numbers, but I imagine the option A would have paid $20-50k/month in "profit" after costs of editing, authors, etc. It also would have significantly improved the quality of the articles. Not that the articles were bad, but a bigger editorial budget would have made them even better.

What it looks like FCC actually did was option D. Copy all of the articles in their pub (clear copyright infringement), taking a few million views per month in SEO traffic and then basically dare Medium to sue them. But Medium doesn't have standing because they don't own these copyrights either, so Medium's not doing anything. Instead, it's up to about 1k FCC authors who each individually are having to decide whether to take legal action (usually a DMCA complaint to FCC's hosting provider) or jump through FCC's hoops. FCC didn't even auto- create accounts for the authors, so in order to reclaim control of their article authors are having to either get on the phone with FCC or go through Twitter DM. However, if the author does that work, it does appear that FCC is willing to delete the article and/or give control back to the author.

<comment><USER23> I see a lot of places where tech people call what Medium did above "pulling the rug" or "bait and switch." I'm always shocked to hear this from tech people.

We know how startups work. A pre-revenue company is by definition going to pivot to a business model or go bankrupt (or often both). I think it's a bad look to act entitled to that pre-revenue period lasting forever. And certainly, it's disingenuous to act surprised.

Then too, if you are an entrepreneur building a partnership with a pre-revenue company, you have to understand that that partnership is not stable. I'd consider it a first principle of business partnerships that both sides need to make money.

So, in the old days when Medium was hemorrhaging cash, that is by definition an unstable partnership. Of course it's going to change.

To me, for the first time ever, Medium is now a stable company to partner with because you basically know what their actual incentives are.

</comment></comment></comment><comment><USER42> Does Medium support exporting publication? I can export my posts but does not appear the entire publication can be exported or has API support. If anyone have looked into it, appreciate the tips.

<comment><USER43> Relatively easy to crawl. I did HTML -> Turndown (.md) -> Ghost.

</comment></comment><comment><USER44> One thing that is really nice thou is the typography they have chosen to set on. Most blogs fail at this imo (to a lesser or ocasionally to a disastrous degree).

</comment><comment><USER45> My only problem with Medium are rehosted "personal blog" junk domains. Otherwise uBlock would work without any additional effort.

</comment><comment><USER46> As a reader, I find it slow and cluttered. It may have advantages for publishers, but I only open Medium links when strictly necessary.

</comment><comment><USER47> Well, at least this one isn't hosted on Medium itself - like the previous one with the exact same title..

<comment> frosted-flakes If you want to target Medium users, Medium is the best place to publish.

</comment></comment><comment><USER48> Anybody is still using WordPress? From the picture left on top of my head, WP is/was a good option.

</comment><comment><USER49> I don't want to violate the Prime Directive, but quoting from $that_site: "The idea that someone could just rent space in a colocation facility, install a web server, and start posting information onto the internet is, sadly, one hundred percent impossible, and can never happen."

So we have to go to Medium to publish. Not even Wordpress.com. ( _gasps_ ) Blogspot!

<comment><USER50> "That site" == n-gate.

</comment></comment><comment><USER51> There's an even major problem which the author hasn't mentioned. But I can understand if perhaps the author hasn't experienced it.

Medium embraces censorship. Medium has a content policy that's allows it to take sides. For example, Medium is very pro towards certain topics and anti against some. Eg. writing anything anti-feminism will get your account banned (even if presented with logical arguments, stats and facts). Medium will ban you for some dumb reason if you write anything pro-white people, Trump, Taiwan and sometimes Hongkong.

I know this because my friend wrote a stellar piece about a professor who openly expressed hatred towards males and who held a senior position in a university [1] and her account was banned the very next day.

To me, this seems like a strategy for Medium to become profitable by controlling/swaying people's opinions which is a much larger business than hosting blog content.

[1] [https://www.washingtonpost.com/opinions/why-cant-we-hate- men...](https://www.washingtonpost.com/opinions/why-cant-we-hate- men/2018/06/08/f1a3a8e0-6451-11e8-a69c-b944de66d9e7_story.html?utm_term=.3d46f7468e8a)

</comment><comment><USER52> Medium is also blocked in China. Meaning 1.4B people can't access your content.

</comment><comment><USER53> Tell me more [https://abot.app/blog/medium-blogging-platform- seo](https://abot.app/blog/medium-blogging-platform-seo)

</comment><comment><USER54> Medium peaked a couple years ago, with many startups leveraging the audience and using it as a blog. I suppose their pivot into aggressive growth + monetization has lost them some really important publications. Arguably, hackernoon and freecodecamp were some of the most popular publications.

By removing the 'free' aspect of the content, medium effectively put itself in the same bucket as other platforms.

I also don't like medium's UX, especially the highlighting feature. It is really distracting.

It'd be cool to have a central store where users can publish content without worrying about uptime, paywalls or anything as such.

<comment><USER13> I think a lot of people fantasise about a better, more open Medium, and I'm surprised it doesn't exist.

Github does a fantastic job of hosting code and keeping people happy (generally). It's generous to individuals and has a good business model. It would be great to have a place to host my content which is as friendly as github.

I think cloning Medium wouldn't be horribly difficult. It might even be a good medium (hue hue) term project for a solo dev. Perhaps I'm grossly underestimating the work; perhaps it already exists; or perhaps I've just found something to keep me busy over the summer!

</comment></comment><comment><USER55> The author says paywalls are not the problem but as a reader I don't understand why the autors have to ask for those high prices. The articles you can find in Medium are well written but they aren't scientific articles, with a lot of resourses and time invested to find some data. And the way I find those articles are more like a coincidence than a specific search for economic purposes. I think internet is changing abruptly because of an unsustainable ambition, we are turning all interactions into transactions.

</comment><comment><USER56> Jupyter Notebook based blog site?

<comment><USER57> I also think this this a great idea. I'm making [https://epiphany.pub](https://epiphany.pub) , a mixture of medium.com + Jupyter notebook.

</comment></comment><comment><USER58> I honestly haven't read more than three articles since most of their content went behind a paywall when I used to read one or two a day.

I wasn't aware that the publisher got to choose if they wanted to put up a paywall or not.

</comment><comment><USER59> Just add it your site blocklist and life will be better.

</comment><comment><USER60> I'm allergic to paywalls.

While I can't fault their capitalism, life is just too short. There isn't ANY lack of diversion elsewhere, for example, here.

</comment><comment><USER61> I'ts all the white space.

Too much form over function surprisingly gets in the way.

<comment><USER13> I really like the whitespace. Very Donald Knuth.

</comment></comment><comment><USER21> Yes making $5,000 US when you live in Canada really sucks, I got to admit. Paywalls are everywhere now in Media, that's just the new reality. That any coding writer or personal essayist can make $ supports creators and real people.

</comment><comment><USER21> What if the bro-culture of coders is an echo bubble that doesn't even understand what Medium has become?

So you guys are going to create your own paywalled walled garden for coding content? What's your solution even.

[https://medium.com/1-one-infinity/why-medium-doesnt- suck-f04...](https://medium.com/1-one-infinity/why-medium-doesnt- suck-f04329de153f)

</comment><comment><USER62> Are ads > paywalls?

<comment><USER63> When a platform let you choose between Scylla and Charybdis, avoid the platform.

</comment></comment><comment><USER64> It must be doing something right otherwise why spend the time writing a thousand words about how bad it is? If it were truly bad it would just fade into obscurity

<comment><USER65> People spilled gallons of ink about the Nationalist Socialist party. Something gets written about because it is relevant, not because it is good.

</comment></comment><comment><USER66> _The ethos behind Medium is one of openness and democracy—like the Internet itself._ Evan Williams. [https://medium.com/@ev/what-were-trying-to-do-with- medium-e2...](https://medium.com/@ev/what-were-trying-to-do-with- medium-e2f5bfcf0434) He is chan/rging the world.

<comment><USER66> Evan did you downvote ?</comment></comment>


Pursue a CS degree? - <AUTHOR> I'm currently a law student looking for a career switch into engineering.
I have taken 6+ CS classes by now and I really enjoyed them. I'm not half bad at it. However given my resume, its been pretty difficult to get technology companies to give me a shot.
Im wondering if is worth pursuing a CS degree. I can probably get it done in 2 years. I can probably get into a fairly strong undergrad or graduate program in Canada.
Your thoughts would be appreciated! <comment><USER2> I was on track to attend law school (accepted into a top5 US law school) before I detoured into programming. I consider it one of the wisest decisions of my life but, to be honest, the engineering landscape was quite different in 2011 (no such things as coding boot camps and such). Not sure how things would fare if the same decision were made today. Getting a degree sounds wise, since it would differentiate you from all of the other people trying to get into the field through boot camps and the like. If you can get into a school with good career fairs (and outreach internship programs) then that's probably your best bet.

Though I did not personally pursue a CS degree, I would still recommend it since it's quite difficult to learn algorithms, data structures, and lower level stuff (compilers, assembly, etc) without being in a program that forces you to learn it. All that stuff is necessary (but not sufficient) to land a gig at one of the top tech companies.

Also, if you opt out of the school route, it helps to try landing a gig at a crappier company so that you can basically get paid to learn stuff (but you should probably leave once you stop learning things, otherwise you may stagnate).

<comment><AUTHOR> Can I ask what you are doing instead and how you picked up programming skills? I have tried doing algorithm and data structures myself in depth. It honestly feels hopeless at times. And did you ever think about detouring into law again?

<comment><USER2> I did not get a CS degree because it turned out that I didn't need to (I am a software engineer at one of the 'big' Silicon Valley companies and have upward trajectory in my career). However, learning algorithms/data structures is not easy (as you mentioned) and if you aren't the type who can sit down with a bunch of textbooks over the weekend and bulldoze through them, then a structured setting which forces you to do exactly that may benefit you. And getting formally schooled will help you from having 'gaps' in your CS education which can (and probably will) happen if you opt not to get a degree (getting a CS degree doesn't mean you won't have gaps either, actually).

And no.. I don't think about going back into law. That field is horrible.. you get saddled with debt and then you make mediocre money (even at big law firms) with insane hours. It makes me sad that people feel desperate enough to even consider it. The only type of law that is probably economically worth pursuing is patent law (in terms of work life balance) but that's really some scum of the earth type stuff, especially with software patents..

</comment></comment></comment><comment><USER3> I need to ask some questions. Stay with me here. I've helped hire/build/lead engineering teams - so I'm asking to help structure the guidance I give, as you're looking for a life change. Q's) Why are you leaving law? Why interested in engineering? What types of tasks interest you the most in engineering? Do you know your personality type (Big 5 / MBTI, etc)? What does success and happiness look like in 10 years for you in this path?

Attorneys can make fantastic engineers - depending on personality type. Sometimes straight engineers can see the "trees, not the forest". Some attorney types are good at "forests, and seeing the trees". I firmly believe the logic paths taught in law school should be required in engineering disciplines. Often, the engineering mind can make things too complex to begin, or too pedantic to continue.

<comment><AUTHOR> Thanks for the response! Here are my reasons.

First, I think the legal industry as it stands is due for a huge shake up. Alot of junior associate work will be automated away.

Second, I enjoy creating things. Law doesn't really put me in a position to do that. Making my first silly game was really cool.

Third, my personality fits better with engineers. People are more relaxed and interested in solving problems rather than focusing on appearances.

Fourth, the dream. I spent sometime in the West coast and want to see if I can make it as an entrepreneur.

Does that help?

Thanks in advance!

<comment><USER3> Yes - it does a lot. It seems like the switch would be good for you. I agree that junior associate and mid-associate work is being iterated away. Don't discount the intersection of the two interests in law practices of cybersecurity, robotics, and machine learning law among burgeoning areas. Those are locations one could make a mark "on the intersection". I was trying to determine how extroverted your personality is; I have a CompSci but I'm fairly extroverted - and it has become a "secret power" of mine. As an aside, you don't need CompSci or Law to become an entrepreneur. If you want to be a non-web oriented engineer - a CompSci program would be heavily useful. A web engineer can get entry with a head full of knowledge, projects, and a good "code school". Edit I realized how disjoint each sentence is, but hopefully it helps.

<comment><AUTHOR> Awesome thanks. I agree there's definitely some interesting possibilities between law and tech especially in regulatory research. Do you have a particular preference for undergrad v grad?

</comment></comment></comment></comment><comment><USER4> I don't know if this is something you want to do, but I have a full time development job with no more education than High School and attending one of those Bootcamps. So _technically_ you don't need any degree at all to break into this field. That said, it is much harder to get into larger companies (FB, Google, etc) without a degree. As well as certain subsets of the industry (I won't be able to get into some jobs that needs fluency in algorithms or low level languages). So it's a trade off. But if you really really want to, you can get in on the merit of knowing what you are doing, work a couple of years, and be right up there with the rest of them.

<comment><AUTHOR> I see alot of mixed news about bootcamps. How did you make the decision to attend one, and how did you know which one to attend?

<comment><USER4> Yeah, they are saturating the market these days.

I decided to go for it because I was unsatisfied with my degree path (I was in business), and a scholarship more or less fell into my lap.

I filtered the bootcamps based off the curriculum they offered, which I decided my prefrence based on what tech was hot, both in the industry and in my region of the world (South Central US). I then filtered by reviews and success/employment rate. Finally I scheduled an interview with all the remaining options and talked with them to to get as much of an idea as I could on what kind of place they were. I finally applied to one, and thankfully was accepted.

<comment><AUTHOR> Awesome, thanks. If you could attend a top university at the same price as a bootcamp would you have done it?

</comment></comment></comment></comment><comment><USER5> Strongly advise enrolling on some sort of undergraduate/graduate program. A lot of tech companies are looking for experience the most as opposed to a computer science degree. I myself have completed a 3 year degree, however, I do not think it's 100% necessary. What got me onto the job market is obtaining an internship which built my experience. I am now a full-time software engineer working in London. So yeah, try enrolling on a graduate program, take some courses online to learn more programming and programming concepts. You should be set.

<comment><AUTHOR> Thanks for the comment. Do you think there's a difference between pursuing a undergrad degree v grad? From my limited experience so far is that undergrad classes are better in terms of teaching fundamentals.

<comment><USER6> Not sure where you're located, but if you want mobility (be able to work in other countries), a degree will help a lot in getting work visas.

<comment><AUTHOR> I'm Canadian! I would prefer to end up in the West coast/California, but I don't think I can afford a top US degree.

<comment><USER6> You don't need to go to a US school for a CS degree. They accept Canadian universities.

</comment></comment></comment></comment></comment><comment><USER7> The answer is yes. The number one thing that attracts me to a CS major is the fact that I can build stuff that stays around forever. It's like teaching a really stupid baby to do something. My prof told me on the first day of class that computers are really dumb, but are really good at following instructions. Almost too good, to the point they do everything to the letter. If you can talk to the computer in it's language, and make it do what you want it to do, then you're golden.

<comment><AUTHOR> Awesome thanks. A related question, what are your thoughts on a complementary discipline? If you want to be sort of an all around engineer not just CS?

<comment><USER7> Well, with cs, it spans the range from theory through programming to cutting- edge development of computing solutions. There are lots of options to choose within the cs's career path:

Career Path 1: Designing and implementing software. This refers to the work of software development which has grown to include aspects of web development, interface design, security issues, mobile computing, and so on. This is the career path that the majority of computer science graduates follow.

Career Path 2: Devising new ways to use computers. This refers to innovation in the application of computer technology. A career path in this area can involve advanced graduate work, followed by a position in a research university or industrial research and development laboratory.

Career Path 3: Developing effective ways to solve computing problems. This refers to the application or development of computer science theory and knowledge of algorithms to ensure the best possible solutions for computationally intensive problems. As a practical matter, a career path in the development of new computer science theory typically requires graduate work to the Ph.D. level, followed by a position in a research university or an industrial research and development laboratory.

As for me, I think if you want to follow a path in career 1 then additional business and management discipline that can be a benefit in a long term that if you want to take a lead role within the corporation in your future.

Hopefully, that might be a help to your questions. Let me know what you have any others questions.

<comment><AUTHOR> Awesome, thanks for the detailed response. I would love to follow up. How should I contact you?

<comment><USER7> Here's my email: firstname.lastname@example.com. Feel free to contact me when you have any question about CS. :)

</comment></comment></comment></comment></comment><comment><USER8> Yeah if you want to get into the industry a bachelor's degree in CS is worth it especially if it'll only take two years.

<comment><AUTHOR> Do you think there's a difference between bachelor v masters?

<comment><USER8> Yes. In my opinion though a masters isn't necessary unless you want to go into something really specialized like machine learning. Otherwise a bachelors is enough. If you have a choice masters > bachelors, but if a masters would take significantly more time then just get a bachelors. For most software engineering jobs a masters won't be necessary.</comment></comment></comment>


Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase vs... (2011) - <AUTHOR> http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis/

<comment><USER2> As the article is old, these versions are really dated. There have been numerous improvements to these platforms; some comparisons are no longer valid or can be seen as opinionated. For example, ElasticSearch is supported by much more than the "only one developer" kimchy [0], but Solr has also come a long way on competing with ES's offerings, and Solr is definitely more popular than half of those in the "most popular" and ES combined.

</comment><comment><USER3> [https://news.ycombinator.com/item?id=2052852](https://news.ycombinator.com/item?id=2052852) 920 days ago</comment>


The 20 Most Active VC investors in Canada - <AUTHOR> http://www.techvibes.com/blog/20-most-active-venture-capital-investors-in-canada

<comment><USER2> Awesome post - very helpful.</comment>


Graphs not Grids: How caches are corrupting algorithm designers (2010) - <AUTHOR> http://blog.ezyang.com/2010/07/graphs-not-grids/ <comment><USER2> The article talks about the Cray XMT where each core has a run-list of tasks that it can quickly switch between each time one of them stalls on IO.

Here's an approach for the massively multi-threaded CPUs that may be complimentary: versioning the memory so you can speculatively execute tasks: [http://people.csail.mit.edu/sanchez/papers/2017.fractal.isca...](http://people.csail.mit.edu/sanchez/papers/2017.fractal.isca.pdf)

Putting it together sounds like a dream.

<comment><USER3> > run-list of tasks that it can quickly switch between each time one of them > stalls on IO

Sounds like a less granular version of hyper threading.

> versioning the memory so you can speculatively execute tasks

The more you speculatively execute the less you actually execute. With more threads you don't have to try to squeeze more granular parallelism at the cost of diminishing returns.

<comment><USER2> > The more you speculatively execute the less you actually execute

True, but there are lots of graph-type problems where it is very useful. As explained in the paper I linked to?

<comment><USER3> > As explained in the paper I linked to?

Are you asking me if the paper you linked to explains it?

You are saying "it's useful", I'm saying it quickly becomes too wasteful. CPUs already do speculative execution with the hopes of mitigating memory latency.

I'm saying if you spend all your transistors and power doing speculative execution, it is better to find an architecture that lets you use concurrency on a much courser level so that you don't have to waste so much doing speculative execution, only to get diminishing returns for the transistors and power you put in to it.

<comment><USER2> The paper was co-authored by an NVIDIA chap, although the prototyping was x86-based.

There are lots of hardware that has embarrassingly many cores which are underutilized on embarrassingly serial graph problems. Speculation is one way to get all those cores humming if you have a good heuristic for what is likely to be true and the hardware has versioned memory and hardware scheduling so as to make the speculation cheap enough.

The paper gave examples of such problems.

<comment><USER3> Again though, it is an answer of how to speed up a graph of lots of extremely tiny operations. If every node on the graph was an operation on lots more data, you wouldn't need to solve a problem of under utilization in the first place.

<comment><USER2> Now I know how Baggage felt about people wanting to slice pineapples ;)

Coarse-grained SMT (what Intel call 'hyperthreading') is when a core swaps to a second task when one task stalls on a main memory access.

Intel chips typically have just two tasks they can pingpong between.

The Cray XMT takes this much further with a very long list of tasks it can swap between, with hardware caching, ready-monitoring and scheduling of them. This is excellent for graph problems with lots of main memory stalls. There are plenty of graph problems where there are many tasks that can make progress but they are all waiting on main memory all the time.

The research I linked to takes it further and allows the tasks to be executed speculatively. Basically a tree of hardware transactional memory.

Everything you say about speculation being cycles you can't use for non- speculable computation is true. But there are problems with bottlenecks that force them to be essentially serial.

When cores are cheap, the problem doesn't fit in on-chip-cache and the buffers needed for SMT or SMT+speculation are affordable, speculation is a good way to utilize cores that would otherwise sit idle if that fits your power budget.

<comment><USER3> I'm not sure what part of all this explains why it is a good use of computing power. If you don't skip around in memory as much, you don't have to wait as much on memory latency. If you process data in bigger chunks, you don't have to skip around as much. On chip cache doesn't matter as much here since that can be worked around by making sure data will be prefetched.

Also OOO cores already pre-load things into memory so they can be actually executed, not speculativly executed. Speculative execution on modern CPUs will execute both sides of a branch to prefetch data further.

What I'm saying is, if you traverse a graph with tiny amounts of data at each node, it is wildly inefficient. Mitigating that inefficiency with more hardware might be faster, but is still an inefficient use of hardware since it doesn't confront the real problem of skipping around in memory.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER4> GPUs are massively multicore and there we see the opposite of what this article predicts or hopes would happen: grids win even more over graphs. The best graph algorithms for those chips try to turn the graph problem into a grid problem as soon as possible.

</comment><comment><USER5> What on earth is this article talking about? Sparsity and control flow are horrendous and basically the two things a gpu wants nothing to do with. And graph algorithms generally run on CPUs in supercomputers, not GPUs, for precisely those reasons.

The only way any of this makes sense is if the article is talking specifically about graph processors (e.g. the Cray Eldorado, which to be fair, is mentioned), but there are very few commercial graph processors and even those are shrinking in importance. The number one parallel processor is the gpu, the only one with any chance of making it into the mainstream, and even that is far from mainstream. And the gpu _hates_ control flow and sparsity.

<comment><USER6> if you have machines that do grids well (vectors, simd), and you have a problem that you can get into that form, then clearly you do. its actually kind of stunning how things you wouldn't think could be phrased that way can.

i'm extrapolating from the talk, but i think the point is that architectures that can tolerate dynamic flow control (mimd) are more performance general than ones that cant. and while no, they aren't mainstream, I think the historical jury is still out.

since the cost of keeping an instruction pointer per unit is (largely) absorbed by hardware, its pretty easy to argue that they should win in the limit. unfortunately there are other costs, the memory interface is vastly different. caching becomes interesting and potentially prohibitive.

but is mimd dead forever because gpus can be used for some things and are clearly the cheapest ops you can buy today?

<comment><USER5> No, MIMD is not dead, for example, see the Rex Neo or the Adapteva Epiphany, two of my favorite processors. _However_ , when you say that something works well on "massively parallel processors", you have an obligation to specify that you mean MIMD processors and/or graph processors, and SPECIFICALLY NOT A GPU.

Because the programming principles espoused in this article are antithetical to what you should do on a GPU, which is definitely the de facto "massively parallel processor" that would first come to people's mind.

<comment><USER6> ok, so we're just arguing about terminology and expectation. maybe that reenforces Feo's point.

it is worth noting that the El Dorado started out as a general purpose computer, then a general purpose scientific computer, and then later as a "graph processor" in an XT frame because the MTA on its own was market-dead. and that Feo has been a big supporter since at least stage 2.

maybe is exactly this 'parallelism means GPU' which he's trying to argue against. I agree the overall arch of that point didn't really follow through in his talk, or someone's summary of that talk.

'mpp' was certainly a label adopted by TMC's cms 1-2, which were pretty damn simd. its was also used by the cray T3e, which was markedly not. the mta had 128 threads per cpu. a large enough instantiation could have had a few thousand hardware threads. later unbuilt designs backed the thread state in dram and could have gotten pretty damn fat. arguably 'massive' should be squishily about concurrency width.

</comment></comment></comment></comment><comment><USER7> The mentioned tech talk is available at [0].

[0] [https://vimeo.com/13860477](https://vimeo.com/13860477)</comment>


Clojure port of WebMachine released - <AUTHOR> https://github.com/BankSimple/Clothesline

<comment><USER2> Aside from just the port itself is the following quote from the project's readme:

"BankSimple's stack is also multi-lingual, using Scala, Clojure, and JRuby. It's important for our development efforts to have a plays-well-with-others project where code can be shared between languages. We think that JVM language crosstalk is going to be a major asset for us moving, and increasingly you see other companies talking about similar experiments. Maybe we're on to something. Clothesline is a way of finding out."

Obviously, some of banksimple's technical people have a history of dabbling in multi-language systems but this sort of intentional crosstalk experiment is very interesting

<comment><USER3> We think so. It's actually sort of a strange world. The industry so trained and experienced with the sort "send it through an awkward C interface" school of inter-language communication that there isn't really a lot of talk (in the industry) about what happens when you have lots of languages on a single language runtime.

I'm betting that it's going to be superb. Our FE guys can work with jRuby and their web framework of choice. Our Scala fans can use Scala, and Clojure can do what it's good at in our stack. All of them can talk (with a bit of care) and seamlessly integrate java libraries. Every time we're discussing architecture I find myself needing to remind myself that this is possible.

<comment><USER4> I've been wondering about this for a while now, glad to see someone doing it on a large scale, will look forward to seeing how it works out. Hope you guys do some blog posts on it eventually.

On a side note, what do you guys think of the recent brouhaha with Oracle and ASF? Any concerns related to the future of the JVM?

<comment><USER3> Personally I'm not too concerned. It seems like Oracle wants to continue in good faith.

<comment><USER4> Good to hear, thanks.

</comment></comment></comment></comment></comment><comment><USER5> I'm really happy that people are following WebMachine's example in providing a framework that guides you in how to do http from a high level, instead of just providing access to the low level guts. Looking forward to seeing how Clothesline evolves.</comment>


Measuring heart rate with a smartphone camera - <AUTHOR> http://www.ignaciomellado.es/blog/Measuring-heart-rate-with-a-smartphone-camera

<comment><USER2> That talks about putting a finger right on the camera. You don't actually have to go anywhere near the camera to measure heart rate. See the iPhone app Cardiio [1] which gets your heart rate by looking at your face.

The technique behind this, Eulerian Video Magnification, is pretty cool. There is a description and a very nifty video at [2].

[1] [http://www.cardiio.com](http://www.cardiio.com)

[2] [http://people.csail.mit.edu/mrub/vidmag/](http://people.csail.mit.edu/mrub/vidmag/)

<comment><USER3> I think this is the technique used by Philips in their app too:

[https://itunes.apple.com/gb/app/vital-signs-camera- philips/i...](https://itunes.apple.com/gb/app/vital-signs-camera- philips/id474433446?mt=8) [iTunes link]

What would be ideal is if the app also took your heart rate using a combination of both methods to reduce error, but I don't think either do this.

</comment></comment><comment><USER4> Great article. I just cannot contain my need to nitpick (I have background in Ultrasound signal processing).

It's Hann window. Not Hanning window. There is a window function called Hamming window due to which some mistakenly add the 'ing' to Hann window too.

Second of all "In summary, with a 6-second window, we get a tolerable 6-second startup delay that gives a fair time accuracy of 6 seconds and a fair frequency accuracy of 5 bpm (half the FFT resolution)" is bit incorrect. You do get far more accuracy in determining the frequency of that single signal. What the window length determines is the limit where you can separate 2 signals. So using that window you would mix up 2 signals that are 5bpm or closer to eachother and they would look like a single signal. Having 2 humans with similar heart rates in same video stream would thus be unseparable using that length. But you can determine the heart rate of a single individual with far more accuracy.

The correct term would be "precision" as per [http://en.wikipedia.org/wiki/File:Accuracy_and_precision.svg](http://en.wikipedia.org/wiki/File:Accuracy_and_precision.svg)

Nonetheless this is an excellent article.

</comment><comment><USER5> I've been toying with a similar setup. Most of the time, you can actually get a really good estimate of the heart rate by doing simple-minded peak detection on the raw averaged brightness signal (e.g. using the algorithm here: [http://www.billauer.co.il/peakdet.html](http://www.billauer.co.il/peakdet.html)). However, the iPhone camera can't be prevented from periodically adjusting exposure parameters (as far as I've been able to tell), and I've not been able to stop this screwing things up once or twice a minute. In other projects I've had some success using the FFT and windowing functions of Apple's Accelerate.framework, so I may see now if the Matlab code shown here can be translated to run in real-time on the phone.

<comment><USER6> You _should_ be able to lock the exposure on the iPhone camera by setting AVCaptureExposureMode to lock (you can do the same for the white balance as well). But I might be wrong! It's been a while since I did camera work on the SDK.

</comment></comment><comment><USER7> I've seen and used apps using this tech(or similar). Ideally this can be used to evaluate need of emergency service automatically. For instance, if someone collapsed while holding the phone and sensors were able to alert EMS. Idk, maybe wishful thinking.

</comment><comment><USER8> basically a smartphone size polygraph or a software version of Dr. Lightman ("Lie to me"). Heart rate, eyes expansion/contraction, pattern recognition on face muscle twitching, like of lips, eyelids, ... Could something like it speed up, for example, TSA lines at airports? Automated "checkout" lines like in grocery stores - face camera, hand palm on touch pad, "Are you a terrorist with a bomb? Choose Yes or No" (reminds a gun vending machine scene from South Park if i remember correctly :)

<comment><USER9> How would it tell between liars and nervous people?

<comment><USER10> They have to be nervous about _something_ , right? Always err on the side of caution!

<comment><USER11> I'm always nervous at airport security, even though I won't have anything to hide. Not to mention all the real anxiety sufferers.

<comment><USER10> I was just being sarcastic. Crossing immigration while nervous today already triggers interesting reactions from border officers. If/when they start using this kind of tech, I doubt they will be more understanding and patient.

</comment></comment></comment></comment></comment><comment><USER12> Mirror: [http://www.readability.com/articles/jywwrz1h](http://www.readability.com/articles/jywwrz1h)

</comment><comment><USER13> I had been wondering about this myself. Thank you for the breakdown. Most interesting.

</comment><comment><USER14> website is down, is there a mirror?

<comment><USER15> Sorry for that. It seems that it ended up at some social networks today and I'm having much more concurrent visits than often. My hosting provider thought that I was being hacked and closed access for some minutes but now it's up again. I just talked to them and they increased the connection limit, so things should get better shortly. Sorry again, I hope you can enjoy the article and subscribe to the RSS feed if interested ([http://ignaciomellado.es/blog/feed](http://ignaciomellado.es/blog/feed)). You can also reach me on Twitter @uavster.</comment></comment>