skysight-inc/HackerNews huggingface dataset:
> I beg to differ.

> In my experience, the complicated setups that are justified by the argument of "reliability" have more downtime then a single VPS. The reason is probably that there are more moving parts and more has to be maintained / can go wrong.

> These days, a single VPS in the right datacenter has excellent uptime.

Again, maybe in your experience but that's not universal. There's literally no redundancy with running everything off a single VPS and if that datacenter has network or hardware problems, then your service is down.

Is redundancy necessary for the scale of OP's app considering it provides 0 income? Most likely not, but that's a decision they've decided on and there's nothing wrong with that.

What does excellent uptime mean in your book? With Digital Ocean's AM2 region I had regular downtime every few weeks and while I'm alright with it, if I had another VPS in another datacenter it would've had next to no effect on the customer experience. But an hour or more of downtime every two weeks isn't excellent.
He makes a point of including all the newer features of C, including fixed-size integers, thread API, restrict qualifiers, and atomics, and dedicate a very significant part of the book to them. On top of that he gives many best-practice advice, that you could call "modern", as they are often violated in 20+ year old C code (and often by people who learned C in the 80's, in my experience).
This is not clear at all - 55k monthly users means nothing, what's the average number of requests per second? 99th percentile? What's the same stats for CPU and memory usage? 3.4k users per day is actually not that large a number, even assuming each user is going to bombard your server with thousands of requests in 20 minutes, it's well within what optimised flask with wsgi can handle with a very mediocre compute instance.

Further,Are you absolutely sure that you have optimised your configuration and code for performance without changing the stack? (Serving static components directly via ngninx, caching responses using flask, caching other resources using memcached, optimizing gunicorn worker counts for the instance type, profiling which endpoints take the most amount of time and trying to optimize them, see if the bottleneck is webserver or the db, considering pypy, and probably 50 other ideas).

Are you also absolutely sure that bluegreen deployments are what you want to use given your cost constraint? Further, if you have bluegreen it should be straightforward to downgrade your instances to smaller ones fairly easily,why not do that first before discussing costs?

We run production webservers on t2.small ec2 instances in elastic beanstalk and (with some assumptions) handle comparable loads during work hours. We have two redundant instances and can easily scale up or down even on schedule with zero extra code. There's not even a need to minimize costs here because our application costs 100x more on data lake costs than the webservers, but it really helps keep the engineers grounded and ensuring they don't write outrageously inefficient code that's covered up by excessive server sizes.
That's not my understanding of "be suffered".

"He suffers a loss" means a man is suffering a loss. The loss is hurting him.

"A loss is suffered" means someone/something is suffering a loss. The loss his hurting someone/something.

"The employee is suffered" means someone/something is suffering the employee. The employee is hurting someone/something.

Your definition would match "the employee suffers", but that's the opposite of "the employee is suffered".
You’re already using blue/green for deployments, so why not:

* replace the currently inactive server with a smaller instance

* swap to the new instance and test the load

* replace the second server

For such a small app I’d drop the blue/green (most deploys will likely only take a few seconds?) and host Postgres on the same server.

Also, I’d move metabase onto a DO instance.

Any reason you’re using DNSSimple over a cheaper provider (or free in the case of DO)?
It's disappointing (and expensive) that you have no caching strategy. I would bet that 99% of your scoreboards are updated very infrequently, these pages could be re-generated into static html pages via cron job every 30 minutes / 2 hours / once per day, whatever frequency you choose. It's a free service, make people pay to have real-time updates.

My gosh, you are polling each leaderboard for changes every 15 seconds. Again, I would bet perhaps 1 in 1000 mature boards (i.e. online for more than a day) change in any 15 second period. You could severely reduce your server load by utilizing a CDN and statically-generating any board which hasn't changed in say, the past 6 hours.
I was involved in closing of case, when terrorists wanted to create dirty bomb and throw it at Ukraine. S*it happens.
> Multiple inheritance is usually a mistake.

Most mainstream OOP languages support it in some form, and it is quite useful, specially when considering single responsibility principles.

Like everything else, it can get abused.
What if they build this on a floating oil rig type situation and fallback dumps it into an ocean fed pool (like a box with gaps for ocean water going down 100ft) far enough off the coast to have power lines but easy enough to recover?
Ah yes, I’ll file this between Deafeningly Silent and True Myth.
> Note: the servers are oversized for the load we’re currently seeing. The reason for that is that we tried to solve a production issue by increasing the server specs. It didn’t solve the problem, and now we can’t down-size the servers without re-provisioning them.

Too late for them, but if you find yourself similarly needing to increase the capacity to solve a produciton issue on DO: you can upgrade CPU/RAM without increasing disk size. This allows you to downgrade later if you end up over-provisioning.
Well, you also need to generate more power then the fusion device consumes.
Libvirt is also responsible for keeping the guest exactly the same after upgrades; a basic QEMU command line does not guarantee that the guest hardware remains the same when you upgrade to a newer version, while Libvirt uses the more complicated and less human-friendly options to ensure that.

Libvirt does a lot more for QEMU than for other hypervisors, so much that libvirtd's initial name was qemud.
There is a lot of water out there.

* Total ocean volume: 1.3e18 cubic meters, 1.8e21 oil barrels equivalent [1]

* Current oil consumption: 35,442,913,090 barrels per year [2]

* Oil share of total energy consumption: 34% [3]

* Number of years of reserves at current consumption levels: 17,577,561,935 years.

Assumptions:

* Consumption levels are flat, definitely false.

* Energy cost of retrieval: 0, definitely false.

* Retrieval rate: 100%, definitely false, as the concentration dilutes over time.

[1] https://ngdc.noaa.gov/mgg/global/etopo1_ocean_volumes.html

[2] https://www.worldometers.info/oil

[3] https://en.wikipedia.org/wiki/World_energy_consumption
Indian market is very different, very cost conscious. Also better place had a problem in the sense that it was 5-7 years too early, the concept was always a good one. NIO's success in China is demonstrating the same.
> PHP (He doesn't use any frameworks like Laravel)

I wouldn't want to read (or write) that code, but thanks for the article.
Sorry, can you explain? As someone who's reinvesting time to learn C lately, I'm very curious
Then don't take the job.
> As soon as someone steps foot (or tire) on the premises, the clock starts ticking.

In retail the idea of premises could be very fuzzy. After all the mall may not be owned and in all likelihood not owned by Apple. In retail you are often asked to park at the back of the mall for good reasons, one of them being that customers park up front.

Secondly I can just imagine Tim Cook in a pair of running shoes parking his car and walking as fast as he can to the door, and he does it in 2 minutes so everyone else must as well. Damn those 6'1 people if you are only 5'6. If it is a 2 minute fast walk and you take 4 minutes casual, then you get docked.

I cannot claim I am working if I am have a 3 hour lunch break on company property.

But it is easier to consider that the commute to work is the employee's responsibility, it would be the most common and logical case. Work being where you actually do the work and not where you go to work.
> I wish this essay wasn’t littered with emojis :(

I'm really hoping the inclusion of :( was meant ironically.

(Personally, I'm a fan of personality. Check out Darknet/YOLO creator Joseph Redmon's resume one day.)
Same. One in particular still looks like a button for me.
That's consumer lending. I don't know what benchmark tradingeconomics uses for the numbers I linked to.

It's probably some kind of institutional lending, which tends to be much lower.

Trading Economic say they took the data from the World Bank.

See https://data.worldbank.org/indicator/FR.INR.RINR?locations=I... for a comparison of real interest rates between the Netherland and India accordind to the World Bank.

The Word Bank gives a bit of background:

> Statistical Concept and Methodology: Many interest rates coexist in an economy, reflecting competitive conditions, the terms governing loans and deposits, and differences in the position and status of creditors and debtors. In some economies interest rates are set by regulation or administrative fiat. In economies with imperfect markets, or where reported nominal rates are not indicative of effective rates, it may be difficult to obtain data on interest rates that reflect actual market transactions. Deposit and lending rates are collected by the International Monetary Fund (IMF) as representative interest rates offered by banks to resident customers. The terms and conditions attached to these rates differ by country, however, limiting their comparability. Real interest rates are calculated by adjusting nominal rates by an estimate of the inflation rate in the economy. A negative real interest rate indicates a loss in the purchasing power of the principal. The real interest rates are calculated as (i - P) / (1 + P), where i is the nominal lending interest rate and P is the inflation rate (as measured by the GDP deflator). In 2009 the IMF began publishing a new presentation of monetary statistics for countries that report data in accordance with its Monetary Financial Statistical Manual 2000. The presentation for countries that report data in accordance with its International Financial Statistics (IFS) remains the same.
https://bugs.chromium.org/p/chromium/issues/detail?id=103484...

See this issue, Angle can support headless completely with vulkan backend, but progress is BlockedOn angleproject.
Fear mongering over the fact that anyone with a desktop can still run a server on the internet. Law enforcement / the establishment would much prefer for centralized, US based cloud services (re: AWS) to be the only way to host something online, as companies can be deputized at any time via court order. The ideal scenario (from their point of view) is something like in China where every website has to have an internet license from the government and a public official has an office on the inside of every major company. When China does it we decry tencent as an arm of the CCP. When America does it we look the other way because no one wants to be seen defending "terrorism". Never mind that the "terrorism" in this case is a separatist group that hasn't been relevant since last year.
Principles for Microservice Design: Think Ideals, Rather Than Solid
I actively chose not to replace our cat when it died a few years back because I wanted the freedom to go for holidays or weekends away without having to organise people to look after our pet, being too time poor to give the animal the attention it needs (yes, even for a cat), and also the environmental destruction that cats cause.

Took about 6 months before a local cat adopted us as it's preferred owners, most likely due to the lack of another cat having claimed our yard as its territory. This new cat is the one I've referred to in a previous cat / pet related HN story.
ASLSP has been playing on an organ in Germany since 2001
full text of the tweet:

>> John Cage's "Organ²/ASLSP (As Slow as Possible)" has been playing on the organ of a church in Halberstadt, Germany since 2001. (The performance runs until 2640.) This Saturday, the chord that has been held since 2013 will change.

link: https://www.aslsp.org/de/home.html

wikipedia articel: https://en.wikipedia.org/wiki/As_Slow_as_Possible
The Facebook comparison is nowhere close though. Firstly, even purely from a services perspective, the per user compute needs per person are quite insane if you take a step back and think about what all has to happen in the background. Then you have to think about how much each user uses facebook and instagram, not to mention other services like video calls and live. Further, Facebook also ostensibly spends a bunch of the resources directly making money by utilising the resources on their ad biz. And then you have all the research and prototype work Facebook does. Finally this also includes office buildings and actual machine expenditure which ostensibly will pay dividends in future years, plus being a factor that OP didnnot even include in this discussion. I'm fairly confident that for the same number of requests of compwrable complexity Facebook spends significantly less than what this person is spending.
P2P scales quadratically, central server scales linearly. You might argue the cost is not borne by the operator but imagine what happens if Zoom was P2P. It would probably bring down the internet.

Moreover P2P would require more upload bandwidth per user from users. P2P just doesn't make sense for standard video conferencing.
Even in a desert, you'll cross the water table before reaching the mantle. And people prefer to consume electricity in hospitable locations.
While this article has steps in the right direction, it's a lot of "use this thing". I operate a simple Flask/PostgreSQL webapp for CS Education through the luxury of my university. If/When I graduate from my program, what are the aspects I can do to minimize my costs for hosting the app? Of course I'll look for best approaches but why does that need to be forbidden knowledge known to a select few?

Its an aside, but the mentality of "let them figure it out" is a major issue in education. Foundational knowledge should be easy to acquire so I can worry about higher level thinking issues. Literally spending hours trying to figure out how to set things up through hours of Googling doesn't really help that, nor does it promote the "figuring it out" people think it does - its just stumbling upon the right set of commands that let me move past this particular hurdle.

From the devops perspective, what about telling someone how to set up their own server to do/minimize X is so taxing?
Reminds me of that juicer which basically just squeezed a packet and costs hundreds of dollars.

Thank god for hackers exposing these shenanigans!
I faced a similar issue with tens of thousands of login attempts from dozens of unique IP's daily on my server. Moving from 22 helped with some of the traffic but not all. Port knocking however did stop anyone from ever even reaching the right combination and had no login attempts since.
What does excellent uptime
mean in your book?

Something like less then an hour of downtime per year.

Over the last years, across multiple datacenters, I have seen maybe one or two short downtimes per year. None ever lasting more then 5 minutes.
It's 50k MONTHLY users. It's just 3000 a day
> It’s also a bit misleading to characterize cloud providers as building on libvirt

Libvirt provides lifetime management for KVM virtual machines, including orchestration of live migration, setting up SELinux to ensure isolation between QEMU processes and cgroups to limit resource utilization, creating network interfaces and bridging them to host networking, and more. Any cloud provider that uses Openstack+KVM relies on Libvirt for all these tasks.
Almost like his first statement isn’t even true (which it isn’t).
Doesn't LTO interfere with debugging massively?
Both styles of union have a long history, but the alternative practice is to rely more heavily on strikes and other workplace actions, and less on pay-to-play politics.

It may be "union 101" to sign no-strike clauses but there are unions like the IWW that have always rejected them.
If you support 4 million monthly visitors on a media site, and have multiple EC2 instances running, I'd love to see a cost breakdown structure, because in my (obviously incomplete and possibly naive) calculations, the bandwidth alone would cost more than $200/mo.
Submit to Hacker News – Chrome Extension
Probably aboard the "hate on C" hype train. If you are curious, it could make sense to not let it get in your way, and continue investigating / learning. There's a lot to be gained from such an exercise.

FWIW if you're looking for practical projects; part III of https://craftinginterpreters.com/contents.html is in C, and if you're interested in graphics stuff SDL is really fun. It all runs in the web / browser too with Webassembly.
Obviously, HN is a pretty friendly place for decentralized software. But as advocates, how do you defend it to people who don’t understand the benefits?

If I’m pitching Matrix as an alternative to Slack, and someone brings up the fact that ISIS used one of them... what’s the response? Decentralized software is scary to someone fearful of shadowy groups. How do you successfully advocate for software that can be used by anyone, even the worst people out there?
Responses generally consist of a large amount of out of office messages, various undeliverable and error messages from remote mail servers, and the occasional auto-response which triggers your own auto-response, which triggers theirs which ends up in a mail loop that takes down email for your whole company.

Many traditional businesses outsource most of their technical solutions and don't have the staff or the knowledge to deal with things like this.
This. Before opening a link, I thought to myself, "$5/month ?", because that's what our Django websites with such load cost.
And here, you can see the Inform 7 source for Zork: http://i7-dungeon.sourceforge.net/source.html
Better places tried to roll that out in denmark where I live.

I think the failiure was down to tree or four things:

- electric cars were still a novelty
- low range, very few and unreliable battery changing stations.
- expensive cars.
- Only one model, a saloon car which is one of the least sold car types in denmark. People mostly go for microcars or stationwagon type cars plus SUV's.
You are right. Those concerns are are in the focus of some recent research (and some of it is the topic of my in-progress thesis)
I'm not sure what you're referring to. Most Facebook users don't read Zuckerberg's posts, and won't hear much about US politics unless their friends choose to discuss it.
Can you elaborate?
I'm struggling to find a valid example of a one way mail stream from company to customers where all customers will never want to reply yet still want to get these mails.
Many DJs switched to Twitch
> "The employee is suffered" means someone/something is suffering the employee. The employee is hurting someone/something.

Huh, interesting. How does this make sense in context though? The text says "all the time the employee is suffered or permitted to work" must be compensated, so you're saying the law says that an employee must get paid for all the time he spends doing either of {hurting someone/something, being permitted to work}? Why would there be a law to mandate paying employees that hurt people...?
I agree, I see nothing unethical about tailoring your various job-related communications to the type of person you're speaking with. Especially at large firms, HR employees are often quite literally just looking to check off boxes. Obviously you should not outright lie, but we engineering types have a tendency to take these sort of questions too literally.

I use C# at work. I've programmed in Java here and there and have done some small projects in it, but we don't use it at my office. If I apply for a Java job, and the HR rep asks me during the 1st round phone screen if I have Java experience, I'm going to say yes. When I speak with a more technically minded person, I can go into the full story, because they have the background necessary to put it in context.
That is quite a spike! Unfortunately the sharpness of the edge makes it pretty likely that a change in therapy is the cause -- time to death from hospital admission has a median of 10-12 days, but this is not a "wall", it's a median. The actual distribution is probably somewhat normal -- you'd expect a gradual increase and decrease around the intervention. We don't know how or when the Hydroxychloroquine was administered, but the mechanism of action seems to be prevention of infection early in the course of infection, generally before hospitalization.

To me, this seems more likely coincidental or a reporting change.
This is pretty simply the case of these things being tools and them having applicable uses outside negative ones
I love clojure, and I’ve written some high concurrency production apps in it. Concurrency is still hard in clojure, and that’s assuming all of your state and logic can live in a single process. That assumption usually doesn’t hold, and then concurrency gets way harder.
The same way you would defend the www itself.
That doesn't seem fair. There's a clear distinction to be made between stating bad points of view and encouraging political violence.
My impression is Optimizely never crossed the chasm. Huge following with VC funded startups and early stage startups but never crossed into "Google Analytics" territory where every company with a website was using it.

Slowing down users meant higher prices to sustain VC promised growth. Higher prices meant enterprise sales. And it went down from there.
Prohibited.... Unless you have the appropriate licenses for the music.

Much ado about nothing. Did anyone ever bother to read the post?
Those people are a lost cause. Its the same as how do you refute a saying "there's nothing to fear if you have nothing to hide". You can tell your facts and statistics, but at the end of the day it means nothing as their understanding is based on beliefs and ideals.
It looks like it's MIT licensed, according to their `package.json`.

https://github.com/samizdatco/skia-canvas/blob/master/packag...
My earliest memories of interacting with the computer are those of playing Zork with my father. When I grew older and learned how to program, my most ambitious project in high school was a text based adventure game engine written in Common Lisp. I utilized the natural language parser that Paul Graham Details in _On Lisp_ to parse game instructions. Game elements like the Loud Room (where every command just echos until you say the magic word) or the maze drove me to create numerous game permutations.

I love Zork so much. So many good memories with that game.
Yeah, but the 2AM stuff is less of an issue.