With 2014 behind us and a fresh 2015 ahead, it is time again for a short look at this website’s achievements so far, and plans for the future.
I started this blog back in 2009, expecting the website to become just another a niche blog with a few geeky followers. 300 posts, 2800 reader comments, and 800K unique visitors apparently prove that Matlab’s advanced/undocumented features are important to a large portion of Matlab users. My pipeline of future articles continues to grow along with all other measurable quantities of website traffic.
Stats for nerds (and potential advertisers…)
Interest in this website grows steadily, continuing the trend from past years. To date, 794,000 unique readers, in 1.4 million visits, have read 2.5 million pages. The site’s audience grew, reaching over 11,000 unique visits (plus ~2000 RSS and email subscribers) per week. These figures are up about 40% from last year, a solid growth rate that keeps surprising me. In the following graph, the traffic dips are due to the annual December holidays. The growth trend is quite evident:
At the current rate, sometime in 2015 this blog will pass the million-visitors mark. How significant are the absolute numbers? I believe that my 2012 analysis still remains valid, so please refer there.
2014 in review
In 2014, I published 40 articles, including:
- several posts on customizing Matlab GUI: using an animated busy (spinning) icon, setting Matlab callbacks for Java events in R2014a, using Java GUI in deployed Matlab apps, using a
CheckBoxList, customizing listbox/combo-box items and customizing combo-box popups.
- several posts on Matlab’s new graphics engine (HG2): axes properties part 1, 2, 3 and 4, transparency & color gradient of plot lines and plot markers.
- a few posts on undocumented aspects of the standard HG system: transparency of uicontrols and uipanels, taking figure/axes screen-captures, button uicontrol highlighting, customizing bar plots and property value change listeners.
- several posts on Matlab-Java aspects: assessing Java object size in Matlab, Java class access pitfalls, checkClass, using a
CheckBoxListand using Java GUI in deployed Matlab apps.
- several posts on integration with external libraries: integrating Plotly charts in IPython Notebook and JSON-Matlab integration.
- during 2014, MathWorks have improved the appearance of their blogs section and added a new Matlab Examples section. I also wrote on Matlab’s new online edition.
- a couple of other posts, on serializing/deserializing Matlab data, workarounds for non-Latin strings, the undocumented features list and class-object tab completion.
- multiple performance-related articles: Improving Simulink performance, using multi-threading in Matlab (part 1, 2, 3 and 4), parallelized Matlab (standard and using memcached), uicontextmenu performance, function-call timeline profiling and the savezip utility.
- last but not least, a post on my new book, Accelerating MATLAB Performance. This book took me two years to write and another year to prepare for publication, and I’m really proud of the result.
As can be seen, quite a few posts deal with performance, which is one of my favorite topics, and the topic of my latest book. I expect to post more articles on this topic in 2015.
Writing a well-researched article takes time and effort. Unfortunately, I wasn’t able in 2014 to keep the pace of a weekly article from past years, as you can see from the summary list (Archives) on the right. I hope I’ll be able to do better in 2015. There’s no shortage of material, only too few hours per day and too few days per week…
2014 continued the trend in previous years of hosting articles by guest bloggers:
- Robert Cumming wrote about uicontextmenu performance and transparency in uicontrols.
- Andrey Dimitrov showed how to integrate Plotly charts in IPython Notebook.
- Mark Mikofski discussed using memcached for inter-Matlab data transfer.
- Karthik Ponudurai explained how to use pure Java GUI in deployed Matlab applications.
If you have any Matlab topic with an undocumented twist, I will be happy to post your contents here as well. Don’t be shy – email me (altmany at gmail) and I’ll help with the details.
Plans for 2015
I plan to continue posting about undocumented aspects of Matlab. Specific plans include additional articles on HG2 and performance aspects. I also hope to cross out additional items in my TODO list. Two long-overdue mini-series that I hope to get around to, are about Matlab-database connectivity and Matlab’s new toolstrip/ribbon.
Concurrently with the posts, I will continue to provide professional Matlab consulting and contract work for clients. If you have an interesting project that could use professional Matlab programming, please let me know.
In addition, I plan to develop commercial connector products to a couple of online services. My IB-Matlab product (connecting Matlab with Interactive Brokers) is very popular and I hope to have time to release other similar products.
Finally, I plan to continue providing advanced Matlab training courses/seminars. During the past year I provided customized on-site training courses in multiple locations, including Norway, Germany, Switzerland, Israel and USA.
If you are dealing with any advanced Matlab programming (if you read this blog then you probably do), consider inviting me for custom on-site training to improve your team’s capabilities. This is a unique opportunity to enhance your Matlab skills in a few days, at an affordable cost, by an established expert. If you have a specific topic that you would like me to discuss, then I would be happy to do it. In other words, I can customize the training to your specific needs, within the provided timeframe. Such advanced training is not provided anywhere else, and you’d be surprised at how cost effective this could be. If you are interested, please email me (altmany at gmail) for details.
Happy 2015 everybody!
– Yair Altman