LINUX.ORG.RU

Избранные сообщения anonymoos

Переключалка ОСей

Форум — Talks

Макось - либо хорошо либо никак, но онтопик все-же лучше. В связи с этим возникла такая задумка - бывают ли переключалки ОСей в рамках одного компьютера (без виртуализации)?

Т.е. какой-нить гипервизор, который спит, пока мы не скажем ему переключить ОС, после чего он забирает управление, усыпляет текущую ОС, и будит другую. ОС работают без виртуализации, с полным контролем над оборудованием, для них переключение просто как состояние сна, без параллельного выполнения и каких-либо абстракций к оборудованию. Также, было бы круто поделить память между ОСями, чтобы не гонять на диск (по 8гиг дал пингвину и маку/винде - и порядок). Переключение должно быть без полной перезагрузки и достаточно быстрым, типа как tty в линуксе переключить.
Основная проблема конечно - переинициализация устройств - все будет очень негладко. Можно попробовать проходить полную процедуру усыпление/пробуждение, но с виндой и так может не прокатить, думаю.
Видел ли кто такое в природе?

 ,

dib2
()

Ваша любимая современная фантастика?

Форум — Talks

Ясен пень что на главную такое не пропустят, потому тут. Давайте по три книги.

1. Анклавы, Панов.
2. Бремя империи, Афанасьев.
3. Завтра война, Зорич. KRoN73, спасибо за рекомендацию!

* современная <= 20 лет. ** вспомнил лучшее что прочитал за последние года три и что впечатлило еще с детства.

 ,

drull
()

[вброс]Почему объектно-ориентированное программирование провалилось?

Форум — Development

http://citforum.ru/gazeta/165/

по линку многабукаф, немного для Ъ:

факт остаётся фактом: сторона, представлявшая объектно-ориентированное программирование, во время открытой дискуссии с противниками под смех зала даже запуталась в своих же концепциях. Люди вспоминают, что у всех создалось стойкое впечатление, что аргументация Lisp’еров была куда убедительней и последовательней, чем сторонников ООП.

Другой крупный критик ООП – это известный специалист по программированию Александр Степанов, который, работая в Bell Labs, участвовал в создании C++ вместе c Бьерном Страуструпом (Bjarne Stroustrup), а впоследствии, уже после приглашения в HP Labs, написал Standard Template Library (STL). Александр Александрович полностью разочаровался в парадигме ООП; в частности, он пишет: “Я уверен, что парадигма ООП методологически неверна. Она начинает с построения классов. Это как если бы математики начинали бы с аксиом. Но реально никто не начинает с аксиом, все начинают с доказательств. Только когда найден набор подходящих доказательств, только тогда на этой основе выводится аксиома. Т.е. в математике вы заканчиваете аксиомой. Тоже самое и с программированием: сначала вы должны начинать развивать алгоритмы, и только в конце этой работы вы приходите к тому, что оказываетесь в состоянии сформулировать четкие и непротиворечивые интерфейсы. Именно из-за этой неразберихи в ООП так популярен рефакторинг – из-за ущербности парадигмы вы просто обречены на переписывание программы, уже в тот самый момент, когда только задумали её спроектировать в ООП-стиле”.

Ричард Столлман (Richard Stallman) также известен своим критическим отношением к ООП, особенно он любит шутить насчет того мифа объектников, что ООП “ускоряет разработку программ”: “Как только ты сказал слово «объект», можешь сразу забыть о модульности”.

Ричард Гэбриел неожиданно сравнивает нынешнюю ситуацию с ООП с провалом эфиродинамики в физике начала 20 века, когда, в сущности, произошла “тихая революция”.

 

Rastafarra
()

Эпические треды

Форум — Talks

Сюда я буду добавлять треды без купюр и IP (UA оставим).

Номер 1 - РФВС: http://linuxhacker.ru/~shaman/rfvs.html

Номер 2 - Однострочник на Perl: http://linuxhacker.ru/~shaman/perl-one.html

Номер 3 - Реестр в Линуксе: http://linuxhacker.ru/~shaman/linux-registry.html

Номер 4 - Экстрасенсы: http://linuxhacker.ru/~shaman/extra-sence.html

Номер 5 - Польский священник и Господ Бог: http://linuxhacker.ru/~shaman/poland-god.html

Номер 6 - Gentoo для девочек: http://linuxhacker.ru/~shaman/gentoo4girls.html

Номер 7 - Одна фраза о Lisp'е: http://linuxhacker.ru/~shaman/lisp1.html

Номер 8 - Microsoft ищет линуксоида: http://linuxhacker.ru/~shaman/MSLinux.html

Номер 9 - Материалистам LOR: http://linuxhacker.ru/~shaman/Material-LOR.html

Номер 10 - GTK3: http://linuxhacker.ru/~shaman/GTK3.html

Номер 11 - Линус начал использовать Gnome: http://linuxhacker.ru/~shaman/Torvalds-Gnome.html

Номер 12 - Правила Talks: http://linuxhacker.ru/~shaman/Talks-Talks.html

Номер 13 - Явление Болгенос: http://linuxhacker.ru/~shaman/Bolgenos.html

Номер 14 - Arch Linux 2010.05: http://linuxhacker.ru/~shaman/arch-2005.html

Номер 15 - Wayland готов для десктопа: http://linuxhacker.ru/~shaman/wayland.html

Номер 16 - Аят, собственно, аля: http://linuxhacker.ru/~shaman/ayat.html

Номер 17 - Лифчик с Убунтой: http://linuxhacker.ru/~shaman/gentoo-bra.html

Важное замечание: «страницы» внизу фиктивные, ведут вникуда. Все, что происходило в треде видно в указанных выше файлах.

Если вы считаете, что список нужно пополнить чем-то интересным или смешным, напишите мне на abondarenko@gmail.com. Однако, я не буду заносить сюда топики-травли или то, что сочту унылым.

Shaman007
()

Помогите решить задачку

Форум — Talks

Задачка: Самолет (pеактивный или винтовой) стоит на взлетной полосе с подвижным покpытием (тpанспоpтеp). Покpытие может двигаеться пpотив напpавления взлета самолета. Оно имеет систему упpавления, котоpая отслеживает и подстpаивает скоpость движения полотна таким обpазом, чтобы скоpость вpащения колес самолета была pавна скоpости движения полотна.

Вопpос: сможет ли самолет pазбежаться по этому полотну и взлететь?

Sveta_F
()

20 минут в новом KDE. Вопросы.

Форум — Talks

Как и просили — 20 минут нового гнома. Делюсь восхищением. (комментарий) :D

Первое впечатление — за год KDE ещё немного подкрутили и i7-3770/8Гб/SSD — это уже не Q6600/4Гб/HDD. Можно сказать, что KDE практически не тормозит и в плане дизайна, хоть и со многими недостатками, но отвращения не вызывает.

Вопросов, тем не менее, вылезает много :) Буду задавать по порядку повторного возникновения.

Ну, и да, это KDE 4.11 под Ubuntu 13.04

Вопрос №1. Постоянно выскакивает окошко OpenSSH с запросом «Enter passphrase for key '/home/balancer/.ssh/id_rsa'». Вводишь, на некоторое время убирается, через несколько минут вылезает снова. OpenSSH-агент не работает. Что в gnome-terminal, что в konsole — каждый раз пароль на ключ запрашивается заново.

Что интересно, под Gnome я и забыл, что у меня этот пароль есть. Там он, видимо, запомнился в системных настройках, так что я его и не вводил никогда.

Так вот, что с этим окошком сделать? Как заставить работать агент?

 , , впечатления

KRoN73
()

10 причин почему программист на С++ может выбить много денег

Форум — Development

Список в конце поста написан Лавсаном 2 года назад. (2011-03-23 19:56:00) (источник)
Надеюсь, автор не подаст жалобу в Роспатент за перепечатку :-)
Кстати, sudo cast lovesan.

Чтобы проверить актуальность вопроса, всю последнюю неделю я долго и нудно использовал этот список в дискуссиях. Чтобы разобрать отдельные пункты отдельно.

Временное резюме: С++ всё еще актуален по историческим причинам. Еще есть мобилки (sudo cast mono), гиперкластеры для шиндовс 3.11 (sudo cast vromanov) и базы данных. Т.к. он актуален, но не предназначен ни для чего (см. выводы в конце списка) новых специалистов по нему должно быть мало. Маленькая конкуренция на огромной области применения — огромное лавэ $$$. Вот это и есть истинная причина использовать кресты — возможность срубить €€€.

Честно говоря, «хитрый план» мне уже очень надоел, поэтому пора открыть карты.

Заодним, крестопоклонники смогут выйти на последний и решительный бой, т.к. сегодня пятница и вечером будет время пообщаться. Поклонникам мамкиного борща тоже наверняка есть что добавить, конструктивно и аргументированно.

Вот этот список:

  1. Вырвиглазный синтаксис и контекстно-зависимая грамматика
    • медленная компиляция
    • частые «internal error» в компиляторах
    • код плохо читается и его сложно поддерживать
    • разбор кода различными инструментами, вроде IDE, и его генерация - сильно затруднены
  2. ручное управление памятью
    • неудобства при работе с динамической памятью
    • утечки памяти
    • висячие ссылки
    • сегфолты
    • стандартные средства, как то malloc/new, работают медленно
    • фрагментация кучи
    • велосипедные аллокаторы на каждом шагу
      • которые далеко не факт что эффективнее malloc/new

    • велосипедные счетчики ссылок на каждом шагу, опять же
      • медленная работа
      • перерасход по памяти

    • отладка затруднена
    • написание GC, по факту, невозможно, отчасти из-за (5), (7) и (8)
  3. Никакого ABI
  4. Нестандартизированный и непредсказумый name mangling
  5. Дублирование функционала Си
    • сами фичи из Си никуда не деваются при этом
      • отчасти из-за того, что по функционалу превосходят аналоги из C++

    • запутывает новичков
    • malloc - new/new[], free - delete/delete[]
    • препроцессор - шаблоны
    • указатели - ссылки
      • ссылка не может быть NULL, что способствует появлению висячих ссылок и сегфолтов

    • структуры - классы
    • stdio - iostream
  6. Стандартная библиотека убога
    • Отсутствует даже такой функционал, как вменяемая работа со строками и многомерные массивы
      • Юникод?

  7. Слабая типизация
    • способствует ошибкам
    • затрудняет отладку
    • const не дает абсолютно никаких гарантий
    • при этом система типов невероятно переусложенена
      • в основном из-за пунктов (2), (5) и (9)
      • медленная компиляция
      • частые внутренние ошибки в компиляторах

  8. объектая система убога
    • практически никакой интроспекции
      • отладка затруднена
    • передача объектов по значению
      • понятие идентичности объекта теряет смысл
      • добавляет сложностей в управлении памятью
      • добавляет сложностей при отладке
      • используется часто, по причине (2)
        • перерасход по памяти
        • медленная работа

    • множественное наследование неудобно в использовании
      • проблема ромба по дефолту не разрешается никак

    • исключения в конструкторах гарантированно влекут утечку памяти
      • исключения в деструкторах тоже, и просто утечку - еще в лучшем случае
        • коды ошибок деструкторы и конструкторы возвращать не могут
          • ошибки в них не обработать никак
            • поэтому ими стараются не пользоваться
              • раздувание кода

    • деструктор можно вызывать до выхода из блока кода, или до delete
      • гарантированная утечка ресурсов/сегфлот
      • это не предотвратить никак, деструктор обязан быть public

    • одиночная диспетчеризация
      • виртуальные методы в конструкторах не работают
      • реализована убого
        • pure virtual function call
        • сложности в случае с множественным наследованием
        • деструкторы обязаны быть виртуальными
          • по дефолту - не виртуальные

        • никаких интерфейсов, только классы

    • порядок инициализации статических членов классов не определен
    • private, public и protected не дают никаких гарантий сокрытия данных
      • к инкапсуляции же не относятся совершенно никак

    • отсутствие «свойств»
      • вынуждает городить getter'ы и setter'ы
        • раздувание кода
        • размывание интерфейса класса

    • неявно генерирумые конструкторы, деструкторы и операторы присваивания
    • «friend» нарушают инкапсуляцию
  9. шаблоны
    • очень сильно замедляют компиляцию
    • раздувание кода
    • обфускация кода
    • результат раскрытия плохо предсказуем
    • сложности в отладке
      • километровые и плохо читаемые сообщения об ошибках при компиляции

    • нарушают инкапсуляцию
      • обязаны содержать реализацию в заголовочных файлах

    • позволяют генерировать некорректный код
  10. исключения
    • отсутствие finally/unwind-protect
      • заставляет городить классы ради одних деструкторов
        • раздувание кода
        • медленная компиляция
        • медленная работа

    • конфликтуют с другими возможностями языка
      • конструкторы/деструкторы
      • ручное управление памятью

    • работают медленно
    • малофункциональны (ср. CL condition system)

По причинам 3, 4, 5, 9 и 10 C++ совершенно неприменим для системного и низкоуровневого программирования. А по причинами 1, 2, 5, 6, 7, 8, и, опять же, 9 и 10 - и для прикладного.

У C++ нет области применения.

stevejobs
()

рейтинг сложности художественной литературы

Форум — Talks

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

Вспоминаю книгу К. Воннегута «Дай вам Бог здоровья, мистер Розуотер» - она сплошь написана простыми предложениями. Это особенно бросается в глаза после произведений Л. Н. Толстого.

Что-то мне мешает читать адаптированную литературу. Чувство сродни тому, что испытывает аудиофил при прослушивании музыки в OGG/Vorbis-формате...

 

dumka
()

Отчет РАН за последние 5 лет

Форум — Talks

Скорее всего вы вряд ли это слушали. Но это безумно интересно.

Научный отчет (самые яркие достижения):
http://www.ras.ru/news/shownews.aspx?id=3678e2ff-cfd0-40bb-98ea-eb637381172f

Много старых отчетов:
http://www.ras.ru/scientificactivity/scienceresults/annualreport.aspx

Административный отчет (не очень интересно):
http://www.ras.ru/news/shownews.aspx?id=548d7ff1-b546-4a27-99c3-40ada28d68c2

PS: и все за какие-то жалкие 2 бюджетных миллиарда баксов в год. Слабо эффективней работать?

 ,

soomrack
()

ссылки внутри json cхемы для дедупликации кода

Форум — Development

есть json схема, где для описания разных полей часто используются одинаковые блоки правил. И при изменении одного блока правил, должны меняются и все остальные.

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

Пример кода: http://pastebin.com/5utxhRG0
Использую draft 3

В описании формата прочёл про «targetSchema», но нигде нет примеров её работы и меня смущает, что возможно там надо указывать веб-ссылку схемы, а у меня идёт обмен данных локально, без участия веб-а.

Собственно вопрос, можно лик как-то организовать ссылки на блоки кода в json-схеме локально?

 json schema

anonymoos
()

Как добавить мультипоточность

Форум — Development

Пытаюсь осилить мультипоточность под многоядерные процы на питоне. Накатал 2 версии через Pool и через Thread, ни одна не работает.
Помогите исправить код, чтобы он эффективно работал на многоядернике.

Есть простой код бинарного сравнения двух толстых файлов. Если брать большой размер блоков (piece_size), то скорость упирается в скорость хдд. Если брать маленький размер блока, то уже сильно проседает процессор и скорость чтения с диска падает. Делаю вывод, что узким местом является операция сравнения двух частей:

from time import time

piece_size = 16 # KB
# cores in system
multiplier = 4
errors = 0
starttime = time()

# 2 equal by size, but different by content files
file1 = open('etalon.mkv', 'rb')
file2 = open('startplus.mkv', 'rb')

# get byte piece of 2 files, and compare them
def check(r1, r2, i):
    global errors
    if r1[i:i + piece_size] != r2[i:i + piece_size]:
        errors += 1
    return

if __name__ == '__main__':
    r1 = file1.read(piece_size * multiplier)
    r2 = file2.read(piece_size * multiplier)
    
    while r1:
        # give piece * 4 size, and work with every piece separately
        for i in range(0, piece_size * multiplier, piece_size):
            check(r1, r2, i)
        r1 = file1.read(piece_size * multiplier)
        r2 = file2.read(piece_size * multiplier)
    
    print('errors:', errors)
    print('Running time: ', time() - starttime)
Итог: Скорость чтения с диска 8 mb/s, 25% загрузка cpu (max for 1 core)

Попытка реализации через Pool: http://pastebin.com/u6C2tcbt
Итог: Скорость чтения с диска 0 mb/s, 4 подпроцесса в 2% cpu, 1 процесс в 25% cpu
Попытка реализации через Thread: http://pastebin.com/xkHJwkm1
Итог: Скорость чтения с диска 0 mb/s, 1 процесс в 30% cpu

 , ,

anonymoos
()

Качественные наушники с микрофоном (гарнтитура)

Форум — Talks

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

Собственно вопрос, бывают ли в природе приемлемые по качеству затычки с микрофоном, чтоб и музыку послушать и по мобиле поболтать?

Цена до 2к руб.

 

anonymoos
()

Релиз системы Alvex 1.3 для управления документами и динамическими бизнес-процессами на базе Alfresco

Новости — Open Source
Группа Open Source

Российская компания ITD Systems объявила о выходе Alvex 1.3 — решения на базе Alfresco.

Как известно, Alfresco — это открытая система, объединяющая инструменты для управления бизнес-процессами (BPM), а так же корпоративным (ECM) и социальным контентом (SCM).

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

В версии 1.3 представлены как новые возможности, отвечающие типовым требованиям многих организаций, так и дополнения, развивающие Alvex как платформу.

Alvex 1.3, как и Alfresco, представлен в версиях Community и Enterprise. Версии Community доступны под лицензией LGPL и полностью бесплатны.

( читать дальше... )

>>> Подробности

 , , , ,

itd-systems
()

Теперь логин в Cisco роутеры возможен только через облако, обрезан функционал, вашу историю посещений и другую инфу могут продавать на сторону

Форум — Talks

Не могу понять, почему на ЛОР не было? А ведь новость жЫрная.

После недавнего обновления, пользователи цисок ВНЕЗАПНО потеряли доступ к СВОИМ роутерам, вместо этого им предложили зарегистрироваться в облаках и подписать соглашения стремного характера: вам запрещено качать порно, варез, музычку, троллить и многое другое (есть мнение, шо имеется в ввиду не качать это в облака). Будут использованы данные про состояние вашей сети, ИСТОРИЮ ПОСЕЩЕНИЙ, ПОТОК ТРАФФИКА в том числе с целью продажи.

Также, как я понял, многие фичи были перенесены только в облако, т.е. роутер превращается в тыкву.

An entire subset of the device's options are neutered if you don't have a cloud account. Several of the reasons I got this router was for the USB storage options, guest networking, and parental controls - all those cannot be managed anymore without a Cloud account, whereas before this forced update I had no problem with them. It sucks.

Скриншот: http://cdn.arstechnica.net//wp-content/uploads/2012/07/Cisco-Connect-Cloud-64...

Решение: Получить доступ к устройству возможно отключившись от интернета.

Внимание: В результате массивного баттхерта Цисководы заявили, шо сделают это необязательным.

The lesson everyone should take from this is: you don't own something which requires a network connection and can be updated via the network.

«You agree not to use or permit the use of the Service: (i) to invade another's privacy; (ii) for obscene, pornographic, or offensive purposes; (iii) to infringe another's rights, including but not limited to any intellectual property rights; (iv) to upload, email or otherwise transmit or make available any unsolicited or unauthorized advertising, promotional materials, spam, junk mail or any other form of solicitation; (v) to transmit or otherwise make available any code or virus, or perform any activity, that could harm or interfere with any device, software, network or service (including this Service); or (vi) to violate, or encourage any conduct that would violate any applicable law or regulation or give rise to civil or criminal liability.

When you use the Service, we may keep track of certain information related to your use of the Service, including but not limited to the status and health of your network and networked products; which apps relating to the Service you are using; which features you are using within the Service infrastructure; network traffic (e.g., megabytes per hour); internet history; how frequently you encounter errors on the Service system and other related information (“Other Information”).

http://www.reddit.com/r/technology/comments/w1ami/cisco_updates_their_firmwar...

http://www.neowin.net/news/cisco-locks-users-out-of-their-routers-requires-in...

http://arstechnica.com/information-technology/2012/07/freeing-your-router-fro...

http://arstechnica.com/gadgets/2012/07/cisco-backpedals-after-uproar-drops-cl...

 , , lock in,

FiXer
()

Операционная система GNU Emacs завоевывает десктоп! :)

Галерея — Скриншоты

Операционная система GNU Emacs получила новые возможности! Собрал волю в кулак и написал библиотеку, которая практически полностью реализует протокол X11. Библиотека незамысловато называется x11 и написана на чистом Emacs Lisp, но пока имеет статус technical preview, хотя в принципе уже можно писать что-то реальное. За основу пока взяты описания протокола на XML из проекта XCB, которые разворачиваются в реализацию. В результате имеем практически все расширения. Работа с протоколом осуществляется в асинхронном стиле подобно XCB. Чего пока нет:

  • MIT-SHM. Запросы реализованы, но работать через разделяемую память из операционной системы Emacs мы пока не можем, поэтому Будем через сокет закидывать. Тем более, что разница в скорости, говорят (видел где-то в инете замеры), не такая сумасшедшая.
  • XKB. Просто забыл реализовать пару конструкций XML, используемых для описания этого расширения. Это я скоро реализую, поэтому расширение будет работать в полном объеме.
  • Big-requests. Тоже будет реализовано. Расширение содержит всего один запрос. Он реализован. Но именно для этого расширения надо несколько перелопатить процедуры формирования запросов к серверу X, так как подсчет размеров запросов изменяется с этим расширением.
  • GLX. Огромнейший пласт. За него возьмусь сильно позже. Тут же еще надо полностью сгенерировать протокол GL, а он очень обширный.

Остальные расширения вроде бы должны работать, если их описания правильные и если я что-то не упустил принципиального. Я работу всех расширений даже не проверил, так как очень спешу радостью поделиться. :)

(размер экрана уменьшил до 1024x768, чтобы скриншот поменьше был)

На скриншоте сверху робкая демонстрашка в стиле LSD основного протокола X11 (Core protocol). Ну с arcs, rectangles и core fonts все и так понятно. А вот как выведены фотографии? Я пока не настолько крут, чтобы писать растеризацию jpg и png на Emacs Lisp. Пораскинув мозгами, пошел смотреть, чем может помочь ImageMagick. Оказалось, есть там возможность получить дамп картинки в нужном формате. Так и сделал: надо отобразить картинку - дергаем stream, она нам отдает дамп в буфер, мы его отсылаем в сервер X. «Привет, Isden» написана мышкой. Демка отслеживает событие motion-notify и рисует маленький квадратик под указателем. По кнопке «q» - выход (отслеживается событие key-press)

На скриншоте снизу робкая и неумелая демонстрашка расширения XRender. Тоже в стиле LSD. На ней мы видим linear gradient, radial gradient, треугольник и отрисовку сглаженных окружностей. Окружности состоят из трапезоидов. Алгоритм рассечения (tessellation) я применил первый, какой мне пришел в голову - горизонтальными трапециями. Какая есть проблема? Сглаженный текст! Что-то мне писать растеризацию TrueType или Type1 на Emacs Lisp не улыбается. Есть идея написать программку на Си с помощью Xft, которую я буду что-то просить растеризовать, а она результат будет отдавать в Emacs. То есть примерно как и с ImageMagick поступить.

Надо хорошенько переобдумать API библиотеки, чтобы его заморозить. При этом надо учесть потенциальные и вероятные будущие новшества в Emacs и в библиотеке, чтобы людям не пришлось переписывать то, что написано ранее. Есть недостатки в Emacs, которые реально мешают и раздражают. Преодолимы, конечно, но это будут костыли. Если интересно, то потом поясню, а то уже и так много воды налил.

Так что есть потенциальная возможность воплотить мечту atoku в жизнь. :)

Традиционная ссылка на обоину: #888888. Старую удалил, так как она надоела, а новую еще не искал. Этот серый цвет реально бесит. :)

>>> Просмотр (1024x1536, 254 Kb)

 , ,

Zubok
()