Title photo
frugal technology, simple living and guerrilla large-appliance repair
Mon, 23 Mar 2015

Test your (or any) web site’s availability with Apache’s ab utility

Buried in this blog post is a great tip: Using the Apache web server utility ab to determine web site availability and speed.

Definitely check out the post (which is about hosting static sites on Amazon S3), and if you are interested, install ab, which comes bundled in Debian/Ubuntu style Linux systems in apache2-utils and in Fedora/RHEL/CentOS style systems in httpd-tools.

The article linked above gives you the command to install apache2-utils in Ubuntu/Debian, and I could provide a similar yum command for Fedora/CentOS, but you probably already know how to install packages both from the command line and a GUI, right?

(I'm not sure how you'd get the Apache utilities in Mac OS X or Windows -- maybe someone else knows.)

Once you have the appropriate package installed (I already had it and didn't even know it), you just run the ab program from a terminal. This line hits my site with 1,000 requests:

$ ab -n 1000 -c 40 http://stevenrosenberg.net/blog

And the output is:

This is ApacheBench, Version 2.3 <$Revision: 1604373 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking stevenrosenberg.net (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests


Server Software:        nginx/1.6.2
Server Hostname:        stevenrosenberg.net
Server Port:            80

Document Path:          /blog
Document Length:        309 bytes

Concurrency Level:      40
Time taken for tests:   4.828 seconds
Complete requests:      1000
Failed requests:        0
Non-2xx responses:      1000
Total transferred:      530000 bytes
HTML transferred:       309000 bytes
Requests per second:    207.14 [#/sec] (mean)
Time per request:       193.109 [ms] (mean)
Time per request:       4.828 [ms] (mean, across all concurrent requests)
Transfer rate:          107.21 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       71   82  32.9     76    1077
Processing:    76  106  31.6     96     431
Waiting:       76  105  29.9     96     282
Total:        148  188  46.7    182    1157

Percentage of the requests served within a certain time (ms)
  50%    182
  66%    189
  75%    199
  80%    209
  90%    232
  95%    259
  98%    283
  99%    312
 100%   1157 (longest request)

That's a pretty useful utility, am I right?

Note: So how did Ode do in this test? Very well. The site carries Javascript for Disqus and the Twitter and Google Plus counters, so it's not as light as it could be, and the speeds are no slower than for my entirely static sites on this same shared-hosting server.

And it also shows that Ode can easily handle 1,000 simultaneous requests. Not bad at all.

Sat, 07 Mar 2015

PulseCaster records both sides of your conversation - and I can confirm that it works

PulseCaster has a very simple GUI

So I'm looking for PulseAudio-related software today, and I come across PulseCaster, a Python application created by former Fedora Project Leader (and current Red Hat employee) Paul Frields.

It's a simple app. On Linux systems equipped with PulseAudio (which these days is most of them), it will record both sides of a conversation you are having on any application that pushes that audio over PulseAudio. The default is recording both sides of the conversation to a single OGG file. There is an "advanced" setting that records each side of the the conversation as a separate, uncompressed WAV file.

It's a simple app, and I can tell you that it works well. The wiki suggests that you use it with VOiP apps like Ekiga and Twinkle. Let me tell you now that it also works just fine with the non-free, freedom-hating Skype.

If you wanted to record a podcast, or just a VoIP call with someone else (and yes, PulseCaster warns you not to record without the other party's permission), it couldn't be easier than this.

PulseCaster's warning screen

PulseCaster is packaged for Fedora, but you can get the code from the links on the project home page (which is generated out of GitHub).

It's a simple app that works. What more could you want?

All the PulseCaster links you'll need: Wiki, GitHub, Home

Tue, 03 Mar 2015

Xfce 4.12 Copr repos available for Fedora 20 and 21

Thunar in Xfce 4.12

Copr repos are to Fedora what PPAs are to Ubuntu. And there are Copr repos for the new Xfce 4.12 that work on Fedora 20 and 21.

So what's new in the long-awaited Xfce 4.12? The Xfce news post details the changes, and an online tour provides a more graphical look at the new release.

I'm running Xfce 4.10 in Fedora 21, and there's nothing in 4.12 I can't wait for, so I'll probably be sticking with what I've got until the next Fedora (or other) release I upgrade to or install.

But it's nice to see development continuing for Xfce, which had quite a dry spell between 4.10 and 4.12.

A nice note at the bottom of the Xfce.org tour:

A note on Xfce's portability

All but one of those screenshots were taken on machines running OpenBSD -current, a good proof that Xfce is still portable and friendly to all Unix systems.

Wed, 25 Feb 2015

How to turn on tap-to-click in LXDE on Fedora 21

Almost all the tutorials on tap-to-click for LXDE are on how to turn it off, mostly in Lubuntu.

I've just started experimenting with LXDE in Fedora 21 and was surprised to find out that I can toggle tap-to-click in the configuration of Xfce but not in LXDE, where there is no tap-to-click out of the box.

I repeat: There is seemingly no GUI way to toggle tap-to-click in LXDE. I'd love to be wrong, but I fear I am not.

There is more than one way to turn tap-to-click on with scripts, or modifying xorg.conf or files in xorg.conf.d.

I just wanted something simple. I turned to the synclient utility (using it in the terminal).

First of all you can use synclient to check your setup:

$ synclient -l

And to turn on tap-to-click:

$ synclient TapButton1=1

Like I say above, there are ways to do this via Xorg, and probably other ways, too.

I'm not sure whether or not there is a GUI in LXDE to autostart scripts, but I notice that one of the choices in LXDE's Desktop Session Settings is Xfsettingsd, the Xfce Settings Daemon. Could that bring some of my Xfce settings into LXDE? It's probably worth a try.

But for now, just running synclient TapButton1=1 in the terminal gets me where I want to be.

Sun, 22 Feb 2015

Jono Bacon: Too much hierarchy kills your company, community, family (and anything else)

"Bobbing for Influence" by former Ubuntu Community Manager Jono Bacon, now community manager for XPrize, is an insightful look at a problem affecting many communities.

And if you don't recognize your organization, be it a family, project or company, as a community, you're doing it wrong.

Jono's articla is all about how rigid observance of hierarchy can really kill a company's culture, mission and even bottom line. The worst is when your boss/CEO/etc. thinks that acting like Steve Jobs is going to work. Steve Jobs was a genius. And an asshole. (The chances that you're a genius are slim. And the idea that genius only thrives when mashed up with asshole is stupid. Steve Jobs was an edge case who made thousands of other guys mock-turtle it up and steamroll everybody in their path. Not good.)

Be that as it may, Jono says it better:

A big chunk of the problems many organizations face is around influence. More specifically, the problems set in when employees and contributors feel that they no longer have the ability to have a level of influence or impact in an organization, and thus, their work feels more mechanical, is not appreciated, and there is little validation.

Now, influence here is subtle. It is not always about being involved in the decision-making or being in the cool meetings. Some people won’t, and frankly shouldn’t, be involved in certain decisions: when we have too many cooks in the kitchen, you get a mess. Or Arby’s. Choose your preferred mess.

The influence I am referring to here is the ability to feed into the overall culture and to help shape and craft the organization. If we want to build truly successful organizations, we need to create a culture in which the very best ideas and perspectives bubble to the surface. These ideas may come from SVPs or it may come from the dude who empties out the bins.

The point being, if we can figure out a formula in which people can feel they can feed into the culture and help shape it, you will build a stronger sense of belonging and people will stick around longer. A sense of empowerment like this keeps people around for the long haul. When people feel unengaged or pushed to the side, they will take the next shiny opportunity that bubbles up on LinkedIn.

Jono goes through 10 individual points on the problems of lack of influence in communities. I can think of few people who wouldn't benefit from reading this article. (I sure did.)

If this isn't a chapter in one of Jono's current books, it should be in his next one, for sure.