1
0
Fork 0

announcing bulgur cloud

This commit is contained in:
Kaan Barmore-Genç 2022-03-29 00:33:21 -04:00
parent bdb1cc994a
commit d8d08ae261
9 changed files with 92 additions and 3 deletions

View file

@ -28,5 +28,5 @@ clean:
echo ${target_files}
.PHONY: publish
publish-gemini: $(target_files) gemini/index.gmi
publish-gemini: build-gemini
rsync -av content/img content/extra gemini/index.gmi $^ gemini.bgenc.net:/var/gemini/

View file

@ -0,0 +1,56 @@
---
title: An introduction to Bulgur Cloud - simple self hosted cloud storage
date: 2022-03-29
---
> This post is day 8 of me taking part in the
> [#100DaysToOffload](https://100daystooffload.com/) challenge.
I've been recently working on Bulgur Cloud, a self hosted cloud storage
software. It's essentially Nextcloud, minus all the productivity software. It's
also designed to be much simpler, using no databases and keeping everything on
disk.
The software is still too early to actually demo, but the frontend is at a point
where I can show some features off. So I wanted to show it off.
![The login screen](/img/2022-03-29-00-17-38.png)
I've been going for a clean "print-like" look. I think it's going pretty well so far.
![The directory listing](/img/2022-03-29-00-16-13.png)
I'm not sure about the details of how the directory listing will look. I don't
think I like the upload button in the corner, and the rename and delete icons
feel like they would be easy to mis-press. There is a confirmation before
anything is actually deleted, but it still would be annoying.
![Delete confirmation prompt](/img/2022-03-29-00-20-48.png)
Something I'm pretty happy with is the file previews. I've added support for
images, videos, and PDFs. Video support is restricted by whatever formats are
supported by your browser, the server doesn't do any transcoding, but I think
it's still very useful for a quick preview. I'm also planning on support for
audio files. The server supports range requests, so you can seek around in the
video without waiting to download everything (although I've found that Firefox
doesn't handle that very well).
![Video file preview](/img/2022-03-29-00-22-48.png)
This is a web interface only so far, but I'm planning to add support for mobile
and desktop apps eventually. I've been building the interface with React Native
so adding mobile/desktop support shouldn't be too difficult, but I've been
finding that "write once, run everywhere" isn't always that simple. I ended up
having to add web-only code to support stuff like the video and PDF previews, so
I'll have to find replacements for some parts. Mobile and desktop apps natively
support more video and audio formats too, and with native code you usually have
the kind of performance to transcode video if needed.
The backend is written in Rust with `actix-web`, using async operations. It's
incredibly fast, and uses a tiny amount of resources (a basic measurement
suggests < 2 MB of memory used). I'm pretty excited about it!
After a few more features (namely being able to move files), I'm planning to put
together a demo to show this off live! The whole thing will be open source, but
I'm waiting until it's a bit more put together before I make the source public.
The source will go live at the same time as the demo.

View file

@ -1,5 +1,5 @@
---
title: Do kids not know computers know?
title: Do kids not know computers now?
date: 2022-03-28
---

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 KiB

View file

@ -0,0 +1,33 @@
~~~~~~~~
title: An introduction to Bulgur Cloud - simple self hosted cloud storage
## date: 2022-03-29
> This post is day 8 of me taking part in the #100DaysToOffload[a] challenge.
=> https://100daystooffload.com/ [a]
Ive been recently working on Bulgur Cloud, a self hosted cloud storage software. Its essentially Nextcloud, minus all the productivity software. Its also designed to be much simpler, using no databases and keeping everything on disk.
The software is still too early to actually demo, but the frontend is at a point where I can show some features off. So I wanted to show it off.
=> /img/2022-03-29-00-17-38.png The login screen
Ive been going for a clean “print-like” look. I think its going pretty well so far.
=> /img/2022-03-29-00-16-13.png The directory listing
Im not sure about the details of how the directory listing will look. I dont think I like the upload button in the corner, and the rename and delete icons feel like they would be easy to mis-press. There is a confirmation before anything is actually deleted, but it still would be annoying.
=> /img/2022-03-29-00-20-48.png Delete confirmation prompt
Something Im pretty happy with is the file previews. Ive added support for images, videos, and PDFs. Video support is restricted by whatever formats are supported by your browser, the server doesnt do any transcoding, but I think its still very useful for a quick preview. Im also planning on support for audio files. The server supports range requests, so you can seek around in the video without waiting to download everything (although Ive found that Firefox doesnt handle that very well).
=> /img/2022-03-29-00-22-48.png Video file preview
This is a web interface only so far, but Im planning to add support for mobile and desktop apps eventually. Ive been building the interface with React Native so adding mobile/desktop support shouldnt be too difficult, but Ive been finding that “write once, run everywhere” isnt always that simple. I ended up having to add web-only code to support stuff like the video and PDF previews, so Ill have to find replacements for some parts. Mobile and desktop apps natively support more video and audio formats too, and with native code you usually have the kind of performance to transcode video if needed.
The backend is written in Rust with actix-web, using async operations. Its incredibly fast, and uses a tiny amount of resources (a basic measurement suggests < 2 MB of memory used). Im pretty excited about it!
After a few more features (namely being able to move files), Im planning to put together a demo to show this off live! The whole thing will be open source, but Im waiting until its a bit more put together before I make the source public. The source will go live at the same time as the demo.

View file

@ -1,6 +1,6 @@
~~~~~~~~
title: Do kids not know computers know?
title: Do kids not know computers now?
## date: 2022-03-28