Grace, or YouTube for education.


Hope, any of you, dear readers, have already heard about Massive Open Online Courses (MOOCs). It is an amazing way of using technologies in the right way, something which is quite rare for human beings. And despite the fact that MOOCs are a recent development, there are a lot of mobile apps which provide an access to the courses. This post is supposed to be the first one in a series of reviews of such apps for two mobile operating systems which I extensively use: Android and iOS. And the hero today is an Android app called Grace.

Platform: Android 2.3+.
Phone/tablet version: yes/yes.
Lectures source(s): YouTube.
Subtitles support: yes.
Download support: no.
Distinctive features: in-app note taking & synchronization, quick access to relevant Wikipedia articles.


India... Incredible India.

Past week the Aakash tablet was launched officially. It's an Indian low cost (~$50) 7-inch Android 2 tablet. It was just launched at October, 5 but actually 100,000 of devices are already sold. The buyer is the Indian government. While the retail version with some additional functionality (inbuilt cellular modem and SIM to access internet) will cost about $60, the government subsidized version is just $35!

In Russia president just started to think of providing students with free Wi-Fi at the universities and the "educational" tablet will be $370 (at least, there is some rumor that the price will be twice as high). In India over 1000 institutes are already equipped with high bandwidth Wi-Fi networks (and free web enabled courses) and tablet is on sale at a give-away price. Incredible India and the good old Russia ...


Mr. Tompkins in Paperback

I don't know whether your, dear reader, have your reading list or not, but I have. As for books in English I recommend you to use Shelfari which belongs to Amazon at present. But don't be afraid! This is not an advertising post about this service. :-)


GCC Link-Time Optimization. Part 3. Basic usage.


Hope you were able to install or build GCC with LTO support. Now it's time to give it a try!


GCC Link-Time Optimization. Part 2. Instalation.

Hi there!

The last time I've talked about LTO basics. In order to use such kind of optimization with GCC compilers you need to build them with LTO support. Starting from version 4.6 GCC compilers which supports LTO (C, C++, Fortran for sure) will be built with LTO support enabled by default. So you can try binary packages for your OS and quite likely compilers supports LTO.

For Windows I can recommend binaries from Equation Solution, for Mac - binaries from HPC for Mac OS X project, and for Linux distros you should try packages from official repositories.

If you want or need (for some reason) to build GCC with LTO support by yourself I have a quick guide for you.


GCC Link-Time Optimization. Part 1. Introduction.

Hi, everyone!

Some time ago I came to the conclusion that it might be a good idea to write some posts in English. I'll start with a series of small notes on Link-Time Optimization. And the first post is obviously an introductory one.


Дурное общество одной ... книги.

Среди книг, как и среди людей, можно попасть в хорошее и в дурное общество.
Клод Адриан Гельвеций

На днях попал в дурное общество одной книги. Роберт Гласс, Факты и заблуждения профессионального программирования. Хлам редкостный. Вообще, вся эта "околоИТшная" беллетристика (как в новом, так и в старом значении этого слова) вызывают стойкое ощущение тошноты. Мне очень нравится инициатива издательства Символ-Плюс по продаже электронных версий книг, но ассортимент ... Понимаю, маркетинг.


Снова об LTO, LLVM vs GCC

В начале августа я писал про link-time optimization в GCC 4.5. Пожалуй, самым главным недостатком того сообщения следует считать язык программирования, использованный в небольшом примере. Сейчас мы это поправим.


GCC 4.5 Link-time optimization

Оптимизация во время компоновки - одно из самых интересных нововведений в GCC 4.5. При компиляции с использованием опции -flto, в объектный файл дополнительно записывается некое промежуточное представление исходного кода (GIMPLE). Эта дополнительная информация используется на стадии компоновки. В итоге имеем тот же эффект, как если бы весь исходный код находился в одном файле.



Типизация должна быть статической. Динамическая медленнее. 
Ошибки в типизации должны быть пойманы на этапе компиляции.
Н. Вирт

Отвечая для себя на вопрос "Что вы думаете о динамических языках?", я, в очередной раз, вынужден сокрушаться: "Всё уже сказано за нас...". Именно такой вопрос в своё время был задан Никлаусу Вирту. Ответ вынесен в качестве эпиграфа. Добавить мне лично тут нечего. Теперь...

Но ещё несколько месяцев тому назад сомнения были. Развеял их Python. Static Typing vs Strong Testing. Ерунда!