Pulp – software repository management.

Pulp is a platform for managing repositories of content, such as software packages, and pushing that content out to large numbers of consumers. If you want to locally mirror all or part of a repository, host your own content in a new repository, manage content from multiple sources in one place, and push content you choose out to large numbers of clients in one simple operation, Pulp is for you!

What is the shortest and most effective code ever written?

Quora runs the question, that by now has plenty of awesome answers.  But this one is my favorite so far:

The ‘true’ program in Unix from the 1970s was an empty file. The shell interpreted that as a shell script which ran and resulted in no error status, so the result was zero. Zero is the shell exit code value that represents ‘success’ or ‘true’ within if and while clauses.

So, no program can be shorter than that. And it was entirely effective at meeting its specification.

False was much longer, being

exit 1

Once lawers got in, both programs were sullied with plenty of copyrights. BSD also eventually established a format for identifying shell scripts explicitly, and those codes got added to the file too. Eventually, ‘true’ stretched to hundreds of bytes of copyrights on top of the shell script format intro code. Now, annoyingly, Linux and Mac OS have made it a compiled binary program. In Ubuntu, it is a 22K binary with an 18K code size. Ugh.

At least writing a correct C program for true can be very short. It is one of the few C programs that should require no #include files, and can be simply:

int main(void){return 0;}

Of course make sure to add lots of copyright notices.

Upgrading to Skype 4.3 on Linux

Today Skype failed to log me in on one of my Fedora Linux laptops.  That, I guess, is a part of the force upgrade to Skype 4.3.  While doing so, I came across two issues:

  1. Download Skype page is broken in Google Chrome.  After choosing the Linux distribution nothing happens.  Switching to Firefox helps.
  2. The new, upgraded Skype crashes about 2 seconds after a successful login.  When started from the command line, a simple Aborted message is displayed.  Nothing more.  (Maybe because I have core dumps disabled).  After a bit of Googling around, all you need to do is rename your ~/.Skype/ folder into something else and restart Skype.  This will lose your history, some settings, and edited contact names.  But the Skype will work and your contacs will still show up in correct groups.

No “thank you” to you, Microsoft.  Huge thank you to you, Google.  Once again you saved the day.

Terraform – infrastructure automation and management tool.  It complements configuration management tools like Puppet and Chef, as well as infrastructure building tools like CloudFormation.  The beauty of it is that it is tool and cloud agnostic.  You can use it to build and maintain infrastructure across multiple clouds.

Upgrading Fedora 14 to Fedora 20 is always fun!

I’m upgrading my wife’s laptop from Fedora 14 to Fedora 20.  That’s plenty of fun!  I’ve done this before with other machines, but memory isn’t my strongest suit.  First, preupgrade fails complaining that there are no repositories anymore.  That’s to be expected, with even Fedora 18 being passed end of life.  The replacement for preupgradefedup – isn’t yet available for the releases that old.  Digging around I found a DVD with Fedora 19, which would work just fine, if only upgrade option hasn’t been removed from the recent Fedora releases.

So the only option that I see, except for a complete fresh install, is to follow the yum upgrade path.  Which is a bumpy ride, but it did get me to the destination before.  So here we go …

$ yum clean all
$ rpm -Uvh http://.../releases/16/.../fedora-release*rpm
$ yum upgrade
$ yum update
$ reboot

That’ll get me to Fedora 16. Try the preupgrade/fedup option to go to Fedora 18. If not there, repeat the above. Then go to Fedora 20. Jumping more than 2 releases at a time is not recommended.

Good luck!