Skip to content

Commit

Permalink
Publish P2P album post
Browse files Browse the repository at this point in the history
  • Loading branch information
dasanchez committed Jul 17, 2020
1 parent 13ed623 commit f802fcd
Show file tree
Hide file tree
Showing 5 changed files with 113 additions and 11 deletions.
5 changes: 4 additions & 1 deletion assets/css/style.scss
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,6 @@ div .web-app-name, div .project-name {
background-color: #fff;
padding: 0.6rem;
padding-bottom: 0;
// width: 80%;
}

.project-thumbnail {
Expand All @@ -107,6 +106,10 @@ div .web-app-name, div .project-name {
background-position-y: calc(-2vw);
}

#p2p-album-thumbnail {
background-image: url("/assets/img/thumbs/baby-photo-static.svg");
}

#digitize-thumbnail {
background-image: url("/assets/img/thumbs/digitize-model.png");
}
Expand Down
81 changes: 81 additions & 0 deletions assets/img/thumbs/baby-photo-static.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 0 additions & 1 deletion posts/opencv-python.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,6 @@ I add the video filename to the `args` array in the `launch.json` file, and now

![OpenCV with ffmpeg](/assets/img/07/04_OPENCV_FFMPEG.PNG)


I am currently porting all...a lot of the samples and exercises in [O'Reilly's Learning OpenCV](http://shop.oreilly.com/product/9780596516130.do) from C/C++ to Python. Check out [this Github repo](https://github.com/dasanchez/opencv_study) for lots of simple OpenCV examples.

Questions? Comments? [Give me a shout!](/about)
21 changes: 13 additions & 8 deletions posts/p2p-photo-album.md
Original file line number Diff line number Diff line change
Expand Up @@ -141,15 +141,15 @@ This setup does have a side added benefit of redundant data backups (assuming yo

## Bonus: Hosting on a BeagleBone

Now, what if I need a bit more availability and I don't want to dedicate a full-blown computer to serving the website? I have a couple of single board computers around, so I dusted off the a [BeagleBone Green Wireless](http://beagleboard.org/green-wireless) and have been using it as a "Beaker mirror" for the last couple of months.
Now, what if I need a bit more availability and I don't want to dedicate a full-blown computer to serving the website? I dusted off a [BeagleBone Green Wireless](http://beagleboard.org/green-wireless) I had lying around, and I have been using it as a "Beaker mirror" for the last couple of months.

I followed the following steps once I had network access to the Beaglebone:

1. Set up a microSD card as external storage.

I flashed the Beaglebone in such a way that the onboard flash (4GB) worked as the main boot drive, and followed the instructions by Miles B. Dyson to [add microSD as extra storage](https://linuxpropaganda.wordpress.com/2018/10/10/beaglebone-black-add-microsd-as-extra-storage-in-ubuntu-server/).
I flashed the BeagleBone in such a way that the onboard flash (4GB) worked as the main boot drive, and followed the instructions by Miles B. Dyson to [add a microSD card as extra storage](https://linuxpropaganda.wordpress.com/2018/10/10/beaglebone-black-add-microsd-as-extra-storage-in-ubuntu-server/).

At this point, I have an 8GB microSD available in the `/media/microsd/` folder.
At this point, I have an 8GB microSD card available in the `/media/microsd/` folder.

Make a `hyperdrive` folder in the microSD folder:
```
Expand All @@ -165,7 +165,7 @@ Install the `n` module for `node.js`:
dante@beaglebone:/media/microsd$ sudo npm install -g n
```

`n` is a tool that allows you to run different versions of node.js on your computer.
`n` is a tool that allows me to run different versions of node.js on the same computer.

Then, set node.js to version 12.18.2 (that is the stable release version for ARM as I write this):

Expand Down Expand Up @@ -199,13 +199,10 @@ dante@beaglebone:/media/microsd$ dat-store add hyper://[hyperdrive key]

Once the BeagleBone has synced to the latest version of the photo album, I am free to turn off my computer! The BeagleBone will stay on to make the files accessible to whoever requests the hyperdrive.

## Credits

Thanks for all the folks at the Dat Foundation, Beaker Browser, and RangerMauve for all the work and help

## What's next?

In no particular order, I would like to make the following upgrades:
I would like to make the following upgrades:

- **Add photos through a web interface**

Expand All @@ -215,3 +212,11 @@ Instead of copying files from my phone to a local folder, I would like to have a

This is the most complicated of the bunch, and goes hand-in-hand with the previous point. I will need to really think this one through and probably get more familiar with the Beaker/Hyperdrive API to find out how much of a challenge it would be.

## Thanks

- To the folks at the [Dat Foundation](https://dat.foundation/) and [Beaker Browser](https://beakerbrowser.com/) for all the work you have put into these projects!
- To [RangerMauve](https://github.com/RangerMauve) for all the help and tips you have given me!

---

Questions? Comments? [Give me a shout!](/about)
16 changes: 15 additions & 1 deletion projects.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,20 @@ layout: default
### Build Notes and Tech Write-ups

<div class="projects-container">
<div class="project-item">
<div class="banner">
<a class="banner-link" href="/posts/p2p-photo-album">
<div class="project-thumbnail" id="p2p-album-thumbnail"></div>
<div class="project-name">
<span>Make a P2P Photo Album</span>
</div>
</a>
<div class="project-description">
<p class="project-header">Publish a website from your own computer!</p>
<p>I make a case for using peer-to-peer protocols over centralized hosting services.</p>
</div>
</div>
</div>
<div class="project-item">
<div class="banner">
<a class="banner-link" href="/posts/digitize-model">
Expand Down Expand Up @@ -116,7 +130,7 @@ layout: default
</div>
</a>
<div class="project-description">
<p class="project-header">Setting up a toolchain for cross-compiling.</p>
<p class="project-header">Set up a toolchain for cross-compiling.</p>
<p>I collected these notes for developing Qt-enabled software for a Beagleboard on a Linux Mint machine.</p>
</div>
</div>
Expand Down

0 comments on commit f802fcd

Please sign in to comment.