Categories
blogging code diy slackware

Check Slackware Changelog using conky

Yesterday I was wondering what’s the best way to update Slackware, and I decided to keep a local mirror of the current branch on my nas, I can mount the directory using the NFS protocol when I need it and the nas can go check for updates and fetch them during the night while I sleep and the network is idle.

The real problem is that I used to rely on Conky to check for updates to the current tree by issuing a slackpkg check-updates, but having slackpkg use my local mirror, it will always say that there are no updates, because the mirror is always updated. So I decided to bypass the mirror for the sole purpose of checking the changelog, and I came up with this script:

#!/bin/bash
 CL="https://sunsite.icm.edu.pl/pub/Linux/slackware/slackware64-current/ChangeLog.txt"
 LOCAL_CL="/var/lib/slackpkg/ChangeLog.txt"
 TMP="/tmp"
 TMPCL="${TMP}/ChangeLog.txt"
 if [[ -f ${TMPCL} ]]; then
     rm $TMPCL
 fi
     wget -q -P ${TMP} ${CL}
     if [ "$?" != 0 ]; then
         echo "Error checking updates…Wait until next try."
     fi
 NCL=$(head -n 1 ${TMPCL})
 LCL=$(head -n 1 ${LOCAL_CL})
 if [[ ${NCL} != ${LCL} ]];then
     echo "Updated packages available!"
 else
     echo "No news is good news!"
 fi

Now I just download the Changelog.txt file from a trusted mirror, using head I check for changes in the first line between the latest file stored by slackpkg and the one I downloaded and if I find a difference I output a line to conky.

This script is made to be run by Conky and usually I have it run once every 12 hours if my pc is on for that long.
I hope someone find it useful 😉

See you on the next one.

Categories
network

enabling cast to chromecast in latest chromium builds

I’ve tried for some time to get casting to work after Google stopped the cast extension because it is now builtin inside chrome/chromium, so I looked around and found out how to enable casting to chromecast devices from inside chromium browser. To do so, simply paste this line in a browser tab:

chrome://flags/#load-media-router-component-extension

In my case the media router component was set to “default”, so I disabled the media router component, after doing so chromium will ask you to relaunch the browser, after it has loaded again enable the component again and relaunch the browser one more time. Now try casting and it should work, simple as that!!

Categories
code diy WordPress

new plugin – WordPress.org stats for plugin developers

dnxwporg banner
danixland wporg stats plugin

I’m back at writing plugins, this time I wanted a simple way of displaying all the plugins I developed on my website, so I decided to dive in the WordPress.org API documentation to understand how could I do to get a list of all the plugins I have, hosted on the Plugins directory for WordPress.

Categories
code diy linux

GIT – how to setup your own server

Hello everyone,

I recently decided to move all my code under GIT, I’ve used it before and I’ve used also SVN, but I find GIT to be more straightforward in some aspects.

In order to use git I needed a place online where to store my projects, and I thought that github could be a good place, but the fact that you have to pay to keep a project private just didn’t sound right in my opinion. Of course github is there to make money (specially now that M$ bought it), but I prefer to have a simpler setup and be able to do things my way as much as possible.

So I started planning what I wanted my git server to have. Here’s a list:

  • Security – I decided to make it work only under ssh, that way only someone who has the key can clone or access the repository. I also added an unprivileged git user that has only access to very few commands, so even if somebody manages to access through ssh he’ll find himrself with only very few options available.
  • Notifications – my server already tells me a lot of what happens, so I wanted my git service to do the same. I implemented a mail service that notifies me every time a new repository is added or everytime there’s a push to a repository.
  • Automation – I wanted to have less steps possible between creation of the project and deployment to production. Now in two steps I can create a repository and clone it to my local computer, and when I’m done I just need to push my modifications and the code is deployed automatically.
  • Visibility – I haven’t yet decided if I want my code to be visible, so I haven’t even started thinking about this possibility.
Categories
code diy

playing with colors

Today I decided I wanted to have a little “old school” fun, so instead of working on some WordPress theme/plugin, I went for the “lemme write some php from scratch” approach.

I was having a look at some color palettes for **I’m not gonna tell ya**, and it was quite hard for me to mix them together in my mind and decide which color goes where and how to use it, so after thinking about it for a while, I decided I’d narrow my options to 6 colors per palette, and in order to better visualize them, I wrote a small php page to help me.

It’s actually very simple, there’s a large preview where you can modify each color on the fly, and then you can send them to a fake page preview. that’s it.

I put it on github, just in case you want to give it a look.

Let me know what you think about it. Cheers 😉

Categories
blogging code diy WordPress

New WordPress plugin: danixland contact form

I even made a cool looking banner for the plugin’s page on WP.org

And here we are. Another WordPress plugin is coming to life.

This time I was looking for a simple contact form to use on a customer website, and after a little testing I decided it would have been much more interesting to build one myself so, after just a couple of weeks, my contact form is ready to hit the Plugin Directory on WordPress.org.

It’s actually waiting for review but if everything goes well it should be out in the wild in the next few hours.

Categories
blogging code

software development process

Categories
code diy fotografia

gify.sh – back to bash scripting

gif image created using gify.sh

Today I’ll present you a useful script that will help you create amazing gifs from your still photos using a couple tools from the IMAGEMAGIK suite, so without further ado, here it is, straight from github’s gists.

download in zip format

what the code does is quite simple, it takes a few arguments and helps you resize your images while keeping the original proportions. Put the code in your path and let’s put it to work.

Categories
code WordPress

I found out about asciinema + a new WP plugin

Yesterday I was looking at a website, and noticed they had some animated .gif going on showing some bash commands, so I started looking around for ways to record my shell while I use it, and that’s how I found out about asciinema.org,

Categories
code diy kde4

kde4 material design splash screen

splash screen consistent with the material kdm theme I wrote, animated using qml

I can’t believe I’m back after just a couple of days with another article, and this time I’m going to show you (and let you use) my kde4 splash screen, it uses qml for rendering all of the neat animations while loading the various components, with smooth transitions between the various items.

as I said, it uses qml to render in all of its beauty, with spinners and icons going on and off depending on the various modules being loaded in the system.

Once again, the background image comes from unsplash.com and the icons are mostly Genericons, only some of them came from searching on Google.

download kde4 splash theme