Java still top programming language, PHP at 6, JavaScript at 7

The TIOBE Programming Community index is an indicator of the popularity of programming languages. The index is updated once a month. The ratings are based on the number of skilled engineers world-wide, courses and third party vendors. Popular search engines such as Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube and Baidu are used to calculate the ratings. It is important to note that the TIOBE index is not about the best programming language or the language in which most lines of code have been written.
The index can be used to check whether your programming skills are still up to date or to make a strategic decision about what programming language should be adopted when starting to build a new software system. The definition of the TIOBE index can be found here.

Source: TIOBE Software: Tiobe Index

This index is one of those things that is easy to find and easier to forget about in the noise of the Internet but it is the best way to get a quick read on the languages being used in the real world. Too often we are over influenced by “flavor of the month” projects and languages that distort how work is really getting done in the broader world. I’m not surprised that Java and C are the top languages since those are the languages of choice for most business applications. Python, PHP, and JavaScript are the core academic and web languages. The thing that makes me smile is that Ruby ranks below Perl. And COBOL is still in the top 20.

Serving multiple #CALIcon15 presentations with reveal.js

I have 4 sessions to present at CALICon15 this year and that means a lot of slides. Over the past few years I’ve tried a number of different approaches to putting together presentations including using outlines, wikis, AsciiDoc with deck.js, even plain old web pages. This year I’m giving reveal.js a try.

Reveal.js is a framework for easily creating beautiful presentations using HTML. It includes a lot of really handy features including speaker notes and a multiplexing plugin that allows viewers to follow a guided version of the presentation. The full installation gives me a nice node.js infrastructure that serves the slides and all I need to do is write an HTML file for each presentation.

Of course the basic installation instruction show you how to grab the code, then create and serve a single presentation. Even though I’m using git for versioning, I didn’t want to keep up 4 separate repos or even branches of code. I want to have all the HTML for the presentations in a single directory, in a single repo. I needed to figure out how to serve up multiple presentations from a single reveal.js installation.

It turns out there is a quick way to do this. I copied the included index.html to sample.html, for future reference and edited index.html into a single slide that links to 4 other html files. Each of the other files contains one presentation. This gives me a single code base for all the presentations and easy access to all of the features of reveal.js.

My presentations for CALIcon15
My presentations for CALIcon15

For my next step I’m going to give the multiplexing feature a try so folks can follow along. I think that there a lot of potential here for law schools to make use of this sort of tech in the classroom. Fast presentations that are shared directly with students would be something worth looking into.

Scrollback, an open source alternative to Slack

Nurture your community with meaningful conversations.
Create rooms based on your interest or follow existing ones.
Share ideas, discuss realtime and redefine your online community experience with Scrollback.

via Scrollback, where communities hang out.

While relatively new and still adding features, Scrollback is the closest thing I’ve seen to to open source Slack. Once running it’s eady for folks to join and start participating right away. This is a project worth keeping an eye on. The code is on GitHub at   https://github.com/scrollback/scrollback.

Written mostly in Javascript it requires Node.js, Postgres, and Redis to run.