I used this for a while, but every time my phone rang I had to type in my pin to answer it which was a deal breaker for me.
Canadian software engineer living in Europe.
I used this for a while, but every time my phone rang I had to type in my pin to answer it which was a deal breaker for me.
So my first impression is that the requirement to copy-paste that elaborate SQL to get the schema is clever but not sufficiently intuitive. Rather than saying “Run this query and paste the output”, you say “Run this script in your database” and print out a bunch of text that is not a query at all but a one-liner Bash script that relies on the existence of pbcopy
– something that (a) doesn’t exist on many default installs (b) is a red flag for something that’s meant to be self-hosted (why am I talking to a pasteboard?), and (c) is totally unnecessary anyway.
Instead, you could just say: “Run this query and paste the result in this box” and print out the raw SQL only. Leave it up to the user to figure out how they want to run it.
Alternatively you can also do something like: “Run this on your machine and copy/paste the output”:
$ curl 'https://app.chartdb.io/superquery.sql' | psql --user USERNAME --host HOSTNAME DBNAME
In the case of the cloud service, it’s also not clear if the data is being stored on the server or client side in LocalStorage
. I would think that the latter would be preferable.
I had no idea! Thanks for the tip.
In one of the other comments, we worked out that it was definitely something to do with ACPI, but yes I do have an external monitor. This is a desktop system.
Disabling the interrupt did the job, but I don’t know why it’s happening. If this is related to the monitor, could this be an Nvidia thing?
There it is! Thank you! It’s a process owned by root called kworker/0:0+kacpid
. Any idea what that is?
[Edit 1] Interestingly, I can’t even kill -9
it.
[Edit 2] With kworker kacpid
to work with, I did a quick search and found this SO page that has some interesting information that I only partially understand, but the following worked like a charm:
# grep -Ev "^[ ]*0" /sys/firmware/acpi/interrupts/gpe?? | sort --field-separator=: --key=2 --numeric --reverse | head -1
/sys/firmware/acpi/interrupts/gpe09:11131050 STS enabled unmasked
# echo disable > /sys/firmware/acpi/interrupts/gpe09
It’s not clear to me what an interrupt is or whether this gpe09
value is meant to be persistent across reboots, or why this only seems to be happening in the last couple months, but if I can make it go away by running the above from time to time, I guess it’s alright?
Generally, I agree. I think what I meant by the above is “how would you tell someone how to use the thing”. My favourite example is email vs email-with-PGP.
How do you send an email?
How do you send a PGP-encrypted email
Let’s first talk about this thing called a “keyserver”. Once you know what that is, you’ll have to go out and find some keys to add to it. We’re not going to talk about styling your message 'cause that’s not something you should be able to do… etc. etc.
This is a common problem with Free software, and honestly I think it’s our biggest one: we build stuff for ourselves and stop there. If we want our stuff to be adopted (which, for things that rely on network effects, we do) then we need to pay more attention to usability.
Here’s a suggestion for anyone starting a project they think they might share. Before you start writing any code, write the documentation. Then rewrite it from the perspective of the least tech-literate person you know who you’d still want to use the project. Only after you’ve worked out how easy it should be for this person to get started, then you can start writing the thing.
GitLab. The CI is fantastic.
This is lovely. Thanks for sharing!
GIMP is alright. Mostly I stick to it because Krita’s dependency on QT means it looks and works differently from everything else in my GNOME environment.
I’ve been self-hosting my blog for 21years if you can believe it, much of it has been done on a server in my house. I’ve hosted it on everything from a dusty old Pentium 200Mhz with 16MB of RAM (that’s MB, not GB!) to a shared web host (Webfaction), to a proper VPS (Hetzner), to a Raspberry Pi Kubernetes cluster, which is where it is now.
The site is currently running Python/Django on a few Kubernetes pods on a few Raspberry Pi 4’s, so the total power consumption is tiny, and since they’re fanless, it’s all very quiet in my office upstairs.
In terms of safety, there’s always a risk since you’re opening a port to the world for someone to talk directly to software running in your home. You can mitigate that by (a) keeping your software up to date, and (b) ensuring that if you’re maintaining the software yourself (like I am) keeping on top of any dependencies that may have known exploits. Like, don’t just stand up an instance of Wordpress and forget about it. That shit’s going to get compromised :-). You should also isolate the network from the rest of your LAN if you can. Docker sort of does this for you (though I hear it can be broken out of), but a proper demarcation between your laptop and a server on the Open web is a good idea.
The safest option is probably to use a static site generator like Hugo, since then your attack surface is limited to whatever you’re using to serve the static sites (probably Nginx), while if you’re running a full-blown application that does publishing etc., then that’s a lot of stuff that could have holes you don’t know about. You may also want to setup something like Cloudflare in front of your site to prevent a DOS attack or something from crippling your home internet, though that may be overkill.
But yeah, the bandwidth requirements to running a blog are negligible, and the experience of running your own stuff on your own hardware in your own house is pretty great. I recommend it :-)
Oh boy are you going to love-to-hate this then. It’s best viewed on a proper computer, but you’ll get the gist on mobile too.
To be clear, I’m not throwing shade. That’s an impressive piece of software. It’s just, given the number of stories I’ve heard (and experienced) about Bash’s tricky syntax leading to Bad Things, I’m less comfortable with running this than I would be with something in a language with fewer pitfalls.
But if others take the chance and it sticks around a bit, I’ll come around ;-)
Thanks for the contribution! It’s a great idea, and with Google fucking about with blocking things like NewPipe, a project like this is a great answer to that.
That looks really impressive, but at nearly 1000 lines of Bash, I’m afraid I’m not comfortable running it on my machine. My Bash-foo isn’t strong enough to be sure that there isn’t a typo in there that could nuke my home folder.
Yeah that was the big strike against it for me too. I found that you can sort of perch it over a crossed leg and it’s sort of serviceable that way, but yeah… no coding on the train with a Surface.
The Surface Pro keyboard is actually quite good, with the added bonus that it’s also easily detachable.
This too is an excellent take. “Artificial pain points” for capitalism, or “learn some shit” for Linux. Love it.
At the firewall level, port forwarding forwards traffic bound for one port to another machine on your network on an arbitrary port, but the UI built on top of it in your router may not include this.
If it’s not an option in your Fritzbox, your options are:
The first and last options on this list are probably the best.
You make an excellent point. I have a lot more patience for something I can understand, control, and most importantly, modify to my needs. Compared to an iThing (when it’s interacting with other iThings anyway) Linux is typically embarrassingly user hostile.
Of course, if you want your iThing to do something Apple hasn’t decided you shouldn’t want to do, it’s a Total Fucking Nightmare to get working, so you use the OS that supports your priorities.
Still, I really appreciate the Free software that goes out of its way to make things easy, and it’s something I prioritise in my own Free software offerings.
Could be. I do remember trying to get it to work a number of ways at the time. If you’re telling me that this isn’t the case for you though, I might try it out again.