Pull to refresh

С 28 июня 2023 года сервис «Яндекс Кью» перейдёт в режим чтения и станет «музеем контента»

Reading time 1 min
Views 2.3K
Monetization of IT systems *Cloud services *History of IT Finance in IT IT-companies

29 мая 2023 года сервис «Яндекс Кью» сообщил, что с 28 июня платформа перейдёт в режим чтения и станет «музеем контента».

Читать далее
Total votes 6: ↑5 and ↓1 +4
Comments 7

Язык программирования и база данных Q: в энтерпрайсе синтаксис роли не играет

Reading time 7 min
Views 8K
Abnormal programming *Programming *
Tutorial
Sandbox
Возникла необходимость выбрать новый тарифный план для сотового. Провозившить минут 30 с excel и google-docs стало понятно, что ничего толкового из этого не выйдет и без db тут не обойтись.

Чуть подумав рука сама набрала «q», так как это было единственное доступное на компьютере здесь и сейчас. Что про него знал: что первый и последний раз запускал год назад, минут на 30, для простой задачки по разбору и поиску по файлу.

Дальше будет много q, а именно ascii последователя подмножества языков APL'а и языка Scheme, а именно k и его расширения k-sql, переродившихся в продукт с именем Q — тесной связке языка и встроенной в него базы данных.

C:\Users\unknown\Dropbox\j>q
KDB+ 3.0 2013.02.06 Copyright (C) 1993-2013 Kx Systems
w32/ 2()core 2972MB unknown win-d2om7les24v 192.168.1.2 PLAY 2013.05.07


Я не боюсь увидеть очеловеченный APL
Total votes 16: ↑14 and ↓2 +12
Comments 10

Возможности языка Q и KDB+ на примере сервиса реального времени

Reading time 13 min
Views 5.2K
Технологический Центр Дойче Банка corporate blog NoSQL *Big Data *Data storages *
О том, что такое база KDB+, язык программирования Q, какие у них есть сильные и слабые стороны, можно прочитать в моей предыдущей статье и кратко во введении. В статье же мы реализуем на Q сервис, который будет обрабатывать входящий поток данных и высчитывать поминутно различные агрегирующие функции в режиме “реального времени” (т.е. будет успевать все посчитать до следующей порции данных). Главная особенность Q состоит в том, что это векторный язык, позволяющий оперировать не единичными объектами, а их массивами, массивами массивов и другими сложносоставными объектами. Такие языки как Q и родственные ему K, J, APL знамениты своей краткостью. Нередко программу, занимающую несколько экранов кода на привычном языке типа Java, можно записать на них в несколько строк. Именно это я и хочу продемонстрировать в этой статье.


Читать дальше →
Total votes 20: ↑19 and ↓1 +18
Comments 1

Библиотеки для цифровой обработки сигналов на C++

Reading time 3 min
Views 8.4K
Аудиомания corporate blog Open source *Programming *C++ *Sound

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

Подобрали три библиотеки на C++ для звукового синтеза.

Читать далее
Total votes 12: ↑11 and ↓1 +10
Comments 0

Интервью с разработчиками Windows Home Server

Reading time 1 min
Views 788
IT-companies
Опубликована очередная серия видео на Channel 9: интервью с программистами из Microsoft. На этот раз в кадре Валерий Либорский (Principal Group Manager) и Александр Дадиомов (Lead Software Dev Engineer), рассказывают о своей разработке Windows Home Server — аппаратно-программного комплекса, который секретно создавался под кодовым названием “Q”, но уже в этом году появится в продаже (маленький SDK выложат на MSDN уже через пару недель: об SDK на видео с 29:00 до 32:05).

Как известно, Windows Home Server устанавливается в квартире и берёт на себя обслуживание всех домашних ПК.
Краткое содержание подкаста
Total votes 23: ↑19 and ↓4 +15
Comments 29

Транзакционная память и многопоточность

Reading time 9 min
Views 18K
IBM corporate blog

На фото: Blue Gene / P в Аргоннской национальной лаборатории

Несмотря на то, что параллельное программирование, как дисциплина, существует уже достаточно давно и практически в каждом компьютере сегодня больше одного вычислительного ядра, я бы не назвал сложившуюся за эти годы ситуацию «революционной» или даже «эволюционной». У многопоточности по-прежнему много проблем и одной из самых ярких является сложность синхронизации потоков при большом количестве параллельных вычислительных процессов.

В IBM (а как вы думали) заняты поиском решения этой задачи (один мой знакомый с юмором охарактеризовал ее как «узники блокировки»), так как голубой гигант остается самым крупным проектировщиком, изготовителем и поставщиком суперкомпьютерных кластеров, где синхронизированный доступ к памяти — камень преткновения.

Есть и хорошие новости: в процессорах следующей модели Blue Gene / Q, которые будут питать 20-петафлопсный суперкомпьютер Sequoia, строящийся компанией в настоящее время для Ливерморской национальной лаборатории, реализована поддержка транзакционной памяти не на программном, а аппаратном, уровне. При успешных испытаниях эта технология докажет, что масштабируемое параллельное программирование может быть простой задачей (и в отсутствии параллельных алгоритмов) — это, в свою очередь, изменит ландшафт вычислений. Так как большинство исследований до сегодняшнего дня проводились именно в области реализации STM на уровне ПО, чипы BlueGene/Q позволят реально оценить разницу в скорости работы двух принципиально разных архитектур: HTM (hardware transactional memory) и традиционной STM.

Интересно? Читаем дальше
Total votes 35: ↑34 and ↓1 +33
Comments 23

Vow: самые быстрые промисы

Reading time 1 min
Views 13K
JavaScript *Node.JS *
Хочу предоставить вашему вниманию библиотеку Vow, которую написал мой коллега Дмитрий Филатов dfilatov.

Библиотека реализует Promises/A+, работает очень быстро и требует малого объема памяти. По тестам производительности сильно опережает Q, но при этом сохраняет асинхронную манеру работы.

Работа с Vow выглядит так же просто, как работа с Q. Из недостатков (по сравнению с Q) можно лишь выделить отсутствие progress.

Пример кода с использованием Vow:
function readFile(filename, encoding) {
    var promise = Vow.promise();
    fs.readFile(filename, encoding, function(err, data) {
        if (err) return promise.reject(err);
        promise.fulfill(data);
    });
    return promise;
}
Vow.all([readFile('test1.txt', 'utf8'), readFile('test2.txt', 'utf8')]).then(function(results) {
    console.log(results.join('\n'));
});

Читать дальше →
Total votes 43: ↑36 and ↓7 +29
Comments 19

„E„‹„u „q„p„s — „… „…„t„p„|„u„~„~„Ђ„s„Ђ „„„Ђ„Ѓ„y„{„p „r„Ќ„r„Ђ„t„‘„„„ѓ„‘ „{„Ђ„}„u„~„„„Ќ „r «„Ѓ„‚„‘„}„Ђ„} „^„†„y„‚„u»

Reading time 1 min
Views 1.2K
Habr
„S„Ђ„Ѓ„y„{ „…„t„p„|„u„~, „p „r „Ѓ„‚„‘„}„Ђ„} „Џ„†„y„‚„u „r„ѓ„u „‚„p„r„~„Ђ „r„Ќ„r„Ђ„t„y„„„Ћ„ѓ„‘:

" Terekhov ЃЁ / ".

„N„p„r„u„‚„~„Ђ„u, „„„p„{ „~„u „t„Ђ„|„w„~„Ђ „q„Ќ„„„Ћ.
Total votes 18: ↑11 and ↓7 +4
Comments 20

Сервис анонимных вопросов Ask.fm

Reading time 3 min
Views 9.4K
Self Promo
image

История


Примерно год назад началось активное распространение так называемых Q&A социальных сетей (Questions & Answers). В России такие проекты принято называть сервисами анонимных вопросов. На Западе все началось с Formspring, который первым сделал удобный сайт, в котором пользователи обменивались вопросами друг с другом, пытаясь ответить на них более оригинально. Это был тот случай, когда стартаперы обратили внимание на популярность такого формата общения в других системах и сделали под него отдельный сайт. Примерно также много лет назад кто-то разглядел возможности общения через SMS и придумал идею микроблоггинга.

Как это часто бывает, западный проект быстро завоевал популярность и благодаря эффекту «сарафанного радио» и скандалов (пресса писала, как школьники совершали самоубийство, после получения оскорбительных вопросов) стал быстро распространяться в США. Все это привело, если можно так выразится, к началу формирования рынка «сервисов анонимных вопросов».

Читать дальше →
Total votes 60: ↑40 and ↓20 +20
Comments 62

Велосипед: Promises в Node.js

Reading time 6 min
Views 33K
Node.JS *
Добрый день, Хабрахабр.

Предисловие


Была довольно простая задача: получить набор документов из базы, каждый документ преобразовать и отправить пользователю все преобразованные документы, порядок их менять нельзя, для обработки документа используется асинхронная функция. Если на каком-то документе вылезла ошибка — документы мы не отправляем, только ошибку и заканчиваем обработку документов.
Для решения задачи была выбрана библиотека Q, так как сам поход Promise мне симпатичен. Но возникла одна загвоздка, вроде бы элементарная задача, а выполняется больше секунды, а точнее 1300 мс, вместо ожидаемых 50-80 мс. Дабы разобраться, как все устроено и проникнуться асинхронностью было решено написать специализированный «велосипед» под данную задачу.

Итак!
Total votes 16: ↑8 and ↓8 0
Comments 4

Давать обещания – это ювелирное искусство

Reading time 11 min
Views 8.4K
JavaScript *Node.JS *
Sandbox
Статья написана для ювелиров, которым в силу роста популярности бижутерии пришлось оставить свою работу и заняться другим делом немного смежным с их предыдущим.
Читать дальше →
Total votes 20: ↑7 and ↓13 -6
Comments 13

Оформление цитат на сайтах

Reading time 8 min
Views 87K
Typography *
Обычно при вёрстке текстов для веба на оформление цитат не обращают достаточного внимания. Стараясь исправить это досадное недоразумение, мы коснёмся двух вопросов: типографического оформления цитат (в той части, где чаще всего допускаются ошибки при вёрстке) и реализации этого оформления в HTML-коде.

Мы также не будем касаться вопросов проверки смысловой точности цитирования, правильного использования купюр, сокращений и дополнений — всех интересующихся ждёт «Справочник издателя и автора» А. Э. Мильчина и Л. К. Чельцовой.

Надеемся, что эту запись будет удобно использовать как справочник по часто встречающимся вопросам оформления цитат.

Читать дальше →
Total votes 108: ↑105 and ↓3 +102
Comments 59

R&Q 1101 Test Build

Reading time 1 min
Views 572
Lumber room
Очередной тест-билд шустрого альтернативного ICQ-клиента. Вдруг кому-то придётся по душе :)
Подробности.

R&Q в шкуре «ecqlipse»

Любители орать с пеной у рта что лучше QIP'а ничего нет, пожалуйста, проходите мимо.
Total votes 19: ↑12 and ↓7 +5
Comments 17