Примерно в момента написания я слушал: Deep Purple - Sitting in a Dream (Live At Rotterdam Ahoy - Disc 1 -)
Nov 07

Замечательный сборник самых частых команд Linux – очень полезно для новичков.

Post to Twitter Post to MySpace Post to Ping.fm Post to StumbleUpon

Vote This Post DownVote This Post Up (No Ratings Yet)
Loading ... Loading ...
Понравилось? Тогда оставайтесь на связи ;) Подписаться на получение записей по электронной почте

written by flashnik \\ tags:

Nov 05

А все из-за одного и того же человека.

Сначала Дима сходил на концерт группы Зимовье Зверей и кинул ссылку на их песню “Свидетели”. Когда я услышал строчку “Флойды на кассете”, мне стало плохо. Потому что мне показалось, что я ее уже слышал. Причем буквально перед этим. Где я мог ее услышать? Такую песню я сам поставить не мог. Значит, она могла только присниться. Я во сне услышал то, что никогда не слышал, и оказалось, что это существует? Бред! Потом я вспомнил, что ко мне на выходные приезжал Вовчик и уточнил у него, что он ставил эту композицию. Фууух, отлегло…

Интересно, что дальше? »

Post to Twitter Post to MySpace Post to Ping.fm Post to StumbleUpon

Vote This Post DownVote This Post Up (No Ratings Yet)
Loading ... Loading ...
Понравилось? Тогда оставайтесь на связи ;) Подписаться на получение записей по электронной почте

written by flashnik \\ tags:

Примерно в момента написания я слушал: Therion - Three Ships of Berik, part 2 - Victory! ()
Nov 04

Наткнулся в инете на еще один продукт компании JetBrains, разработчика Resharper, IntelliJIdea и оптимизатора DotTrace, – систему управлениями сборками и интеграции проекта (Continuous Integration & Build Server) TeamCity.

Интересно, что дальше? »

Post to Twitter Post to MySpace Post to Ping.fm Post to StumbleUpon

Vote This Post DownVote This Post Up (No Ratings Yet)
Loading ... Loading ...
Понравилось? Тогда оставайтесь на связи ;) Подписаться на получение записей по электронной почте

written by flashnik

Примерно в момента написания я слушал: Joe Cocker - Wayward Soul (Across From Midnight)
Sep 20

Алексей Майков из Microsoft Live Labs в совем блоге написал пост, посвященный анализу целесообразности применения реляционных БД для систем информационного поиска (Information Retrieval).
Интересно, что дальше? »

Post to Twitter Post to MySpace Post to Ping.fm Post to StumbleUpon

Vote This Post DownVote This Post Up (No Ratings Yet)
Loading ... Loading ...
Понравилось? Тогда оставайтесь на связи ;) Подписаться на получение записей по электронной почте

written by flashnik

Примерно в момента написания я слушал: Vitalij Kuprij - Fillipenko - Toccata ()
Sep 13

Наткнулся на совершенно замечательную статью “Назад к основам” от Joel Spolsky про то, как надо учить программированию и как легко совершенно незаметно увеличить сложность алгоритма. Несмотря на то, что статья была написана еще в 2001 году, на мой взгляд, она стала еще актуальнее. Несмотря на рост вычислительных мощностей, самые обычные программы с каждой новой версией становятся все более тормозными и начинают жрать все больше памяти – ведь у пользователя все равно мощный комп и можно не париться продумыванием программы. Для чтения хватит самых общих познаний в языках.

Несколько цитат из статьи:

Мы тратим здесь кучу времени, рассуждая о высокоуровневых вопросах как, например, .NET против Java, использование XML, удерживание клиентов, стратегия конкуренции, архитектура ПО и так далее. Все это как слои пирога. На самом верхнем уровне у нас стратегия продукта в целом. Уровнем ниже мы думаем об архитектурных решениях вроде .NET, а еще ниже – отдельные продукты: средства разработки типа Java или платформы как Windows.

А копнём ещё глубже. DLL’ки? Объекты? Функции? Нет. Еще ниже! В какой-то момент мы увидим строки программного кода

Это еще не достаточно глубоко. Сегодня мне хочется подумать о процессорах. Небольшой кусочек кремния, двигающий байты. Представим, что вы – начинающий программист. Забудем все накопленные знания о программировании, программном обеспечении, управлении проектами и вернемся на нижний фундаментальный уровень – машины Фон Неймана. Выкиньте из головы J2EE на это время. Подумаем о байтах.

Зачем нам все это? Мне кажется, некоторые фатальные ошибки на уровне архитектуры люди делают из-за непонимания простейших вещей на самых низких уровнях. Как будто строишь замечательный дворец, совсем не позаботившись о его фундаменте. Вместо отлитого цементного раствора там, например, песок. Так что в результате дворец выглядит отлично, но в стенах изредка появляются трещины в кулак, и вы не можете понять, что происходит.

Сейчас XML используют везде и повсюду, но:

Лично для меня это означает, что вы не можете использовать XML если хотите производительности и у вас много данных. Если же данных очень мало, или вас не волнует время выполнения, XML просто замечательно подходит. Ну, а если же вы хотите и то, и другое – вам придется найти способ хранения метаданных рядом с вашим XML, что-то вроде паскалевых строк со счетчиком байт, которые подсказывали бы программе, что где находится, и не пришлось бы разбирать и анализировать файл, чтобы найти определенную запись. Но, конечно, редактировать такие файлы обычным текстовым редактором будет нельзя, потому что съедут метаданные, так что это уже никакой не XML.

Ну и заключение:

Для тех троих вежливых читателей из моей аудитории, которые всё ещё со мнойнадеюсь, вы узнали что-то новое или посмотрели на известные вещи с необычной стороны. Надеюсь, эти мысли о нудном первом годе обучения программированию с темами вроде strcat и malloc в результате дадут вам новые точки зрения при принятии решений на самом верхнем, архитектурном уровне, которые вы рассматриваете, имея дела с технологиями вроде XML. На домашнее задание, подумайте, почему чипы от Transmeta будут всегда отставать. Или почему таблицы в изначальном формате HTML были так плохо продуманы, что большие экземпляры на веб-страницах медленно показываются у людей с модемами. Или почему COM работает быстро, но только пока вы не пересекаете границы процесса. Или почему разработчики NT запихали драйвер дисплея в пространство ядра системы, а не в пользовательское пространство.

Все эти вопросы требуют задуматься о байтах, как они влияют на большие, высокоуровневые решения, которые мы делаем во всех видах архитектур и стратегий. Вот почему, с моей точки зрения, обучение первого года программирования должно начинаться с основ, использования C и выстраиваться наверх начиная с CPU. Я и вправду испытываю физическое отвращение от того, как часто программа обучения строится на посылке, что Java представляет собой хороший язык для того, чтобы начинать программировать, потому что это так “просто” и не нужно отвлекаться на эти скучные детали про строки и выделение памяти, и сразу можно изучить кульные ООП-штучки которые помогут сделать ваши большие программы так восхитительно модульными. На самом деле – это педагогическая катастрофа, которая вот-вот случится. Поколения выпускников повалятся на нас и будут писать алгоритмы Шлемеля направо и налево даже не понимая этого, просто у них не будет представления, что строки, на очень низком уровне, страшно сложная вещь, даже если это и не видно из скрипта на Perl. Если хочешь обучить чему-то хорошо – придется начинать с самого нижнего уровня. Это как карате для детей. Вдох. Выдох. Вдох. Выдох. Так три недели. После этого Снести Башню Другому Пацану несложно.

Замечательная статья! Всем рекомендую. Полную версию можно найти здесь.

Post to Twitter Post to MySpace Post to Ping.fm Post to StumbleUpon

Vote This Post DownVote This Post Up (No Ratings Yet)
Loading ... Loading ...
Понравилось? Тогда оставайтесь на связи ;) Подписаться на получение записей по электронной почте

written by flashnik \\ tags: ,

Jul 14

Facebook выложил исходники системы хранения данных Cassandra в открытый доступ.

Новость

Репозиторий проекта

Post to Twitter Post to MySpace Post to Ping.fm Post to StumbleUpon

Vote This Post DownVote This Post Up (No Ratings Yet)
Loading ... Loading ...
Понравилось? Тогда оставайтесь на связи ;) Подписаться на получение записей по электронной почте

written by flashnik \\ tags: , ,

Jun 01

В этом посте дается небольшой обзор методов работы с SVN для начинающих пользователей и сравнение функционала с CVS.

SVN (SubVersioN) – это служба, позволяющая нескольким пользователям параллельно редактировать одни и те же файлы, а затем объединять результаты. SVN – дальнейшее развитие CVS.

Интересно, что дальше? »

Post to Twitter Post to MySpace Post to Ping.fm Post to StumbleUpon

Vote This Post DownVote This Post Up (No Ratings Yet)
Loading ... Loading ...
Понравилось? Тогда оставайтесь на связи ;) Подписаться на получение записей по электронной почте

written by flashnik \\ tags: , ,

Page 4 of 4«1234