Hacker News new | ask | show | jobs
by albeebe1 1669 days ago
Here i am on a Saturday afternoon learning how to programatically interact with GitHub using go-git, banging my head on my desk because the code should work, but im getting cryptic errors. I'm searching stackoverflow, nobody seems to have encountered the errors i'm getting (that typically means i'm doing something wrong)...... oh GitHub is down. To GitHubs credit, they've been very reliable for me over the years, it didn't even cross my mind that they could be down.
4 comments

It didn't even cross my mind that they would be down.

As soon as you start banking on "the cloud" to get useful work done, the very first thing that should enter your mind is:

"Any of these nifty services can just turn into a pumpkin at any time"

Much like we have the "Fallacies of Distributed Computing"[1], we probably need (if somebody hasn't already created) a "Fallacies of The Cloud".

Fallacy #1 - The cloud is reliable

[1]: https://en.wikipedia.org/wiki/Fallacies_of_distributed_compu...

The real kicker is that they're still other people's computers. There's definite benefits as well as costs. Ignoring either is not a good idea.

Centralisation into just a few large providers is another bad idea we're heading towards or have already arrived at.

"The cloud is just other people's computers." is the most succinct way I've heard it.
> "Any of these nifty services can just turn into a pumpkin at any time"

Which is just as true for on premise servers.

If something you control, manage and backup goes down, you can fix it.

It won't go away on its own, or like Travis make you dependent on it, get bought out by VCs who milk your dependency for money.

When it goes down, it only impacts your jobs until you solve it, not single-point-of-failues the whole internet and whole programming languages.

Your self-sufficiency also acts to stop all software endevour concentrating in the hands of one monopolistic American company.

Yup - it's a difference of both degree and kind.
99.99% uptime means something is always down 0.01% of the time. That's an hour every year. It's not down at time of checking, so it seems about right. I wonder if there's an effect of different cloud items being down an hour every year.
99.99% uptime

Until they get bought, or simply discontinue / modify the product, and/or you fail to read the fine print on the ToS. Or they simply lie.

I very regularly do stuff in containers of which I've disconnected the network... It's amazing how bad most error messages are when something depends on the Internet and yet it's not reachable. If you're trying to connect to the net and it fails, you may as well then try a ping or something (you were going to use the net anyway) and tell your user that the machine apparently cannot connect to the Internet.

Heck, maybe have some helper when outputting error message doing something like:

   log.error("Could not download fizbulator v3.21.4", ping-btw)
Where "ping-btw" would try a ping and add the message: "by the way ping to 4.2.2.1 didn't answer after 300 ms, maybe your connection is down?".

Something like that.

Perhaps you invoked the API in an incorrect way, and brought the service down.
Ah! I am brand new to learning flutter and was trying to change the Flutter channel with the command:

flutter channel master

And it kept failing with:

------

git: remote: Internal Server Error.

git: remote:

git: fatal: unable to access 'https://github.com/flutter/flutter.git/': The requested URL returned error: 500

Switching channels failed with error code 128.

------

thought I was doing something wrong and spent some time troubleshooting.

"internal server error" and "error: 500" are EXTREMELY strong clues that the problem is server-side.

there aren't a lot of HTTP error codes, and it's worth remembering the most common ones, like the 200, 300, 400 series and 500 itself. will help you troubleshooting later.