kentonv changed the topic of #sandstorm to: Welcome to #sandstorm: home of all things sandstorm.io. Say hi! | Have a question but no one is here? Try asking in the discussion group: https://groups.google.com/group/sandstorm-dev
<ill_logic> Looks like I'm at the next level of the Postgres game. This time it's about shared memory. (The localhost problem was easy, just need to put a basic etc/hosts in project dir)
<ill_logic> Shared memory seems to be about mounting a tmpfs in /dev
<ill_logic> ah so I can disable it! (probably not a great idea if this is about database efficiency).
<isd> Hm, is there any reason we don't mount something at /dev/shm?
<ill_logic> Not sure, but it's not there from the grain's view.
<isd> I mean I know we don't put much in dev. I just don't know if there's a specific reason why not shm
<isd> What happens if you symlink /dev/shm -> somehwere in /tmp?
<isd> maybe makes sense to just go forward without it for now.
<isd> The supervisor might just completely hide /dev from you though, don't know if you can put a symlink there.
<ill_logic> Maybe I'm not following correctly, but you're suggesting a similar trick to /etc where there's a symlink from /dev/shm -> ?
<ill_logic> Is there another mounted tmpfs I can point it to?
<ill_logic> mount -t tmpfs failed I think
<ill_logic> or whatever the command is
<isd> The grain's /tmp should be an actual tmpfs
<isd> I mean, you certainly can't mount inside the grain...
<isd> Looking at the supervisor code, trying to understand how it treats /dev
<ill_logic> I could just try making the symlink for now
<ill_logic> just to see if it shows u
<ill_logic> p
<isd> yeah.
_whitelogger has joined #sandstorm
<abliss> i have heard it said (though not verified myself) that the shm_open syscall requires /dev/shm in order to work. if that's true, we should definitely mount something there (and perhaps allow the spk to request a size for it?). Though, this SO answer seems to indicate that /var/run/shm might work too? https://stackoverflow.com/questions/11102599/how-do-i-change-the-shm-open-path?rq=1
ocdtrekkie has quit [Ping timeout: 260 seconds]
frigginglorious has joined #sandstorm
frigginglorious has quit [Read error: Connection reset by peer]
frigginglorious has joined #sandstorm
<isd> It looks like the linux implementation of shm_open("/foo") just mmaps "/dev/shm/foo".
frigginglorious1 has joined #sandstorm
frigginglorious has quit [Ping timeout: 260 seconds]
frigginglorious1 is now known as frigginglorious
<isd> foundationdb is not a workable alternative to mongo for us: each server process requires 4GiB of memory
<isd> So that's out.
<isd> I might not be able to make office hours this sunday
<abliss> I probably can't make 2pm this time either. Should we reschedule?
<abliss> (Ian Denhardt if you have a handy reference for the impl of shm_open, mind pasting it into the issue to save the rest of us the googling?)
<isd> abliss: not sure what sort of reference you're looking for?
<abliss> i guess a link to the source code, or to the docs that told you that it just calls `mmap("/dev/shm/foo")`
<isd> I think I found the info on some random stack overflow question; I've lost track of it.
<CaptainCalliope> I'm sending out the notification email for Sunday's office hours.
rlander has joined #sandstorm
<rlander> Hey all! First time here =)
<rlander> So, how can I start contributing to Sandstorm?
<rlander> how are apps maintained?
<isd> Welcome!
<isd> Do you have more specific interests?
<rlander> isd Thanks, I've seen that page. I'm more interested in understanding package ownership. A lot of apps are outdated. How would one update one app?
ocdtr_web has joined #sandstorm
<ocdtr_web> rlander: o/ welcome!
<ocdtr_web> Every app has a key which you must hold to be able to update the app. There is also a process for rekeying the app, which we can generally do if the app is abandoned.
<isd> I would say, try sending prs to the original maintainer, and if they're unresponsive, talk to us and maybe we can swap out the key.
<ocdtr_web> Sometimes a developer will happily help publish if someone else does the work and creates the PR. Sometimes they'll be willing to transfer their app's key. And sometimes either due to nonresponse or preference, we can rekey.
<ocdtr_web> https://github.com/sandstorm-io/sandstorm/blob/master/src/sandstorm/appid-replacements.capnp <- is an example of apps that have been rekeyed and why.
<ocdtr_web> If there's an app you're interested in working on, a developer you're trying to get a hold of, etc. feel free to ask about it here or let us know. Sometimes we can help a bit.
<rlander> Cool, thanks for the info ocdtr_web ! That's exactly the info I was looking for. I wanted to take at stab at updating Davros.
<rlander> It doesn't work with NextCloud or ownCloud latest clients.
<ocdtr_web> Yeah, there's some notes on what's missing in one of the issues.
<rlander> Yup
<rlander> Seems like a simple enough task
<ocdtr_web> There are some interesting questions about where to pick up the code though.
<ocdtr_web> The last publicly released version is 0.21.7, but 0.23.0 is where master is. The biggest change, from my understanding, is that Michael attempted to add LibreOffice into Davros, and I think there were performance issues with it.
<rlander> Oh that's a bummer
<ocdtr_web> You might want to build master, rekey it with your own key for testing, and just kinda compare and contrast performance with the latest released version.
<ocdtr_web> Maybe ask Michael if he'd suggest cutting some of 0.23.0 back out or not, and see how he'd like to handle things with publishing if you do indeed build an update for Davros.
<rlander> Right. I'll have to do some reading to get a local test running
<ocdtr_web> Davros is one of our "core apps", and it's currently pretty abandoned, so I think all of us would be pretty excited if someone updates it. :)
<rlander> I'll try this weekend and report back. I'll get in touch with Michael once I get a working version.
<rlander> Yeah, I know some people hate webdav, but it's always been good enough for me.
<ocdtr_web> Feel free to pop in with any questions or difficulties.
<ocdtr_web> (We're also trying to work on making app development easier and smoother for Sandstorm, so issues you find may help us just as much as we might be able to help you.)
<abliss> rlander: yay, i'd love to see a davros update! chatting here is probably enough to call dibs on it, but you can also feel free to make a card to track your work (or snoop on what others are hacking on) on this community wekan: https://alpha.sandstorm.io/shared/mQElWG-pXuaos8i1-73areKbSaA8fME9iyQoBMtwA2f
<rlander> Makes sense. I'll try and take notes of the process.
<rlander> abliss Ah, good to know! Hopefully I'm not stepping on anybodys toes.
<ocdtr_web> Don't know of anyone actively working on Davros.
<abliss> and even if they were, i really doubt they'd be offended -- we just want to avoid duplicated/wasted efforts since dev time is at a premium :)
<rlander> Awesome. Let's see how far I can take this. =)
<rlander> BTW, I'm a Clojure/Erlang backend developer, so I'll probably learn a few things along the way.
<rlander> Thanks guys for the help.
<isd> Neat. I know TimMc (not in the channel right now apparently) is also into clojure.
<rlander> Oh and thanks ocdtrekkie for pointing me here
<isd> If you end up wanting to do app dev in clojure feel free to pick our brains about getting stuff to work in the sandbox. The JVM can be a little difficult in that regard, but folks have done it, and we can point you to their work.
<ocdtr_web> np. Always thrilled when someone's interested in working on Sandstorm.
<isd> Erlang would probably be easier.
<rlander> So the JVM is a possibility? For personal projects I generally go for python or ruby. The JVM is too memory-hungry for small servers.
<isd> Not ideal certainly.
<isd> I'm not speaking from experience though.
* TimMc perks up
<isd> Ahoy.
ocdtr_web has quit [Remote host closed the connection]
frigginglorious has quit [Read error: Connection reset by peer]