With 2013 behind us and a fresh 2014 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 nearly five years ago, thinking it would be nice to post about a few dozen undocumented features. I had no idea whether this material would be of any use to Matlab users, and I expected the website to become just another a niche blog. In fact, I was not sure that at a rate of one article per week I would have enough content for more than a year or two.
250 posts, 2000 reader comments, and 500K unique visitors later, it is obvious that I underestimated the impact that this blog would make. 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 still grows steadily, continuing the trend from the past years. To date, 514,400 unique readers have read at least one article here (two on average), in almost a million different visits, reaching over 8000 unique visits (plus ~2000 RSS and email subscribers) per week. These figures are about 60% up from last year, so the upward trend continues although at a slightly lower pace than previously. In the following graph, the traffic dips are due to the annual December holidays and the site-overhaul in 2011. The growth trend is quite evident:
How significant are the absolute numbers? I believe that my 2012 analysis remains valid, so please refer there.
2013 in review
In 2013, I published 47 articles, including:
- several articles on undocumented aspects of MCOS – Matlab’s class object system (accessing private objects, object creation performance, specifying class property types, property access performance)
- several performance-related articles (sprintfc internal function, memory allocation performance, save performance, fwrite performance)
- several articles on 3rd-party plotting libraries (Waterloo, Waterloo #2, Plotly)
- several articles on integrating other useful external libraries (JGit, JTattoo, Matclipse)
- a few articles on undocumented aspects of interfacing to external software (undocumented MEX API, using Java 7 in R2013a and earlier, Matlab-latex interface)
- a few articles on Matlab’s internal math processing engine (BLAS/LAPACK/FFTW, sparse data, numerical gotchas)
- a couple of posts on customizing Matlab figures (toolbar/menubar, toolbar background color)
- several posts on customizing Matlab GUI (displaying animated GIFs, solving GUI hangs, internal Matlab bugs and workarounds, rich-contents log panel, editbox customizations, editbox real-time data validation, editable combo-box, complex professional combo-boxes, listbox layout)
- several posts on self-contained utilities that can significantly improve GUI appearance/functionality (uiinspect, propertiesGUI, treeTable)
- several posts on undocumented Handle Graphics (HG) aspects (default values, input args interface, Behavior property/functionality, ishghandle‘s extra input arg, draggable data-tips, and a very detailed review of the upcoming HG2)
- a few posts on undocumented aspects of the Matlab desktop (yet another command-window text color hack, Variables Editor scrolling)
- a couple of other articles, on parsing mlint (Code Analyzer) output and function-definition meta-info.
As can be seen, quite a few posts deal with performance, which is one of my favorite topics, and the topic of my upcoming second book, MATLAB Performance Tuning, which I hope to publish this autumn. I originally planned to publish it in early 2014 but research has steadily tripled the book size, from the envisioned 250 pages to nearly 800 (the CRC webpage still reflects the lower page-count). There’s a ton of new material in there, and it took me time to process and write. Anyway, I expect to post more articles on this topic in 2014.
2013 continued the trend in previous years of hosting articles by guest bloggers:
- Malcolm Lidierth wrote about the Waterloo graphics library beta and animation + web deployment.
- Chris Parmer wrote on the Plotly graphics library‘s new Matlab interface.
- Chris Albert wrote about Matclipse – the open-source Matlab plugin for Eclipse.
- Mark Mikofski wrote about integrating Matlab to the open-source JGit source-control repository.
- Yaroslav Don wrote on the Matlab-Latex interface.
- Pavel Holoborodko wrote about some undocumented MEX API functions.
- Oleg Komarov wrote on controlling scrolling in the Variables Editor.
- Roderick (who wishes to remain anonymous) wrote about retrofitting Java 7 on R2013a and earlier.
I am very pleased at the growing list of guest bloggers. 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.
In 2013 I was graciously invited by MathWorks and its country representatives to speak at 4 public events, of which I attended three. All events focused on my recent work on Matlab applications for finance and trading. I presented a real-time trading demo in two physical and one virtual Matlab conferences. Interested readers can see a recorded webinar of the presentation. Note that my participation in the MathWorks events does not constitute any official endorsement by MathWorks for my work. I would like to think that it at least acknowledges that I provide some benefit to the community by showing how Matlab can be used for real-life trading applications.
Plans for 2014
I plan to continue posting about undocumented aspects of Matlab. Specific plans include the much-overdue article on checkClass (this is a promise from last year that I failed to deliver, sorry…). I also hope to cross out additional items in my TODO list. Two mini-series that I hope to get around to, are about Matlab-database connectivity and Matlab’s new toolstrip/ribbon (again undelivered promises…).
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.
Finally, I plan to continue Matlab training courses/seminars. The upcoming event is in London in March 10-14. I plan two separate courses:
- Advanced Matlab Programming – 2 days (March 10-11), including best practices, preparing professional reports and performance tuning. US$ 999 until Jan 27, 2014; US$ 1199 for later registrations.
- Advanced Matlab Visualization & GUI – 3 days (March 12-14), including advanced visualization and GUI techniques. US$ 1499 until Jan 27, 2014; US$ 1799 for later registrations.
This is a unique opportunity to enhance your Matlab skills in a few days, at an affordable cost, by an established expert. This training is not provided anywhere else. 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 framework. Additional information on the London courses can be found here; general details on my training can be found here.
If you are interested in the London courses or a private dedicated course, please Email me (altmany at gmail dot com) for details.
Happy 2014 everybody!
– Yair Altman