In plain English this means that after ten years there won't be a free version of Movable Type you can download anymore (not as in beer and not as in speech).
]]> In the clarifying post, Six Apart cites financial reasons for this decision, which is certainly understandable: they have to get revenue from somewhere after all.They also express the desire to help the developer community by making it easier to sell extensions to the product. This is also the reason for releasing parts of the new MT6 under the MIT license.
Personally I'm afraid that the move to a paid-only version will further reduce the market for extensions/plugins/themes, as many of the remaining 'free' users will undoubtedly migrate to other platforms. It remains to be seen if the paying users will make up the difference. Experience with other platforms certainly shows 'free' users are willing to pay for plugins, themes and extensions.
But then again, there aren't that many free users of MT left anyway, so I can see why Six Apart would want to focus on larger, paying clients that need the features of MT that make it a great CMS for larger installations (static publishing, multi-user/multi-blog, multiple publishing methods, templating system with hierarchical includes, advanced role management...) but which aren't really critical to smaller blogs. Â These larger users will and certainly can pay for custom work, so as an MT developer I can certainly see myself making a living there.
Still, the passing of the 'free' days of MT definitely marks the end of an era, if only for sentimental reasons.
I heard there will be more announcements and clarifications coming in the next few days, and that there might still be options for people wanting to use MT for free in the future, so keep watching movabletype.org!
]]>The MT installation on which Movable Tips runs has over 200.000 entries in the database (mainly because it also runs Trendolizer) and the upgrade took less than a minute. Â Nice
]]>perl tools/run-periodic-tasks --verbose
What greeted me were screens and screens full of this:
Argument "\x{32}\x{30}..." isn't numeric in multiplication (*) at /usr/lib/cgi-bin/mt/tools/../lib/MT/Asset/Image.pm line 255.
Argument "\x{32}\x{30}..." isn't numeric in numeric eq (==) at /usr/lib/cgi-bin/mt/tools/../lib/MT/Asset/Image.pm line 173.
So what *was* going on? Â I had a look in the file that was mentioned in the error message, and started printing out the value of certain variables to STDERR in order to find out what the 'non numeric' value was it was complaining about. Â Turns out at some point an attempt was being made to divide a number by the string '200px', somewhere in a function that was trying to calculate the width and height of a new thumbnail. Â That didn't sound right...
I grepped around the templates of my site for the string '200px', and found this tag, sitting inside an MT:Entries loop with 60 entries, in an index template that was being republished every minute:
<mt:assetthumbnailurl width="200px">
And '200px' is not an acceptable value for the 'width' attribute here. Â It should have been a plain number. Â But the bad value didn't cause any error message or interruption, it just failed silently and the URL for the 'full' image was returned instead.
In other words, every time the loop ran, sixty attempts would be made to create thumbnails for these images because there were none yet, and they would all fail. Â So in the next iteration a new attempt would be made. Â And again. Â And again...
Just getting rid of the 'px' fixed the issue, as now the thumbnails could be created correctly and no new attempts would be needed during the next republish.
I'm happy to report that my server load is now back to normal levels. Â And that I submitted a feature request to Six Apart for more input checking on certain tag attributes :-)
]]>Also, when a blog uses the 'Rainier' theme, the entry editor seems to automatically switch to a mode with the same column width, so you can actually see where line breaks etc. will happen.
As to the new 'boilerplate' feature, I haven't actually been able to find out how to use it.  The manual says you can insert boilerplate texts in the edit entry screen once you have created one or more, but I can't seem to find a button for it right now.
]]>@tombogman De huishoudster van de Sint, echtgenote van professor Van Den Uytleg,,,
-- Maarten Schenk (@mschenk) November 17, 2012
And then inspiration struck me: there must be thousands of questions on Twitter that never get a reply.
]]> What if I could help get them answered?So sunday night I built YouAsked.it, a little website that shows you a random question pulled form the Twitter API and gives you 30 seconds to reply.
On monday morning IÂ posted it to /r/webdev on Reddit, where it got to #1 with 102 upvotes (so far).
Tuesday morning I emailed a few blogs just for the hell of it, thinking they'd never pick up news about a little weekend project. Â And then this happened:
You Asked It! Turns Twitter Into Chatroulette, But Without The Nudity tcrn.ch/Y0o2eK by @thatdrew
-- TechCrunch (@TechCrunch)Â November 20, 2012
After that the site has been popping up on sites around the globe, (and the number of tweets about it now tops 11.000):
So, let's see where this goes next.  I already launched four versions in other languages:  Dutch (uvraag.be), French (repon.se), German (dufragst.es) and Spanish (pregunta.do). If you have an idea or request for another language let me know.  Other suggestions welcome too...
]]>If a link is deemed sufficiently trending, Movable Type's Perl API is used to create a new entry, along with an optional image asset. Â Title, description and image are taken from the OpenGraph tags found at the URL, if possible. Â In other words, much like what happens when you share a link on Facebook.
Publish queue and Bob the Rebuilder then take care of getting the site updated as fast as possible. Â Meanwhile, the perl scripts keep tracking the sharing rate of the links in question, and if it goes higher still the custom field holding that info for the entry gets updated as well.
New stories are tweeted out automatically, with an optional hashtag based on which 'subtrendolizer' they are posted on (there are about a dozen sections, for example books, movies, tech...)
Using the sharing rate the main page displays both a chronological listing of trending stories and a 'Hot list' that shows the most shared items.
The individual entry templates are extremely lightweight but show a lot of extra content fetched in via various javascript APIs: tweets and reddit submissions about the item, a graph showing the evolution of shares/likes over time and Facebook comments.
Since this is a site with an international audience, dates and times are pretty meaningless unless the time zone is included. Â But nobody will ever recalculate to their local time anyway, so on the main page relative dates are used ("1 hour, 20 minutes ago"). Â Since the main page is republished every few minutes anyway, these stay 'up to date'. Â But the individual entries normally aren't republished frequently, so there the GMT date/time is used but it is converted to a relative date/time using moment.js.
Internally in Movable Type, Trendolizer is a website with about a dozen blogs below it. Â Each blog uses the same theme, and most of the theme templates basically include modules that live at the website level. Â This makes changing a particular template (for example the header or the sidebar) very easy to do.
The entire system runs fully-automated with no human editors at all. Â And in my experience, it is quite good at catching breaking news stories and viral trends right when they start taking off. Â But don't take my word for it: have a look for yourself (and check back a few times during the day).
]]>