Animal ДжаZ Concert at Aurora, December 25, 2011
That was a great concert. At the time it seemed to me to be one of the best ever held at Aurora.
That was a great concert. At the time it seemed to me to be one of the best ever held at Aurora.

The new Mac OS X was introduced just 8 months after the release of the previous major release, OS X Lion 10.7. And it is supposed to ship already this summer, that is, only a year after the previous version. Either they have moved macOS to a faster release schedule, or some big event is being prepared and Lion was only a setup for it.
There is a lot of talk about iOS and Mac OS X merging. They have already been united into the OS X family. In 10.7 various ideas were borrowed from iOS; judging by the 10.8 preview, the borrowing continues. Apparently the merger really is happening. Essentially, applications and solutions from current iOS 5 are moving into the new Mac OS. At least that is how it looks to the average user.

Messages is the recently introduced iMessage in iOS, a chat app for users of Apple products. To hell with SMS: just pay for data traffic. Although SMS/MMS had already existed in iOS before. Even if that seemed to be the only advantage of iMessage, it was somehow immediately clear that this app had not been made for nothing. Apple is working more and more on the ecosystem. Everything integrates with everything else, communicates, coexists. And iCloud fit into this perfectly, although personally I still have not found any other use for it besides massive synchronization, which, in my opinion, is a very useful thing. Now iMessage is moving onto Macs and lets not only iOS device owners chat, but ordinary Mac users too. Messages is supposed to replace iChat, which was a simple IM client with a small number of supported protocols. Basically a Jabber client. They also tried to integrate it into the ecosystem, with Mobile Me I think, but my feeling is that it did not catch on. I know only one person who uses iChat. And if iChat out of the box did not become very necessary for people, iMessage was practically forced onto iPhone owners by replacing their SMS/MMS app. First they got iPhone owners hooked, and there are presumably far more of them than Mac users. Now they have brought it to desktops, meaning they approached from the other side. Personally, I like that approach. On one hand it is an innovation, and on the other its essence is already familiar to you.
Messages will kill iChat and SMS messages inside Apple's ecosystem.
Notification Center: the idea in iOS was good, but so far, for me personally, it has not been especially useful. I rarely go there and do not see much practical value in it. Why the hell do I need stock quotes sitting there all the time? I would gladly remove them, but Apple did not give that option. Weather is of course useful, but I constantly open the app itself anyway (and third-party alternatives). Maybe out of habit. I kept expecting that over time it would become possible to embed some similar third-party widgets there, or write them myself, but so far that is not there, and whether it ever will be is unclear. I do not really see much practical value yet. Maybe it will help get rid of the damn pile of icons in the top bar near the clock that apps keep stuffing there. Even that is debatable: which is more convenient, an indicator or a list of events? But one thing, judging by the video, is certain: this puts an end to Growl. The guys who made it did a great job, of course, and the project was free for a long time, and they deserve the couple of bucks they now ask for Growl in the Mac App Store. But in principle all of Growl's functionality is already in Notification Center, judging by Apple's video. The only thing Growl can do now (I read this on Habrahabr) is act as some kind of proxy for apps that still do not support Notification Center: catch messages from them and send them to NC for display. But over time everyone will move to direct NC support anyway.
Notification Center will kill Growl.

Reminders: I do not have many thoughts here. A regular TODO list; there were plenty like it before Reminders on iOS. And it is not all that different from some note-taking utility. In the iOS version, for me there was only one indisputable advantage: geolocation-based reminders. You set a reminder for some place, and when you get there, the reminder fires. True, the one time I tried it, it did not work :) . Why such a thing is needed on the desktop is not very clear. The only plus is, again, synchronization through iCloud. There is some value there, and again it is a plus for syncing data between devices. But Evernote, for example, can handle that perfectly well too.
Reminders may give Evernote a small kick. But I do not see much point in it.

Notes: notes are a necessary and useful thing. Notes that sync between devices and computers are even more useful. That is exactly why Evernote became so popular. Evernote will be the first to suffer from this app. True, only inside the OS X ecosystem. For Windows, I think, there will not be such an app. But for those who have only Mac OS X and iOS devices, Evernote no longer seems particularly necessary. You can insert photos and video, links, into notes. And all of that out of the box. I think that is cool. And again, it is a new feature, but already a familiar one.
Notes will hit Evernote hard, but will not kill it.

Game Center is very important in popularizing Apple's ecosystem. Among computer users there are quite a lot of people who like to play games. Not just schoolkids and youngsters, but perfectly grown adults too. Apple noticed (or maybe was intentionally moving toward this) that game developers' interest in the platform had grown. iOS showed that you can make good money on games in Apple's ecosystem, and users of Apple products buy them and play them willingly. Since the Mac App Store followed the App Store model for iOS, the same scheme may work on desktops too. In the top paid apps in the iOS App Store, most are games. At last it is no longer only Blizzard releasing serious games for Mac OS, but other strong game developers too. There is a reason several Assassin's Creed titles appeared on macOS, and Mafia II is also an indicator. Rockstar released 3 GTA titles for macOS, and I think GTA IV, which for now is only on consoles and PC, is not far off either. And GTA V may also come out for macOS. Apple introduced Game Center, which is an under-social network and really more of a scoreboard for gamers: it records who scored how many points where, how many achievements they collected, and who ranks where worldwide. Gamers like such scoreboards and willingly buy into them (I do too). So Apple is creating conditions both for players and for game developers, so that there will be more games for Mac OS.
Game Center does not seem to have anyone to kill. It is simply encouraging.
Among the other highlighted new features were Twitter integration, as in iOS, and various smaller things.
To sum up, Apple continues to improve the ecosystem and build up its power. Everything is intertwined, maybe the two operating systems will eventually merge into one, after all Jobs said when introducing the iPad that it was a device that sits between a computer and a mobile phone. Everything is lining up into one line, everything is being tied together, and at the same time the consumer desire to have everything from the lineup remains: a phone, a tablet, and a computer. Massive synchronization is not only a trend, but also a very convenient thing. And iCloud was not started for the sake of that small handful of features it had at launch. Everything is still ahead. Maybe Apple, if it implements cloud-based work everywhere, will even be able to argue with the still unfinished Chrome OS in terms of «turn it on, log in, and have access to all your data».
There is a feeling that Apple gathered the best things built within iOS and started bringing them into Mac OS. In principle they have said exactly that ever since the Lion premiere, but it feels like they did not take only their own ideas. Although all these notes and other cloud-connected things are logical, some aftertaste remains. They could have made some kind of integration with services like Evernote, for example. Of course, it is not that simple, and depending on a third-party service is not ideal, but on the other hand they did not try to write their own Twitter, yet they still integrated with it.
What still does not cease to surprise me is that all the main innovations are things already familiar from iOS. So besides improving the ecosystem, they are also pushing the user toward using new features: you have already seen all of this. Fear of the new and unknown disappears. It is easier for people to start using an old new thing. On top of that they are moving toward simplification. Why have separate notes on iOS and Mac OS? Everything is merging. In all of this I personally see a very logical and probably very long-planned development strategy. A multi-year plan. It is multifaceted and beautiful, effective and therefore so popular.
By the way, Microsoft is also moving in the same direction of unification and bringing at least the interface to something common, with Windows Phone 7 for phones and Windows 8. Windows 8 is designed not only for tablets; the developer preview was released as an operating system for PCs. Maybe they did this to make life easier for developers, so they would not have to buy tablets and could start churning out apps already now. But perhaps they foresaw this development plan from Apple and prepared in advance for similar competition.
Watching the development of competing operating systems and their ecosystems is becoming more and more interesting. In my opinion there is the least interesting development happening in the *nix world, although Ubuntu One is an attempt too. We will see what Google can offer with Chrome OS. While they are still polishing it, its uniqueness is evaporating.
We climbed Teide volcano on Tenerife. It takes a little over an hour by bus to get to the base. Then we had to wait for the cable car because it was not working due to the wind. We were already thinking that we would never get there after all. But it did start working. The cable car takes you up to an altitude of 3500 meters above sea level. After that, with a special permit (I think from the national guard), which can be obtained through the website, you can climb up to the crater itself. In the end you find yourself at an altitude of 3710 meters, at the highest point in Spain. Those 210 meters along a stone path shaped like stairs were not easy. Cold, wind, lack of oxygen. You run out of breath every 20 meters and have to stop to catch it. Your heart pounds like crazy. But it is worth it. The beauty is indescribable; you are standing above the clouds, and you can even see the island of Gran Canaria from above. You do not think very clearly, but I climbed onto the highest rock I could find. The crater itself is nothing special: a rounded depression, the smell of sulfur, and in some places white smoke breaking out from under the stones. But the views there are amazing. I shot a little video. Almost without any editing, we just laid the video over music.
Music: Jon Hopkins - Insides.

Today was the 3rd day of the DLD 2012 conference (Digital, Life, Design). A couple of thoughts, just to reason them through.
VKontakte has existed for about 5 years already, it seems. During that time Durov had only been seen in public once, at an event called Highload++, where he talked about the technical side of VKontakte.
In recent years all public-facing duties were handled by journalist Vladislav Tsyplyukhin, which, according to him, was why he had been hired. Durov himself, according to Tsyplyukhin, considered communication with journalists, interviews, and other events to be a pointless waste of time that he could spend on something useful.
Because of that secrecy, there were even rumors that Durov did not exist, that he was a fictional character, part of the image, that nobody had seen him.
Today those myths were dispelled after Durov's public appearance.
The talk was dedicated to Wikipedia, and Durov briefly spoke about VKontakte, presenting the social network as vk.com. Wikipedia is, in my view, more of a reason for the talk, although you cannot accuse Durov of hypocrisy here: even a schoolkid understands how important Wikipedia already is for the world. But it was all arranged beautifully: the first public appearance at a major conference, where many people in the West, I think, had not even known about VK. The timely Megaupload topic, a donation of 1 million dollars in support of Wikipedia: all of this, to me personally, looks like a beautiful entry onto the international stage.
It is not enough to announce somewhere that yes, we also have a project no worse than Facebook, with tens of millions of visitors per day. You have to grab people's minds so they start talking about you. And here the wow effect kicks in: the owner of the project donates a whole million dollars to Wikipedia. People's subconscious and associations start working.
I don't know what will happen next, but VK's entrance onto the international stage has happened. Despite Durov's nervousness during the talk, which many people point out. Considering that this was Durov's first such talk, and at this level, I think many people would not have been able to say anything coherent in a non-native language in his place at all.
The entrance really was elegant: here we are. We are not just another startup; we are already 5 years old, we have enormous popularity, and we came here not to attract investors and ask for your money: we have money, after all we do support Wikipedia with a million dollars. And the pattern is quite common: a project is represented by one person. Just as Facebook is associated with Mark Zuckerberg, or Google with Brin and Page, VK will be associated with Durov.
If this had not been such an important step for VK, Durov would hardly have come out of the shadows and personally gone to present the social network he created. They even changed the logo for this. I don't know how successful it is: for people who associate VK with the Cyrillic «ВКонтакте», it may have become unclear, but for the West it may be perfectly suitable. Besides, the logo does not just contain the name of the social network, it is designed as an icon, which I have always liked in many logos.
I think that's all. I wish VK and Pavel Durov good luck in their new endeavors.
About speeding things up. A couple of useful points.
As is well known, browsers limit the number of simultaneous connections per domain while loading a site. Because of this, site elements are loaded sequentially. Every image/js/css file is a separate connection. If there are many such elements on a site's pages, you can speed up loading by moving static assets to subdomains. For example: s1.domain.com, s2.domain.com, and so on. So if the browser has, say, a limit of 5 connections per domain, now you get 5 connections for each subdomain. If you spread everything out correctly, load speed can theoretically increase almost fivefold.
The downside: the number of simultaneous connections to the server also grows. With the same site traffic, the number of connections grows by about 5 times as well (if you have 5 subdomains). If Nginx is the frontend, it has a limit on the number of connections in its config. And since there are now 5 times more connections, it also has to do more work at the same time than before. So with this acceleration we are also pushing Nginx closer to its simultaneous connection limit, and as a result the site may fail to open for the user or some files may simply not be served during loading.
The Nginx logs will show an error like:
"...socket() failed (24: Too many open files) while connecting to upstream..."
To see the current limit from the console:
ulimit -n
To see it nicely formatted like this:
nginx: worker process
Limit Soft Limit Hard Limit Units
Max open files 1024 1048576 files
Currently open files: 945
nginx: master process /usr/sbin/nginx
Limit Soft Limit Hard Limit Units
Max open files 1024 1048576 files
you can run this in the console:
for pid in `pidof nginx`; do echo "$(< /proc/$pid/cmdline)"; egrep 'files|Limit' /proc/$pid/limits; echo "Currently open files: $(ls -1 /proc/$pid/fd | wc -l)"; echo; done
To change the limit:
ulimit -n 16384
They also write that you can simply add this to the Nginx config:
worker_rlimit_nofile 16384
and restart it.
What was shown.
Traditional books are losing to electronic ones today in terms of effectiveness. To help education, they made a new version of iBooks called iBooks 2.

iBooks 2 was built with a focus on interactivity: video, animation, images, and apparently something else as well. Overall, it's still just a reader. Many magazine apps can already do all of this.

Useful things like notes are there too.

iBooks 2 is available today already, and a new section with interactive books should appear in the App Store.

But what is much more interesting is the new software package for Mac OS: iBooks Author.

As the name makes clear, this app is for creating books for iBooks. The tool promises to be very simple, to work together with Keynote, and in addition to text it lets you create interactive elements, add widgets to a book, and even write them yourself in Javascript and HTML. iBooks Author is free, which is fairly rare for Apple software. And again, it is available today.

Essentially, Apple gave people a toolkit for creating interactive books, one simple enough that even an ordinary teacher can understand it. And if you want something more complex, write your own interactivity in HTML+Javascript.
Apple gets a direct benefit from this: increased iPad sales, and most likely a cut of book sales. Education is a perpetual field, and people now have more reasons to buy an iPad.
In my opinion, this is excellent, definitely not unnecessary. You can make both serious books and just some learning materials. All of it is always with you on a single iPad. Now anyone can create their own educational publication, complete with interactivity, which is way more interesting for learners (well, anyone who owns a Mac :) ). And most importantly, there is another way to distribute a book now. It is simpler and more accessible. It is also much easier to keep the information in your publication up to date, and people will receive corrections or updated information quickly and easily through an update.
And all of this under the banner of improving education. As Phil Schiller said from the stage during the event: "That is reinventing the textbook".
It looks like this year we can expect an abundance of different books, including bad ones, just like what happened with the App Store. And a lot of articles on the topic "Apple is killing printed books". Once again Apple made a major step first in some direction, even though all year different people will try to convince everyone otherwise.
The second thing was iTunes U. To be honest, until now I never really understood what it was. Now they have updated it and you can create your own educational courses, and people can subscribe to them.

They made a new iPad app: iTunes U. It gives access to courses: materials, announcements, notes, and a to-do list. From the app you can send a person directly into iBooks to the exact place in the text, for example the place they need for homework.

iTunes U is free, but you will have to pay for books and courses. And it is also available today.
I really want to try it myself and see what it is like. Distance learning in action?
So that's basically everything they showed. There was no new iPad; the focus was entirely on software.
The Apple ecosystem has expanded even further. It's cool that students today have toys like this. I still remember with hatred the lines at the university library and that idiotic bureaucracy with stamps in every building.
I discovered a useful thing in iOS development: the Prefix.pch file, a Precompiled Header.
From the description, Precompiled Headers are compiled, cached, and then automatically included into every file being compiled. So if there is some class that is needed everywhere or almost everywhere in a project, you can include that class inside the Prefix.pch file, which is created automatically in a new project, and it will be available everywhere. I really didn't like having to include the same class again and again in every View Controller when it was needed almost everywhere.
They also say that including files in Prefix.pch speeds up compilation later, once it and all files included in it have already been compiled once. But when you change the Precompiled Headers or the files included in them, compilation time goes up instead. So it's better to include code there that changes rarely.
It's also a good place to declare constants. That way they will also be available throughout the whole project. I don't like including a constants file everywhere either.
The automatically created AppName-Prefix.pch already contains so-called Preprocessor Macros. Here is an example of such a file:
#import <Availability.h>
#ifndef __IPHONE_3_0
#warning "This project uses features only available in iPhone SDK 3.0 and later."
#endif
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import "YourEverywhereNeededClass.h"
#endif
#ifdef DEBUG
#define DLog(...) NSLog(@"%s:%i %@", __PRETTY_FUNCTION__, __LINE__, [NSString stringWithFormat:__VA_ARGS__])
#define DescLog(...) NSLog( @"%@", __VA_ARGS__ )
#endif
#define kNameOfConstant @"Constant Value"
Line 10 imports a file that is needed throughout the project.
Line 14 creates a custom function that prints the passed value, first showing which class, which method, and which line it was called from. For example, DLog( @"arm1.ru" ) will print:
-[SecondViewController viewWillAppear:]:84 arm1.ru
Class SecondViewController, method viewWillAppear, line 84, value "arm1.ru".
Line 15 is simply a convenient function: for example, to print values in an array to the console you normally had to write NSLog(@"%@", array) or NSLog( [array description] ). It's long and clumsy; much nicer when everything is short.
Line 18 defines a constant.
All in all, it's a very useful thing.