This is a minor tip I want to share. A little example of a nice software feature that made my day.

I've been messing with HTML scrapping and I took a look on xmllint (maybe new) features. My intention was to extract a particular pattern, for which the --xpath option could be fine. I've never been very good tuning xpath expressions so I made a search about how to approach this. I found an amazing feature of the xmllint shell mode. As explanation here I show the workflow used:

get your document, I used and HTML one

I didn't tested with broken HTML but you can test it with xmllint --html

get into shell: xmllint --html --shell [document], keep in mind [document] can be a remote URI.

in the shell mode you can search for a precise string, in my case I chose the one inside the desired pattern: grep [string]

here is when magic happens: xmllint answers with the xpath expression you can use for a xpath query

Here it is the first release of Thinkfan,
a simple and lightweight fan control program, for Fedora. As a thinkpad
user so it's obvious what my interest is, but developer assures now can
manage other computers fan too.

It's not trivial to build Bitcoin in Fedora since it uses Elliptic Curve
Digital Signature Algorithm (ECDSA) «a cryptographic algorithm used by
Bitcoin to ensure that funds can only be spent by their rightful
owners», a feature of OpenSSL which has been restricted in
Fedora due to patents concerns.

To circumvent this obstacle package includes pristine sources of
OpenSSL from upstream and builds it for the sole needs of bitcoin
compilation and static linking.

Notes about this release:

This is supposed to be fully operational; if you find a
disarrangement please report through comments below.

Support of UPNP is deactivated for a while. I'll fix this as
soon I get miniupnpc decently bundled.

Some love is pending to make rpmlint happy.

It, sadly, doesn't build with Mock. The cause is some of the juggling
for compiling the upstream OpenSSL. I'll try some workaround for it.

If you rebuild de src.rpm in your system you must remove the
openssl-devel package to avoid conflicts.

If I got satisfied about the final results I probably postulate it to RPM Fusion, since the patents concerns
restricts it in Fedora. If someone is interested on taking the
responsability of maintain it I'll be very happy to let it.