dandroid

joined 1 year ago
[–] dandroid@dandroid.app 86 points 8 months ago (13 children)

Uh, I assumed that was a minimum viable product requirement.

[–] dandroid@dandroid.app 3 points 8 months ago (4 children)

OpenVPN server was my number 1. Being able to VPN back into my home from anywhere in the world was amazing. I can't really remember any other, since it was more than a few years ago.

[–] dandroid@dandroid.app 35 points 8 months ago (3 children)

OH MAN. I worked on an Android tablet that used a rockchip CPU, not the one listed here but an older one (I think RK3026). What a PIECE OF SHIT. I don't wish that tablet on my worst enemy. Battery life was like sub 2 hours with a 3200 mAh battery. Sometimes it would start running hot, and you could watch the batter percentage go down one percent every 10-20 seconds. The only way to break it out was to reboot it or let it die.

We later upgraded our CPU to the 3288, one gen older than this one, and it was significantly improved, but still very entry level.

[–] dandroid@dandroid.app 47 points 8 months ago

Pretty much. How to guarantee I will never buy your brand ever again. Not that I would ever buy a Samsung anyway. Or anything preloaded with Facebook for that matter.

[–] dandroid@dandroid.app 4 points 8 months ago (3 children)

Yes, I was shocked at how small it is. I had no experience working with such limited resources going into this project. Our router had 32MB of storage. At one point I was looked into adding a python interpreter, and it was like 11MB. The Lua interpreter is like 250KB. Tiny!

Also, the ternary operator has the best syntax of any language I have ever used.

x = [condition] and [true value] or [false value]

No question marks or colons or anything weird. It's a logical extension of && and || after commands in bash using keywords since it is a verbose language. I wish every language had this syntax.

For contrast, python is:

x = [true value] if [condition] else [false value]

It just seems weird to me to have the condition in the middle.

[–] dandroid@dandroid.app 5 points 8 months ago* (last edited 8 months ago) (1 children)

The web UI backend stuff is all done in Lua. So receiving and processing forms was all Lua. My main feature that I implemented was a REST API that was called from another product that my company sold. So I had to do all the REST API processing and data validation and whatnot in Lua.

I don't really have recommendations, because I really only knew our product. If I knew what I get, I probably would have got that instead of the Asus router that I ended up with when I had to return my work materials.

[–] dandroid@dandroid.app 67 points 8 months ago (16 children)

I was the lead engineer on an Openwrt router for 2 years at my old job. Their documentation is complete and utter shit, but their design is extremely intuitive. Whenever I said to myself, "hell, let's just try this and see if it works," it had an insanely high success rate.

I didn't know Lua going into this project, but when I left the company, it made me really wonder why more people don't use Lua. It's a really nice language.

I really enjoyed having my own open source router that I could just drop new features into by adding packages and recompiling. I was sad when I had to send all my dev units back.

[–] dandroid@dandroid.app 9 points 8 months ago

It was my first time using a Linux GUI. I was comfortable with CLI, but it was my first time having it installed on a laptop instead of just sshing into a server somewhere.

So naturally, instead of learning how the GUI worked, I tried changing it to be exactly like Windows. I was doing things like making it so I could double click shell scripts and other code files and they would run instead of opening them up in an editor. I think you see where this is going, but I sure as hell didn't.

Well, one of my coworkers comes over and asks me to run this code on this device we were developing. We were still in the very early stages of development, we didn't even have git set up, so he brought the code over on a USB stick. I pop it into my laptop. I went to check it once by opening it in an editor by double clicking on it... Only it ran the code that was written for our device on my laptop instead of opening in an editor.

To this day, I have no idea what it did to fuck my laptop so bad. I spent maybe an hour trying to figure out what was wrong, but I was so inexperienced with Linux, that I decided to just reinstall the OS. I had only installed it the day before anyway, so I wasn't losing much.

[–] dandroid@dandroid.app 12 points 8 months ago (1 children)

"I'm right, and if anyone disagrees, it's because they're brainwashed"

There's literally no possible way to argue against this type of logic.

[–] dandroid@dandroid.app 10 points 8 months ago (1 children)

I'm a long time Java developer who was recently moved to a project written in Go. All I can say is: What. The. Fuck. I swear, the people who designed the syntax must have been trying to make every wrong decision possible on purpose as a joke. The only think I can think of is that they only made design decisions on the syntax while high on shrooms or something.

Like, why in the actual fuck does the capitalization of a function change the scope?????? Who thought that was a good idea? It's not intuitive AT ALL. Just have a public/private keyword.

[–] dandroid@dandroid.app 3 points 8 months ago (1 children)

In my friend circles, the passenger was responsible for playing for the driver.

[–] dandroid@dandroid.app 3 points 8 months ago

It happens! I moderate !hockey@lemmy.ca, and recently !hockey@lemmy.world merged with us naturally.

 

The mother Giraffe was being very affectionate and rubbing her face on the young giraffe. I just kept snapping photos until I got this one, where they looked like they were sharing a special moment together.

 
 

Take my energy, voyager devs!

༼ つ ◕_◕ ༽つ ༼ つ ◕_◕ ༽つ ༼ つ ◕_◕ ༽つ

 

Cat-suki Bakugo

 

Hi All. I have been running my own lemmy instance for a while now. I set it up sort of as an experiment, and then I realized that I liked having my own instance, as it makes me (mostly) immune to outages due to things outside my control, defederation drama, etc. So I decided that I am going to stick with having my own instance. But obviously the amount of space it is taking grows, ~~and I apparently have zero foresight~~ and I only have so much space on the SSD that I initially put lemmy on. So I wanted to migrate everything over to my NAS.

I am mounting a volume on my NAS via NFS. I copied over my whole lemmy directory with cp -a, and it appeared that all of the permissions and file ownership copied over properly. However, when I run the containers, the postgres container is constantly crashing. The logs say "Permission denied" and then "chmod operation not permitted" back and forth forever. I opened a shell in the container to see what was going on, and I could see that the container's root user could not cd into /var/lib/postgres/data, but the postgres user could.

I have no_root_squash set for my NFS share if that is important, but I doubt that is even relevant since it is only the root user inside the container. I'm running my lemmy instance with rootless podman, so root inside the container actually maps to the UID of the user running the podman commands outside the container. That said, when I run this in my local filesystem, while my podman user can't access the postgres volume outside the container, as root inside the container it can access it.

I hope this isn't too confusing, and I hope that someone can help me with this. I know it is a very specific setup being rootless podman and trying to run it on an NFS share.

Today is also the first time I have every tried using NFS, as my NAS was always using SMB before, but I needed file ownership to do this. So it's very possible I just need to tweak some NFS settings.

Edit:

I sort of got it working, but it's mega hacky. It's not a permanent solution, but it gives me some insight into what is going wrong.

I set the permissions on the postgres volume in my host to be g+rx, and it worked. However, as soon as the container started, it changed the permissions back to 700. The thing is, "root" doesn't actually need access to the directory. The postgres user has access, and that's all that needs it. So it this actually works. But if I need to restart the container for any reason, it no longer works. So I would need to set the permissions to g+rx every time, which is just not a good solution.

 
 
1
submitted 1 year ago* (last edited 1 year ago) by dandroid@dandroid.app to c/cat@lemmy.world
 

All her friends came to the party, but she didn't want to wear her tutu. At least she (reluctantly) wore her crown long enough to get a picture.

 

So, I spent the last few days researching and then finally setting up mailcow. I got my domain name, my wildcard certificate, got all the containers up, disabled ipv6 (I don't have it set up on my home router and am too lazy to set it up tbh), created a domain and an mailbox, etc.

Well, when testing it late last night, I found that I could receive mail but was getting timeouts when sending mail. After some googling, I found out that this will happen if port 25 is not open. Using traceroute, I found that port 25 traffic is not going outside my home network. And sure enough, I found on my ISP web site that I need to have a business account to unblock port 25, which costs twice what I am paying for internet now.

So what are my options? Is there any way around this? Do I need to host this elsewhere, such as AWS? Can I use a proxy or something that can translate it to a different port for me?

Edit: Yeah, so I just set up an alias to my existing email address. It isn't what I wanted to do, but as many have pointed out, I'm fighting a losing battle here. :(

 
 
view more: next ›