Архив за 08 октября 2013 - 3

Предыстория

Чтобы летом держать мозг в тонусе я скачал себе сборник головоломок. По началу задания были довольно простыми и не особо требовательными к проявлению логики, но по ходу игры чувствовалось нарастающее усложнение.
В какой-то момент я застрял на головоломке под названием «Китайские шашки». Редкие потуги решить её своими силами не приносили особых плодов на протяжение долгого времени и в итоге я отложил свои муки с решением до лучших времен.
Закончилась зимняя сессия, а до начала учебы еще пара недель — чем не «лучшие времена»? Я заглянул в интернет, дабы проверить есть ли у данной головоломки вообще хоть какое-нибудь решение, и первые же результаты поискового запроса убедили меня в том, что оно действительно существует.
Я не стал подглядывать в прохождение, мне хотелось дойти до него своими силами — или самому решить, или написать программу, которая найдет мне это решение. Однако напрямую применить силу мозга мне так и не удалось, я явно упускал из виду что-то принципиально важное для нахождения решения.
— «Ну всё, пусть эта головоломка поговорит с моим многоядерным другом!» — пронеслось у меня в голове, и я сел за написание брутфорса.

Читать полностью »

Вместо предисловия


Для начала хотелось бы сказать пару слов о новомодном тренде в области веб-дизайна и дизайна интерфейсов — плоском дизайне (Flat UI).

Flat, очень хорошо играет на контрасте. Metro особенно сильно выделяется в сфере UI.
Можно провести небольшую параллель: посмотрите на это надгробие. Оно прекрасно, не так ли?

image
Крупнее

Но. Оно выглядит прекрасно только потому что другие надгробия не такие же, в других надгробиях на этом фото слишком много деталей, форм, изгибов.

Однако если на кладбище все надгробия будут такие же, как это, тогда это будет ужасающая серость и беда. Прелесть минимализма именно в контрасте.

Другой яркий пример контраста минимализма

Возьмём другой пример, зажигалки Zippo. Представьте, вы заходите в бар и у всех посетителей в руках зажигалки Zippo разных расцветок и форм.
Windows Phone 8 такая, какой её задумали разработчики

И тут вы достаёте свою минималистичную Zippo Black.
Windows Phone 8 такая, какой её задумали разработчики
Она элегантна своей простотой. Среди пестрящей вычурности других зажигалок ваша, скорее всего, будет наиболее сильно выделяться из общей массы.

Но давайте теперь представим обратную картину.
У всех посетителей в руках минималистичная Zippo Black и тут вы заходите с золотой Zippo с красной вставкой и выдавленной трубкой. И на этот раз уже ваша далеко не минималистичная золотая Zippo будет привлекать внимание посетителей.


Минимализм не должен быть в мейнстриме, ни в коем случае.

Его нужно внедрять маленькими порциями там, где всё очень вычурно, очень нагромаждено, усложнено. Но стоит минимализму стать мейнстримом, как он сразу потеряет весь свой шарм и красоту. Тогда будет просто серая безликая масса.

В 2010 году, когда на рынке смартфонов властвовали Apple, Samsung и HTC с нагромождёнными интерфейсами iOS, TouchWiz и HTC Sense, Windows Phone поражал воображение по внешности, дизайну.
Читать полностью »

Вопросы для хабраинтервью с бывшим сценером

Ранее я уже публиковал интервью со сценерами, но они были взяты давно, и для других сообществ и сайтов. Сегодня я предлагаю интервью с бывшим сценером специально для хабра. Начинал он, как это обычно бывает, в малоизвестных группах, а в итоге к середине 2000-х стал участником топовой crack-группы, то есть они взламывали софт — выпускали кряки, кейгены и т.п. Он русский, хотя во всех группах, где он состоял, подавляющее большинство были зарубежные коллеги.
Читать полностью »

Выступление Эдварда Йордона на RCC 2013: «Прошлое, настоящее и будущее»

Как уже знает большинство из наших читателей, одним из спикеров недавно прошедшего финала Russian Code Cup был Эдвард Йордон (Edward Yourdon).

Скрытый текст

Пионер в разработке методологии программирования и автор метода Йордона, член Компьютерного зала славы и автор бестселлеров по практике программирования, в числе которых культовый «Путь камикадзе».

В этом посте мы хотели бы дать несколько вольное изложение основных идей, о которых господин Йордон говорил в своём выступлении на RCC.
Читать полностью »

image

Постоянно создавая сложные веб-проекты с нуля, начинаешь замечать, что примерно треть — а в некоторых случаях половина и больше — кода в действительности автономна, и привязана только к определенному DOM-элементу.

В рабочих проектах это может сводиться к чему-то вроде

function pageChange(){
    if ($(‘.element-carousel’).length>0) {$(‘.element-carousel’).initCarousel()}
    if ($(‘.element-scrollbox’).length>0) {$(‘.element-scrollbox’).initScrollbox()}
…

А может и не сводиться, и в каждом условном контроллере (колбэке на смену определенной страницы) мы вызываем код, связанный с определенными элементами.

Знакомо? Думаю, да. Считаете ли вы этот подход неправильным? Если первый ответ – да, то уверен, что и второй тоже да.

Хотите узнать, как можно сделать правильно, аккуратно и красиво?
Читать полностью »

Анонса на хабре не видел, хотя может быть такой сервис у Яндекса есть уже давно. Но я не знал, и возможно тебе, %username% будет полезно узнать о сервисе Яндекс.DNS. Не путайте с dns-хостингом от Яндекса.

Яндекс.DNS — безопасный домашний интернет

Если вкратце — есть 3 режима работы: Базовый, Безопасный и Семейный.
Читать полностью »

Производительность фронтэнда. Часть 2 — кешируем динамический контент с помощью etagifyОт переводчика: Это шестая статья из цикла о Node.js от команды Mozilla Identity, которая занимается проектом Persona.


Возможно, вам известно, что Connect ставит ETag-и на статический контент, но не динамический. К сожалению, если вы динамически генерируете локализованные версии статических страниц, они не кешируются вообще, если только вы не решите генерировать их все заранее, на стадии сборки проекта. Этого вполне можно избежать.

Эта статья посвящена etagify — модулю middleware для Connect, который генерирует ETag-и на лету на основе MD5-хешей ответов, и хранит эти хеши в памяти. Etagify избавляет от лишней рутины при сборке проекта, предельно прост в использовании и увеличивает производительность больше, чем можно было бы ожидать (в своих тестах мы получили ускорение загрузки страниц на 9%):

myapp = require('express').createServer();
myapp.use(require('etagify')());
...
app.get('/about', function(req, res) {
  res.etagify(); 
  var body = ejs.render(template, options);
  res.send(body);
});

Читать полностью »

Сегодня тот день, когда все производители могу официально представить новые карты AMD Volcanic Islands, за исключением флагманских адаптеров Hawaii. Среди большого количества анонсированных моделей, одной из наиболее интересных является Asus Radeon R9 280X Matrix, относящаяся к семейству ROG.

Asus Radeon R9 280X Matrix

Читать полностью »

10 октября состоится презентация японского оператора DoCoMo, на которой покажут смартфоны, прописавшиеся в ассортименте компании на ближайшие полгода. Несмотря на то, что до события осталась ещё пара дней, с брошюрой с перечнем новых устройств уже успели ознакомиться некоторые тематические ресурсы. Среди прочих смартфонов, о которых нам уже давно известно, интерес вызывает неизвестный аппарат Samsung под названием Galaxy J. Новинка представляет собой некий «гибрид» Galaxy S4 и Galaxy Note 3 и пока, судя по всему, будет продаваться лишь в Японии. Появится ли данный аппарат за пределами этого рынка, неизвестно.

В MIT разрабатывают «умные» глаза для роботов

Роботы могут «видеть» настолько хорошо, насколько это позволяют их «глаза», то есть, 3D камеры. Однако, «понимать», что они видят, роботы могут только после соответствующей обработки изображения специализированным программным обеспечением. Сейчас есть роботы, которые более-менее ориентируются в пространстве, но для определения своего местоположения, и местоположения объектов в помещении роботам требуется время, иногда весьма значительное. И все равно, гарантии того, что робот правильно «поймет» увиденное, нет. В MIT сейчас разрабатывают «умные» глаза для роботов, с соответствующим ПО, которые, возможно, смогут решить указанную проблему.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js