Square Prices Its IPO at $9, giving it a $2.7B valuation - <AUTHOR> http://techcrunch.com/2015/11/18/square-prices-its-ipo-at-9/ <comment><USER4> From a second market type broker who trades private tech company shares (Oct 1st 2015):

''We have only 4000 shares of Square left at $16.50. I believe Goldman is going to price the IPO well north of $25 and the $16.50 is less than the price that Square is granting stock options to employees!''

A good reminder that people are making (and losing) a lot of money behind the scenes of our industry.

</comment><comment><USER5> A combination of things are responsible - a super old/competitive market (processing), the ever changing risk dynamics and Square's targeting

Let me illustrate points 1 and 2 with an example.

a) Square earns $2 in revenue per $100 of transaction volume b) $0.5 would be their gross margin accounting for expenses i.e. bank/visa fees c) The next biggest line item to subtract would be risk. If there is a fraudulent transaction of $100, then square has to compensate it with 200 transactions of $100 each. (200 txns *0.5 gross margin). Net effect is not only do they have to deal with low margins, they also have to manage risk very well. And this is not something you accomplish overnight especially as you enter new markets. Personal anecdote: I had $120 or so disappear from my Starbucks wallet a couple of months ago and the merchant had to eat the loss.

Lastly, large payment processors get out of this loop because they manage the big (Targets and Walmarts of the world) with the small and over time have fine tuned their risk engine. Square went into it in the reverse order, targeting mom-and-pop stores first (which have low volumes and high acquisition costs) and then trying their hand at large merchants (Startbucks in this case and they lost a ton doing this). In the process they never got risk management right for either segment. And oh, they did not go with an online first strategy which PayPal did in the 90s and the likes of Braintree and Stripe did recently.

My 2c.

<comment><USER6> I'm pretty sure Starbucks, the merchant, would have to cover the costs not square as the processor. I used to work at MBNA and when there was fraud on an card the retailer was responsible.

<comment><USER5> In this case Starbucks paid for it. But something similar could happen with a Square transaction where they may be held responsible. Was just making a point that there are costly lessons to be learnt in the world of processing.

</comment></comment></comment><comment><USER7> Is anyone willing to give a contrarian take? I'll give it a shot: Square is an ambitious company with some great engineers, stellar UX and a giant total addressable market. Their business loans are interesting and could grow into something important. Square readers are a fashion accessory for hip businesses. No sooner would a coffee shop be seen without a Square reader and an Edison bulb than its yuppie hipsters patrons would be seen without a MacBook or an iPhone. That brand equity might really be worth something.

<comment><USER8> Are people really going to care if their joint of choice changes payment providers?

Do people care how cool their bank and credit card company is?

Id almost certainly guess not.

<comment><USER9> Hmmm interesting.... I have had in depth conversations about this, and I strongly feel that you are missing something. Sure, in certain areas having a ipad/square reader combo is not necessary. It may actually be detrimental I would imagine. I am not talking about some random small town in Missouri, I am talking about less trendy districts of a city or a coffee shop with a more old school vibe. BUT in large cities and metropolitan areas having a square reader instantly makes your company more trendy and part of an in crowd. This trend will continue to disseminate outward... not with the square reader necessarily, but with some new point of sale system. But already square is at the for front of this movement, we wont continue to use these old POS systems forever. Change will occur.

<comment><USER10> I disagree - I live/work smack in the middle of Manhattan and I'm not really seeing a Square dominance in coffee shops around me.

Yes, every coffee shop needs their cool iPad credit card processing machine, but anecdotally I'm seeing more non-Square ones than Square ones.

The choice here isn't between "usable iPad thing made by Square" vs. "crappy 90s POS terminal", it's "usable iPad thing made by Square" vs. "other usable iPad thing made not by Square".

I think a huge issue here is that merchants care about the bottom line, and it turns out Square does not have a lock on producing reasonable hardware/software around payment processing. Square may have invented the category but from where I stand they don't look like they own it.

<comment><USER11> You're lucky if they take cards at all in Manhattan, half the stores are cash only.

</comment></comment></comment></comment></comment><comment><USER12> This is brutal. I know someone at Square that exercised his options, and I guess he is underwater by a massive amount now. And since VCs are generally move like flocks of birds, this will likely create a massive chill in terms of funding. Either they are going to take a pound of flesh from the founders coming for their next round of funding, or they will just pull away.

It looks like 2016 is going to see a lot of unicorns take a massive hit. You can bet Stripe and other payment companies are going to take a hit to their valuation, although Stripe seems pretty well-funded at this point.

<comment><USER13> I assume you are referring to follow up rounds when you refer to a chill? Or do you expect angel/seed funding to be reduced because they are going to lower guesstimated valuations?

Will be Interesting to see if this pattern has an effect of pushing tech companies to IPO sooner.

Is this behavior being replicated cross sector? It seems commonplace for a tech company to write down a valuation of a purchased company (eg every company MS has ever bought), I don't hear about it in health, finance, retail, etc sectors.

<comment><USER14> You might not have heard about it, but most companies write down the value on acquisitions to some degree.

IANAL, but legally you can be forced to realize tome deprecation on goodwill payments...

[https://en.wikipedia.org/wiki/Goodwill_%28accounting%29](https://en.wikipedia.org/wiki/Goodwill_%28accounting%29)

</comment></comment></comment><comment><USER15> With rumors about  device to device payment talks[1], Square is in tough spot.

[1] [http://www.wsj.com/articles/apple-in-talks-with-u-s-banks- to...](http://www.wsj.com/articles/apple-in-talks-with-u-s-banks-to-develop- mobile-person-to-person-payment-service-1447274074)

<comment><USER16> Confusingly, my browser renders that symbol () as a... square.

<comment><USER17> Chrome, it's a 't' surrounded by italicized parentheses. Unsuccessfully searched for unicode lookup to find the text description of the character.

Edit: at [http://www.fileformat.info/info/unicode/char/search.htm?q=%E...](http://www.fileformat.info/info/unicode/char/search.htm?q=%EF%A3%BF&preview=entity)

I found: <Private Use, Last>

Not sure what to make of it. Apple decided to assign to a Unicode character their logo. Does anyone have context?

<comment><USER18> In firefow it's a w with two dots over it. Is it just some unicode point that is unstandardized, and so overloaded somewhere with the Apple logo?

<comment><USER19> My Firefox renders it as an apple with a bite taken out of it. Probably depends on your font.

</comment></comment></comment></comment></comment><comment><USER20> I've always wondered - why was it so easy to replicate Square's scanning device? Seems like about 6 months after they really started gaining traction, PayPal came out with their copycat triangle one, and then a cascade of copycats.

It went from not being a thing to there being tons of them overnight. I would imagine there would be somewhat of a barrier to entry, but it seems it's a fairly easy device to create?

<comment><USER21> "The Shakespearean model holds true today. Consider the Square card reader. Square was the first company to do mobile handset credit card processing right. It did the software piece and the hardware piece, and built a brand with the iconic white square device.

Then there was a proliferation of copycat readers. PayPal launched one. They shaped it like a triangle. They basically copied the idea of a simple geometric-shaped reader. But they tried to one-up Square; 3 sides, after all, was simpler than 4.

Before PayPal's PR people could celebrate their victory, Intuit came out with a competing card reader. It was shaped like a cylinder. Then Kudos came out with its version, which it shaped like a semicircle. Maybe someone will release a trapezoid version soon. Maybe then they'll run out of shapes.

How will this all end? Do you really want to get involved in making a new card reader at this point? One gets a distinct sense that the companies focused on copycat readers are in a great deal of trouble. Much better to be the original card reader and stay focused on original problems, or an original company in another space entirely." \- Peter Thiel, [http://blakemasters.com/post/23250566538/peter-thiels- cs183-...](http://blakemasters.com/post/23250566538/peter-thiels- cs183-startup-class-12-notes)

<comment><USER22> Intuit's actually predates both Square's and PayPal's: [http://venturebeat.com/2009/05/21/intuit-gopayment-lets- you-...](http://venturebeat.com/2009/05/21/intuit-gopayment-lets-you-process- credit-cards-on-your-phone/)

<comment><USER23> That article just says you type in the credit card number into a web page. Very different.

<comment><USER22> From the article: "and you can also purchase a card scanner (so you don't have to type the number in)."

</comment></comment></comment></comment></comment><comment><USER24> I don't really care about Square's investors (sunk costs are sunk, plus ratchets and other protections), but what does this do to employee retention (and hiring ability)?

I assume people who joined years ago will still do fine, but what about people who joined in the past 6-12mo? Will they get repriced options? Are cash salaries all people care about? Square _has_ (and still does) have some great people, and it's a "robust job market".

<comment><USER25> _> As recently as September, the company [Square] handed out stock options to staff — one of the main perks of jobs in the Valley — valuing it at $15.39 a share, or more than 50 per cent above what the shares were deemed to be worth only six months earlier._

Source: [http://www.ft.com/cms/s/0/6ad992e6-8792-11e5-9f8c-a8d619fa70...](http://www.ft.com/cms/s/0/6ad992e6-8792-11e5-9f8c-a8d619fa707c.html)

</comment></comment><comment><USER26> According to crunchbase, they raised money at a $3.25B valuation in 2012.

If they are IPOing at $2.66B now, that means a lot of stock options granted in-between are going to be worthless, unless they were granted at some very different price...

<comment><USER27> Yes, Square's private per share prices:

Series A: $0.21627

Series B: <$1

Series C: $5.79817

Series D: $11.014

Series E: $15.46345

IPO @ $9 is not great for lots of folks, but mostly late-stage employees (assuming D & E investors have a liquidation preference - though I don't know for sure).

<comment><USER28> Just went through an IPO and we had a stock split to bring the price down to a number around $14. Square could also be doing a split so that $9 doesn't mean D & E are getting screwed.

<comment><USER29> That's not how stock splits work. You can't somehow subvert a falling valuation just by creating more shares.

</comment></comment></comment></comment><comment><USER30> Can someone help me understand...

Let's say an employee was granted 10,000 stock options at $1/share. They're all vested.

Does this mean that each share will be worth $9? So if exercised and cashed out, the employee would essentially earn $80,000 (before taxes)?

Trying to understand how the economics of all of this works.

Also, does this mean there are 300,000,000 shares? (How many shares do start- ups usually start with before funding rounds and what not? Seems like Square must've started with 100,000,000 or something.)

So many questions.

<comment><USER31> It all depends on the start up. Some start ups have a lot of authorized shares and some have less. This is all reflected in the capitalization table ([https://en.wikipedia.org/wiki/Capitalization_table](https://en.wikipedia.org/wiki/Capitalization_table)) of the company. The cap table also contains information such as the number of preferred shares and different rounds of preferred shares (Series A, B, ...).

What people sometimes don't realize are the liquidation preferences on the preferred shares. The liq pref is usually 1-3x depending on who has the negotiating leverage. Out in SF, most liq prefs are 1x. This means on an acquisition, the investors get 1x whatever they invested first before any common shareholders get paid. This means that many acquisitions are not successful. A good recent example is Rdio ([https://www.crunchbase.com/organization/rdio#/entity](https://www.crunchbase.com/organization/rdio#/entity)). They got acquired for 75M, but investors put in 126M. This means the investors lost money, but common shareholders (shares from stock options) got nothing.

A good scenario would be an acquisition where everyone makes money. A good recently example is Business Insider,investors put in 55M, but the company got bought for 343M easily clearing the investor liq pref ([https://www.crunchbase.com/organization/business- insider#/en...](https://www.crunchbase.com/organization/business- insider#/entity)). Employees with common shares also probably made a good amount as well.

One thing that also hurts employees are the AMT taxes that are associated with exercising the stock options before a liquidation event. In the examples above, employees have to pay taxes on the spread of the strike price to the fair market value of when they exercised. If an employee had a lot of shares, the taxes could end up quite high.([http://employeestockoptions.com/amttax/](http://employeestockoptions.com/amttax/))

<comment><USER32> What you may not realize is that in a qualified ipo the prefs go away. It's basically the one time when prefs turn irrelevant. (there are still other shenanigans like ratchet to min price sometimes).

In practice the qualifier on the ipo means the prefs only vanish on a big (well above the pref stack) ipo number. But still an ipo is at the moment it's done on paper much better for common holders.

</comment></comment></comment><comment><USER21> This is the best of all possible worlds for the late-stage investors. They get double the shares from the ratchet and probably a big valuation pop tomorrow too.

</comment><comment><USER33> > Square Prices Its IPO at 9$

Not a very helpful submission title. Without knowing the number of shares or previous share price, this is meaningless. The market capitalisation would be better. Including the previous projection better still.

<comment><USER34> It's not really the submitters fault though. In keeping with HN etiquette they posted the title of the article. I'd be criticizing TC here.

<comment><USER33> Yeah, I can't blame them for following the usual rules.

</comment></comment></comment><comment><USER35> This thread is awesome. For someone sitting afar and looking to invest in Square, the information on this thread is sufficient enough for me to dig deeper on specific points. I wish Wall St analysts did something open like this, rather than just publish some 'post facto' report.

</comment><comment><USER27> Wow, that's priced at ~2.8x 2015 revenue. So low.

<comment><USER36> If you look at gross profit (164.4 million for the first semester 2015) it's a much more comparable metric to what SaaS revenue would be. The problem with overall revenue in this market it that it's a low margin and more that half of it goes to the credit card companies.

With ~328 profit per year, they are getting about 8X multiple - <USER2> comparable to Hubspot, Zendesk which are doing terrific in the public markets.

For anyone getting stock options, expect as much as 6X-8X multiple on revenue if your gross margin is >60% and your year-to-year growth is >70% - <USER3> 10X-14X days are gone. Else, if year to year growth is below 70%, or gross margin less that 55%, expect 2X-4X.

</comment></comment><comment><USER37> Why did they agree to go public at such a low valuation when compared to recent rounds? Why wouldn't they wait until a time when the capital markets valued their enterprise more favorably?

<comment><USER8> maybe they were afraid that time is never comming.

</comment></comment><comment><USER38> Due to a string of bad decisions, including but not limited to the Starbucks deal and the Square Wallet, Square's undervalued. If they can sit up and grow their processing volume, their share price will appreciate greatly and go much higher than $9. They also need to find a way to minimize their losses on low amount payments, since they make losses on some of them. Their small business loans seem like an interesting and propitious part of their overall business going forward.

</comment><comment><USER39> I think its amazing Square could do an IPO at all - $2.7B is an insane valuation for a company that hasn't proven a scalable business model.

Frankly, its sort of irresponsible and short sighted for VCs to take something like Square public. It will have all sorts of repercussions on real businesses that want to go public in the future.

<comment><USER40> Agreed. It looks like Square will soon be competing head-to-head with Apple. Both companies want a big slice of the payments business, and they're going to be competing for the same customers. Any investment in Square is very risky, public or private regardless of the price.

</comment></comment><comment><USER41> It's "$9", not "9$".

<comment><USER42> Doesn't it make more sense to type it as it's read?

<comment><USER43> "$" is a modifier, not a word. Otherwise you'd be reading it as "9 dollar sign", not "9 dollars".

<comment><USER44> Just like we pronounce 9¢ "9 cent sign" right?

</comment></comment></comment></comment><comment><USER45> Does Square compensates employees in stock options or RSUs? If options, aren't the employees you joined post Series D completely screwed?

<comment><USER46> It really depends on the way the shares are distributed. I suspect they aren't "screwed" but they aren't exactly going to get rich from this.

</comment></comment><comment><USER47> Why would they price it at such a low multiple of revenue? Massive liabilities or something?

<comment><USER48> Very low margin business. As a multiple of net revenue, it's at the high range of comparable payment processors.

<comment><USER5> A combination of things - a super old/competitive market (processing), the ever changing risk dynamics and Square's targeting

Let me illustrate points 1 and 2 with an example.

a) Square earns $2 in revenue per $100 of transaction volume b) $0.5 would be their gross margin accounting for expenses i.e. bank/visa fees c) The next biggest line item to subtract would be risk. If there is a fraudulent transaction of $100, then square has to compensate it with 200 transactions of $100 each. (200 txns *0.5 gross margin). Net effect is not only do they have to deal with low margins, they also have to manage risk very well. And this is not something you accomplish overnight especially as you enter new markets. Personal anecdote: I had $120 or so disappear from my Starbucks wallet a couple of months ago and the merchant had to eat the loss.

Lastly, large payment processors get out of this loop because they manage the big (Targets and Walmarts of the world) with the small and over time have fine tuned their risk engine. Square went into it in the reverse order, targeting mom-and-pop stores first (which have low volumes and high acquisition costs) and then trying their hand at large merchants (Startbucks in this case and they lost a ton doing this). In the process they never got risk management right for either segment.

My 2c.

<comment><USER12> Their net revenue should be about 100 bps, and their loss is 16 bps, at least for 2015.

</comment></comment></comment></comment><comment><USER49> $9 is a good psychological price. This is going to pop tomorrow.

<comment><USER50> Just opened at 11.20, already up to 13. The company who helps small businesses accept Visa, Mastercard, Apple Pay at 2.75% of all those transactions. This company makes too much sense to me.

Going to the Blue Bottle coffee downtown SF in front of their office if anyone wants to join me. Pat them on the back.</comment></comment>


Ask HN: Companies of one, what is your tech stack? - <AUTHOR> This question has most likely been asked before, but since our industry moves fast I want to ask it still. You guys that roll your own operation, what is your business (no need to out yourselves) and what tech stack did you choose to complete it?<p>Also, if you don't mind, do you think the tech you chose had any effects on your success? If it did, why? <comment><USER2> Django, Python 3, Django REST Framework, PostgreSQL, ElasticSearch, uWSGI, nginx, Celery, RabbitMQ, Ubuntu, Ansible, Sentry.io, Gitlab, Hetzner, Cloudflare, Create React App.

Effects on success: I already knew this stack (no time lost learning new tech), can run with a very tight budget (suitable for starting a business on the side). And, obviously, this is a great stack that will scale far into the future if needed.

<comment><USER3> Your tech stack is almost identical to Listennotes.com

[https://broadcast.listennotes.com/the-boring-technology- behi...](https://broadcast.listennotes.com/the-boring-technology-behind- listen-notes-56697c2e347b)

</comment></comment><comment><USER4> I run Pinboard. I have my own hardware running Ubuntu. The site itself runs PHP+MySQL, with perl scripts for backend tasks. I make heavy use of Twitter to talk about unrelated topics, and eventually people take pity and sign up for the site, using either Stripe or PayPal.

<comment><USER5> If only you would respond to emails with feature requests and bug reports, and then do something about them.

<comment><USER4> Indeed

</comment></comment></comment><comment><USER6> I started building my company back in the hey-day of PaaS, when Heroku, Google App Engine, and to a lesser degree Amazon Elastic Beanstalk were all the rage.

When starting from nothing, these were incredible platforms. Features like the OS, web server, memcache, taskqueues, databases, startup-scripts, emailing, and auto-scaling were all built-in with almost no configuration.

The PaaS wave has pretty much come and gone. Now you need to think about and choose your linux image. If you want memcache, setup your own Redis server. For taskqueues, you need to master RabbitMQ. For email, sign up for Sendgrid or another service. App Engine still exists, but they keep stripping features from it, and push you to standalone services.

When you get very large, you'll likely need to migrate to these more tunable services eventually, but when you're just starting out, it's a huge boost in productivity to have these basic services available that just work for a large majority of use-cases.

My guess is that most of the PaaS users were smaller companies / solos that didn't have the bandwidth to manage all these services and also build their app, and I suspect many operated in the free tier. Google probably recognized they weren't making money in the space, and shifted gears to focus on larger companies that required far more complex setups, and generated far more in fees.

It's a shame there has been such a strong movement away from PaaS, it was far easier in the past to get a fully functioning platform up and running than it is today.

</comment><comment><USER7> I just use the simplest and most boring things that work.

Most of my software is written in Haskell, with the Yesod framework handling all the HTTP stuff. Data is mostly persisted in PostgreSQL, with some caching and queueing stuff done in Redis. I try to avoid JavaScript if I can help it. When I do need a richer UI, I'll add small bits of plain JavaScript, sometimes with jQuery. When I need a more complex UI, I use Elm. Everything runs on NixOS machines on AWS.

Not wrestling with constant runtime errors and not being afraid to make broad sweeping changes means I can adapt the software to the business more quickly.

<comment><USER8> Haskell is not boring.

<comment><USER9> The post is tongue in cheek. Haskell for backend and NixOS for deployment ... a rather exotic setup even by HN standards.

<comment><USER7> I don't see it that way.

I don't think relative obscurity makes the technology itself exciting. I certainly didn't choose these technologies to be different, or to be fashionable. If I wanted to play with shiny toys, there are so many others to choose from. The shiny toys don't really appeal to me. I have businesses to run, and the technologies I chose are from a position of total pragmatism.

I sincerely believe it's _easier_ to use Haskell and NixOS for applications of beyond trivial scale than, say, Ruby and Ansible. And I say that from experience.

</comment></comment></comment></comment><comment><USER10> Back end PHP/CodeIgniter, Front end TypeScript (no libraries), DB MySQL, ML / Scripts Python3, SCM git.

Database upgrades are stores in an upgrades/<version>/upgrade.sql format. There can also be upgrades/<version>/upgrade.sh shell scripts.

For testing: back end is a bunch of single files run through a small, purpose built wrapper. Front end uses Jest.

Git hooks run locally for pre-commit and releases. Deployment is handled automatically by GitHub web hooks. The server handles any upgrade file (upgrade.sql and / or upgrade.sh) as triggered by GitHub web hooks. General rule of thumb here is never commit or push to master unless you're confident everything is ready (this only really works for a single person!)

Application server runs on a single instance Debian VM on Azure. MySQL runs on a separate VM instance on Azure, with a failover configured. There's also a read-only MySQL replica which is used for pulling large amounts of reporting data.

For backup (outside of that provided by Azure), there's a series of shell scripts running on cron to dump the database to an encrypted and time stamped backup. These are periodically fetched by other servers in different locations. Backups are kept for every business hour of operation. For user generated files (>1TB per year), rsync is run every hour on a couple of backup machines. Backups are manually checked by a person (for completeness and restorability) once per month. Automated backup checks are run daily on cron.

The longest down time that has been had in six years is fifteen minutes which was due to a bad database upgrade.

</comment><comment><USER11> Web bits: Python 3 and Django with Celery running on Heroku. Postgres (source of truth) and Redis (caching and queues). S3 for storage. Front end is HTML and basic JavaScript. Pretty happy with it, it's really quick to make new stuff in. Starting to consider adding types to some bits Python with mypy as it's got to a size where types would be useful.

App: React Native with Redux. Flow for types (would use TypeScript if starting again today). RN is a pain but seems better than the alternatives for what I need.

That all allowed me to get a prototype together at the start and to iterate very quickly which was essential for making the whole thing happen at all. Some of that was the technology itself but a lot of it was just that I was very familiar with it.

</comment><comment><USER12> My current venture ([https://www.podalong.com](https://www.podalong.com)) is using Elixir/Phoenix Framework/Vue.js for the front end, a couple various Golang services for background stuff, and Elasticsearch for search.

This was my first project using Elixir/Phoenix and it's been really fantastic, I couldn't recommend it enough for being very productive and it's fairly performant to boot.

The mobile app was built using Flutter (again my first project with Flutter), and it has honestly been great. I come from a Java background and Dart is extremely similar so it took no time at all to get acclimated.

<comment><USER13> Very cool. How has the learning process been for you? Where did you start and have there been any particularly challenging parts?

</comment></comment><comment><USER14> I run [https://quailhq.com](https://quailhq.com) \-- point-of-sale software for antique stores.

\---

Data: Postgres

APIs: Java + Dropwizard

Frontend: Typescript, transitioning from Angular (1.x) to React

Hosting is on a cluster of cheap Linodes, and transactional email is handled by Postmark. Shout out to both of those services, which have been rock-solid compared to others I've tried. I absolutely think the choice of tech has helped Quail succeed -- it's boring software built with boring technology, which leaves me free to focus on the more interesting parts of the business.

<comment><USER15> I'm also working on a Java + Dropwizard project. MongoDB is the option I went with as a DB, and SendGrid for transactional emails.

Did you evaluate Digital Ocean as an option?

</comment></comment><comment><USER16> I am building an interactive voice broadcasting solution as a SaaS at [http://dandydialer.com](http://dandydialer.com) . Back-end API is built on Clojure, Datomic and freeswitch. I am using Clojurescript, Reagent, Reframe and Re-com for the front-end. Deployment and system orchestration is built on LXD and Ansible.

Pardon the website, as there isn't much to see there. We are still in alpha stage. Yes, Clojure ecosystem has been a tremendous help in engineering the system. As a former python dev, I think Clojure made a whole lot of mandatory moving parts unnecessary - like celery and redis for designing such a system. Also, ditching Javascript+react ecosystem with better wrappers has been an absolute blast so far.

</comment><comment><USER6> If you look through the comments on this page, it's pretty amazing that almost every single person uses a different tech stack. A non-scientific perusal suggests that Python, Django, RabbitMQ, and PostgreSQL are the most common stacks, but this is still a minority.

Amazing that after decades of software development on the web, there is still no "best practice" even though many of these web apps do very similar things. In most other mature industries, best practices tend to settle on just a few approaches. Not so for software development.

</comment><comment><USER17> Web: .NET Core, VueJS, SQL Server

Mobile: Xamarin

CI/CD: Azure Devops, AKS

Reason for choosing it: 15+ years of experience with C#, Vue is easy to learn, Xamarin is also C# for both Android and iOS

</comment><comment><USER18> Two EC2 micros running Ubuntu & Nginx, Mongo DB, AWS Lambda, Cloudfront, S3, API Gateway, NodeJS/Express, React/Redux, and the usual frontend stuff (javascript, bootstrap, SASS, etc), Let's Encrypt for SSL

The platform is a hosting provider where every site runs off a Lambda function. As such, the hosting costs are miniscule ($0 for almost 2500 sites). The only real fees are the EC2 instances.

Site - [https://www.turbo360.co/about](https://www.turbo360.co/about)

</comment><comment><USER19> I do not usually comment on Hacker News, but heck, I am actually proud of what I am building this time. I run an open-source WordPress hosting company focused on privacy — well, kinda, it is in closed beta —, so my stack is, maybe, a little boring.

Dedicated AMD 32 core RAID 10 servers from Hetzner running LXD for customer containers — seven containers per server on the cheapest plan. Each dedicated server has their filesystem encrypted with LUKS — including /boot — and each container runs the "default" WordPress stack, i.e., NGINX, PHP-FPM, MariaDB, Redis, ElasticSearch, Postfix, WP-CLI, fail2ban, monit, aide, etc.

WordPress is modified to leak less data by default — heck, by default you can use their REST API to get the email of anyone who leaves a comment —, have a better-looking dashboard experience, and each container runs a TOR bridge to help people in oppressive regimes.

All servers run a slightly modified version of Ubuntu, resolve DNS queries using one of my 8 DNSCrypt servers, are managed using on-premise Canonical Landscape and connect to a Hashicorp Vault instance for credentials and whatnot.

Backups are handled by another big Hetzner server — sitting at 60 TB of storage right now —, by Rsync.net in their Switzerland location and by another server in my house. All backups are encrypted by default, but I still need to implement a way to test them to make sure they work.

The customer portal is being built with Laravel and will connect to the Hashicorp Vault instance to get credentials for customers. We didn't choose the payment gateway yet, as the company is incorporated in Romania and options are kinda scarce, but we will probably go with Adyen and BitPay, which will connect to our Invoice Ninja instance.

The onboarding process for new customers is handled with Jitsi Meet — again, another Hetzner server.

The help desk was initially handled by Help Scout, but I migrated to Full Help recently — which I found on Hacker News —, and I could not be happier. The developer behind it is super awesome and went as far as adding GPG encryption and Postmark support when I asked for it.

I do have six other partners, but as I am currently building everything out myself, I guess it qualifies as a company of one? Partners will be responsible for different parts of the business, i.e., legal, documentation, and whatnot.

<comment><USER20> >my stack is, maybe, a little boring.

>Dedicated AMD 32 core RAID 10 servers from Hetzner running LXD for customer containers — seven containers per server on the cheapest plan. Each dedicated server has their filesystem encrypted with LUKS — including /boot

>All servers run a slightly modified version of Ubuntu, resolve DNS queries using one of my 8 DNSCrypt servers, are managed using on-premise Canonical Landscape and connect to a Hashicorp Vault instance for credentials and whatnot.

>Backups are handled by another big Hetzner server — sitting at 60 TB of storage right now

... I'd love to see what you consider exciting!

Just a side note, do you all have revenue? This seems very overbuilt for a private beta product.

<comment><USER19> > ... I'd love to see what you consider exciting!

I mean, in the age of Kubernetes and AWS, having your entire stack running on a single server does sound kinda dull to most people. I rather have the performance and simplicity, though.

> Just a side note, do you all have revenue? This seems very overbuilt for a > private beta product.

Yes. All customers on the private beta have a 50% discount, but our profit margin is pretty high, to be honest.

The "Medium" plan, which is where all tests are happening, cost us €215,88 per month, which includes the dedicated server, one IP address for each LXD container, about 700 GB of bandwidth from BunnyCDN and emails by Mailgun.

In that plan, we offer 16 GB of ECC memory and 240 GB of NVMe storage. One of our competitors charge $1500 per month for 200 GB of storage, our price is €599.00 per month.

So even with high-profit margins, our cost is below our competition. Which makes you wonder how much profit they make.

But, of course, none of this account for operational costs, employee costs, SaaS costs and things like premium plugins which are offered by default and CDN bandwidth above 700GB — which realistically speaking, will be higher for some customers.

<comment><USER21> Kubernetes and wordpress is not that simple. Might be sexy, but not simple.

For me, the stopper is WP is thought to be used inside a server with _mutable_ access to everything; whilst k8s needs containers.

This looks good for day-to-day use until you realize your wp needs updating _and_ needs to be done by the operator/editor and _somehow_ propagated back to the system that builds the container.

Usually this is an air gap.

<comment><USER19> I dislike Kubernetes in general, and much prefer something like LXD for WordPress.

My point was that most people consider my way of doing things "boring", while everything else, i.e., serverless technology, is over hyped.

</comment></comment></comment></comment></comment><comment><USER22> I built [https://greaterskies.com](https://greaterskies.com) with Common Lisp making the star maps, talking to the clients via a thin layer of plain Python, running on several EC2 instances and storing everything in SDB. Front end is plain Javascript with JQuery.

</comment><comment><USER23> Django, Python 2.7, Django REST Framework, PostgreSQL, uWSGI, Nginx, Celery, RabbitMQ, Ubuntu, GitHub, ELK for logging, Bootstrap CSS, Fabric Scripts and AWS:- EC2, Lambda, API Gateway, SQS, S3, RDS, KMS, Glacier, Elasticsearch, etc.

Effects:- This tech is mature now and comes with steroids in its own, hence we never faced major difficulties wrt to tech stack and that's always a good place to be in. (Good read on the same topic:- [https://www.intercom.com/blog/run-less- software/](https://www.intercom.com/blog/run-less-software/))

And we're hiring [http://www.squadvoice.co/careers- us/](http://www.squadvoice.co/careers-us/)

</comment><comment><USER24> AWS EC2 instance running basic Ubuntu, Amazon RDS running MySQL, Nginx for SSL termination and proxy to application server, Lets Encrypt for SSL cert generation/maintenance, Apache Tomcat for said application server, Java codebase for REST services ( Jersey/Jackson and the odd Servlet ), Materialize for some visual JS conveniences, Plan ole HTML and JQuery for the rest of the front end.

It's a minimal stack with intentionally dead-simple architecture. Its the lowest common denominator in Boring Technology.

Someday when we scale beyond One Developer I don't want to be trying to hire the best Blockchain Rust DevOps Cloud Engineer Stanford CS produced last year ... I want to hire a contractor who knows SQL, HTML and has seen Javascript and Java.

<comment><USER20> KISS at its max.

Always good to underbuild then adopt complications as needed.

</comment></comment><comment><USER25> Parallel to consulting/freelancing, I am doing 1-2 attempts in a year to start some meaningful business.

Stack is: NixOS, because, despite the learning curve and all the quirks, at the end I love having all the infrastructure configs in one folder (so I never forget that I have an obscure cron job somewhere).

Clojure/ClojureScript, because I am good at Clojure (this is what I do on freelancing side)

For simple services that's always a Datomic on MariaDB (with a replication server) and a backend. Servers run on Hetzner ($2-$5 instances are fine, with replication I need two) Backups on S3.

</comment><comment><USER26> I feel like an outsider but: VB.net, Winforms and DirectX 9. Also the odd bit of C++ for interfacing with some 3rd party libraries where performance is important.

My customers are engineers (of the traditional type) and Windows is very popular among them. I chose VB.net because it solved some problems I was having with VB6, which I chose because I inherited it from my predecessor who used it when it was the fashionable thing.

</comment><comment><USER27> [https://epiphany.pub/](https://epiphany.pub/)

My frontend is vue.js

My backend is in a home made c++ framework. I'm rewriting it to achieve even higher performance and concurrency. I think my choice of c++ helps me save server resources, and it can be deployed easily. (just scp a folder of a few binaries)

my database is mongodb for now. However, I want to switch to postgresql.

<comment><USER28> Can you share what cpp stack u are using ? Thanks

</comment></comment><comment><USER29> Nowadays you can mostly solve any problems with wildly different tech combinations, so I increasingly feel that the tech does not matter.

So i guess sticking with what you already know is the best when starting out.

Finding product/market fit is waaaay more difficult than learning new tech.

You will have time to optimize it later when you get traction and the product kept together by duct tape starts to fall apart under pressure.

</comment><comment><USER30> Frontend - React / TypeScript

Backend - Lambda / TypeScript

Infrastructure - AWS CDK / TypeScript

Kept in a monorepo, which means tightly-coupled code-sharing between all the different components.

Definitely has it's negatives - but being in small startup (solo technical) also means lots of interruptions and chopping and changing.

Having one language, stack, and repo makes it much easier to me to start, stop, and pick things up as I go.

<comment><USER20> >monorepo, which means tightly-coupled code-sharing between all the different components.

It's funny how one persons dream is another person's nightmare.

Tightly coupled software is horrifying to me. Modularization all the way; define contracts then build away.

<comment><USER30> Tightly-coupled doesn't necessarily mean you don't have contracts.

In this case, the contract is shared TypeScript types between the front and back-ends. This means you can statically verify as much as the type system allows.

</comment></comment></comment><comment><USER31> Flask, Python, SqlAlchemy, JSON API, numpy, scipy; more jQuery than React; AWS Elastic Beanstalk and RDS

The stack mostly just works - in that regard it's much easier being a developer now. The really pleasant surprise was how little code I needed for the numeric stuff (basic ML with PCA).

[https://www.agendashift.com](https://www.agendashift.com)

</comment><comment><USER32> I run Trunk[1] which helps e-commerce businesses that sell in multiple places sync their inventory in real-time. It's a very infrastructure and backend- heavy app that's currently running across 7-10 Google Cloud instances (mostly preemptible) that can scale up/down depending on load (e.g. a large customer signs up, Black Friday)

In development, all services can be brought up using Docker Compose within a monorepo.

Frontend: Ember.js Backend: Ruby on Rails, nginx, Postgres, Redis, Sidekiq, VueJS (marketing site) Metrics: Prometheus, Grafana, Papertrail Infrastructure: Ubuntu, Docker Swarm CI/CD: Google Cloud Build

I also run a few ad-hoc scripts in Google Cloud Run that perform very specific duties like triggering CI/CD builds or sending Slack notifications.

Google Cloud Platform is great!

[1] [https://trunkinventory.com](https://trunkinventory.com)

</comment><comment><USER33> I'm running [https://zerosearch.io](https://zerosearch.io) on a single 16gb standard instance with 6 vcpus on Digital Ocean with the "Ubuntu Docker 5:19.03.1~3 on 18.04" image. The memory is important to keep an index for the top 1000 github repositories. It could probably do just as well with only one or two CPUs. The app is made up of two Docker containers: the indexer and the webserver. I'm using Cloudflare, which makes the site a lot faster and greatly reduces load on the webserver. For now there is no database. The code is a fork of [https://github.com/google/zoekt](https://github.com/google/zoekt), written in Go.

The stack is simple and easy to work with, locally and in prod.

<comment><USER34> I just forked the zoekt project for myself to get a better web UI. Small world.

</comment></comment><comment><USER35> \- ubuntu droplets at digitalocean, running .net core. \- C# coded in visual studio.net on Windows. \- git

Effect on success: knew the tech well so did not have to spend time learning the tech in addition to all the business learning.

Making a business is very involved. If you can simplify the technology side it's a good idea.

</comment><comment><USER36> I run a SaaS page builder that generates amp websites for my customers. It's targeted towards small agencies that currently rely on wordpress.

\--

Backend: Node.js hosted on AWS ECS (Docker) and Lambda Frontend: JavaScript, React Database: Postgres (AWS RDS; thinking about switching to serverless aurora)

As for delivering my clients sites I recently switched from cloudfront to stackpath (DNS, CDN) because the pricing model makes more sense for me and it doesn't have arbitrary limitations like the distribution limit.

Other tech I use:

\- Terraform for my whole infrastructure

\- AWS SES for sending mails

\- AWS Cognito for authentication and managing user accounts

\- AWS Cloudfront combined with lambda@edge for delivering images in the right size for the requester (src-set)

\- Github

\- AWS CodePipeline for CI and deployments (source input through github releases)

<comment><USER37> Care to share?

</comment></comment><comment><USER38> I built CoderTest [1]. It is an online screening platform to evaluate a software engineer's technical abilities.

I'm using a combination of Node.js, Golang, React+Redux, Express.js, MongoDB, Redis, Docker, AWS Fargate, Heroku, DigitalOcean, Netlify, AWS SNS, AWS SES, Stripe and Github.

I managed to go from idea to product in 3 weekends. I could have built the same thing with any programming language and hosting provider, but not with the same speed. The result is that I am able to iterate and build much faster by using a tech stack that I am very familiar with.

[1] [https://codertest.io](https://codertest.io)

</comment><comment><USER39> I'm building [https://airloom.xyz](https://airloom.xyz) at the moment, its an heirloom tracker. This is for university, tech stack was all determined by me but this is a group project, that being said I think it qualifies to be on here since it is most likely much smaller of a project given it's for one university subject.

Elastic Beanstalk with ELB and EC2 autoscaling running Node.js backend

React for SPA

Cognito for user management/auth

Github for source control

CodePipeline for CI and deployments

Cloudfront with lambda@edge for SPA

Cloudinary for media hosting

RDS for database

LogRocket for frontend error capturing

Sentry for backend error capturing

Lambda to write a new user to RDS after confirmation trigger from cognito.

</comment><comment><USER13> Elixr, Phoenix, Postgres, Ubuntu and Gitlab CI/CD, hosted on Digital Ocean.

In my case, since I'm _teaching_ this stack (at [https://alchemist.camp](https://alchemist.camp)), it was a great choice. I think there's a bit more credibility in using what I'm teaching instead of just using an off-the-shelf solution, and it's also been a source of inspiration for some of the content, too.

Being able to handle more visitors and traffic than I'll ever likely get on a total infrastructure cost of just over $7/month, is great, too.

<comment><USER40> Hii, I am subbed to your youtube :)

</comment></comment><comment><USER41> Microsoft Frontpage + java script snippet websites + Geocities. /s

<comment><USER42> I'd be more impressed if you used a real language like java for java applets. You can't seriously program in a toy language like javascript. And you may wish to consider adding in some Flash for animations to spice up your site. /s

</comment></comment><comment><USER43> I have used more than 10 languages now, but I'm moving to Rust. Apart of that:

\- PostgreSQL + Sqlite. I try to use both for everything: Log analysis, reports, dashboards, etc + obvious crud stuff. \- Python3 for scripting \- If have not choice: HTML, JS + Vue \- Simple vultr/digital ocean vps

Rust allow me to get rid of docker (just deploy a binary! Like in my Delphi days!) and other complex stuff. I'm near "copy-paste" deployment now.

My only fancy tech now is using azure pipelines for compile across platforms (like android + ios).

</comment><comment><USER44> I built, and run, Trolley [1], a simple payments tool that lets you take payments from any website (or just a link).

It's Clojure in the back end, on Postegres, on Heroku. Everything in the product front-end is ClojureScript, with reagent, hosted in S3 behind CloudFront.

All deployments through CircleCI, GitHub for VCS. Emacs for development, on a Dell XPS 13 with Ubuntu :)

Marketing website is a static site, built with Middleman; again, CloudFront + S3.

1\. [https://trolley.link](https://trolley.link)

</comment><comment><USER45> I create and sell business software for writing invoices and managing customers. It is also available for rent and I use the following stack for my own cloud:

Debian, KVM, Apache, MySQL (with Percona for clustering), GlusterFS, rSync, HAProxy, PHP, jQuery

I actually own 3 servers :) I know, it's super boring, but this stack has only failed me once in about five years.

Yes, in my opinion this stack has helped me a lot in earning a living with my company because it just works and saves me time to do other things that earn money.

<comment><USER46> Can you share me the details of your service? I need simplest solution for Customer registering order, Verifying order against stock availability to create invoce and delivering it. An affiliate/reference management will be plus.

<comment><USER45> You can take a look: [https://www.open3a.de](https://www.open3a.de) The software is mostly in German, so I'm not sure if it's a fit ;)

<comment><USER46> Great, yes It is not fit for my needs. Still a good product. As it is open source, you should make a github repo and invite contributors for the global translation module.

<comment><USER45> Yes, I could do that, but I could not support the users of e.g. a spanish version because my spanish is quite poor. This is why I settled for the german speaking market. That's Austria, Switzerland and Germany. Still enough money to earn :)

<comment><USER46> You really don't need to support any one. It is an OSS none can blame if you don't fix his issue. All you do is just invite him to contribute changes they want ;)

Think it like, I am an Indian and want this software in Hindi/Gujarati/Tamil. What I will do is grab your global English file, Translate the appropriate part of strings to my choice of language and push those changes to your software. which means user who are capable will support ecosystem.

</comment></comment></comment></comment></comment></comment><comment><USER47> I run a SaaS that building and hosting developer hub [https://www.docsapp.io](https://www.docsapp.io) using the following technologies.

Backend: Scala and Playframework

Frontend: Jquery

DB: RDS, Postgresql on AWS

Hosting: Baremetal on Scaleway

DNS: AWS Route53

Object Store: AWS S3

CDN: AWS CloudFront

Infrastructure: Ansible and Kubernetes

Monitoring: CloudWatch and Influxdb + Grafana in k8s

Logging: ELK in k8s

Scaleway is a great hosting with cheap price. Instead of finding reliable but expensive hosting, I prefer cheaper hosting, but more servers and build HA to handle server issue. Server die all the time.

</comment><comment><USER48> Python Django, Django Rest Framework, Celery, Redis, Postgres, Celery, Google Firebase, VueJS, Vuetify, Vuex, NuxtJs, Heroku, Google Firebase, AWS, Bitbucket, Google Cloud functions, Cloudflare

Advantage: You can run a lot of stuff with a free tier setup, minimising the amount of investment in the beginning.

I use this setup to run [https://www.surfgreen.dev](https://www.surfgreen.dev)

and to develop energy efficient, sustainable and green websites and webapps.

</comment><comment><USER49> I run a webapp that allows you to mock your API. With a lot of different bloatware webpages/apps/frameworks, when making [https://mockadillo.com](https://mockadillo.com) I tried to keep it light.

Go server rendered pages + vanilla Javascript, with Postgres + Redis. Simple cicd using github + gocd and docker swarm. The simple setup and no framework allows for minimal page load times, and no browser impact.

</comment><comment><USER50> For the past ten years at [https://freeperiod.co.uk](https://freeperiod.co.uk) I have been doing php/mysql/jquery. Somewhere down the line I got into bootstrap as well. People were telling me my idea and execution of it were rubbish ten years and I guess I am still here.

I wouldn't worry too much about the stack of the day. Crack on and make something you can call your own.

</comment><comment><USER51> lamp for web app, python for ml bits, node for a couple of things that have handy node packages.

I use pretty much anything that gets the job done with the least dev time.

</comment><comment><USER52> I run a low traffic, but fairly mission-critical web app for ~100 active users. Backend is Python 3, Django, Django Channels, Django Rest Framework. Postgres for DB, Redis as a cache and message queue. Front end is React and Typescript. Everything runs in Nginx proxied Docker containers on an Ubuntu EC2 box, except for Postgres (which is RDS).

</comment><comment><USER53> Working on an email hosting company. Stack is Kotlin, Postgres, Docker, AWS.

It's likely been helpful because it's a stack I'm good with, and it has very mature tooling and libraries (via JVM). The alternative was basically C, which has higher quality mailserver libraries but seemed a lot harder to work with from my point of view.

</comment><comment><USER54> [https://simpleboard.tech](https://simpleboard.tech) Landing page in HTML/JS/CSS - set it up very quickly, gonna convert to ReactJS for maintainability soon.

Actual product though i'm building in ReactJS / will have PHP / PostgreSQL backend.

</comment><comment><USER55> Backend Programming Language: Ruby

Web framework: Ruby on Rails

UI JS/CSS Framework: Bootstrap, Bulma

DB: PostgreSQL

Hosting: Vultr, Digital Ocean, Heroku

External Products: Amazon SES, Sendgrid

</comment><comment><USER56> PHP/Laravel, Javascript/VueJS, ElasticSearch, MySQL, Memcached, NGINX, SQS, SLS, everything on AWS

</comment><comment><USER57> Backend: OSX, Vagrant, Ubuntu 16.04, Python 3.7, Falcon (APIs), Ansible (local VM provisioning and deployment), SQLAlchemy, Postgres, GraphQL (through Graphene and Graphene-SQLAlchemy), Kong (API gateway)

Frontend: Angular 7, Angular Material 7, Apollo GraphQL

SaaS (free tiers): Auth0, Sentry.io, Smallchat, Braintree, Netlify

Hosting: Hetzner

</comment><comment><USER58> I run a simple search service [1] with a Golang REST backend, and a frontend built with VueJS.

Other tech I use

\- Serverless framework on AWS Lambda

\- Postgres

\- Sidekiq

\- Dokku

\- Sentry

\- New Relic

\- gRPC and Twirp [2]

\- Netlify

\- Firebase

[1] [https://www.searchbx.com](https://www.searchbx.com)

[2] [https://github.com/twitchtv/twirp](https://github.com/twitchtv/twirp)

</comment><comment><USER59> Rails, Postgres, heroku. The fastest most reliable and pleasant way to build an mvp that I know of.

</comment><comment><USER60> Flask, Python 3, MySQL, SQL Alchemy, React, Google App Engine, Google Cloud Storage, Google SQL

</comment><comment><USER61> I work with SailsJS (backendandlayouts), Bulma for CSS and Vue for more complex pages, PostgreSQL for DB all hostedon Digital Ocean.

Development goes really fast forMVP (for eg [https://dokomaps.com](https://dokomaps.com))

</comment><comment><USER62> I use the tech-stack which I am familiar with and been using over the period of time.

This gets the job done with minimal friction and ease of use.

Stack: C#, .NET Core, WebAPI, Javascript, ReactJS, TypeScript, SQL Server, MongoDB, Windows /IIS, Jenkins, GIT, AWS.

</comment><comment><USER63> Web analytics tool.

React + bulma. Java 12/latest with homemade minimal stack. MySQL database. Digital ocean box running a tomcat servlet container.

I know it well and it is very fast to work with (fast edit / test / deploy cycle).

</comment><comment><USER64> Development: 3 bare metal servers with k8 + workstation with Debian 10 and kde. Kdevelop, Qt Creator, g++, clang, libboost. Sqlite, postgres, arangodb.

Web: stbl + nginx on a linode.

Data Infrastructure: Nextcloud containerized on a linode.

</comment><comment><USER65> Swift.

Making libraries and apps for Apple stuff. Mostly open-source, but I have some closed-source stuff on the stove, as well.

It seems to make me a bit of an outlier, but I enjoy the work.

Success? More will be revealed...

</comment><comment><USER66> Ubuntu, Postgres, Java 11, Spring Boot, nginx, Digital Ocean, Amazon SES and S3, Ansible, Javascript as "sprinkles", otherwise Web 1.0.

</comment><comment><USER67> ruby + heroku + vue + postgres

</comment><comment><USER54> [https://trackmylift.app](https://trackmylift.app)

Front end: ReactJS, Firebase Back end: PHP, SQL

</comment><comment><USER68> PostgreSQL, Golang, VueJS, old fashioned VMs

</comment><comment><USER69> Currently building a product. I use node (Strapi CMS), Create React App (+ Typescript). I'm planning to use Heroku.

</comment><comment><USER70> aws lambda, api gateway, s3, cloudfront, route53, rds postgres, express js react, next js

100% infrastructure as code using serverless framework and cloudformation. architecture scales well, is fully managed, and super cheap to run. almost no cost if no users. express + next js + lambda pretenders the ui for speed and seo.

<comment><USER71> This, exactly. When you're one person, you don't want to be dealing with server hardening and making sure the CPU hasn't been exhausted, or getting DDoS'd and trying to scale up your servers. I ran a website on S3 with a CloudFront CDN fronting it handling for less than a few dollars per month.

</comment></comment><comment><USER72> web: python, web2py, nginx, uwsgi, jquery, bootstrap

db: postgres

hosting: centos on linode servers

external services: mailgun, geoipservice, paypal, paddle

</comment><comment><USER73> Frontend: Quasar / viewjs

Backend: Go / Postgres / Elasticsearch

Infrastructure: Google Cloud / GKE

</comment><comment><USER74> Desktop: F#, Mono

Mobile: Xamarin

CI/CD: GitlabCI(Linux), GithubActions(macOS+Windows)

Soon: Rust

</comment><comment><USER75> datamoic/ ions

</comment><comment><USER76> [deleted]

<comment><USER76> sorry misread the title.

</comment></comment><comment><USER77> Python

</comment><comment><USER78> I'm not a solo business owner, but if I had to guess, I'd say that the ones who are successful turn their weakness into a strength by using some obscure tech stack that they're a wizard with but that no one else uses. It's a trite thought here on HN, but if I were a one-man shop I really would try to use a Lisp dialect.

<comment><USER79> I hope you see the irony in your comment

<comment><USER80> I think maybe he is being sarcastic...</comment></comment></comment>


Using DNSSEC and DNSCrypt in Debian - <AUTHOR> http://feeding.cloud.geek.nz/posts/using-dnssec-and-dnscrypt-in-debian/ <comment><USER2> DNSCrypt is marginally useful. But don't bother with DNSSEC. It does more harm than good.

[http://sockpuppet.org/blog/2015/01/15/against- dnssec/](http://sockpuppet.org/blog/2015/01/15/against-dnssec/)

<comment><USER3> Every time there's an article on DNSSEC here I find you bringing out the same mischaracterized arguments against it.

If you are ever in the Washington DC area I would be happy to take you out to dinner/beers and have a long friendly conversation about DNSSEC and why you dislike it so much. I'm completely serious, and I'm paying.

<comment><USER2> DNSSEC is a terrible idea, and articles encouraging people to set it up and describing the security benefits that work will bring deserve an informed rebuttal.

If you feel any of my arguments are "mischaracterized", you are welcome to try to rebut them.

<comment><USER4> Alright, I'll bite: I run a small personal network from soup to nuts - I host the DNS, the web server(s), the mail server(s), you name it. Why should I not set up DNSSEC - what's the downside for me?

<comment><USER2> See above blog post.

</comment></comment></comment></comment></comment><comment><USER5> If you are using your own DNS cache listening on a loopback interface, then the risks of "DNS cache poisoning" are not what they are when you use a third party cache like your ISP's, OpenDNS, Google or the ones in the CSV file at the github page referenced in this blog entry.

Unless you are sharing your loopback with the network somehow, one could argue that with a localhost cache the risk is nonexistent.

According to this blog entry the reason for using DNSSEC is to "prevent DNS posioning".

If that is true, and that is what I would expect, and we've minimized the risk of cache poisoning by using a localhost cache exlcusively (no third party caches), then why use DNSSEC?

If there are other reasons, like making centralized control (censorship?) of DNS easier for ICANN, etc., then this blog post has omitted them. Does that imply they are insignificant?

<comment><USER6> > If that is true, and that is what I would expect, and we've minimized the > risk of cache poisoning by using a localhost cache exlcusively (no third > party caches), then why use DNSSEC?

How have you authenticated that your ISP isn't intercepting DNS requests and serving them out of their own cache that lies?

<comment><USER7> Connecting to the remote service and validating the ssl cert.

<comment><USER5> Yes.

As yet, there's still no foolproof way to verify/authenticate an endpoint on the internet. Not to mention the issue of so-called "host security".

Checking for a file on the remote host, e.g., a cert or a key a la ssh, seems to me a more sensible approach than relying solely on the promises of a "trusted third party" (CA's, ICANN, registrars, etc.) that you have never met.

Fears of ISP's intercepting port 53 traffic was not the reason why DNSSEC was revived from the failed protocol graveyard. ISP's do not have to go through the trouble. Most of their customers have the ISP's resolver addresses in their DNS settings, not a loopback address.

And although the software is available almost no ISP customers are encrypting their DNS packets.

DNS data for the public www is public information like the telephone book. It is easy to obtain. And once you have it, not only can you monitor changes, but there's little need to even run a cache.

You can just pluck out the names you need and plug them into your own authoritative server. Edit resolv.conf to point to it and you're done.

Easy way to speed up your www browsing and still very effective at blocking ads, apps phoning home, etc.</comment></comment></comment></comment>


1.6 Billion Rounds Of Ammo For Homeland Security?  - <AUTHOR> http://www.forbes.com/sites/ralphbenko/2013/03/11/1-6-billion-rounds-of-ammo-for-homeland-security-its-time-for-a-national-conversation/

<comment><USER2> Why in the hell is this not getting more attention?</comment>


Why failure doesn't hurt so much with startups (and why you will try again and again failure after failure) - <AUTHOR> Although you may encounter failure often with startups, it's not so bad because you are doing what you want to do.  And working for yourself is infinitely better than working for someone else. <comment><USER2> It hurts a lot my friend. Have you not received that email from ycombinator after they made the 40 some invitation calls? Or have you not launched a product and have 100 users after 5 months (knowing that 95 are from your friends network)?

That being said, startupreneurs are usually go-getters by nature. It hurts us more to stay inactive than to to fail. So it is more like choosing between two pains. THIS (startuping), my friend, is an incurable illness. The only way to stay alive is do work on something you like. If you do not, you are slowly making yourself weaker.

<comment><USER3> I sort of agree.

I've seen a LOT of entrepreneurs with this attitude of "well, statistically, I'm supposed to fail 9 times before I win on the 10th. So I'm currently working on my failures so I can get to my success."

I think that's a terrible way to go about a startup. Your startup should be what your passion is, and not some light-hearted lottery ticket. I've seen a lot of people who could easily do something great, but they're not even letting themselves do it. Probably because they're scared. They think they're not self-worthy or something. So they're just going through all of the "failures" in order to become worthy of achieving success?

Doesn't make much sense. Just get it right from the beginning, and don't buy into the mindset that you have to constantly fail in order to achieve. Yes, you'll make mistakes. You'll probably fail. But don't make it part of your mission statement.

<comment><USER4> Yes, I don't understand the people with the statistical mentality. I'd be more confident in the person trying to convince himself that he was like the 10% or at least the ones that work out a little bit.

<comment><AUTHOR> The world doesn't revolve around your mentality though. But at least having a statistical mentality might encourage you to sample the idea space until you hit on something big. That's better than wasting your time on things few people care about.

</comment></comment></comment></comment><comment><USER5> "Plan to throw one away, you will anyhow." -- Fred Brooks

"If you plan to throw one away, you will throw away two." -- Craig Zerouni

</comment><comment><USER6> You're always working for someone else. Startups are for people who prefer working for customers as opposed to working for a boss. Whether the former is infinitely better depends on the customers and on the boss.</comment>


Microsoft starts selling developer 'mixed reality' headsets online - <AUTHOR> https://techcrunch.com/2017/08/01/microsoft-starts-selling-developer-mixed-reality-headsets-online <comment><USER2> just in time for broke season....</comment>


"Reply All" shuts down German Bundestag Mail (Google translate) - <AUTHOR> http://translate.google.com/translate?u=http%3A%2F%2Fnetzpolitik.org%2F2012%2Fspas-im-bundestag-das-kurschnergate%2F&sl=de&tl=en&hl=&ie=UTF-8

<comment><USER2> I love dragging this out:

[http://blogs.technet.com/b/exchange/archive/2004/04/08/10962...](http://blogs.technet.com/b/exchange/archive/2004/04/08/109626.aspx)

tl;dr - Bedlam DL3, a famous "Me too" reply-all incident at Microsoft in 2004, on the order of 15 million total messages.

</comment><comment><USER3> That's a funny coincidence. Exactly the same thing happened at the large British financial organisation I work for today. What kind of person sends a "Please don't reply-all" message with reply all?

<comment><USER4> It would make a lot of sense if people actually listened to the advice and stopped replying-all. Terminating the chain-reaction would easily easily be worth the price of one reply-all, but in reality enough people would ignore the advice.

<comment><USER5> I think the issue is that many people would react, but when they read the emails in the thread one by one they might decide to respond before getting to the advice. Similar to what happened to me lately when I sent out information that I can't make the meeting, then some time later that I'll be there, but have to run away early, then something else again (over a couple of hours). When the recipient came to the office, he rescheduled the meeting 3 times in 5 minutes instead of reading all the emails first.

Is it bad though? Should we really expect people to process all emails at once and only then act on them?

<comment><USER6> A reply-all debacle occurred where I was a consultant a couple years back (at a quasi-government corporation with 5000 employees).

In this case, "Should we really expect..." is like saying "should we really expect people to read a dozen emails before sending 5000?" Yea, I think so.

One of our consultants wrote off a sarcastic reply-all email in response detailing what the reply all button actually did as if explaining to 5 year olds. The client demanded that this person be fired.

</comment></comment></comment></comment><comment><USER7> Wow, that's an horrific translation. Google Translate usually does much better. I guess it has still problems with more informal blogposts but does a decent job with journalistic texts.</comment>


Ask HN: Go or Elixir for a hobbyist dev - <AUTHOR> Not trying to spark a language war. More constructive x does this better.
I'm currently a hobbyist dev who uses Python small applications to learn and automate daily tasks. I'm looking for something a bit more performant, Go and Elixir come up time and time again.
Which in your opinion has better learning resources, advantages, deployment options etc? Would love to hear your thoughts to guide my next adventure into development. <comment><USER2> I love programming in elixir but I would suggest sticking to go for the sheer no frills faster to prototype code experience you get in python. Go has some great official learning resources and also don't forget to check out Derek Banas' go in one video on YouTube.

</comment><comment><USER3> It really doesn't matter which one, given the things you care about (learning resources, deployment options).

I'd say pick the one that has programming concepts you're most unfamiliar with. That's usually how you learn more.</comment>


Denis Johnson's Perfect Short Story - <AUTHOR> http://www.theparisreview.org/blog/2016/12/26/on-car-crash-while-hitchhiking <comment><USER2> Link goes to review republished from 2012 on Salon:

[http://www.salon.com/2012/10/03/eugenides_on_denis_johnson_b...](http://www.salon.com/2012/10/03/eugenides_on_denis_johnson_blistering_brilliant/)

Paris Review links to subscriber only story. So, alternative sources:

[http://public.wsu.edu/~bryanfry/Johnson,%20Car%20Crash.pdf](http://public.wsu.edu/~bryanfry/Johnson,%20Car%20Crash.pdf)

[https://professormarissa.files.wordpress.com/2013/05/denisjo...](https://professormarissa.files.wordpress.com/2013/05/denisjohnsoncarcrash.pdf)

</comment><comment><USER3> I initially didn't want to share the story, because I didn't want to take revenue away from the Paris Review, but fuck that site for making me run around in circles for five minutes, trying to sign up, and telling me my password is wrong right after it told me to sign in right after I signed up.

Seriously, if your bullshit site doesn't log me in immediately after I just created an account, you're a bad person. If it tells me that the username and password I JUST CREATED are wrong, get another job, I hate you.

Here:

[https://www.pastery.net/fekfpb/](https://www.pastery.net/fekfpb/)

</comment><comment><USER4> Jesus' Son has a special place in the "drug fiction" subgenre (of which I am a big fan) alongside Trainspotting and A Scanner Darkly.

</comment><comment><USER5> Perfect indeed! That last paragraph!

<comment><USER6> There's a last paragraph from another story in that collection that's stuck with me ever since I first read it:

 _Will you believe me when I tell you there was kindness in his heart? His left hand didn 't know what his right hand was doing. It was only that certain important connections had been burned through. If I opened up your head and ran a hot soldering iron around in your brain, I might turn you into someone like that._</comment></comment>


They Called My University a PhD Factory – Now I Understand Why - <AUTHOR> https://www.theguardian.com/higher-education-network/2018/mar/23/they-called-my-university-a-phd-factory-now-i-understand-why <comment><USER2> I'm extremely grateful for having quality advisors and mentors as an undergrad. I went to SLAC I feel like the lack of grad programs meant that professors could be more honest with me, without any pressure to get master's enrollment numbers up, for example.</comment>


Choose your own adventure on Kickstarter - <AUTHOR> http://www.kickstarter.com/projects/1181171727/defender-of-the-realm-0

<comment><USER2> Can't wait to save the world with a kazoo with my trusty goldfish by my side. :)

</comment><comment><USER3> it's going to be a great project!</comment>


Players are fixing Microsoft Flight Simulator's monuments with Google Maps - <AUTHOR> https://www.rockpapershotgun.com/2020/08/28/players-are-fixing-microsoft-flight-simulators-missing-monuments-with-google-maps/ <comment><USER4> I wonder if Google or Microsoft would stop this indirect way of copying through Google Maps. I think Google would claim copyright on the 3d scanned data that is available through Google Maps. Without this the Open Source community wouldn't be able to as easily shovel this over through programs into MSFS.

Though I think Microsoft would be out of harms way for as long as they don't blatantly paste back the user improved buildings. However, obviously not all improvements are gathered from Google Maps and dependent on the scale this might become an issue in detecting these.

<comment><USER5> It's a violation of Google's TOS to extract the data (so copyright doesn't matter a lot).

<comment><USER6> It's against Genius' TOS to copy their lyrics.

<comment><USER7> Luckily for Google, Genius doesn't "own" any lyrics.

<comment><USER6> Seems like the law should be written so Google doesn't "own" any of their mapping data either.

They didn't create the roads, and there's no human actively taking the photos.

It's not like the law cares about effort when it sided with Google against Genius.

</comment></comment></comment></comment></comment><comment><USER8> Also see this 212-floor monolith added by accident in Melbourne, Australia: [https://twitter.com/liamosaur/status/1296305264870662144](https://twitter.com/liamosaur/status/1296305264870662144)

<comment><USER9> This is interesting. I thought they use aerial/satellite data to generate 3D models, didn't know they rely on things like floor number. But isn't floor height vary a lot? Also I guess it's not the only info they use either?

<comment><USER10> The problem comes from a typo by an OSM editor, as they also import OSM data for some areas (this is a 2 way relationship, they allow OSM to trace their satellite images to build out OSM's database)

</comment></comment></comment><comment><USER11> While I see FS2020 as a monumental achievement and a great version 1, my main gripes with it are mostly related to the 3D elevation data handling, simplification and rendering:

\- steep surfaces are both too rounded and textures look like a stretched pixel strip across the whole surface; most mountains look very underwhelming when nearby and flying inside Grand Canyon/Marble Canyon looks weird

\- some 3D tiles aren't linked properly, leading to sudden discontinuities in the surface; try to e.g. fly through the Remarkables mountains north to Queenstown, NZ

\- some water bodies are upside down, instead of being in a valley they were processed as "aqueducts"; see Victoria Falls in Africa for a very long "aqueduct"

\- certain geographic locations have invisible borders one can crash into; try to land in the Badwater basin in Death Valley

\- when cities switch from procedural to photogrammetry, the detailed city doesn't match its surroundings color-wise and usually ends up very dark

\- many bridges include water underneath as a wall; SF Bay is full of them

\- satellite imagery is not consistent (usually corresponds to Bing Maps one) and in many places one can see sharp borders between tiles coming from different satellite scans

\- some interesting parts of the world don't have consistently high resolution like Maldives or Kamchatka

\- roads are often projected as textures onto a steep terrain and no effort was made to carve them out

\- certain type of green is sometimes misidentified as a forest, leading to obscuring some great views like Kalalau lookout on Kauai etc.

\- some taller buildings end up looking like pyramids from a distance due to the used shape simplification algorithm; I saw German pyramids near Mannheim that way

<comment><USER12> "certain geographic locations have invisible borders one can crash into; try to land in the Badwater basin in Death Valley"

The technical reason behind this bug is that Badwater Basin is below sea level; the game thinks you have crashed into the ocean.

<comment><USER13> > the game thinks you have crashed into the ocean.

then how come you can land at Schiphol?

[https://www.youtube.com/watch?v=jjZrizIg2CQ](https://www.youtube.com/watch?v=jjZrizIg2CQ)

<comment><USER14> Manual tweaking, probably.

</comment></comment></comment></comment><comment><USER15> I think the best solution would be for Microsoft to allow the public to submit models for review to be included in Bing maps. I don't think they want FS to become the sort of "game" where you install it, and then you have to also install hundreds of mods to get the proper experience from it (like Cities: Skylines). It would also have the knock-on benefit to MS of having lots of motivated people to crowdsource Bing maps improvements from.

<comment><USER16> Flight Sim modding was a thing long before modding for other games...

FS engines are basically mod hosts.

High-end aircraft addons use it for little more than a graphics engine - <USER2> have their own code to run instruments, systems, engines, and even the actual flight model.

<comment><USER17> > Flight Sim modding was a thing long before modding for other games...

That's unlikely to be true, game modding is at least as old as the flight sim franchise.

<comment><USER16> The first version of Flight Sim dates from 1983.

I remember commercial addons being sold IN STORES by the mid 90s.

</comment></comment></comment></comment><comment><USER18> I was curious as to what the impact would be on Bing's map product. The flight sim community is fixing these landmarks and creating files that players then have to import locally, this doesn't bring improvements over into Bing. Microsoft doesn't gain anything from this.

<comment><USER19> > Microsoft doesn't gain anything from this

Of course they do. They get PR and at worst case scenario they get quality QA.

</comment></comment><comment><USER20> I knew this would happen eventually, only a matter of time. I'm really excited for how souped up everything will look in a year or two.

</comment><comment><USER21> Now Microsoft just needs to update their flight modeling to use blade element simulation like X-Plane.

<comment><USER22> I'd rather see X-Plane improve graphics instead. Feels better to support a small shop rather than give my money to one behemoth of a corporation.

X-Plane dev team are chill and host live video Q&A sometimes, I think they have been porting graphics from OpenGL to Vulcan & Metal lately so there's hope.

<comment><USER23> Google should them by providing them with Google Earth data in order to compete with Microsoft.

</comment></comment></comment><comment><USER24> Aside: I wish FS2020 had more indepth tutorials, more focus towards learning how to fly properly and a ground school with missions. The built-in tutorial is so lacking, it doesn't even teach you how to use a VOR for navigation. I think they've done simulation/realism of the physics right and the way the airplane feels is very real - just the education part should be more of a focus than the pure entertainment bits.

<comment><USER25> I was doing the takeoff tutorial and was wondering why 10 minutes in it still seemed impossible to get to the desired altitude and speed. Turns out they never mentioned that you need to eventually move the flaps back. Once I figured it out by myself I pretty much instantly made it. What kind of tutorial is it where you need to already know how a plane works to learn how a plane works?

<comment><USER26> The current training "missions" seem to be straightforward "ports" of the old training missions from FSX/FS 2004, but without the ground school written material to match.

I'm hopeful with the advent of YouTube and high quality video capture and streaming, we'll see video-based ground school lessons emerge that can partner with lessons.

Who knows, perhaps there's a mini business model here for creators to sell (via Patreon or even the built-in store?) curated mission lessons that go along with their YouTube content? I believe MS has confirmed you'll be able to make mission packs and distribute them via the store. And given how fast the modding is taking off, you probably already can drag a folder into your Community packages folder and have it work.

<comment><USER27> Honestly having to pay to buy the game and then pay a separate creator to teach me how to play the game feels a bit silly.

I personally played FS2020 and gave up after completing the tutorials because I didn't know what I was doing still. I feel like I could enjoy the game a lot, but a good tutorial makes or breaks a game for me. If I have to do a lot of work outside of a game just to enjoy the game it seems pointless to me.

<comment><USER26> This is good feedback that hopefully the devs will take onboard. I know they were hiring mission designers recently. Hopefully they'll improve the training, because you're missing out on a lot of you didn't really get past the tutorials.

Unfortunately they missed quite a few important things in the missions (another commenter mentioned not being told to retract flaps after takeoff).

I do wonder if part of the interesting aspect of this being a sim is that you can actually go online and watch or read a real flying lesson. Perhaps that's the direction they're trying to go in? So far, the community has been doing really well in fixing up scenery, perhaps Asobo are hoping for others to fill the gap with mods.

Re needing to pay, I'm sure there would be excellent free content on learning it (in fact there already is online), but with value added structured lessons as a potential mini product.

</comment></comment></comment></comment></comment><comment><USER28> I'm surprised the game doesn't make more use of Microsoft's existing building data and aerial photography. Maybe someone can explain. But Bing maps has very detailed 3D building shape data and aerial "Birds Eye" photography. But in MFS2020 when I fly over neighborhoods with lots of trees the houses get mangled in ridiculous ways. Why would they only use low fidelity satellite imagery for this?

<comment><USER29> It might be that architectural designs are copyrighted as well in the countries and maybe that different rules apply when you want to use a design in a game than using it in an information service, such as a mapping service.

</comment></comment><comment><USER30> Maybe in a year or so from now once they have enough usage telemetry and have cleaned up some of the errors, they'll be willing to release an Ultimate Edition on a terabyte SSD that includes the sim and the scenery that is most commonly used. That would make a nicer "out of the box" experience and would make things better for those with limited bandwidth or data caps.

<comment><USER31> Amazing that would only cost $34 for the drive: [https://www.amazon.com/dp/B08FGZBCWQ/ref=cm_sw_r_cp_api_i_ax...](https://www.amazon.com/dp/B08FGZBCWQ/ref=cm_sw_r_cp_api_i_axitFb9ETAKE1)

<comment><USER32> That's not a 1TB USB drive, it's a tapestry. Then they took the listing for that and changed it to a USB drive so they could harvest the 5 star reviews.

Amazon has turned into a flea market.

<comment><USER33> They are actually selling a USB drive through this listing now, though. From a review:

"Attractive case, but the guts are actually just a 16 GB drive with the memory addresses looped around to try and hide the fact that it's a low-mid capacity drive. It'll make folder structures just fine, but as soon as you hit 16 GB, BAM! It starts overwriting from the lowest address. Made for a nasty, nasty surprise when I was collecting data only to check it later and find nothing there but empty folders."

</comment></comment></comment></comment><comment><USER34> Is MSFS was just a front to improve Bing Maps for free?

<comment><USER35> Only if developing a modern flight simulator is free.

<comment><USER36> I would imagine it's at least a break even right? They do charge for it after all.

<comment><USER37> They charge a full $59.99 too. But I know the target audience would happily pay full price.

<comment><USER38> It's actually $120 for the highest deluxe edition, which includes the 787, SFO airport, and Heathrow. I imagine a decent chunk of folks on this site wouldn't want to play without the decked out SFO experience.

<comment><USER39> Curious, whats so special about SFO? I searched for some images and it doesn't seem terribly special (certainly not 2x price special).

<comment><USER40> My guess from the list of premium airports is that Microsoft has made a judgement based on wealthy geek density. People love to fly their local or familiar airports, and the kind of people in San Francisco who play flight simulator are wealthier than most. All the premium airports are either tech or financial hubs.

[https://www.google.com/amp/s/www.eurogamer.net/amp/2020-07-3...](https://www.google.com/amp/s/www.eurogamer.net/amp/2020-07-30-whats- the-deal-with-microsoft-flight-simulators-premium-airports)

</comment></comment></comment></comment></comment></comment></comment><comment><USER41> Isn't the joke on Google in this case as MS has successfully gameified "stealing" assets from Google to be used in Bing Maps?

<comment><USER42> It would wind up in OSM which means it will wind up helping much more than just Microsoft.

</comment></comment><comment><USER43> Flying over the Redmond campus over the weekend, I found it quite sad that they didn't really put some effort into it. It looks quite flat and unpolished.

</comment><comment><USER44> Have they fixed the castle (Kastro) in Myrina / Μύρινα on Lemnos yet (Kavala in Arma 3)? I saw a nice vide of it here, complete with a comparison with Arma 3: Exploring Arma 2's Chernarus and Arma 3's Altis' REAL WORLD AREAS in Microsoft Flight Sim 2020! by OperatorDrewski [https://www.youtube.com/watch?v=eGcMyYL17PQ](https://www.youtube.com/watch?v=eGcMyYL17PQ) I think a lot of Arma 3 fans owning MS Flight Sim will want to fly over there. :)

</comment><comment><USER45> I don't understand. Are the models actually missing from Bing maps, or did MS remove them for copyright reasons?

<comment><USER46> The flight simulator buildings are procedurally generated, guided by an AI. They probably went this route because it makes better looking buildings with fewer polygons and less disk space.

99% of the time it works great because you don't really care if a virtual house exactly matches the real house. You just want to see some realistic looking housing estates.

However the downside is when you go and see some well known landmark. They didn't write a procedural palace generation routine so when the AI sees Buckingham Palace it has to pick the closes "normal" building which is apparently an office block.

I suspect the best way to fix that would be to detect when the AI fails and fall back to Google Maps style scanning, which looks worse, but actually matches reality. You could also do landmark detection fairly easily - <USER3> Maps must have enough data about what people search for and take photos of.

<comment><USER47> Where "Google Maps style" 3D buildings and terrain are available, it's used in MSFS. It's just that there are many places without it, where the game only has a 2D satellite map to work with (plus some extra data that's available like number of floors in the buildings). In those cases it uses the AI generation.

<comment><USER46> Really? But Bing Maps doesn't seem to have 3D buildings anywhere, and surely they'd have made London a fairly high priority?

<comment><USER47> Yes, here's the full list of cities with photogrammetry 3D instead of AI buildings: [https://www.rockpapershotgun.com/2020/08/18/all-341-photorea...](https://www.rockpapershotgun.com/2020/08/18/all-341-photorealistic- cities-in-microsoft-flight-simulator-2020/)

There are 341, but note that London UK is not one of them. Many are in the USA.</comment></comment></comment></comment></comment>


[Pre-launch HN] saasible – Find a SaaS idea or give your idea to someone - <AUTHOR> https://saasible.com/ <comment><AUTHOR> Shoot your questions. I'd be happy to answer.</comment>


Developing GHC for a Living - <AUTHOR> https://serokell.io/blog/developing-ghc-for-a-living <comment><USER2> > I'm an idealist, and I believe that a perfect programming language with > perfect tooling (or, at least, Pareto-optimal language and tooling) can > exist. This is in contrast to people who just see languages as tools to get > the job done. For them, a language is probably as good as the libraries > available for their tasks.

I used to think that way. But it only took me half a decade of professional development (and reading/discussing in circles like HN) to see that it's a fallacy. A programming language cannot be perfect because it's made for humans, who are not perfect (and runs on computers, which arguably are not perfect).

Accepting the fact that there's no singular, perfect way to express a given idea has been freeing, actually. I used to constantly chase the dragon, getting hung up on refactoring and refactoring and refactoring, trying to attain that perfect description. I still get caught up in it sometimes. A little bit of that spirit makes for better code. But you have to be able to pull yourself away.

<comment><USER3> There are a lot of unacknowledged tradeoffs in tools like Haskell. For example the value of Haskell is balanced against ecosystem value of having 10M people using the same tools. Getting 10M people to choose Haskell is actually a goto market strategy problem that could be solved by a charismatic leader, but I don't hear anybody from that community talking about that.

<comment><USER4> > ecosystem value of having 10M people using the same tools

That is I think one of the fairer criticisms of Haskell. I don't personally mind, but I respect others that do so.

That said, I wouldn't want 10M more users right now. The Haskell ecosystem right now has tons of breaking changes, and I think that is important. More users would freeze things in place until we have the tooling to _both_ have breaking changes _and_ tool-assisted migrations. Only then would I want rapid growth in popularity.

(Compare Rust's "backwards compat is really important", ....as if they they could get everything right the first time ....as if that won't lead the way of C++. Thank god they relented a bit with "editions".)

<comment><USER5> You are absolutely right adherence to backward compatibility will eventually leads to situations similar to C++ or C. Rust and go eventually will be facing same issues as C++ or C today, once they reach critical mass like them (which itself is a question mark for Rust).

Haskell and other FP language is a completely different paradigm and it's true unless there is very good tooling which can transparently take old code and move it to new code with breaking changes every language will go through that transition, we can't be prophets, who can know exactly what's there in future precisely. Python learned it the hard way as when it was designed didn't have Unicode and later to support it gone through 2 to 3 transition disaster. Java was lucky in 1996 as by that time Unicode was popular and it backed it in language and JIT infrastructure.

But at present in Haskell tried both cabal and stack to compile elm 0.19.1 compiler and pandoc and found it's really hard due to version incompatibilities of GHC. I hope situation in Haskell improves so that GHC can compile old and new code transparently without too much fiddling and pain.

<comment><USER6> > Rust and go eventually will be facing same issues

Isn't Rust's workaround their "edition" system? It seems to be working pretty well for them, but it sounds like it could end up being a massive maintenance headache.

[https://doc.rust-lang.org/nightly/edition- guide/editions/ind...](https://doc.rust-lang.org/nightly/edition- guide/editions/index.html)

</comment></comment></comment></comment></comment><comment><USER7> In terms of GHC's evolution, this looks really promising to me: [http://www.well-typed.com/blog/2019/10/nonmoving-gc-merge/](http://www.well- typed.com/blog/2019/10/nonmoving-gc-merge/)

<comment><USER8> Yeah that is a monumental addition imo. You can find forum posts from just a few years ago with this on their wishlist. Cool to see it finally happen.

<comment><USER7> Have you tried this yet in practice? I'm expecting it makes Haskell more suitable for web stuff since that's where low latency is often more important than computational performance is.

<comment><USER9> In what way do you think Haskell is bad for web use? I can't think of any runtime performance metric in which it doesn't crush Ruby or Python, and those are pretty popular for web apps.

<comment><USER10> Sure but does it have web support like Django or Rails? There's more to it than performance when it comes to web dev!

<comment><USER7> Web support...?

<comment><USER6> He means an ecosystem where 99% of the work needed to build yet another CRUD app is done for you.

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> For reference, as I wasn't aware myself, GHC stands for Glasgow Haskell Compiler.

<comment><USER12> Overuse of esoteric acronyms is OOMBPP.

<comment><USER13> One of your biggest pet peeves?

<comment><USER10> Isn't that OOYBPP? :P

</comment></comment></comment></comment><comment><USER14> I would say I have a beginners understanding of Haskell (proof: [https://bytes.yingw787.com/posts/2020/01/30/a_review_of_hask...](https://bytes.yingw787.com/posts/2020/01/30/a_review_of_haskell/)) and IMHE Haskell is an academic research language for good reason.

For most software, the SDLC is a stream, not tightly scoped like a library or utility. I haven't seen migration or upgrade plans, docs aren't really there, links rot extensively, and the strangeness budget is a blank check. It's not for most developers and it's not because most developers are "lazy" or "dumb". I would have loved to use Haskell for my personal projects, but it didn't satisfy my requirements and I'm sticking to Python.

For starters, in Haskell Stack, there's no uninstall option. You use shell to rm a package. [https://github.com/commercialhaskell/stack/issues/361](https://github.com/commercialhaskell/stack/issues/361)

That's nope territory for most developers.

<comment><USER6> Yep, Stack has an atrocious UX that does nothing but cause progressively increasing amounts of pain. I wish someone would just write the Cargo or NPM of Haskell already.

</comment></comment><comment><USER15> What happened to Idris? As someone who knows absolutely nothing about Haskell, I thought Idris was essentially Haskell+dependent types?

<comment><USER16> It is, and it still exists... it's also a brand new compiler, instead of one with nearly 30 years of development on it, and a brand new ecosystem, instead of having the massive amount of hours that Haskell has in it. Idris is really nice imo, but Haskell+Dependent Types will likely be usable sooner.

There is an 'Idris 2' being developed, too ([https://github.com/edwinb/Idris2](https://github.com/edwinb/Idris2)), which is an entirely new compiler with a new type theory (although not entirely dissimilar), which just makes it even harder to use for real things (again, IMO).

</comment></comment><comment> Brave-Steak How hard is it to start working on a compiler like this?</comment>


Birthright Citizenship Needs to Change - <AUTHOR> https://bostonreview.net/law-justice/stephanie-degooyer-rethinking-birthright <comment><USER2> Almost every single country in the world has a birthright citizenship concept. First generation immigrants will always be at a disadvantage in this regard. One of the reasons behind this is to reduce foreign influence. To prevent someone without strong ties to the nation they govern from coming into positions of power over those nations.

I'm unconvinced that the policies regarding this need to change. That isn't to say that we shouldn't dramatically change how immigration works... imho, if you have a job (that pays on average what the rest of the company's employees make, and up to 25% of a company as guest workers) and a place to stay (verifiable residence secured) with a handful of other provisions (no felonies, esl, history and civics courses while in country) you should be able to get a guest worker visa and after a decade apply for citizenship.

<comment><USER3> I don't think so. UK doesn't allow that. Only 30 countries do: [https://www.businessinsider.com/countries-that-recognize- bir...](https://www.businessinsider.com/countries-that-recognize-birthright- citizenship-jus-soli-2018-10)

<comment><USER4> That list seems off. Multiple European countries that I know of should be on that list.

<comment><USER5> And those countries are?</comment></comment></comment></comment>


The Very Real Impact of the Apple Developer Portal Downtime - <AUTHOR> http://blog.bulletin.io/post/57523404119/the-very-real-impact-of-the-apple-developer-portal

<comment><USER2> I'm sure many developers and companies were affected the same way, which sucks for everyone. Apple isn't the first or the last company to be compromised and subsequently tight lipped, I just hope they do something nice for their customers/users the way Sony did when PSN was brought down.</comment>


Video calls for Signal now in public beta - <AUTHOR> https://www.whispersystems.org/blog/signal-video-calls-beta/ <comment><USER2> Video calling with Signal is pretty slick, having used the beta for a few days. Just make sure to shut off video if you get into a low bandwidth situation, as opus can only cover up up to 30% packet loss, and video shoved down too small a pipe can induce much more packetloss.

I will miss the ZRTP codewords though, something about those going away makes me feel less secure since I can't easily do a voice verification during a call.

</comment><comment><USER3> There's no mention of it in the article, but anyone who's had a chance to check the GitHub repo care to share what video codec they went with?

<comment><USER4> [https://webrtc.org/faq/#video](https://webrtc.org/faq/#video)</comment></comment>