The boring technology behind a one-person Internet company (2018) - <AUTHOR> https://broadcast.listennotes.com/the-boring-technology-behind-listen-notes-56697c2e347b <comment><USER3> Technology is usually just a means to an end. Unless IP is what you are selling, boring is great. I've seen SO many teams burn SO much energy on complicated stacks just to drink kool-aid. It's mind bogglingly frustrating, especially as a contractor. At the end of the day it's great for me: I get brought into shit shows to clean up the mess. But deep down, I want projects to succeed and clean/sound _systems_ architecture is how you do that. Doesn't matter if it's PHP, Python or Java.

It hurts to see people continue to make mistakes over and over, so I'm working on a new website and series of engineering posts to help share my approach to a lot of these problems.

Any product I start building usually begins in Rails. React is great. Vue is great. It's not necessary, good ol' request/response is just fine. You don't need a service mesh. You don't need Kafka. You add that stuff later when it's required... if it's required. Rails can't be beat for startups. I wouldn't waste any time on a single page app, it's a completely pointless endeavor unless you have proven traction, users, revenue etc... and can afford to do it correctly.

<comment><USER4> Why is HN so against people who _enjoy_ engineering? Why should I run some run-of-the-mill stack that has enourgmous legacy cruft and just not "fun". Not every business wants to be sillicon-valley optimized money farm - some people want to do some enjoyable work.

<comment><USER5> That's fine, but that's not engineering. Bridge designers do not try to build bridges out of materials discovered in the laboratory last month.

<comment><USER6> Research engineers do. GP said he is not aiming to build a profitable above all else company. Maximizing fun in a hobby seems legit.

<comment><USER7> For a hobby and for learning it is absolutely fine. The critique is on businesses running that way fmeither since some developers want to drink the cool-aid on the job or since the company wants to be "attractive" riding the hype train. (How else could they attract the best developers? ;) )

</comment></comment></comment></comment></comment><comment><USER8> I ran a small company like this quite successfully earlier in my career. If you think this is awesome what goes unmentioned is how lonely it can get. Also, any issues you have (business or technology) you bear the brunt of alone. A coworking space doesn't really help either imo, if you like working with others you will miss having coworkers. Just something I think worth mentioning if you think this is something you might want to pursue.

<comment><USER9> This feels like bragging but I also run a one man company and the loneliness is what I enjoy most. Granted, I only work from 08:45 to 14:30 and some hours in the evening, because I bring my kids to school and I pick them up in the afternoon, but the hours when I'm alone, I am 100% productive. When the kids are at home I mostly do some kind of manual labor to get some sort of exercise. Right now I'm building a shed. Last year I built my home office/guest house.

To make up for the missing social interaction I play football with friends, do some consultancy jobs on the side and I help where I can with my son's football club.

This really is my dream job and I enjoy it thoroughly. I have no problems staying motivated and every day I have loads of inspiration.

The moment I lose motivation will be a sign for me to sell everything and start something new. I ran an online marketing company before this and that was really exhausting for an introvert like me. Selling that company was the best decision I ever made, apart from marrying my wife.

<comment><USER10> You have described exactly the kind if work/life balance i desire! I do enjoy a lot working alone since i've got family with little children too. I won't add any value with my comment, i just wanted to thank you since it feels just a little bit easier to know somebody else is having what i want: one day i may have it too.

<comment><USER9> You can do it. A good life/work balance is something I hope everyone will find. It took me 15 years to get to where I am today.

</comment></comment></comment></comment><comment><USER11> Ansible, AWS, SES, React and Cloudflare? Gusto, Notion and 10th of different services and integrations? That's boring now?

I was expecting something more along the lines of PHP + a single MySQL machine, plus all the accounting is done on a tablet made of actual stone.

This is not that.

<comment><USER12> Agree. To learn all of this as a single developer is not an easy task either. These are real frontend, backend and devops languages, frameworks and tools. It takes time to learn.

<comment><USER13> I second that. This seems really full stack as you can get, but I'm not really a professional dev by training, so I don't know if most people are this hardcore. I built and host some web apps myself but everytime I have to switch from doing something front end to back or vice versa I find I need to refamiliarize myself with a bunch of stuff and have to stop myself from panicking

<comment><USER14> It sort of depends, if you've worked in a couple of corporates where you have to know a handful of various tools at each it quickly adds up to having enough knowledge to quickly deploy even what hacker news considers 'heavyweight tooling'. Most of these tools have QuickStart guides that do get you most of the way there for a basic use case. I'm running a similar solo project with an almost-but-not-quite similar spreads of technologies.

But as I said, it depends on your history and what you work quickly with.

In the article the author says they chose Ansible because docker felt too heavyweight and unnecessary. It's true that docker has a lot of stuff you don't need in there, but trust me when I say Ansible is no picnic. In fact I find it easier to take what I need with Docker and Kubernetes and get running way quicker than I would 'naked' Ubuntu machines that I need to semi-manual previsioning with shell scripts or Ruby scripts. I got up and running with Kubernetes on DigitalOcean in less than a day, and Dockerfiles using familiar technologies I've used before take less than an hour to iron out.

You'll get people who say that Docker is overkill and unnecessary and far too complicated for a solo project, but then you'll get others who believe it's a small file with 20 lines of declarations, sat alongside a 30 line yaml file that can provision all of your infrastructure instantly across any cloud provider you choose.

</comment></comment></comment></comment><comment><USER15> This seems super complex to me. I am a single dev that runs a $30k\mo software based company off of PHP+MariaDB+bootstrap+jQuery+few other plugins. Hosted on a managed HIPPA setup. The firewall+app+DB servers run me about $550\month and I have excellent support. I spend effectively 100% of my time on business logic\ui and zero time keeping up to date on infrastructure (and learning it). Which means my customers benefit from me fixing problems and adding features. Kudos to what works for you....super great... And, for me at least...it is even more "boring" and awesome.

<comment><USER16> Do you mind sharing what the managed HIPPA setup is? What vendor do you go with for that?

I've always wondered about how easy it would be to setup a SAAS that adheres to HIPPA.

<comment><USER15> VMRacks (now hipaavault.com). I'm not affiliated, just a completely satisfied customer. As to setting up the business, I would also recommend a HIPAA auditing/hand-holding company. I use Compliancy Group ([https://compliancy- group.com](https://compliancy-group.com)).

<comment><USER17> Just finished my undergrad in cis, and have been grasping at the many services in the industry. How did you find yourself in freelance within clients needing HIPAA compliant?

<comment><USER15> I am surrounded by people in the primarily private-pay Mental Health space because my (romantic) partner is a consultant in a tiny cottage industry. In my case, it's 100% "people you know". Dealing in PII suuuuuuucks because I constantly have an elevated anxiety about it. However, if it wasn't PII plus the people I know and met......then I probably wouldn't have the opportunity I have.

That said.....had I not done "this", then I probably would have done something more lucrative and "easy". I see non-PII opportunities everywhere, and (mostly) only hang around because what I do now pays the bills.

</comment></comment></comment></comment></comment><comment><USER18> I love these stories. I'm a one-person company too: contribsys.com.

My production server stack is Apache + some Ruby CGI scripts, to serve static files and handle billing webhooks. I spend less than an hour per week on devops maintenance.

KISS is the #1 principle when scaling a solo operation.

<comment> non-entity > some Ruby CGI scripts

Didn't ruby remove its CGI libraries from their standard library somewhat recently. I believe there were mostly helper libs, but I am curious how that works.

<comment><USER19> CGI is just running a program in response to a request. Things about the request are put into environment variables and POST/PUT bodies are on stdin. Your program writes HTTP headers, two newlines, and the response body.

You don't need libraries. If you have reasonably low traffic CGI can get you _really_ far.

<comment> yjftsjthsd-h > If you have reasonably low traffic CGI can get you really far.

And even after that, I would expect that CGI augmented with some careful caching (read: all static content and some dynamic content with sensible expiration policies) will get you even farther without having to dramatically change anything.

</comment></comment></comment></comment><comment><USER20> I thought I was reading my own blog post :) We use very similar tech stack at my current company:

\- Ansible for provisioning

\- Python/Django for website/api

\- VueJS for frontend(where needed, some pages are simple Django templates)

\- Celery for background work

\- uWSGI and Nginx as servers with AWS Load balancer

\- Elasticsearch for search

\- Redis for caching

\- Postgres with Postgis as main datastore

\- Datadog for monitoring

\- Cloudflare for DNS

Some differences as I am working with a team:

\- We do use multiple branches and git tags for releases. Feature branches are also common as multiple devs maybe working on different features.

\- We use Gitlab-CI a lot for testing and auto-deployment(ansible script can be called from our machine as well)

\- Terraform for infrastructure provisioning. We have stopped provisioning any AWS service by console. Once the service is provisioned by terraform, ansible takes over.

I have tinkered with Docker, Hashicorp Packer but this setup has been dead simple to reason and scale reasonably well.

<comment><USER21> How do you feel about using a dynamically typed language like Python for all your backend code? Whenever I had a codebase that grew past several thousand LOC it became pretty unwieldy pretty quickly for me personally. I'm curious if there's a conscious tradeoff for people using Python/Django to start because it's really fast to get up and running with (for existing or new devs).

<comment><USER22> I don't think typing is the problem you make it out to be. You can specify types in Python, and mypy will type check for you. And nothing about Python means you'll have an unwieldy code base, I can only imagine you'd have the same problems in Java.

The real reason to switch would be performance. The interpreted nature of Python that makes things like Django and PyUnit possible also makes it kinda slow. Some places choose to parcel out a few key services in a faster language (C, Rust, Go) and use bindings to call out as needed.

<comment><USER23> Completely agree, and I'd like to add that it should only be broken out when performance is actually a measurable issue and there's a good business case for it.

A lot of people get caught up on "x is slow, y is fast" and try to over- architect too early on, then end up focusing on the wrong parts of their product, and sooner or later the project falls apart.

</comment></comment></comment></comment><comment><USER24> That's awesome and it is a tech stack that I try to mirror and am confident running myself as well!

It's incredible the amount of knowledge required for a single person tho when you think about it eh? It's the full frontend (which I would have more trouble with) + databases + caches + search engine + metrics + deployment + source control + sysadmin all baked in a single person who is also trying to make it a business!

Kudos for the effort and making it happen, one day I might be joining the same journey with the same stack! Just gotta figure out what actually motivates me to build a business on top of =)

<comment><USER25> as someone who has only worked on small teams, i thought this was normal. My current position is leading a small team, but we have interactions with a number of teams inside of FANG companies and it's amazing the limited amount of knowledge and access each position/person has. Most of my engineers can run circles around our partners.

I always thought every engineer should know how to deploy a server, install deps, understand caching, etc and setup an app... turns out, that is apparently not even remotely expected at most companies. I guess the bigger the company the more narrow the skillset required.

<comment><USER26> And the thing is, generalists do better work. They do _less_ work overall because there are fewer of them, but compare a typical enterprise 50 person team to the output of a team of 5 generalists, hands down the generalists will make a better product every time because there's no buck passing or shoulder shrugging about problems.

<comment><USER27> IMO, the reduced output of a team of specialists vs a team of generalists has less to do with generalists doing better work, and more to do with it being impractical to hire specialists at lower levels of scale - and higher levels of scale are less efficient.

A 3 person engineering team doesn't want to hire a specialist DB admin who knows Postgres back to front but can't code. A company of 1000+ engineers might, because they might have problems that require that expertise.

But any engineer working in a company of 1000+ engineers is also subject to friction resulting from resource allocation inefficiencies, communication overhead, regulatory compliance, etc: the reduced output from those factors has little to do with the specialist engineers doing worse work, and more to do with them working at the size of company that can afford to hire specialists.

(You could make the case that buck passing is an example of resource allocation inefficiencies, as it is often accidentally or purposely enabled by company management, but nonetheless, that's not a generalist vs specialist tradeoff.)

<comment><USER28> Completely agree. IMO the optimal efficiency is easily a team of either 2 or 3, with one FE and one BE, and optionally someone doing dev-ops-y stuff for both of them. After that point your 'output per man hours' can only really go down.

<comment><USER29> In economic terms, sounds like the marginal utility of adding an engineer goes down significantly as companies get larger and past the start-up phase ;)

</comment></comment></comment></comment></comment></comment><comment><USER30> First, that's a great stack and very well written/presented.

One comment - he dismisses serverless as being _overengineering_. I think the correct POV, moreso for the single-man company, is that running a server to perform a task is the overengineered option.

One can see from the snapshot the servers are indeed severely overprovisioned and underutilized. Building an api with api-gateway + lambda is _less_ work than running django in uwsgi behind self-managed nginx, and is guaranteed to be more cost-effective for unpredicted load.

Same logic applies to the db servers - why not hosted?

And last - the inf is a good reminder that prefixing your api routes with _/ v1, /v2_ is always a good habit.

<comment><USER31> Good point! For people who have tons of experience with serverless, serverless is probably a better choice than running servers for some use cases.

As a small business owner, there are two types of cost that I need to consider:

Time: the time I use to do A is the time I can't use to do B. Unfortunately I haven't used serverless so far in my professional career -- in this sense, I'm not full-stack enough :) It takes time for me to learn it, understand it, operate it, and experience various outage scenarios to gain the true learnings. It's more costly for me (probably not for others) to use serverless than the things that I already understand. I'd rather spend more time on other non-engineering things nowadays -- believe it or not, I spend 1/3 of my working hours replying emails :)

Money: the money I spend on A is the money I can't spend on B. I decided not to use api-gateway + lambda & hosted db servers, primarily because of $$$. I actually did the pricing calculation a few times last year. In addition, api- gateway + lambda also require some time for me to learn, which I should use to talk to users, marketing, building new product feature, thinking (yep, thinking also uses some time budget :)...

<comment><USER32> > We need to track the API usage

Thank you for this excellent write-up. Monetizing APIs is always a great topic; did you consider or will you consider using a 3rd party API management service such as RapidAPI or Apigee to keep track and charge for API usage?

<comment><USER31> Yes. I used rapidapi initially (v1) and built my own api gateway to replace it (v2) earlier this year.

The api was launched in Dec 2017 right here on HN: [https://news.ycombinator.com/item?id=15825900](https://news.ycombinator.com/item?id=15825900)

<comment><USER32> I think your next project should be open source your api gateway so others can monetize their apis too

</comment></comment></comment></comment></comment><comment><USER33> This is where I'd put a 10x developer :) Complete competency across the whole stack with a solid understanding of a profitable operation.

<comment><USER34> Yep, learning how to run your own business is the only way to convert 10x development aptitude to a 5-10x pay increase. Otherwise you get 1x pay, 10x the expectations, upset colleagues that feel inferior in comparison, and very little promotion chance because the company needs you right where you are.

</comment></comment><comment><USER35> PostgreSQL, Redis, RabbitMQ, Elasticsearch, Django/Python3, uWSGI, Celery, Celery Beat, Supervisord, Amazon S3, CloudFront, React, Ansible, Datadog, Rollbar, Slack, Vagrant, VirtualBox, PyCharm, iTerm2, Notion, G Suite, MailChimp, Amazon SES, Gusto, Upwork, Goodle Ads Manager, Carbon Ads, BuySellAds, Cloudfare, Zapier, Trello, Godaddy, Namecheap, Stripe, Google speech-to-text, Kaiser Permanente, Stripe Atlas, Clerky, Quickbooks, 1password, Brex.

Alright. Just make a "boring" website now, it's "easy".

If it's one thing i really dislike within both the scientific and the technological sphere it's this arrogance disguised as common knowledge. Because it's not. Articles like this is nothing but bragging. The author, whoever it is, clearly has a very long time working in the field acquiring this knowledge. Be humble.

<comment><USER36> To be fair, half of the used services do not have anything to do with the website itself but with the whole business around it. Also, most of the tools do not require a PhD in computer science; neither Rollbar nor Cloudflare are actually hard to set up. Still, you have a valid point. The setup described here is not boring at all and not easy, I expected a one-root-server-for- everything that runs some PHP and MySQL.

<comment><USER37> anyone can build a house from scratch! just read the instruction manuals for brick-laying, carpentry, electricals and plumbing. After all, none of these require a PhD.

</comment></comment></comment><comment><USER38> I'm a one-person company too ( geocode.xyz ). My tech stack is even more boring than that. (Nginx, MariaDB, Perl on AWS Ec2 Linux instances. I don't have an office either.

<comment><USER39> Is your site down?

<comment><USER38> No. [https://stats.uptimerobot.com/00vDQc3O7](https://stats.uptimerobot.com/00vDQc3O7)

</comment></comment></comment><comment><USER40> Picking your stack/architecture based on team size is something most engineers miss.

Microservices, great for companies with many teams. Not so much when it's three people scrambling to create something meaningful. Monolith all the way.

<comment><USER41> It's funny because microservices are explicitly targeted at solving problems for development with many teams, and lots of single team companies cargo cult them. Did they miss the first paragraph when they were reading up on what microservices are?

<comment><USER42> They also solve some other problems:

\- different SLA and scaling requirements per component/endpoint

\- different security domains per component/endpoint

\- different rollout strategies/policies per component/endpoint (no need to restart your long-lived client TCP sessions in parallel to rolling out a business logic fix)

\- ...

I've been happily developing and deploying microservices for small customers, in teams of 1 to 10 people. But I also don't work with customers who just need simple CRUD apps.

<comment><USER41> Everything depends on context, but I don't think microservices are the best solution. I think in nearly every case there is an easier way to address those problems.

</comment></comment></comment></comment><comment><USER43> Whoa -- is that a boring stack nowadays? There are many great cutting edge tools in use. Humble fella.

<comment><USER44> My thought exactly. I was expecting good ol'LAMP or something along these lines. I think here "boring" means "has been released for more than a couple of years".

</comment></comment><comment><USER45> Is this seriously considered as being a boring stack nowadays?

<comment><USER46> was honestly expecting a stack along the line of yours - the one in the article is actually fairly complex and not-boring.

<comment><USER47> my exact sentiments lol

</comment></comment></comment><comment><USER48> That's not boring - it's a professional dev techstack.

Boring tech would be a million dollar business running on Wordpress.

<comment><USER49> There is plenty of those, they just don't have anyone tech-savvy enough to be on hacker news.

<comment><USER50> Every big company has interesting engineering stories. But i think sure HN woulndt upvote tales from Automattic

<comment><USER49> For sure, but the comment was about million dollar business which depending upon geography would be classified as either micro or small.

[https://en.wikipedia.org/wiki/Small_and_medium- sized_enterpr...](https://en.wikipedia.org/wiki/Small_and_medium- sized_enterprises)

</comment></comment></comment></comment><comment><USER51> TBH, this is more inspiring than I thought. I thought this would be some BS article about promoting your company but turns out, it was a fun and inspiring read.

My dream is to find a good idea and work solo. It is a little harder as a mobile engineer but you're right as you mention in the blog. There are technology nowadays that help me with backend/dev tools.

Cheers.

</comment><comment><USER52> This looks like a great service; I just signed up for it and created my own listen later playlist. I spend 6-8h a week on my mountain bike and I use most of that time to listen to podcasts. The challenge with how I do it (using just an Apple Watch) is curating my feed. This is an excellent tool and a far better UI for curating a feed.

I also like the different and varied sources of income that you have, from the transcription service to ads to your API. Seems like you've built a great platform that you can use to experiment with different revenue models.

One additional question - your product is called Listen NOTES. Are you planning on adding note taking functionality to it at some point? One thing that I've always wanted to do was to jot down some set of notes to myself (typically during one of my bike rides). I always imagined that being some kind of voice activated thing, but I'd like that note sync'd to the spot within the podcast that I was listening to (and perhaps transcribed as well). Any thoughts about building something like this?

Thanks again for building this service!

<comment><USER53> You could use Airpods + Siri + Notes.app for that.

</comment></comment><comment><USER54> > Wait, how about Docker / Kubernetes / serverless? Nope. As you gain > experience, you know when not to over-engineer. I actually did some early > Docker work for my previous employer back in 2014, which was good for a mid- > sized billion-dollar startup but may be overkill for a one-person tiny > startup.

I really think the key thing here is familiarity. K8s is a bit different, but certainly in OP's position I (personally!) would be more comfortable with an image for each component. Perhaps a machine image rather than docker, if each component is going to be on its own machine as described, but something at least semi-reproducible for sure.

When I'm working on something alone, and particularly if on and off and not for several hours every day I need to be able to come back to it in a sort of self-documented state that doesn't leave me scared to touch anything lest it crumble.

<comment><USER55> Using containers without k8s is much much simpler if you need a container.

Learning system packaging and how to rebuild src packages is much much simpler than managing a container ecosystem

Think about this... if it was so easy to manage containers why does redhat still ship its operating system in packages ?

<comment><USER56> I think that one of the hidden points in there is that you do not really need a container to deploy python wsgi application, you need an venv and few system packages. Doing that by means of ansible playbook or even manually preinstalled system image that you just clone and then just only use Python packaging mechanisms is even somewhat simpler and faster than building container that works (ie. take a VM, poke into it until it works and then just clone it, deployment of your application is decoupled from the underlying OS)

</comment></comment></comment><comment><USER57> A super interesting and refreshing read, especially since I am not very knowledgeable about web technology and most of the talk these days is about the latest fancy framework or database.

I am curious though, since I am using Google Cloud (App Engine in particular) for most of my company's modest backend needs: Would Google AE be able to handle all these backend requirements as well (but obviously without all the configuration and setup required)? Or asked another way: When is the point when you should move away from something easy and low-hassle such as GAE to something more advanced that requires a bit more manual configuration like setting up your own AWS servers?

Not trying to be critical, just honestly trying to learn from folks that know better than I.

<comment><USER58> The main idea of this article is to use what you already know and just get it done, rather than experimenting with new tools. The author already knew how to use most of these tools from a previous job. He stuck with the technology that he already knew, so that he could focus more on business aspects rather than new technology.

In that spirit, you should use the App Engine that you already know for as long as it seems to be working well for you. When you run into a problem that can't be solved in App Engine, that is the time to ask for advice on how to solve your problem.

</comment></comment><comment><USER59> Also running a solo company - [https://fitloop.co](https://fitloop.co)

I'm primarily a front-end dev so I keep things pretty simple on the back end side.

Stack:

      Meteor, managed hosting on Galaxy
      MongoDB, hosted on Compose
      React
      GraphQL / Apollo API

<comment><USER60> Nice! I've bookmarked it on [https://www.saashub.com](https://www.saashub.com). You should verify it there :)

<comment><USER60> OK... that was quick!

<comment><USER59> ;)

</comment></comment></comment></comment><comment><USER61> I use Lisntenotes API for my podcast app and Wenbin is an amazing dev to work with. Highly recommended.

</comment><comment><USER62> Well, I'm super impressed. I wish I could do half of what this guy can do.

But he needs to be careful not to overdo it. It's fun and exciting to get all this tech up and running. But at some point, it becomes a drudge. And burnout is right around the corner.

I would say that if he can farm out as much as possible and focus on marketing and sales which are the drivers for most company's continued success. In a sense, he has by using the cloud but what he's doing is way too much for one person.

I used to be a laid back kind of guy and would get irritated when I was hurried and clearly there was no impending death. But now I understand that the limit lies within us. At some point, we all give up. There are those that take a long time and there are those that give up relatively fast but giving up is part of the process. So we are in a hurry to get as much done before we decide to stop what has not been successful. By putting so much burden upon your self you make it so much more likely that you will give up before you find success.

<comment><USER63> >he's doing is way too much for one person

You have no clue what is "too much" for the author of this post.

</comment></comment><comment><USER64> Great writeup of the stack and process.

To all the people thinking "I couldn't possibly do this myself" just look at the mention of UpWork towards the bottom. Looks like the author has brought in contractor help at some point.

</comment><comment><USER65> This was really informative and delight to read. It's great to see developers making a go at the bizdev side and actually being really successful at it. Light on the heavy technical, light on the buzzwords, just the right amount of information to say, "here, if you even use half my stack you're well on the way to a viable product."

</comment><comment><USER66> This is one of the most important post i've seen on HN so far.

it teaches you that you don't need all the fancy stuffs, but you may need _some_ of them. That you don't have to shoot for the unicorn project, that you don't have to build an A+ people team, etc.

It's intelligent and gives all the interesting details to not give any kind of false impression.

</comment><comment><USER67> Just because I saw you (wenbin) in this thread I thought I'd be helpful:

On [https://www.listennotes.com/api/pricing/](https://www.listennotes.com/api/pricing/)

There's a typo: "Instantly access to 771,769 podcasts"

Instantly -> Instant

Really enjoyed the post, thanks for sharing.

<comment><USER68> That's not a typo. They are two different sentences with slightly different meaning.

Access as a noun or access as a verb.

<comment><USER69> Out of curiosity and please forgive me as I'm leaning ESL, but shouldn't it be either

"Instant access to x podcasts"

or

"Instantly access x podcasts"?

<comment><USER70> I agree. If "access" is a verb, the "to" is superfluous and awkward.

</comment></comment></comment></comment><comment><USER71> Was interesting to read all the sort of "boring" back end pieces, then see that he went with half-server and half-client rendered React for the front end. Was expecting Angular or similar, given the pattern of the other picks.

<comment><USER72> React is "boring" now, too. (And good for it.)

</comment></comment><comment><USER73> I really like the idea of monolithic repos but can see some downsides when there is more than one person working on a project. It would be cool if there was a simplified way to have an entire business operate under source control.

<comment><USER69> This interests me. Can you elaborate on what downsides you see? Even in a small team we're often working within the same repo at the same time without any issues.

<comment><USER73> The glaring issue would be permissions ie who can see what. Pull requests could get muddied up but that probably wouldn't be too much of a problem to overcome. Some foundational git protocols would have to be adjusted, like .gitignore.

I think it's a great way for start up to manage the business but as more people get hired the organizational complexity might be too much to bear.

</comment></comment></comment><comment><USER74> An insight I've had recently is that the most _efficient_ way to implement _architectural_ changes that are not _additive_ is to _rebuild_. Otherwise you're trending inexorably towards the lava layer and accumulating tech debt that you cannot track.

A useful direction to unpack is to define architecture. You cannot re- architect a building after it has been built, you must only demolish or rebuild elsewhere. This is why all architecture changes must be additive in nature, otherwise you're pulling the foundation out from under the building.

Software _should be_ modern pyramids.

</comment><comment><USER75> key missing info though: does it make money? I checked the site and it looks like a mix of ads (that are blocked of course) and a patreon with 5 supporters.

<comment><USER31> I'm wenbin, the author of this blog post & I built Listen Notes. Thanks for bringing up this question :)

Yes, Listen Notes is making some money - not a lot, but enough to cover all the cost and bring in a bit profit as of today.

The basic idea is that Listen Notes should be free to 99% of users, while making some money from 1% of super users.

We run ads (obviously) on the website and we provide API: [https://www.listennotes.com/api/pricing/](https://www.listennotes.com/api/pricing/) And I've been experimenting some paid features that are needed for PR/marketing/journalists to do their job, e.g., [https://www.listennotes.com/datasets/](https://www.listennotes.com/datasets/)

And today is special, because on Sep 16, 2017 (Exactly 2 years ago today), I started to work on Listen Notes full-time!

<comment><USER76> What are the pros and cons of charging a fee to transcribe someone else's audio content? Does ListenNotes need a lawyer to deal with contracts or problems related to original content creators?

<comment><USER77> Looks like they're taking an approach to transcribe first and then deal with it later. The transcription link has an FAQ asking them to contact them if they think they dont want others to transcribe their episode.

</comment></comment></comment></comment><comment><USER78> Wonderful stuff! I've been trying to learn programming and able to code the CRUD apps for almost 6-7 years.

I've tried to learn Rails (Ditched learning Rails because JS framework are all the rage). Tried learning Flask/Django because it was considered easy. Ditched it too cause internet people said it's slow.

I tried learning Go, Phoenix and jumping between what's considered cool in last few years.

And here I am, no confidence to do a basic simple app. It's been an interesting journey with no luck because of constant chasing of 'Exciting' frameworks/Tools.

<comment><USER79> My advice would be to quit chasing exciting frameworks.

Pick something that has been around a while (Ruby on Rails, Python with Django, Java Spring) and go with it.

Focus on performance once it becomes a problem. In python, you can rewrite parts in C that need a speed improvement.

Otherwise, focus on making a great product that solves a problem for your users.

</comment></comment><comment><USER80> I run a similar, maybe even more boring stack for my less-than-one-person company [PyDist]([https://pydist.com](https://pydist.com)):

\- PostgreSQL database

\- Nginx proxy in front of Django apps for UI and API servers (I use gunicorn instead of uWSGI though)

\- Cron jobs which invoke django-admin commands to keep the PyPI mirror in sync

Perhaps the only place I'm any fancier than OP is that my deploy script is in Python, not shell, since any time I try to write a shell script with even slightly nontrivial logic it falls over and catches fire :)

<comment><USER81> What's your experience with gunicorn instead of uWSGI? I'm using haproxy + nginx + uWSGI but I'm wondering if gunicorn scales network more than uWSGI. My bottleneck isn't CPU, it's the amount of open connections uWSGI can handle at once.

Here's a trimmed down version of my web configs: [https://wakatime.com/blog/23-how-to-scale-ssl-with- haproxy-a...](https://wakatime.com/blog/23-how-to-scale-ssl-with-haproxy-and- nginx)

</comment></comment><comment><USER63> Thanks for writing this article @webin. I'm about to launch a new startup myself and it is VERY boring tech. :p I'm running Rails with Sidekiq on Heroku, so I think I have you beat in the boring department. I do a lot of fancier stuff at work but I just don't need it for this product (at least not yet).

I am the only engineer but two non-technical friends (a designer and a lawyer[0]) make up the rest of the company.

[0] the original idea was the lawyer's. :)

<comment><USER82> Hi, I am currently getting started with the Rails stack to. What's your FE stack look like?

thanks Ananth

</comment></comment><comment><USER83> Only question I can think of that I didn't see an answer for is: is he running one postgres db, which is shared between the web and api services? Multiple services with only one db gets hairy fast with questions like: who owns the migrations? does the migration owning service have to restart the other service so the other service gets the new db column/table? etc

Unless the web also uses the API service to get its data. Really great article

<comment><USER24> Likely the web app uses the API to get its data, it hints at it when he says he uses the same APIs the customers do from his frontend.

</comment></comment><comment><USER84> Are there no load balancer replicas? It looks like a single point of failure for the entire service ( _and_ it runs Redis and RabbitMQ - yikes).

<comment><USER85> The author can just run an Ansible job and recreate it instantly. It's a stateless ec2 node. If they wanted to be super duper fancy they could make an autoscaling group to destroy and recreate it if it went down. No need for a replica. This probably isn't a lose-100K$-every-5-minutes-of-downtime business.

<comment><USER84> I am all for simplicity, but if that results in a service outage whenever you deploy new code, apply a security patch or reboot your VM, you need to rethink the architecture.

<comment><USER24> Why if a minute downtime on deployment doesn't impact revenue significantly ?

The frontend can even have some exponential cool down on requests when the backend is down and the users who are online in that one minute window will suffer just notice it being a bit slower.

He even mentioned his uptime in last years in the post.

</comment></comment></comment></comment><comment><USER86> Interesting, there seem to be lots of opinions about the chosen stack. But as a designer, I have no idea what to make of it.

Recently I rode the Figma API release hype train, and I made a plugin which is quite successful. Almost 10k active installs. It is basically a collection of the most popular viewports and their market share. I also have a server where I store the data. Every other day I run a script which updates the market share and that is about it. To summarize it:

\- I have a client (react app written in typescript) which has a very simple "caching" mechanism (if you asked the server for new data more then a day ago, ask again) and which shows the data and nothing else. \- And I have a server (express js) running on Heroku (where I also have the Postgres DB). The server has a basic REST API and very default admin interface. But most of the time the server is not doing anything.

It was something I was able to put together quite fast, but now reading all the comments I'm thinking whether it isn't over-engineered and whether I should go with serverless and possibly reduce the costs.

</comment><comment><USER87> Your mileage may vary but there's a real opportunity for the latest technologies to save you work and headache.

My own one-man startup Trunk[0] is very infrastructure heavy so I'm super thankful for technologies like Docker. You don't have to go full-blown Kubernetes but there are various small wins you can still have. Need to upgrade a piece of your stack? Just build a new container a deploy it! Need to bring up all your services in development? `docker-compose up`! And with Docker Swarm, it's super easy to scale up background job and application processes across multiple cloud instances. I can't imagine doing this without Docker.

When getting a business off the ground, it's extremely important you do customer development and not new technology development. When running a business however, new technology can become a competitive advantage and help you move faster. Just make sure it's really doing that.

0\. [https://trunkinventory.com](https://trunkinventory.com)

</comment><comment><USER88> These success stories always pain me a bit. I tried for some time to get my own project going based on personal interest, but it never went anywhere. I have people visit the site but retention and use is a problem. [https://imetatroll.com](https://imetatroll.com)

\- golang, gopherjs, bootstrap, DO, and kubernetes.

<comment><USER89> I think this looks cool, and I feel your pain on the retention/use problem as I have also made a game that requires multiple people to use to create value.

I never found a way to promote it to groups of people instead of individuals. Even in a meetups/expo setting it's hard to get critical mass and momentum.

</comment></comment><comment><USER90> Security concerns are always conspicuously lacking from this type of posts and discussions. If you're a solo dev looking to start a project, please don't take OP's stack as a positive example. Use managed services whenever possible, they will at least keep you patched and simplify intrusion detection when configured correctly.

<comment><USER91> Don't throw your money away for that reason. Keeping upto date is easier than ever.

</comment></comment><comment><USER92> Here's my boring technology.

I've built Libr ([https://librapp.com](https://librapp.com)), a full social networking platform designed to fill the void Tumblr left behind.

The hosting is serverless for both the front end assets and back end no servers to maintain and infinitely scalable.

Libr has a front end progressive web app built with VueJS hosted on S3 with CloudFlare in front.

The back end API is hosted on Lambda. By using serverless framework things are portable. I could easily migrate to another serverless provider or even host my own.

Both the front and back end use the same programming language, TypeScript.

The database is Elasticsearch, just like WordPress.com (they don't use MySQL for most things).

Each month, I receive a nice little invoice from AWS for under $1 for the hosting. So far CloudFlare is free for me.

I built everything by myself, with no team. I have had input from Libr users on feature requests and UI improvements.

<comment><USER82> Is you site down? I am unable to access it right now.

<comment><USER92> It's up. Unless S3/CloudFlare go down, it shouldn't go down

</comment></comment></comment><comment><USER93> > Kaiser Permanente for health insurance.

Super important part. Any details about how much it costs for single person company? :-)

<comment><USER31> Sure. It's around $700/month for me + my wife.

I wish I could've known more practical info about starting a company before I quit my day job, e.g., how much for insurance, what company credit card to use, how to pay tax, where to find lawyers... Online articles / advices are mostly focused on big picture or very abstract concepts or fortune cookie type words :(

<comment><USER94> Could you perhaps write articles on these? I'd be super interested as someone looking to know more about starting a solo company.

<comment><USER31> Yes, will do.

Earlier this year I gave a talk to some college students, which has some more practice info about starting a small internet company:

[https://broadcast.listennotes.com/good-enough-engineering- to...](https://broadcast.listennotes.com/good-enough-engineering-to-start-an- internet-company-f26be5b01025)

</comment></comment></comment></comment><comment><USER95> At this point, I would add Docker (without Kubernetes) to the "boring" technologies that simplify your life. Having managed my own "server farm" of 20 machines on hetzner, with a very small startup, I found that abstracting away the underlying OS removed a lot of friction.

</comment><comment><USER96> I've found the tradeoff is in favor of using ECS, Kubernetes or something similar. The docs aren't too bad now. It is great to be able to build/deploy a docker image and not worry about how it gets out there, and what might go wrong with that system.

</comment><comment><USER97> > Basically, I have a wrapper script deploy.sh that is run on macOS:

I do the same thing on Linux.

build.sh, deploy.sh.

But, I also use a run.sh which runs tasks that I may not remember to run if I come back to software after a while on a certain machine.

Like 'git pull' or 'bundle install'. Then ./dev-setup.sh or whatever for starting up tasks.

I use multiple machines and having these two simple commands saves me so much frustration.

You sit down to began work. You just run ./run.sh and it will setup a dev instance for you. No sudden alerts that your gem is out of date... or worse... no warnings at all and hard to diagnose sudden bugs that steals half a day from you.

<comment><USER98> I have a .vimrc like this in some of my projects

set makeprg=./build.sh

set autowrite

I've found trying to figure out complicated build tools to mostly be a waste of time unless you really need them. It also encourages you to not do things that would require very costly builds.

</comment></comment><comment> em-bee the key for me is a backend-as-a-service platform that i can reuse over and over. i used to be mainly a backend developer, but for more than 5 years now i have barely touched the backend code because it was designed to be reusable.

i build SAP applications now because they make it easy to work with a reusable backend.

for the rest of my system, i use basic LXC containers. no docker, or other container management system.

deployment consists of setting up an instance of the backend, and generate the frontend as static files that can be hosted whereever.

saltstack to control it all. done.

</comment><comment><USER99> This is almost the exact stack (Django/React/Postgres/Redis/Ubuntu/Ansible/...) I use at work, and I love it. It's a great stack.

</comment><comment><USER100> I'm surprised no one has mentioned Heroku yet. I'm a one man business too, and 90% of the details in this post I don't even have to worry about. Sure I pay a pretty penny for it - at least a thousand a month - but it just works. Rails and all of its beauties, postgres, redis, sidekiq, sendgrid, twilio, Scout, Papertrail, and that's about it. Looking to add AppOptics soon for business KPI / APM metrics.

</comment><comment><USER101> I'm impressed with the profit margins. It looks like one of the main sources of revenue is transcription. From what I can tell the price seems to be about $4/hr.

OP said they are AWS. If they're using Amazon Transcribe, the cost for that is $1.44/hr.

A 150%+ profit margin is awesome! Well for that one piece of the service. Obviously at least some of the cost of the website and database, etc must be included, but still. Pretty amazing.

<comment><USER102> The post mentions using Google speech-to-text for transcription which seems to be even cheaper?

I'm not sure where you got the $4/hr price, but indeed kudos to OP for building a business around reselling cloud services for profit.

<comment><USER76> I'm guessing the $4/hr price estimation is based on an average of the prices ListenNotes actually charges to transcribe a podcast, as shown on ListenNotes.com for various individual episodes.

<comment><USER101> Yep exactly. I randomly sampled some podcasts and looked at the cost vs how long they were.

</comment></comment></comment></comment><comment><USER103> Oh wow. This is scaringly close to how we run geocod.io - right down to the ansible provisioning wrapper that I put together :)

      > ./provision
      provision usage:
      ./provision environment role [hostname]

      This script will provision the given role in the specified environment using Ansible
      If a hostname is specified, provisioning will be limited to that specific server

</comment><comment><USER104> I wouldn't call that boring, there's still a lot of new technology being used in that stack. I'd also recommend some minor improvements to the workflow (e.g. don't do development work on the master branch) that are easy to achieve and provide big benefits. Also - no mention of backups or DR-planning -- I'd be interested to know what's being used in this area?

</comment><comment><USER105> As soon as he has a bigger team of developers, some of his technology choices might cause trouble. Especially not having a build server will cause chaos very quickly, because nobody will know, who has deployed when and what. A good deployment pipeline with a good test battery using a boring build server like Jenkins can help a lot here.

</comment><comment><USER106> Okay that guy is just showing off, but rightfully, this is damn impressive. Even if some of that is offloaded to contractors, he still needs to understand most of it.

That's a proper full stack developer with a business mindset as well. Hope I'll improve my backend / devops skill to that level at some point.

</comment><comment><USER107> This was the most inspiring piece of text I've read for a long while. Such clarity of thinking and focus.

</comment><comment><USER108> Very inspiring article. And thanks for sharing a detailed tech stack write up. Very inspiring for me as I am also a single person running a tech news aggregator website but probably even more boring setup on AWS (php MySQL Apache and some python ) embit.ca , running it alone but never lonely.

</comment><comment><USER109> The stack can be much boring, simple and easy to maintain. Golang helps a lot for that.

For example [https://newreleases.io/](https://newreleases.io/)

\- Go with embedded databases for web services

\- Vue.js for frontend

\- Nginx just as there are other sites on the server

\- Prometheus/Grafana for monitoring

\- Gitea for code hosting and some automation

\- Bind9 for DNS

\- Debian

</comment><comment> hacker-gene Well, on frontend he uses React/Redux/Webpack, which is more of trendy, latest/greatest. If he used Django templates + jQuery, that would have been staid/boring tech. Great post though, aspirational for those of us who wish to found their own startup one day.

<comment><USER110> I disagree. React has been out _6 years_. It most definitely can prevent bugs which were common with the jQuery approach.

</comment></comment><comment><USER111> How did you get started doing this? Did you have a lot of money saved up and just decide to go for it for a certain length of time?

I've had an idea that I've been working on part-time but it really needs some full-time love. At what point do you decide to go for it full-time?

</comment><comment><USER112> Wenbin, amazing article.

One question: what all do you use contractors for? How has your experience been in managing them?

Thanks

<comment><USER31> Some examples that I used help from contractors:

1\. Built some reusable ReactJs components. 2\. Design / illustrations 3\. Proofread website copy / blog posts 4\. Built experimental app like this one [https://itunes.apple.com/us/app/just-listen-simple- podcast-a...](https://itunes.apple.com/us/app/just-listen-simple-podcast- app/id1444970658?ls=1&mt=8)

(probably there were other random things... I got to look at the billing history on my upwork :)

</comment></comment><comment><USER113> Great post - I'm running almost the same exact thing - Flask instead of Django, Saltstack instead of Ansible, rq instead of celery - supervisord, postgres, redis, ubuntu, nginx, aws (actually multicloud, BigQuery for data).

It's very good stuff!

</comment><comment><USER114> I like your Ansible / deploy script / "no fancy CI tools" combo. This is exactly what I do too. Deploying is so painless and consistent.

To quote a line from an Elixir talk I recently watched: "it feels like cheating".

</comment><comment><USER115> This is exactly the stakc I worked with when contracting for another startup/company. The degree of similarity is disturbing.

It mostly worked really well though, kudos to whoever figured it out. And you could mock a dev setup right in PyCharm.

</comment><comment><USER116> Great article. Are you using DataDog Synthetics for the DataDog response time graph?

</comment><comment><USER117> Very inspiring. As a coding newbie / wannabe entrepreneur, I will need some time to understand what each part of your technology does though. I will start using Listen Notes later today. Keep up the good work!

</comment><comment><USER118> > It's absolutely okay to use the boring technology and start something simple > (even ugly), as long as you actually solve problems.

Thank you! Let us solve problems and not chase ultra competitive expertise for its own sake.

</comment><comment><USER119> I'd love to know how you're running Django and React together. I've been trying to figure out how to make that combo work in a mono-repo, and I'm definitely missing something. Any advice?

<comment><USER120> I just watched 8 hours of Django videos yesterday, and 4 hours of that was a Django + React tutorial. It covers in great detail the CRU from a CRUD, but you'll need additional videos to cover deployment on elastic beanstalk or ec2+elb, etc. [https://www.youtube.com/watch?v=AHhQRHE8IR8](https://www.youtube.com/watch?v=AHhQRHE8IR8)

<comment><USER120> Basically his tutorial was to put the react project inside the django project, and depending on which parts you're modifying and how your testing, he has a special static collection script that builds the react portion and copies the static files up into the Django parent project folders.

</comment></comment></comment><comment><USER121> wenbin, do you find it meaningfully superior to get Slack notifications vs. just an email?

Also curious if you have a monitoring/recovery strategy for when you go camping or on honeymoon and need to be offline.

</comment><comment><USER122> Listen Notes is a nice service. I don't quite _understand_ how it works -- do podcasts pay to be included in search results? It's a nice thing for the listener, that is for sure.

</comment><comment><USER123> As someone still in school, this type of article -- though inspiring-- kind of scares me, to be honest. I don't think I could do any one of the things mentioned in this article.

<comment><USER31> Hello poidos,

(I'm the author of this blog post)

I couldn't do all these things when I was in school :) I worked in companies for a few years and learned some engineering practices. Then I had basic skills to prototype my own side projects. Then after working on many silly side projects, I started Listen Notes.

And initially, Listen Notes was running on 3 tiny DigitalOcean servers ($5/month each?). I logged in each server to git pull to "deploy to production". Then I added things little by little, day by day. It's a process. The key is to get started. People say that showing up is 80% (or whatever percentage) of success. I think this is very true. Just get started and you'll figure out things along the way.

<comment><USER124> Thanks for the info. It's an interesting set of tools today, but it's helpful to hear that it has evolved to that point in terms of automation and infrastructure.

The first version of a web service can be as simple as flask app which you run in a screen session somewhere. Better to start somewhere than get overwhelmed and never do the thing at all.

</comment></comment></comment><comment><USER125> It seems wenbin is also the lead developer on ndkale, [https://github.com/Nextdoor/ndkale/graphs/contributors](https://github.com/Nextdoor/ndkale/graphs/contributors) so he would certainly be capable of using a more esoteric stack.

I wonder when developers are working for themselves / very early stage, if one automatically becomes more conservative? If someone else is paying for your time, it's nice to experiment and grow personally. When it's your own buck, the focus is on pragmatic shipping and getting revenue coming in.

<comment><USER91> When you do it for yourself you choose a quick prototyping language like php because you want to create a product.

When you work for someone and they pay you to learn something hot why not take the opportunity as it will help with the resume.

As a small business no one pays you to learn.

</comment></comment><comment><USER126> Sad to hear that PyCharm is considered old school these days.

</comment><comment><USER127> @wenbin - What would also be helpful is a P&L report on all of these expenses - as that will also tell us a great story.. and it would make a nice Part Deux ;-)

</comment><comment><USER128> People who upvoted this, what made you up vote it? It's much more popular than I would've guessed when I first saw it on the homepage

</comment><comment><USER129> Very cool, I'm impressed. This guy knows how to do all the stuff I don't know how to do and it actually works well.

</comment><comment><USER130> I bumped into listennotes about 6 months ago, because I was looking to solve the same problem of discovering podcasts.

</comment><comment><USER131> That's not boring. That's sane.

</comment><comment><USER132> Thats a ton of servers!

What is your monthly AWS spend?

</comment><comment><USER133> This is awesome.

Does the Google speech-to-text API work well for your needs? How often do you use it?

</comment><comment><USER134> Having experience in both realms, it seems kind of interesting that Docker is considered overengineering while React + Redux + Webpack + ES is considered natural and simple. I guess 50% of "overengineering" is really just "I'm not familiar or comfortable with ths".

</comment><comment><USER135> I listened to an interview with DHH the other day and he was calling out that one of the advantages of frameworks over libraries is that everything comes wired up ready for production instead of you spending all your time writing glue code and arguing about conventions.

I'm still not exactly certain where I fall on this topic. What I do know is that I don't like frameworks that conceal the plumbing and leave you with declarative bits that require memorization. Lack of discoverability is a huge barrier to mastery. The best code invites you to determine why something is happening.

What I've been thinking about lately that this article drew out for me again was that it's a shame that so many tools and libraries come not ready for production by default.

It would be nice to have some curated base file sets where insecure defaults were overridden, and all of the metrics and logging logic were wired up. You get the turn-key solution but you still have code that is more discoverable, and you can veto a few choices without too much effort.

</comment><comment> johnx123-up @wenbin

What AWS EC2 instance types are you using? Can you please expand about your AWS stack?

</comment><comment><USER136> Ok but look in 2012 they were running Java and still did key changes

</comment><comment><USER137> Is this YouTube but for podcasts? Sounds like a good idea actually.

</comment><comment><USER138> Fantastic work!! So much knowledge and thanks for sharing with us!

</comment><comment><USER139> He says boring I say cool. I love the product so much.

</comment><comment><USER140> How do you get all the podcasts audio and data?

</comment><comment><USER141> great post, love the solo entrepreneur mindset

</comment><comment><USER142> Such an inspirational post! Love Listennotes.

</comment><comment><USER143> what's monthly revenue?

</comment><comment><USER144> great read , say is your revenue is from ads only ?

</comment><comment><USER145> Boring is better.

</comment><comment><USER146> This dude is my hero. Keeping it simple and functional.

</comment><comment><USER147> This is great! Thanks for sharing.

</comment><comment><USER148> Lots of stuff can stick a web form in front of Elastic/Postgres or similar. Certainly nothing wrong with that.

Also doesn't mean that something quite so simple will work in every case. Not everyone is wasting their employer's money to build their resume.

</comment><comment><USER149> Everyone should write something like this.

</comment><comment><USER150> Satoshi Nakamoto was one person behind Bitcoin, similarly.

<comment><USER151> Technically, you don't know that since we don't know who Satoshi Nakamoto is. Satoshi Nakamoto could really be 10 people and you nor I, would not know.

</comment></comment><comment><USER152> When my website ([https://www.aedaily.net](https://www.aedaily.net)) has a million of record, I had migrated Postgres to Mongodb because performance issues. I'm using Django template to easy maintain, development and SEO.

</comment><comment><USER153> As a software SaaS CISO, who also pentests and determines partner risk - <USER2> take the approach of not sharing such in depth details. Articles like this are fantastic fingerprinting recon for those that look to compromise sites.

<comment><USER154> Security by obscurity?

<comment><USER155> Not a really good idea all by its own.

<comment><USER156> Absolutely, but a great idea when combined with other defensive tactics. Obscurity is why armies use camouflage.

</comment></comment></comment></comment><comment><USER157> This is just a big ad for his website with no in-depth knowledge or insights provided. Literally just a list of tech someone uses and 4 or 5 links to his website. Is this what HN has become? I remember the content upvoted on this site being much better a couple years ago.</comment>


How to deal with large webforms - <AUTHOR> http://www.jankoatwarpspeed.com/post/2009/02/18/How-to-deal-with-large-webforms.aspx <comment><USER2> Perhaps the most important way to deal with long forms: Make them shorter. See if you _really_ need to collect all of that information. Make sure you're using the most efficient and intuitive form controls for the task at hand.</comment>


Brazil announces secure email to counter US spying - <AUTHOR> http://www.france24.com/en/20131014-brazil-announces-secure-email-counter-us-spying

<comment><USER2> I'm surprised they didn't have their their government emails. But they should know that if NSA _really_ wants them, suitcases of cash will exchange hands to get the key...</comment>


Is there deflation or inflation in our future? - <AUTHOR> https://voxeu.org/article/there-deflation-or-inflation-our-future <comment><USER2> I remember with the 2008 financal crisis and the stimulus after that there were a lot of predictions about how inflation was a sure thing from even stimulus supporters.

Then it just didn't happen.

I think predicting inflation is pretty dang hard these days, economists seem to indicate in the past it was easier to predict, although I wonder if that is just hindsight.</comment>


Social Roulette has a 1 in 6 chance of deleting your account - <AUTHOR> http://socialroulette.net/ <comment><USER2> There are a bunch of red flags here. It's possible this app has an ulterior motive.

At the top it says the author is Douglas Rushkoff but the avatar in the FB screenshot (under _The Story_ ) is Jacob Appelbaum's[1].

Here are the permissions it requests[2]: "publish_stream, email, rsvp_event, publish_actions, friends_online_presence, user_online_presence, manage_notifications, manage_friendlists, create_event, ads_management, xmpp_login, read_stream, read_requests, read_mailbox, read_insights, read_friendlists, user_work_history, user_website, user_videos, user_subscriptions, user_status, user_religion_politics, user_relationship_details, user_relationships, user_questions, user_photos, user_notes, user_location, user_likes, user_interests, user_hometown, user_groups, user_education_history, user_games_activity, user_actions.video, user_actions.news, user_actions.music"

There would be no point in requesting most of those if all you were doing was publishing a message or deleting content.

As PaulMest pointed out, apps do not have access to delete most of your content.

[1]: <https://twitter.com/ioerror>

[2]: [https://github.com/kylemcdonald/socialroulette.net/blob/mast...](https://github.com/kylemcdonald/socialroulette.net/blob/master/index.php)

<comment><USER3> From the FAQ:

Can Social Roulette really delete my account?

Yes. While it's very difficulty to "permanently delete" a Facebook account, we can completely remove all your posts, friends, apps, likes, photos, and games before completely deactivating it.

</comment></comment><comment><USER4> The testmonials on that site are complete fabrications. Gawker never said "Social Roulette just rewrote the rules for online gaming." nor has it ever mentioned Social Roulette and the Gruber quote also does not exist, only someone tweeted it at him. Testimonials that are lies are shameful and dishonest.

<comment><USER5> The creator was being facetious and the fabrications were meant to be obvious enough that no one would take them seriously, right?

<comment><USER4> No, it isn't obvious that the listed testimonials are fake.

<comment><USER6> It is pretty obvious to most people.

That doesn't make you stupid, but you may find that you encounter similar situations in life, and it's something you may want to be aware of before you start throwing around big words like "lies", "shameful" and "dishonest" where such reactions are completely misplaced.

<comment><USER7> "It is pretty obvious to most people."

I really doubt most people know who Gawker, Bruce Sterling, John Gruber or FaltyDL are, which makes it doubtful that most people are in on the joke.

<comment><USER8> These quotes are not out there in a vacuum, they are on a site that randomly deletes your Facebook account. Even if you don't know any of these people it doesn't require much to realize they are jokes.

I mean who would ever say "It's the most exciting thing I've done this year" for a site like this?

<comment><USER9> > I mean who would ever say "It's the most exciting thing I've done this year" > for a site like this?

A typical tech blogger.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> I once read that the chance of Russian Roulette is NOT 1:6 but more like 1:600, since you play with one bullet and the weight of the bullet makes it relatively unlikely that the bullet stops next to the top position in the barrel when you spin it.

Don't know if this is true but in the end, it doesn't matter for this stupid game.

<comment><USER11> I thought it was a theoretical game that no one actually plays.

<comment><USER12> Last year alone four people died in the US while playing the game. [http://www.huffingtonpost.com/2012/09/05/dion-von-mays- dies-...](http://www.huffingtonpost.com/2012/09/05/dion-von-mays-dies-russian- roulette_n_1859221.html)

<comment><USER13> Combining this with the 1 in 600 statistic of the grandparent comment, it seems like ~2000-3000 people played Russian Roulette last year. To me, that's even more astounding than the number of deaths -- although the number of deaths is certainly more tragic.

<comment><USER14> That's a pretty big leap of faith assumption though. Does anyone have a source or a revolver?

<comment><USER15> I have spun a revolver with one round in the cylinder. First, you wont wait for it to settle, so it doesn't matter. Second, a cylinder is pretty heavy, so even if you did, it's not that big an effect. Third, there is significant friction between the cylinder and the pin it rotates on, which will prevent it from settling in that manner. The 1:600 number isn't true.

</comment></comment></comment></comment></comment></comment><comment><USER16> An app using Facebook's API cannot delete objects not created by itself (e.g. cannot delete posts or photos). So either this requires you install a browser extension or it's fake.

<comment><USER17> I don't know much about the API, but that was my understanding as well. I just tried the game and survived. Can anyone who has had the experience of losing describe what happened?

<comment><USER18> I just played and lost, 'Bang, your Facebook account is being deleted'. In panic mode I was thinking I could cancel it, tried to remove Socialroulette from my authorized apps, but it was too late. Now, no account but I'm gonna try and reactive it and will you know how it goes

<comment><USER19> A word of advice: Don't play real russian roulette, as there is no "panic mode".

</comment></comment></comment></comment><comment><USER20> _Invalid API Key_

Well that didn't take long.

<comment><USER21> I suspect it's because the original app id and secret key are public on the github repo.[1]

I bet they're registering a new application and secret right now, hence the invalid API key error.

[1]: [https://github.com/kylemcdonald/socialroulette.net/blob/ba32...](https://github.com/kylemcdonald/socialroulette.net/blob/ba3267ab9f2c6464e26ef9c39056beec594dee83/index.php)

<comment><USER22> Either that or they're starting to exceed usage. I'm sure there's not some magic mass delete routes for facebook's api. I have to think they're going to be hitting some kind of limit here pretty soon.

</comment></comment></comment><comment><USER23> I really like this idea. I've always wondered whether I should delete my Facebook account, but I never put the effort into weighing up the consequences. I might just do this for the thrill of it. If I survive I get an interesting status, if not, I leave Facebook for silly reasons. Win/win.

I don't understand the purpose of the second rule: "you must play once a day". If you abide by that rule, then you're guaranteed to leave Facebook eventually. Where's the thrill in that? Is this rule optional, or does the app play for you automatically?

<comment><USER24> It says _may_ play _only_ once a day.

<comment><USER23> Ah, I did not notice the _only_ word. It seems like a pointless rule to me.

</comment></comment></comment><comment><USER25> Norton flagged the website as a "Facebook Fake Like Count Scam."

<comment><USER26> I got the same thing.

</comment></comment><comment><USER27> How save is this? By safe I mean, how do I know they wont steal all my facebook information and store it somehwere...

<comment><USER28> You don't! See, it's two games in one.

</comment></comment><comment><USER29> Gee, looks like this shows how great it is to rely on a platform to build something sustainable.

 _Invalid API Key_

<comment><USER14> Do you have any idea what you just tried to play?

<comment><USER29> Couldn't actually start because the error appeared when authenticating

</comment></comment></comment><comment><USER30> This probably breaks TOS somehow. There once was another very similar service that swapped followers between two Twitter users. That was taken down as breaking Twitter's TOS.

<comment><USER31> You mean swapped "followed"?

</comment></comment><comment><USER32> Looks like it is by Jacob Appelbaum, at least that is his profile pic in the screenshot (next to the empty answer box). Would be weird though as it is using Google Analytics.

<comment><USER33> Nicely spotted, but the quote on the top left indicates the author is Douglas Rushkoff ^^

</comment></comment><comment><USER34> Is it really that scary to delete your account? It's really, really easy to reactivate. When I deactivated my Facebook account it was hard to _not_ reactivate it.

<comment><USER35> Deactivating your Facebook account is not the same thing as deleting it. Deleting is permanent (though it's delayed to prevent abuse).

<https://www.facebook.com/help/214376678584711> <https://www.facebook.com/help/224562897555674>

<comment><USER36> Sure, but you have to wait for (last time I checked) 1 month without logging in before it's actually deleted.

</comment></comment></comment><comment><USER37> It's the <http://www.arcadebliss.com/game/russian-roulette.htm> of its decade...

<comment><USER38> Why would someone _not_ spin the revolver?

<comment><USER39> Because it is cheating. The chance of the nth person getting the revolver (with no spin) is 1 - (n-1)/6, so the chance of the nth person dying is 1 - (n - 1) / 6 times the chance of a bullet in the chamber which is n/6.

You spin and the last one becomes n/6, which means that the game is biased in favor of later starters.

<comment><USER38> Yeah, but then the sixth person has a 100% chance of dying, I wouldn't call that biased in their favor.

It's fairer if everyone just always spins.

<comment><USER39> They have a 100% chance of dying _if the gun gets to them_ which it will do only 1/6 of the time.

Wherease if the sixth person spins, then they have a 1/6 chance of blowing their brains out and a 1/6 chance the gun gets to them, for a total of only 1/36 chance of no brain, compared to a 6/36 chance of no brain for the first guy, 5/36 for the second guy (5/6 chance that he has to pull the trigger, 1/6 chance he dies _if_ he has to pull the trigger), third guy has 4/6 chance of having to pull the trigger for a combined 4/36 (which reduce to 1/9), fourth guy has a fifty-fifty whether he has to pull the guy which gives him combined 3/36 (which reduce to 1/12), fith guy has to pull the trigger only 2/6 which gives him a measly 2/36 (reduces to 1/18).

That was the spinning case.

In case there is no spin after the first pull of the trigger:

first guy has 1/6 chance of shooting his brains out, which is the same as the last example. Second guy has 5/6 chance of having to shoot, and 1/5 chance of blowing his brains out if he has to fire, for a combined 1/6 (same as the first guy). Guy two has to fire 4/6 and has 1/4 chance of blowing of his head if he has to fire, giving a total of 1/6.

The numbers work through all the numbers.

While it is true that the last person is fucked if he has to shoot, there is also only 1/6 chance he has to shoot, so his odds are as good as the rest of them.

The problem with having to spin the gun in between is that you break the dependent variable that increase the chance of the gun going of on each non- bang but keep the one that lowers the properbility of having to fire.

<comment><USER38> Hmm, you're right, thanks for the explanation. I was thinking of the iterated 2-person case, but I guess the logic is the same there (you can spin in the beginning of every round, of course).

</comment></comment></comment></comment></comment></comment><comment><USER40> When I click the link, Norton is telling me that it's blocked an attack by "Web Attack: Fake Like Count Spam", FYI. Curiously, this is happening even when NoScript appears to be blocking scripts on the page.

</comment><comment><USER41> The source appears to be available at <https://github.com/kylemcdonald/socialroulette.net>

<comment><USER42> Sadly it's missing all the interesting code (it's gitignored). Not sure what's the point of putting it on github in that state.

</comment></comment><comment><USER43> Funny bit about this is that someone will give these people millions in funding or acquihire. All for a:

        from random import randint

        choice = randint(1, 6)
        delete = randint(1, 6)

        if choice == delete:
            print "Today is not your lucky day."
        else:
            print "Try again tomorrow."

        print "Today's choice was {0}.".format(choice)

        #I felt like writing some bad python.

<comment><USER44> FYI "choice" is the name of a function in the random module:

        from random import choice

        if choice(range(6)):
            print "Try again tomorrow."
        else:
            print "Today is not your lucky day."

<comment><USER43> No one liner? Im disappointed. Did you read the commnt at the end?

<comment><USER45>
        alert(Math.floor(Math.random()*5)<1?"Boom!":"Click!");

</comment></comment></comment></comment><comment><USER46> This should get "acquired" by Facebook and then shut down, otherwise they'll lose half of their user base, haha^^

<comment><USER47> I think you mean a 1/6th...

<comment><USER48> ...If everyone played only once...

<comment><USER46> No but seriously if this goes viral, they could lose several million users. At an LTV of $75/user right now that can be between $100m-$200M. Better buy these guys for $50M. :)

<comment><USER49> Or Facebook can just as easily block them from API access.

</comment></comment></comment></comment></comment><comment><USER50> > What are you afraid of?

Well, losing my account.

</comment><comment><USER51> Finally, a convenient way to delete your facebook account with fewer hoops to jump through.

</comment><comment><USER52> Quite similar to what Harper Reed and Rafael Lozano-Hemmer did at 7-on-7 a few weeks back (which was quickly disabled by FB) <http://www.friendfracker.com/>

</comment><comment><USER53> <http://fffff.at/social-roulette/>

</comment><comment><USER54> whois info: <http://whois.domaintools.com/socialroulette.net>

private of course.. A Happy DreamHost Customer 417 Associated Rd #324 Brea, CA 92821 US +1.7147064182</comment>


Remembering the Case that Established Code as Speech - <AUTHOR> https://www.eff.org/deeplinks/2015/04/remembering-case-established-code-speech/

<comment><USER2> My favorite twist of this case were the people who tattooed encryption code on themselves so that they technically became munitions.

See [http://www.geekytattoos.com/illegal-tattoos-rsa- tattoos/](http://www.geekytattoos.com/illegal-tattoos-rsa-tattoos/) for details.

</comment><comment><USER3> Does this work for code that may infringe on someone's patent? That is, if you just publish the source code and not a compiled executable, would that still put open source developers in jeopardy? Edit: Just found this on SFLC's web site: [http://softwarefreedom.org/resources/2011/debian-patent- poli...](http://softwarefreedom.org/resources/2011/debian-patent-policy- faq.html#i-have-heard-that-distributing-source-code-is-safer-than- distributing-object-code.-is-that-true) This appears to be more conjecture; I was wondering if this theory has been tested in court yet?

<comment><USER4> I don't think free speech gives you free reign to do things like infringe patents or copyright.

<comment><USER5> Fair use does in some cases

<comment><USER4> Fair use is a exemption that exists in copyright law. It's not free speech.

<comment><USER6> > Fair use is a exemption that exists in copyright law. It's not free speech.

Fair use was a judicially-created copyright law doctrine founded on the First Amendment freedom of speech and press _before_ it was codified, in a very loose form closely mirroring the pre-existing judicially-created factors, into the copyright statutes in 1976. So it is an express exemption in statutory copyright law, but it is also closely tied to First Amendment free speech/press.

And, independently of whether the statutory exemption applies, that the First Amendment freedom of speech and press limits the scope of exclusive rights that can be granted in copyright and permits those rights nominally assigned in the statute to be violated when the government grant of those exclusive rights would conflict with speech/press freedoms is the entire foundation of the pre-existing fair use doctrine.

</comment></comment></comment></comment></comment><comment><USER7> > Today it may seem obvious that communication using programming languages is > protected by the First Amendment.

Actually, I didn't realize this. Good to know!

Though I kind of wonder what the limits to this are. Does a reporter have to disclose source code if they use it to calculate something the NSA/CIA/military don't want the world knowing? Can the government jail me for publishing source code it deems "obscene"?

<comment><USER8> >Can the government jail me for publishing source code it deems "obscene"?

It's an interesting idea, but obscenity is a tricky one to pin down.. IIRC it's generally something that 'depraves and corrupts', and of course one man's obscene is another man's Art..

What would be obscene code and not already fall in the areas of law that already deal with illegality of code, i think that's one question to ask, in order to answer your question.

</comment></comment><comment><USER5> Very Relevant: [http://www.crypto.com/papers/export.txt](http://www.crypto.com/papers/export.txt)

(current Penn professor Matt Blaze's mid-90s account of registering as an arms dealer with US Customs to transport an encrypted telephone to Europe)

</comment><comment><USER9> I had absolutely no idea that there were previously such restrictions. Registering as an arms dealer to export an algorithm?! Astonishing.</comment>


About the security content of macOS Mojave 10.14.6 Supplemental Update 2 - <AUTHOR> https://support.apple.com/en-us/HT210589 <comment><USER2> RCE in foundation, I wonder where specifically?

</comment><comment><USER3> The URL should be [https://support.apple.com/en- us/HT210589](https://support.apple.com/en-us/HT210589)

<comment><USER4> Ok, changed from [https://support.apple.com/en- gb/HT209149](https://support.apple.com/en-gb/HT209149). Thanks!</comment></comment>


Ask HN: I want to develop apps for non profits, does this biz model work? - <AUTHOR> I want to develop simple apps for non profits and instead of charging $xx,xxx per project, I want to take care of everything including hosting the native apps on my app store licenses, for a $250/mo subscription. Is this a price range that non profits would love to jump on? <comment><USER2> Without a one-off fee upfront?

<comment><AUTHOR> Yes. Zero upfront costs

<comment><USER2> You'd be setting yourself up for a world of problems.

1.You wouldn't recoup your time investment on each app for at least 2 years.

2.The upkeep with each of those apps during that time would eat up significant portions of your time.

3\. If an app did go down for whatever reason the firm could choose to cancel your arrangement. If that happened in the first 12 months you'd really be sunk because you have no one else you can sell that app to.

</comment></comment></comment><comment><USER3> If a children cancer foundation doesn't pay the monthly bill, will you be so heartless to just unplug the server?</comment>


Back to the Future: Squeak, a Practical Smalltalk Written in Itself (1997) - <AUTHOR> http://ftp.squeak.org/docs/OOPSLA.Squeak.html <comment><USER2> I was interested in learning Smalltalk and downloaded Squeak a few months ago, but I couldn't really find any up-to-date resources on how to learn my way around the environment and stuff. Am I missing something?

<comment><USER3> Pharo is currently carrying the torch. There is a book: [http://pharobyexample.org/](http://pharobyexample.org/).

<comment><USER4> I've tried those books and found the examples were out of date and it was very hard to learn from. I own > 25 programming books and this was one of the only ones that didn't click.

<comment><USER5> For an updated version of Pharo by Example that matches the current Pharo version, see ...

[https://github.com/SquareBracketAssociates/UpdatedPharoByExa...](https://github.com/SquareBracketAssociates/UpdatedPharoByExample)

<comment><USER4> Thanks...I'll have to give another go.

</comment></comment></comment></comment></comment><comment><USER6> 20 years and going. Happy Birthday[1]!

[1] [http://squeak.org/](http://squeak.org/)

<comment><USER7> Though beware if you've upgrade to macOS Sierra that both Squeak and Pharo's VMs seem to be broken at the moment.

<comment><USER8> Recent versions of the OpenSmalltalk VM [1] now support macOS Sierra. The latest version can be found at [2].

[1] [https://github.com/OpenSmalltalk/opensmalltalk- vm](https://github.com/OpenSmalltalk/opensmalltalk-vm)

[2] [https://bintray.com/opensmalltalk/vm/cog/_latestVersion#file...](https://bintray.com/opensmalltalk/vm/cog/_latestVersion#files)

</comment></comment></comment><comment><USER8> TravisCI supports Squeak/Smalltalk builds: [https://docs.travis- ci.com/user/languages/smalltalk](https://docs.travis- ci.com/user/languages/smalltalk)

</comment><comment><USER9> I've been interested in Smalltalk, but I haven't read much about it other than the GNU Smalltalk man page and a "Squeak by Example" book[0].

The problem I'm having is that it's difficult to discern which "flavor" of Smalltalk I should dig into. Smalltalk-80? GNU? Squeak? Pharro? Which of these, if any, are still being developed?

[0][http://squeakbyexample.org/](http://squeakbyexample.org/)

<comment><USER10> As I mentioned in another reply here, I'd suggest you ignore the siren call of "most recent" and just pretend it's five years ago. Use the Squeak by Example book with it's associated version of Squeak to get a basic understanding of the environment and the object system's resources.

If you prefer, there's nothing wrong with trying Pharo or one of the commercial Smalltalks available with free, non-commercial licenses. Indeed, the only variety I'd warn against is GNU Smalltalk, which treats Smalltalk as just another file-oriented member of the GNU toolchain. That approach totally misses what made Smalltalk so revolutionary for its time: a rich environment for interacting with and exploring an object system.</comment></comment>


'Meatless' meat to the test: Does it taste like chicken? [video] - <AUTHOR> http://www.today.com/food/today-puts-meatless-meat-test-does-it-taste-chicken-1D79579619

<comment><USER2> Beyond Meat's chicken is pretty wonderful and goes beyond expectations as long as you don't overcook / undercook it. It is more finicky in my opinion than regular chicken—in fact, it explicitly says "Do not overcook." on the box as it degrades quickly in quality if you do.

I've served Beyond Meat to lots of non-vegetarians including hunters and they've all been impressed. Beyond Meat has the chicken pretty well locked down. When you don't overcook it, and you add it to a recipe the way you would chicken (such as coated in BBQ sauce or on top of a salad) I've heard nothing but reactions of surprised. People expect it to taste like tofu, but this is (on my scale) generation III meat substitute.

(Say tofu and seitan is generation 1, then you have the Boca stuff for geneation 2, now you have the Beyond meat and new Quora stuff (maybe) for 2.5 and Beyond Meat for generation 3)</comment>


Most Common Early Start-up Mistakes - <AUTHOR> http://bothsidesofthetable.com/2009/08/17/most-common-early-start-up-mistakes/

<comment><USER2> A note on #1: not all states have laws that specifically protect IP you generate outside of work hours. I have a friend who ran into this exact problem in New York.

Here's a list of states that _do_ have laws that specifically protect IP created outside work:

[http://stackoverflow.com/questions/401269/states-having- nona...](http://stackoverflow.com/questions/401269/states-having- nonassignable-invention-exceptions-similar-to-california-code-secti)

</comment><comment><USER3> A decent solution to #2 Register a company #9 Founder vesting

<http://www.fairsoftware.net/>

Here are some details: <http://news.cnet.com/8301-17939_109-10035989-2.html>

IMO there should be an extra point.

#10 pick a leader: there should be one person on your team that should have the final say from the start.</comment>


Read books from O'Reilly for free - <AUTHOR> http://www.pixelstech.cn/article/1372856157_Read_10_new_books_from_O_Reilly_for_free

<comment><USER2> Real page title: "Read 10 new books from O'Reilly for free". The "10" makes some notable difference.

That said, you may want to note that they are freely readable but only as online html; if you want an ebook, these are still paid.

<comment><USER3> So, not free enough for you then?</comment></comment>


Long-sought particle that could revolutionize quantum computing - <AUTHOR> http://www.purdue.edu/newsroom/releases/2012/Q3/signature-of-long-sought-particle-that-could-revolutionize-quantum-computing-seen-by-purdue-physicist.html <comment><USER2> I'm not a condensed matter researcher, but from what I know these particular majorana fermions are quasiparticles, so it's a little misleading to directly compare this to the Higgs boson which is an elementary particle. Still, this is cool because it means topological quantum computing might be possible:

<http://stationq.cnsi.ucsb.edu/~freedman/Publications/96.pdf>

<http://research.microsoft.com/apps/video/dl.aspx?id=154238>

</comment><comment><USER3> For a classical analogy, compare an asynchronous analogue circuit designed to evaluate a specific equation to a clocked digital circuit that evaluates that same equation. The analogue circuit will orders of magnitude simpler, but it will be extremely difficult to incorporate it into a much larger circuit because fluctuations in heat, etc. will change when output is produced as well as potentially changing the result. Clocked digital gates allow for more deterministic output to arrive at a known time, thus allowing far greater complexity.

Currently, quantum computing is just barely at the simple analogue circuit level (e.g. D-Wave). Fault tolerance is crucial for scaling up quantum computing devices towards more complex algorithms and, eventually, being able to execute stored programs. Fault tolerant protocols typically operate by redundantly encoding a single qubit's worth of data in several physical qubits. How many physical qubits are required depends greatly on the reliability of the physical qubits used. Thus, the complexity of a quantum computer is massively dependent on finding reliable physical qubits, like majorana fermions could prove to be!</comment>


Faith and Belief: Richard Dawkins evolves his arguments - <AUTHOR> http://www.latimes.com/entertainment/news/arts/la-ca-richard-dawkins11-2009oct11,0,4602534.story <comment><USER2> I heard an interview where Dawkins said something like "if there is a God, He must have evolved." Maybe he was joking, but it didn't sound like it.

Evolution is a biological process. It would have no bearing on a being who created space and time.

Biologists should not presume to trump philosophy and theology, any more than preachers should dictate which biological theories are acceptable.

<comment><USER3> It's a mistake to lump philosophy with theology. Philosophy requires no "givens", which is to say it is a valid field without requiring you to make any assumptions to partake in it. Theology, meanwhile, requires you first to assume the existence of God, and I'm one of the many many people who think that's a ridiculous beginning to a field of study. It's like if Nietzsche began his books by telling you his concepts and thoughts were only worth consuming if you first assume that we're living on a gigantic turtle. Preposterous.

I like religion-as-sociology, however, and there's where the "evolution of God" concept is most fascinating. If you haven't read Douglas Adams's speech "Is There An Artificial God?", it's worth the read.

 _Evolution is a biological process. It would have no bearing on a being who created space and time._

And bullets bounce off of Superman because he's from Krypton.

<comment><USER4> What exactly are the accomplishments of philosophy, aside from logic which is better studied by mathematicians and computer scientists?

<comment><AUTHOR> I would say _Questions_ are the greatest accomplishments of philosophy. There are many questions out there, the meaning of life, where we came from, what happens when we die. These are philosophical questions in origin.

Philosophy is the birth of inquiry. Science is the attempt to find the rational answer.

<comment><USER5> And when we show there is no rational answer that is discoverable ...

<comment><USER3> I know, right? Like when we know there was no rational answer for the weather so we said gods did it. Silly scientists not realizing we haven't learned anything in the last five thousand years. They refuse to admit that it's impossible to find new answers to questions.

<comment><USER5> I was thinking more about application of Godels Incompleteness Theorem or the Church-Turing Hypothesis or even to take a more basic consideration Heisenberg's Uncertainty Principle.

Based on the standard scientific and logical axioms the cause of the progression of weather is quite discoverable except that the chaotic nature makes it practically (at present at least) unpredictable.

Perhaps you believe the world is entirely Newtonian??

I await your answer with baited breath.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> > There is no master plan.

As much as I am an atheist, I still think no one can ever make that claim. He should have said, there is no evidence yet of a master plan, or there probably is no master plan. This same thing would apply to the existence of God. Unfortunately this logical fallacy (of prematurely concluding the nonexistence of something that theoretically can't be proved to not exist) beholds too many atheists.

<comment><USER7> Nothing we believe about the outside world is unassailably justified by logic alone. Even the surest statements (that the sun will come up tomorrow, for example) are based on a fallible interpretation of the evidence available at the time. That's no reason to stop making statements--it turns out a preponderance of evidence is enough, generally. It just means some of your beliefs sometimes turn out to be wrong.

<comment><USER6> What about statements like 1*1 = 1. I can be sure about that, but unsure about something like the existence of God.

<comment><USER7> I meant to be excluding things like that when I said "about the outside world". But regardless of how you think of statements like that, there are all sorts of others: * The sun will come up tomorrow. * Nobody is plotting to have me killed. * The lamp next to my couch is on. * Accelerating beyond light speed is impossible. * People other than me exist. that can't be proven logically, but that it's still perfectly reasonable to be sure of. In practice, logical proof isn't a workable standard to look for in your beliefs.

<comment><USER6> The sun will come up tomorrow. We are 99.99% certain of that, so therefore it's safe to assume it's correct. And it's statistically unlikely for the sun to not come up.

But when making the claim that God does not exist, that claim itself is 100% certain to be uncertain.

So it's safe to assume he does not exist if no evidence has shown he does exist, but we still must acknowledge the possibility of his existence just as you must still acknowledge the possibility, however minute, that the sun will _not_ come up tomorrow.

</comment></comment></comment></comment></comment><comment><USER8> Can we keep these types of article of HN?

Other sites (such as reddit) became pretty useless with people submitting these (and other) articles and turning the whole site into an unpleasant experience.

Why not follow the same rules that we do when at work? Don't discuss politics or religion.

</comment><comment><USER9> This was a really interesting insight to Dawkins' character. Thanks for sharing.

</comment><comment><USER5> Ha, he's going to have to rewrite that opening para for his kids book if he wants to base it on evidence. The evidence no more shows that Earth moves than it shows that it is static, unless you assume that humans and simplicity in our mathematical system is special.

</comment><comment><USER10> All most all religions are based on <http://en.wikipedia.org/wiki/Self- fulfilling_prophecy>

<comment><USER5> For example, as I suspect any answer will be centred on criticism of a Judaeo- Christian world view (just a hunch) could you also give an example from another religion. I can't think of any of the top of my head. It's a good thing to base share price manipulation on though.</comment></comment>


Dr. Fauci, We Need a Second Opinion [pdf] - <AUTHOR> https://www.jobcreatorsnetwork.com/app/uploads/2020/05/JCN_SecondOpinion_WSJ_outlines-1.pdf <comment><USER2> Shorter CEOs: "Dear doctors, who among you has no scruples and likes money? We'd like your help lying to the American people, because their deaths are a price we're willing to pay to keep our profits up"

</comment><comment><USER3> Shorter: We can easily end the shutdown if we just take steps requiring coordinated national effort that we're clearly not capable of.</comment>


U.S federal investigators to collect private records of three Twitter users - <AUTHOR> https://www.eff.org/press/releases/privacy-loses-twitterwikileaks-records-battle <comment><USER2> ALESSANDRO ACQUISTI gave a cool talk at the 2011 BlackHat presenting his research findings which indicate that by taking a picture of your face, that picture can be correlated with your facebook profile, which can be used to take simply your birthday, and using that information, using a computer to guess your social security number with significant accuracy compared to random. here is video <http://www.youtube.com/watch?v=fZQ7Th9L5ss>

</comment><comment><USER3> People can only escalate the cost of having their identities uncovered. I don't believe it's possible to be completely anonymous. Of course, when the people who want to know about you have no economic limitations (i.e. governments or the odd billionaire), you will eventually be found out.

</comment><comment><USER4> Another great reason to protect your online identity. I don't use any of my real information on any of the social media sites I use simply for this reason.

Had these people taken better steps to conceal their identities, they wouldn't be in the jam they are now. Live and learn I guess.

<comment><USER5> Your location is linked to your IP, your IP is linked to the identities. You can't hide.

<comment><USER6> <https://www.torproject.org/>

<comment><USER5> It's cute that you still think you can hide behind proxies.

</comment></comment></comment></comment><comment><USER7> a sad day for internet users indeed</comment>