
Docker container to tweet at your ISP when your speed drops below threshold - monoxane
I got pretty fed up with my ISP giving me substandard speeds (usually 10 to 15mbps) than what I pay for (30mbps) so I build a docker container that runs a speed test and if its below the level you set it will tweet at your ISP with the speedtest results, go to sllep for 15 minutes and run another speedtest, if the speed is above your threshold it will simply sleep for 5 min and run again.<p>You can see it in action on my twitter: https:&#x2F;&#x2F;twitter.com&#x2F;monoxane<p>And of course I believe in OSS so its all available on my github: https:&#x2F;&#x2F;github.com&#x2F;monoxane&#x2F;docker-speedtweet
======
jklein11
This is a pretty cool hack!

Next time, when you you are showing off a project you may want to consider
doing a Show HN[1]

1.[https://news.ycombinator.com/showhn.html](https://news.ycombinator.com/showhn.html)

------
grizzles
This is cool. I periodically have a related idea that coincides with my isp
downtime. I once had 3 straight weeks of downtime.

It's an app to monitor a connection for downtime and give exact reports for
when the connection is down. Then treat the data collection server as a quasi
political group and use the data to push the FTC, ACCC, etc to force ISPs to
give pro-rata refunds for these downtime and or substandard speed periods.
Nothing would speed up a fix like lost $$.

------
goralph
Since you're using docker for educational purposes, just a tip. You have
multiple `RUN` commands. Each command will create an individual docker layer,
causing your image to take up unnecessary amounts of space.

Instead you should run all of the bootstrap (apt-get, etc) under a single run,
using `&&` to chain commands.

~~~
monoxane
Ah cool, I'll have to try that, thanks for the information.

~~~
leipert
I sometimes use this linter:
[https://github.com/lukasmartinelli/hadolint](https://github.com/lukasmartinelli/hadolint)

------
sigjuice
Docker is a bit of an overkill for such a tiny app IMHO

~~~
stephenr
A _bit_ of an overkill?

According to the developer, this is a Python script. So, rather than running
on any desktop OS with minimal resources, it requires Docker, which requires a
Linux Kernel. So for the vast majority of _desktop_ users, this will require a
Virtual Machine.

To send a fucking tweet.

This is the perfect example of developers doing dumb things, "because devops".

~~~
lovelearning
I think packaging it up as a ready-to-use, cross-platform installable (which
just happens to be in the docker container format) is better than expecting
every desktop user to "install python3 python3-pip -y pip3 install pyspeedtest
hurry.filesize tweepy". If the typical "desktop user" can't install one
software with easily accessible installation instructions, is it reasonable to
expect them to install 5 without?

~~~
stephenr
I didn't say packaging is bad.

I said expecting desktop users to install docker to run a 35 line python
script is fucking crazy.

You think someone who can't install python and 3 pip modules, is going to
manage to install a Hypervisor, a Linux Guest, and Docker?

~~~
ralmeida
Maybe. We taught our support people how to install Docker via Docker Machine,
and while that is resource-intensive and sometimes they come with questions,
it _did_ reduce the complexity of deploying new internal tools to them.

------
msh
How does it know you are not filling up the pipe yourself?

------
mistat
I can only imagine the posts if people with NBN use this

~~~
monoxane
Maybe ISPs would get around to fixing their network if hundreds or thousands
of people had it running.

~~~
dragonwriter
More likely they'll just update their ToS to prohibit running it.

~~~
monoxane
Then I'll just modify it to directly input a support ticket into their system
>:D

------
stephenr
Using fucking docker to run a python script that tweets about poor network
performance is the epitome of technical irony.

Although, on the upside we've finally found _something_ that can be referenced
for X in the statement "well at least Electron apps aren't as bad as $X"

~~~
monoxane
Its one hundred and ten percent overkill, like I've said, you can just run the
python if you want and I used docker because I've never used docker and wanted
too

