Welcome to jpope.org:
Filling this little place of the interwebz with crap since June 2011.
jpope.org is my playground. It is also my attempt at creating my own "Google". i.e. I have been and am working on getting it as my own one-stop-shopping place that I can use, all without using any third parties. This allows me to have full control of my data and privacy as needed.
I run the majority of my website from home, on an older Gateway desktop with an AMD Athlon 64X2 3800 and 3GB RAM. I am running ArchLinux on this machine. I also run a few sub domains from a micro Amazon EC2 instance which is running Debian Squeeze. Eventually, I will bring these pieces back home but, while I still qualify for the free tier with Amazon, I'll leave them there. This move home may be coming soon as my free tier status runs out in Dec 2012.
After compiling and maintaining this list, I've realized that I've installed (or had installed at one point) the majority of the web server installable projects listed at libreprojects.net. Not sure how I managed to do that but, I may as well check out some of the other projects on the list.
Here you will find a list of some of the pieces that I use/have used/may use in the future while building my site. Each of these projects are open source and all are quite fantastic.
If you would like to contact me about any of these projects (or any other matter), please check my contact page.
First things first:
jpope.org is not affiliated with @sandersch's nipple.
jpope is a suitable noise level.
jpope is the caffeine king.
jpope has "the most self-hosted apps installed on your server than anyone else I know :)". - via email with aqeeliz
When I decided to start a weather radar image archive, I went on a search for a lightweight, dynamic photo gallery. That search led me to Bizou. Bizou is a simple drop into place and start using sort of application. My radar archive is simply a few bash scripts, using
wget to grab a few different images and dropping them into specified directories. Bizou doesn't use any database and will auto generate the thumbnails and links needed for any images within its image directory. It fully follows the KISS philosophy.
Drupal is the base that I use for the top level of my site. When I initially started my blog, I used Whird (which is where the whird sub domain comes from) and I came to a point where I was interested in trying another base. After testing a few different CMS, I decided on Drupal. Partly due to the flexibility, the large community with plenty of modules and themes. A Drupal site can be as simple/minimalistic or as full blown and over the top as you want. Drupal was my second stop for my blog but have since moved it to another base.
A few of my favorite modules that I use:
The current theme is a creation of my own, so if it's broken somewhere, it's somewhat expected. It is a AdaptiveTheme subtheme that started with the default subtheme that comes with the theme. If you are interested in my theme, I have it on gitorious.
After screwing up my email server many times, I've resorted to using a family account at Fastmail which has been quite nice. Setup has been quite easy and have Roundcube setup on my server to do the bulk of my emailing. A Fastmail family account allows for use of your own domain, has spam & virus scanning, IMAP and POP support and (most importantly) no ads.
Etherpad Lite is a nodejs based real-time document editor that many people can edit at the same time and the edits are synced across all users. It also highlights each users text in different colors, has built in chat and some formatting options. You can also playback a time line of each document from the initial creation to the current revision.
I set up a Firefox Sync server so that I could reduce more dependence on another third party. FF Sync will sync your bookmarks, passwords, history, add-ons, etc. across multiple FF installs, including FF mobile.
I have tried to beautify the crap I write by using a couple of fonts that I find pleasing. Some days, even these fonts will not help the poor writing that goes on around here...
Currently using these two fonts via @font-face.
Licensed under UFL Version 1.0
GNU FM is the software that runs libre.fm. It is intended to be a FOSS replacement for last.fm so that you can build a music community for sharing what you listen too.
My first pastebin was using Stikked, which is a quite good pastebin. The only issue with it that I was having was accumulating spam, which is a manual process to get rid of with Stikked. Eventually, I came to a point where I was going to just start using static txt files to paste code snippets. And then I came across Hastebin. Hastebin is a simple pastebin that runs on nodejs. It uses a Redis back end and also has a client that can be used at the command line to quickly and easily paste something. Considering that most times that I want to paste something so that someone else can see it, I'm at a terminal, it's perfect. Also, to control spam, Hastebin (due to it's Redis back end) can expire pastes after a determined amount of time after being accessed. I currently have a 7 day expiration time set so, if a spammer pastes something in, it'll most likely never get accessed therefore, it'll drop out of sight eventually. You can also set some pastes as static and those will not 'expire'. Some of this is somewhat manual but, seeing that I was going to go with static files anyway, this provides some extra usability as an actual pastebin.
To go along with my XMPP server and IM account, I now have Jappix installed to provide a webclient that can be access via both desktop browsers and mobile browsers. It will not completely replace a desktop client (such as Pidgin, mostly due to the admin options of Pidgin but, it works great for conversations. Also, you don't have to have an IM account on your domain to use Jappix. You can use any XMPP account with a local install provided you know it's BOSH server address.
Libravatar is a Gravatar replacement which provides you with a single avatar that can be used across multiple websites. I am currently using Surrogator to do the processing and serving of the avatars. There are also plugins for StatusNet, Friendica, Wordpress, Drupal (basic support with the Gravatar module) available already. Hopefully, in the future, more sites will support it. There is also another version of the server that I may look into in the future.
As any freedom loving geek knows, Oracle is an evil company. One stickler of this is that they own MySQL, which is a standard implementation of the LAMP stack. It's not required however, a good portion of the webapps available that require a database have MySQL support as being the main focus for their database. One way to free a server from the clutches of Oracle is to use MariaDB. It's a drop in replacement for MySQL and has higher performance at the cost of using slightly more RAM. This can be tailored back as needed. Other than that, everything "Just Works" as well (or better) than with MySQL.
My conversion to MariaDB took maybe fifteen minutes and most of that was just me making backups prior and checking things out after.
MediaGoblin is a platform to share photos, videos, audio and more. The project is still quite young but is very mature for it's age. While it is another decentralized tool, it doesn't currently have the federation capabilities however, that is planned on being added in the near future. This will give you the ability to share/comment/interact with other MG instances such as how you can with StatusNet and Friendica. The contributer community for MediaGoblin is fantastic and has proved to be very helpful in getting my instance setup and running.
After trying a few other options, I've turned to MPD for my music services. With MPD I have a stream(s) that I can access anywhere I have an internet connection, on a PC, phone or tablet. There are many clients that can be used to control the MPD server as well. This has freed me from making sure that I copy my music to whatever device that I'm currently using. I currently have multiple streams set up for different connection speeds. And using OGG streams means that even my low quality stream for accessing on cellular networks sound great.
Muppy is a URL shortening service that was created by corenominal and was derived partly from the ur1.ca shortening service. I have managed to integrate my Muppy instance with both Drupal and StatusNet. Muppy doesn't have any stats included but, it does have a 'visit a random page' function. Sometimes fun to grab a random page, although, sometimes it's NSFW depending on what links you've shortened...
I have now migrated my webserver to Nginx. Nginx is a high performance http server and reverse proxy that has an extremely low footprint concerning system load. It is especially good at serving static content and can handle many more requests that Apache. Overall, it was well worth the migration.
Being able to access my files across devices and PCs is done with OwnCloud. It also has a few other features such as contact and calendar sync, a music player and photo gallery. There is a desktop client that can automatically sync files to your OwnCloud instance as well. OwnCloud has replaced Dropbox and at one point, replaced Google Music for me as well. (I now use MPD for my music streaming)
I have Piwik collecting visitor stats. I’m only doing this as I find it interesting to see where everybody is from and what they use. Initially, I was using another site to get the flag counts however, I really didn’t feel comfortable having a 3rd party with the/your data. You can opt out of all this by clicking here. Aside from displaying the visitor stats here, I have absolutely no plans with this data.
My XMPP server is using Prosody. Setting this up was fairly straight forward as I followed the Arch wiki. XMPP is a real-time messaging service providing instant messaging, chat rooms, voice and video, etc. It is compatible with Google Talk (since gtalk uses XMPP as it's base) so, chatting with people using google services it possible.
Pump.io is a nodejs based social networking platform. It is described as "a stream server that does most of what people really want from a social network." There is currently quite a bit of development happing with pump.io being in the early stages. Yet, it is quite usable once you get used to the flow of it. Accounts are available on my instance, otherwise check out the try it page for a randomly selected E14N server.
Seeks is a collaborative search tool that aggregates results from many of the other established search engines. This works by connecting to other Seeks nodes and clicked results are encrypted and sent to the connected nodes as being 'recommended'. My node also is fully anonymous and also has SSL.
Semantic Scuttle is a web based bookmark manager that makes it easy to create and share bookmarks. It also makes it easy to tag and search for bookmarks and with multiple users it has a voting system to rank the bookmarks.
SimpleID is an OpenID provider. Once it is setup, you can use it to log into sites that offer an OpenID login. While I could use my StatusNet instance (or Drupal with the proper modules) as my OpenID provider, I wanted something separate so that I could login to SN and/or Drupal, allowing me to only have one OpenID. Once I got it going, it has been rock solid, unlike what caused me to want to install it in the first place.
StatusNet is my preferred social networking platform. Initially, I was an Identi.ca user and have moved to my own instance. StatusNet provides a twitter like experience, while being 'Federated'. Meaning that you can run an instance on your own server and connect to others running their own instance. Running StatusNet can be challenging at times but, I have learned quite a bit about running a web server just with my playing around with SN. I have a few blog posts concerning SN, which can be found at this link and a page of a few handy links found at this link.
Also, check out the !feds group if you are interested in setting up your own instance.
TTRSS is simply a web based RSS aggregator. With it you can subscribe to feeds and have a single place to read them much like Google Reader. The web interface is quite nice and has many key binds built in. There is also an Android app as well as the ability to connect to TTRSS with a few various desktop applications.
I have recently moved my blog to WordPress. I had issues with a couple points while having it on Drupal that caused me to migrate. A few of those points were being able to use a client (on the desktop, phone or tablet) and some #federation options such as OStatus. I just couldn't get these items to work with Drupal 7 although it looks like it may have been easier with Drupal 6. None-the-less, WordPress is an extremely popular platform and a very complete solution for a blog/website base. The number of plugins and integration options are staggering.
My initial plugin list consists of:
- Creative Commons Configurator
- IP Filter
- Limit Login Attempts
- Markdown on Save Improved
- Memcached Object Cache
- Nginx Helper
- OStatus for WordPress
- StatusNet Widget
- WP Status.net
Yourls is another URL shortening service that I have installed. I haven't really started using it but, it seems quite nice. In case my Muppy shortened URLs start becoming too long, I may switch to a Yourls instance with a shorter subdomain name. Yourls is a quick and easy install, has options to edit URLs and stats for each of the shortened links.
I have a private photo gallery set up for my family to access which uses Zenphoto. I have previously used Gallery3 and gave Piwigo a serious consideration before settling on Zenphoto. Over the years, my photo server (a Seagate NAS) has gathered 35,000+ photos and finding web software that can handle it while being secure has proved to be a small challenge. In the end, Zenphoto can dynamically load my photo directories that I have symlinked in and with a little extra config and Nginx rules, I've managed to (hopefully) keep the photos in the gallery from the public eye. And seeing that the majority of the photos in the gallery are of my kids, keeping the photos private is of great concern. Zenphoto is quite easy to maintain and has quite a few options and extensions.