I blogged somewhat recently about my interest in, and inaction around, static site blogging, where you write blog posts, use an app to turn them into plain HTML, and then drop them somewhere on the web, with no shadow of potentially/eventually vulnerable PHP and MySQL cranking away to deliver dynamically what needn’t be dynamic.
I hadn’t yet pulled the trigger on ditching WordPress yet, preferring instead to satisfy my desire for writing posts in plain AsciiDoc-formatted text by copying and pasting rendered AsciiDoc into WordPress, or using this AsciiDoc-to-WordPress script to pump in posts through the WordPress API.
Mainly, what I was missing was for one of my bad ass colleagues to take the crazy box of lego pieces that get dumped out in front of your feet when you ask Google about static site blogging, make some smart choices, and build something that I could come along and tinker with. I mentioned before that I messed around with Awestruct and found it way too raw for me. After their own more able-minded examination, my colleagues agreed, and came forward with Middleman.
After poking a bit through Middleman, I felt comfy enough to adapt it for my own, extremely simple blog. I got a basic layout in place, and set about converting my WordPress posts into something workable for Middleman. My plan was to use AsciiDoc for my new writing, but most conversion scripts target the more popular Markdown. I found a script — I’ll look for the link — that did an OK job converting, but I had to delete some of the “front matter” bits that I didn’t need, and a few of my URLs rendered wrong. I’ve tried a few different tools for WordPress-to-SomethingStatic conversion, and they’ve all needed some hand-tweaking. So, low-frequency blogging FTW! I didn’t have too many posts to hand-tweak.
Now on to a REAL problem — comments. One arguably important dynamic chore tackled by WordPress is accepting and managing blog comments. Most static blogs either do away with comments all together (easy to steel yourself for this decision after reading comments at Youtube or your local newspaper’s web site for five minutes) or, sites go with the hosted Disqus comments service.
I’ve bounced between Disqus and WordPress comments in the past, and have been happy with Disqus. They take the load off your site, and allow your page (with the help of something like wp super cache) to be mostly static, since all the dynamism happens, in javascript, in your reader’s browser. Also, I like the way that Disqus knits siloed discussions from all over the web into something a bit more unified. You have posts and comment threads spread everywhere, and Disqus sort of pulls them together, and, through easy options for tweeting out a link to your comment, offers a way to pull in others.
Switching from WordPress comments to Disqus comments means switching from a possibly self-hosted system to a definitely not self-hosted system, and that’s a concern for many, particularly given the greater chances for privacy chicanery at sites out of your control. However, Disqus does a really good job importing from and exporting to WordPress, so even though I’ve swapped back and forth a few times, I’ve never had trouble getting my mitts back on my data, and that’s my number one concern with using a hosted service.
BUT, there’s still another important issue. WordPress is open source software, and Disqus is not. I’m big on open source software — I’m not opposed to using anything proprietary, not sure how I’d use my oven with a no-proprietary-ever stance, but I’m keen to see open source spread, so swapping something that’s already open to something that is not is a concern.
As usual, I approached the oracle of Google and, in fairly short order, was directed to Juvia, “a commenting server similar to Disqus and IntenseDebate.” It sounded perfect, and not completely abandoned, although the demo site wasn’t working, and its discussion forum (served from the terrible terrible why-does-anyone-use-this Google Groups) appears to have been wiped from the earth. Why not more activity around what appears to be a much-needed project?
It may be because Juvia is a Ruby on Rails app, and while mysql/php hosting is handed down from the sky at little or no cost, ruby hosting is not. I saw one discussion of Juvia v. Disqus in my travels that boiled down to: “You could use Juvia, but hosting costs, so, use Disqus, which is free.”
But, that gentleman mustn’t have been aware of OpenShift, where you can host all sorts of different apps in the service’s free tier. I turned again to Google and found a few Juvia on OpenShift quickstarts. I used this one, altough this one seems more official, though a bit less up-to-date.
I spun up Juvia in one of my OpenShift gears, spun up another just to host my static blog files, and poked at my layout HAML until I got them working together. I used Juvia’s WordPress comments importer to import my WordPress comments (which took some work), and here I am.
Now, I am going to write all this up into a how to, but I need to do a bit more polishing — you don’t want to follow the steps I followed, you want to follow the steps I would have followed, had future me paid me a visit first.
Till then, though, this is my first new, non-stub post in the new blog. With open source, self-hosted comments.
Hi there, I hope you enjoyed my “Pushing Puppet (to its limit)” talk and demos from Puppet Camp D.C., LISA 2013. As requested, I’ve posted the code and slides. Here is the code: https://github.com/purpleidea/puppet-pushing This module will require three modules … Continue reading →![]()
Learn how to install, benchmark and optimize this popular, shared-nothing and scalable open-source distributed filesystem in this special 12 page report.
Please provide your email below for …
Yesterday we had the opportunity to run a Gluster Community Day at USENIX LISA in Washington D.C. Turns out it was well worth the time, as we had a fantastic group turn up for some really excellent talks.
The crowd wasn’t large, but it was clearly a group that was interested in GlusterFS and associated projects, like puppet-gluster. Having the right crowd is almost always better than having a big, but disinterested, crowd.
Planned to write up a post to summarize the event, but it looks like James Shubin has beaten me to the punch with a fantastic post on The Technical Blog of James. Be sure to check out James’ post, and if you’re interested in Gluster, Puppet, and other technical goodness, put his blog’s feed in your favorite reader. (He’s also on Twitter as @purpleidea.)
Many thanks to the attendees for turning up, and to Wesley Duffee-Braun, Eco Willson, and James for giving some fantastic talks and Gluster wisdom.
Don’t forget, we also have a Gluster Birds of a Feather (BoF) here at LISA on Thursday. Join us at 8:00 p.m. in the “Hoover” room.
Email is a fantastic tool, when used correctly. It almost never is. Rikki Endsley asked me if I’d like to write something for USENIX ;login; logout, and it happened to be right after processing a slew of terrible email: people sending two-line replies at the end of several hundred lines of text, inexcusable top-posting, HTML-ized […]
Yesterday we had the opportunity to run a Gluster Community Day at USENIX LISA in Washington D.C. Turns out it was well worth the time, as we had a fantastic group turn up for some really excellent talks. The crowd wasn’t … Continue reading →
I’m here at LISA 2013 at the Gluster Community Day. I’ve been asked by Joe Brockmeier to give a little recap about what’s been going on. So here it is! Wesley Duffee-Braun started off with a nice overview talk about … Continue reading →![]()
I’m speaking at LISA 2013, the “Large Installation System Administration” conference. This conference runs all week in Washington. I’ll be giving two talks during the week, and attending at least one BOF. My first talk is on Monday during the … Continue reading →![]()
Install And Use SALTStack In A Mixed Environment
Salt is a new approach to infrastructure management. Easy enough to
get running in minutes, scalable enough to manage tens of thousands of
servers, and fast enough to communicate with them in seconds….
Going all the way to Washington D.C. for USENIX LISA next week? There’s lots to do at LISA (hint: Red Hat events, Fedora events) but if you want to get out and meet some of the local DevOps type folks who might not be at LISA, you might want to check out the DevOpsDC meetup […]
![]() |
| Never “exit” again. |
Why TMUX?
Even developers, in todays climate, have to deal with multiple deployment scenarios and environments. Some of use more than others — but in any case, every day, when I start work, I have to ssh into a VPN. Then, i have to ssh into 2 or 3 servers to check on them. I find myself creating new ssh terminals all day long and manually resizing them with my mouse.
And then when my ssh connection dies, i have to redo it all – and i lost my history š
Rather than managing your terminals manually, its best to install tmux on a server thats always on. At that point – you can simply ssh into the server and attach to your tmux session. Since tmux multiplexes your terminal windows for you, you never have to worry about losing connectivity – if you do – all your work is still in place on your server , and to get back to it, you just ssh in and run tmux attach.
Why another post on TMUX?
Sometimes the simplest way to get started is to follow a recipe that gets you started… So do this, and even if your ssh connection dies, you will never again have to worry about losing your terminal histories and neatly organized layouts.
The image in this post is an image of what you should end up with : 3 windows, all on a server , that you can switch back and forth between using [ctrl – b] + arrow keys.
Do this:
First install it:
#Do something like this
su -c 'rpm -Uvh http://mirror.steadfast.net/epel/6/x86_64/epel-release-6-8.noarch.rpm'
yum install tmux
Now that its installed, create a new named session, and detach from it:
tmux new -s mysession
[ctrl + b] + d
tmux attach -t mysession
FYI, a great summary is here of commands to customize your layout : http://lukaszwrobel.pl/blog/tmux-tutorial-split-terminal-windows-easily . C+P Here for convenience:
- Ctrl+b " - split pane horizontally.
- Ctrl+b % - split pane vertically.
- Ctrl+b arrow key - switch pane.
- Hold Ctrl+b, don't release it and hold one of the arrow keys - resize pane.
- Ctrl+b c - (c)reate a new window.
- Ctrl+b n - move to the (n)ext window.
- Ctrl+b p - move to the (p)revious window.
So lets create some tabs now.
[ctrl + b] + % #this creates a tab on the right side for you
[ctrl + b] -> #this switches you into the right tab
[ctrl + b] " #this further splits the right tab into another vertical terminal
And thats it !
Oh and dont forget this awesome trick that rearranges all your windows for you (hit it multiple times – and each time you get a different configuration).
[ctrl + b] <SPACE> #rearrange windows. keep spacing till you get the desired arrangement.
We’ve been pushing out more info about our upcoming Gluster Days next week in London on October 29 and Frankfurt on October 30. The agendas are solid – if you attend, you will have a very solid grasp of the Gluster Community, what you can do with GlusterFS, how do develop apps with it, and …Read more
A few weeks ago, “Software Defined Storage” and “Open” were all the news in the “cloud” industry as EMC announced they had an “Open” “Software Defined Storage” solution. I heard the news and rolled my eyes. Yeah, right. … but I was busy with real lif…
GlusterFS communicates over TCP. This allows for stateful handling of file descriptors and locks. If, however, a server fails completely, kernel panic, power loss, some idiot with a reset button… the client will wait for ping-timeout (42 by the defau…
As aweseome as HDFS is, the beauty of a FUSE mounted FileSystem is the fact that you can monitor everything using standard *inx utils (well – as long as they are happening locally at least, thanks martin for pointing that out – see comments below)…&n…
Oh, hi there. In case you’re interested, I’ve just made a first release of my puppet-shorewall module. This isn’t meant as an exhaustive shorewall module, but it does provide most of the usual functionality that most users need. In particular, … Continue reading →![]()
As a long-time Ubuntu user, I’ve worked to make sure that Debian and Ubuntu are first-class citizens in the Gluster Community. This is not without its challenges – most Gluster developers live in the Fedora/CentOS/RHEL hemisphere, and the GlusterFS version available in Ubuntu is a rather old 3.2.7, two major releases behind the latest and …Read more
LinuxCon and CloudOpen Europe are just a few days away, and the line-up for talks looks really good. If you’re putting together your schedule, we have a couple of suggestions for talks that you’d probably find interesting. The full schedule … Continue reading →
The Gluster Community would like to congratulate the OpenStack Foundation and developers on the Havana release. With performance-boosting enhancements for OpenStack Block Storage (Cinder), Compute (Nova) and Image Service (Glance), as well as a native template language for OpenStack Orchestration (Heat), the OpenStack Havana release points the way to continued momentum for the OpenStack community. …Read more