LINUX.ORG.RU

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

Накидайте ссылок на литературу

Форум — Development

Как и писал выше в разделе, начал изучать c/c++/java. Поставил себе задачу, для начала , написать программу сначала на ANSI C. Задача: клиент записывает звук, сжимает его и передает на сервер. Сервер записывает сжатый файл в базу данных, затем рассылает определенным клиентам. Накастуйте, пожалуйста, ссылок на литературу, которая может мне помочь. Целевая ОС для приложений - GNULinux, язык C.

 , ,

int13h
()

Дайте идею, что написать для desktop'a

Форум — Development

Добрых праздников, LOR!

Занимаюсь в выходные самообразованием, изучаю Clojure. Для практики что-нибудь написать. Чтобы труды не пропали «даром», хочется «наваять» что-нибудь для декстопа. Но идей что нужно 0. Сразу отмечу - не предлагать присоединиться к существующему проекту. Хочется написать что-нибудь свое, именно для закрепления материала и практики. Все труды будут опубликованы под какой-нибудь свободной лицензией. Кто скажет про блокнот/плеер/архиватор/файловый менеджер - сразу убейтесь об что-нибудь тяжелое и твердое.

 , , , ,

FuncPunk
()

Вброшу тут. Нелогичность атеизма.

Форум — Talks

Во-первых люди, которых можно условно назвать «религиозники», которые придумали термин «бог», сам его постоянно перетирают, толкуют и по пять лет в духовных академиях пытаются понять, чё это вообще такое. Монахи всю жизнь в келиях трутся, а под конец жизни всё равно утверждают, что искали-искали, но всё равно ни в чём не уверены на 100%. То есть, словами дать определение бога вам не могут даже они, авторы.

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

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

То есть лично для меня атеисты выглядят врагами логики и, собственно, науки, к которой они почему-то так активно притираются.

//ЭТО ТРЕД ПО ФИЛОСОФИИ, НЕ СТИРАЙТЕ, ПОЖАЛУЙСТА!

//Shaman007

kiverattes
()

ООП, литература, теория

Форум — Development

Доброго времени суток.

Люди часто используют понятия вроде связности кода, зависимости, внутреннего состояния объекта, и т.п.
Что они означают на практике всем понятно.

Подскажите литературу, в которой подобная терминология систематизируется и вводится более-менее строго в математическом смысле?

 

gv
()

C чего начинать PHP-джуну

Форум — Web-development

Исходные данные: решил поменять область деятельности, начать разрабатывать под веб. Выбор пал на php. Точнее, php+mysql+js. Прочитаны книжки, пройдены уроки, просмотрены курсы.
Тешу себя мыслью, что издали похож на джуна. Опыта реального применения языков - нет.
Теперь встал вопрос - что делать теперь? Вижу несколько вариантов наработки скиллов:

  • Фриланс. А нафиг я кому такой нужен? Да и не хочется врать, приписывать себе несуществующие проекты и годы опыта. Да и нет уверенности, что смогу завершить в срок что-то более-менее серьезное.
  • Стажировка. Опять же - стажировка на удаленке (единственный вариант для меня) - не слишком реалистично.
  • Начать коммитить для open source проектов. Толк будет. Если не отвлекаться от основной работы, то примерно через год. Я реалистично оцениваю свои силы, но хотелось бы побыстрее. Да и пускать джуна к более-менее нормальным проектам... Я бы сам себе по рукам дал, если бы речь шла о другом языке)
  • Велосипедостроение. То же самое, что и open source, но с еще более мутными перспективами.


    Товарищи, может у кого-нибудь есть серебряная пуля?
    RoR, Python+Django не предлагать, я выбрал PHP в здравом уме и твердой памяти.

 

darv
()

Изучение Assembler

Форум — Development

Стоит ли его учить? Да, для написания дров ко всяким железкам (которые я сам хочу клепать)

ShTH
()

сколько байтов ?

Форум — Talks

тему пилить в «разработке» не стал , ибо опять зафлудят . вопрос таков: сколько байтов за раз считывает getchar() ? есть такой код

#include <stdio.h>
/*
 *
#define EOF -1 - так определен конец файла в stdio.h
 *
 */
int main()
{
    int c;
    c = getchar();
    while(c!=EOF)
    {
        putchar(c);
        c = getchar();
    }
}
c - 4 байта . при вводе -1 цикл должен завершиться и программа должна следом завершиться , но этого не происходит . ЧЯДНТ ? как сделать правильно ? мб getchar() ест только 1 байт из 4-х ?

 , getchar,

conf
()

Lisp webframework

Форум — Web-development

Есть тут кто-нибудь, кто реально использует какой нибудь Lisp webframework (на любом диалекте лиспа)?

Хочу попробовать for fun.

 

pi11
()

Язык программирования Си как прикладной!

Форум — Development

Уже как 4 года работаю системным администратором. Честно говоря всегда была тяга к программированию, но неуверенность, а также зона комфорта вызванная моей работой не давала переквалифицироваться. Где-то полгода назад начал изучение паскаль, в основном книга была про алгоритмы, но так же описывались базовые структуры построения программ. В общем представление о программировании имею. Недавно задумался о выборе языка, взял на заметку C#, Java, C++ и даже Pure C. Написал на них парочку программ, честно говоря Си зацепил больше всех, прям чувствую что душа к нему лежит, и сам класс языка процедурный, что плюс. Но смутило одно, его используют в системном программировании, а в прикладном доминируют языки названные выше. Вот думаю вакансий по нему только в системном программировании, как поступить? Углубляться в Си или же переходить на другой?

 ,

andrzon
()

Акторы vs функции

Форум — Talks

Начал легкое ознакомление с предметом, а ознакомится с ним - дело нетривиальное, ибо источников, даже на английском, для научно-популярного чтения негусто, но не суть.

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

Итак, первое мое открытие: данная теория противоречит в корне функциональной парадигме, и, более того, самому понятию фунции, в том числе его математическому пониманию. И вот почему.

Понятие функции подразумевает глобальное состояние. Как область определений, так и область значений, неявно связаны с глобальным состоянием, в этом всем существуют константы. Отсутствие глобального состояния не позволяет нам определить функцию в классическом ее понимании.

Итак, у нас нет глобального состояния. Пусть у нас есть символ «1», а так же слово «один», которое тоже есть символ в акустической форме. Пусть у нас есть 2 мира, в одном из которых данный символ означает член, а в другом - влагалище. Есть еще третий мир, в котором данный символ указывает нам на некоторое количественное значение, думаю не надо пояснять какое именно, но он нас сейчас не интересует. И пусть есть ф-ция f(x)->xx. Внимание, вопрос знатокам. Какой результат нам даст применение данной ф-ции к аргументу 1? Вопрос философский.

Вывод. Если считать теорию акторов справедливой, а я считаю ее таковой, мы должны выкинуть на помойку всю, или почти всю математику, функциональное программирование, и программирование с состояниями.

BTW1 Все это весьма напоминает вопросы которые ставил Фреге.

BTW2 Буду благодарен за ссылки и другие указания на источники по сабжу, особенно на русском.

 , ,

anonimous
()

Релиз Ruby 2.1

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

Прекрасный новогодний подарок преподнес Matz всем любителям и профессионалам программирования на языке Ruby — релиз Ruby 2.1. В целом новый выпуск языка и среды исполнения написанного на нем кода продолжает эволюционное развитие Ruby и практически не вносит кардинальных или ломающих изменений. Кроме того, что стандартный интерпретатор стал работать быстрее, заявлены следующие отличительные особенности Ruby 2.1:

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

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

 

ins3y3d
()

Интерпретация, компиляция, а это что?

Форум — Development

Если транслятор преобразовывает программу:

input i
let j = i * 2;
print j

в

#include "set_val.h"
hash vars;
int main()
{
   input("i");
   set("j", mult(val("i"), 2);
   print(val("j"));
}

где set, mult и val определены как

void set(char *key, variant & val)
{
   set_hash(vars, key, val);
}

variant val(char *key)
{
   return get_hash(vars, key);
}

variant mult(variant a, variant b)
{
   variant c;
   assert(a.type == NUMBER && b.type == NUMBER);
   c.type = NUMBER;
   c.number = a.number * b.number;
}

а затем при помощи gcc получает бинарник, то этот весь процесс является компиляцией или интерпретацией?

 ,

monk
()

Архитектура Фон Неймана

Форум — Talks

Ознакомился бегло с сабжем и принципами Гарвардской архитектуры. Что могу сказать. Опять море воды и 0 конструктива.

Основной принцип Фон Неймановской архитектуры: совместное хранение данных и программ. Остановимся на этом подробней.

Никакой разницы между программой и данными нет. Есть куски кода, и только исполнитель решает какой кусок кода ему считать программой, а какой данными. В реале мы имеем куски сваленные в кучу. Тогда о каком «совместном хранении» вообще может идти речь? Совместное хранение кусков кода с кусками кода?

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

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

Ваше узкое горлышко - это то, что у вас только 2 шины а не 3. Возьмем программу А которая берет 2 аргумента B и С. Как мы получим одновременно В и С если шины у нас только 2? Определенно надо 3 шины. А где узкое место архитектуры с 3-мя? Догадайтесь с 3 раз.

И при чем же тут код и данные? Их совместное/раздельное хранение?

anonimous
()

Сложность алгоритма сортировки

Форум — Development

«Как горная птица в горах высоко,

Стою я на тумбе в войсках ВКО»

© ефр. А. Гавриков.

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

Суть алгоритма: принимаем на вход связный список. Создаем новый, пустой список. Заводим две переменные для указателей на голову и хвост. Далее поочередно вставляем элементы из первого списка, одновременно удаляя их оттуда. Элемент может вставиться либо в голову, либо в хвост, либо пробежаться по списку до нужного места.

Таким образом получаем на выходе отсортированный список.

 ,

TheKnight
()

Программирование на С

Форум — Development

Здравствуйте мои дорогие любители погромирования. Прочитал K&R «Язык программирования Си». Теперь нужна книга, которая расскажет как правильно писать код на С, общепринятые приёмы и стандартные алгоритмы решения типичных задач. Цель: пишу быдлокод для МК и хочу повысить свой скилл.

Перемещено mono из talks

ramon13666
()

проблема останова

Форум — Talks

Долгое время не мог врубиться в витиеватую формулировку сабжа. Когда врубился - впал в осадок.

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

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

ЗЫ отнес книжку с Т в туалет. Пользоваться ей не так удобно как туалетной бумагой, зато идеологически правильней.

 , , тьюринг

anonimous
()

Товарищи лисцперы, можете протестировать сборку sbcl clisp'ом?

Форум — Development

В sbcl поломали сборку клиспом. Я послал патч, при котором у меня всё работает, а один товарищ (stassats) пишет, что у него не пашет. Можете потестить?

Качать отсюда: https://github.com/shamazmazum/sbcl-dragonfly (обычный не прокатит, он как раз с багом)

Сборка: sh make.sh --xc-host=clisp

Если пойдет make-host-2, значит всё ОК. Особо терпеливые могут дособрать до конца (для чистоты эксперимента)

Спасибо, добрый ЛОР

 , ,

shamaz
()

Ищу удаленную работу системным программистом (pure C && *nix)

Форум — Job

Нежно люблю linux и чистый Си. Очень хочу связать свое светлое будущее с системным программированием (*nix kernel / C / Assembler). Дико хочу завязать с вебом (Php/JQuery - три года, жутко достало).

  • В системном программировании - новичок, опыта нет;
  • Си учил по K&R (прочел всю книгу, выполнял упражнения);
  • Gentoo - 2 года, Slackware - 1 год, вообще Linux (Desktop) - 4 года;
  • Уверенная жизнь в консоли, немного BASH, учу питон в свободное время;
  • Mercurial/Git;
  • Emacs;
  • Английский язык на уровне чтения манов;
  • Google-skill;
  • 24/7 доступность в скайпе и почте (постоянно проверяю);
  • Читаю Д.Кнута для понимания как устроен PC, начал первый том. Мне нравится;
  • Иркутск (МСК+05:00), сплю по ночам.

Сейчас пишу диплом, 5-й курс. Специальность - информационные системы. Январь-май (пока пишу диплом) готов работать на пол рабочего дня (20 часов в неделю) «за печеньки» с последующим (июнь) удаленным фултайм-трудоустройством у Вас за достойную заработную плату. Вы меня берете сейчас «на вырост», говорите какие книжки читать (все прочту во внерабочее время), даете понятные задания, я задаю глупые вопросы, выполняю ваши задания и за пять месяцев получаете готового специалиста для своей крутой компании.

Ищу работу именно системного программиста на Си. Больше всего интересует доработка ядра, написание модулей к нему. Возможно - разработка консольных (ncurses) утилит. Может быть - программирования разных железяк или embedded-систем. С очень большим интересом отношусь к ассемблеру (сейчас читаю Кнута, там «mixal») - но пока в нём почти ничего не понимаю. Также, с интересом отнесусь к работе с *BSD / Solaris.

Почта (как это сейчас модно)
echo "c29zbm92c2tpZXVnZW5lQGdtYWlsLmNvbQo=" | base64 --decode

Всем: приму любые полезные советы (в плане литературы), что следует прочитать начинающим системщикам, чтобы потом взяли на работу с головой. Ну или с руками.
Ну и вообще, любые советы.

 ,

zekka
()

Нет смысла юзать Ubuntu и еще половину дистрибутивов

Форум — Talks

Есть только 3 неспециализированных бесплатных дистрибутива которые есть смысл сейчас использовать, это Arch Linux, Debian и CentOS. Функционал которых чем-то выделяется из толпы дистрибутивов, причем чем-то хорошим.

Ubuntu и Mint нет смысла использовать потому что это сразу настроенные попытки собрать Linux который будет сразу работать хорошо, т.к. это плохо когда программа считает себя умнее пользователя это все кончается не очень, настраивать эти дистрибутивы сложнее чем классические дистрибутивы вроде Arch Linux, Debian итд. Когда в них ломается что-то настроенное их авторами починить это тоже сложнее - настраивал это не ты и куда смотреть ты не знаешь. Комьюнити в плане образованности у них тоже слабое - все нормальные пацаны сидят на более серьезных дистрибутивах.

Mageia, OpenSUSE и Fedora лучше предыдущих двух, про первую мне сложно рассказать что-то конкретное, про Fedora - это как Ubuntu от RHEL, только в отличии от разработчиков Ubuntu они позиционирует этот дистрибутив как тестовый полигон и не скрывают его нестабильность. А ведь он иногда и стабильнее Ubuntu. OpenSUSE - это напоминающий Fedora KDE дистрибутив, нацеленный на использование с KDE.

Gentoo - почти как Arch Linux, к сожалению сейчас медленно умирает и имеет маленькое комьюнити, один из двух настоящих Rolling Release дистрибутивов, из минусов - пакеты всегда нужно собирать локально, этот минус устранен в Arch Linux. Кроме того сейчас пакетная база отстает от Arch Linux.

Slackware - странный дистрибутив, я вообще не знаю какие у него плюсы, это как Arch Linux только с менеджером пакетов без зависимостей (это важно), и вообще дуратской системой пакетов, у него маленькое комьюнити, многих пакетов нет, я не знаю причин его использовать и никого кто его бы использовал. По слухам это любимый дистрибутив российских ученых.

LFS - вообще это специализированный “дистрибутив” который можно было бы не упоминать, но в отличии от других он крайне полезен для всех пользователей Linux кто с ним еще не знаком. Но для постоянного использования однозначно не преднозначен.

Перейдем к преимуществам Arch Linux над этими всеми дистрибутивами:

Это один из двух настоящих Rolling Release дистрибутивов, наряду с Gentoo. Никогда не надо накатывать большое обновление дистрибутива раз в год и смотреть сколько всего сломается, как в случае с Ubuntu и всеми прочими дистрибутивами (в некоторых из них возможен частичный Rolling Release, например в Debian, но там он не имеет смысла).

Он содержит наиболее свежий стабильный софт (из стабильной ветки) разработки, это дистрибутив с самым свежим софтом, все остальные дистрибутивы отстают от него иногда на несколько лет, особо для непопулярных пакетов. Как правило как только программа выходит после небольшого тестирования если пакет критичный он сразу выходит на Arch Linux, учитывая особенности разработки П.О. вообще это оказывается очень хорошим решением, в отличии от заморозки версий в Debian не RR дистрибутивах, иногда программы в них оказываются не такими уж и стабильными, т.к. взят последний релиз на момент заморозки, который мог следовать после релиза с новыми фичами, и в него не попадают багфиксы выходящие вскоре. Кроме того Linux активно развивается и за полгода ситуация с поддержкой некоторых новых устройств может меняются кардинально.

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

Удобная система сборки пакетов, поправить и собрать свою версию пакета можно легко и не напрягаясь.

AUR - это огромные единый репозиторий пакетов с удобным поиском, уникальная вещь, такого нет даже у Gentoo, содержащий в себе почти все пакеты, причем он содержит только правила сборки (прям как в Gentoo), надежно и круто. Количество пакетов превыщает любой другой дистрибутив.

Также легко как и в Gentoo пересобрать мир.

Systemd - удобная init система, кроме Arch используется как родная только в новом RHEL, CentOS и Fedora.

Есть ARM версия, хоть и осложнена но возможна сборка под любую архитектуру.

Принцип Keep it simple, stupid. Дистрибутив не пытается помогать себя настраивать, в результате после правильно настройки ты знаешь что и как работает и куда идти если где-то что-то сломается, что по ощущениям бывает значительно реже чем в Ubuntu, потому что это ты что-то делаешь и меняешь а не разработичики Ubuntu которые могут сломать любую нестандартную конфигурацию т.к. настраивают систему как они считают удобно.

Признанная многими лучшая Linux Wiki именно у этого дистрибутива, не смотря на огромное количество пользователей у других дистрибутивов те не особо стремятся делится знаниями о дистрибутиве, в отличии от пользователей Arch Linux. Считается практически чудом света.

В общем итоге это лучший Desktop дистрибутив, и вполне нормальный серверный для не критичных проектов.

Debian - один из старейших дистрибутивов, поддерживает много архитектур (возможно даже больше всех), один из наиболее стабильных дистрибутивов (с наиболее старыми пакетами).

Преимущества:

Стабильность

Огромное комьюнити у него и других Debian-based дистрибутивов (Mint, Ubuntu).

Большой выбор архитектур

Это наиболее стандартный и базовый дистрибутив, если где то на нестандартной платформе можно запустить Linux то это скоре всего будет сначала именно Debian.

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

Недостатки: Очень старые пакеты что делает дистрибутив слабо подходящим для десктопа

Помешанные на свободе исходного кода создатели. многих пакетов в официальном репозитории просто нет потому, что они не свободные.

Достаточно сложная сборка пакетов, о случаях пересборки мира не слышал.

Неудобная и старая init система.

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

CentOS - бесплатная версия RHEL, единственного Enterprise дистрибутива, унаследовал от себя все его преимущества.

Преимущества:

Один из немногих дистрибутивов использующих систему инициализации Systemd (на самом деле еще нет но будет в ближайшем стабильном релизе вслед за RHEL)

Использует дельта-обновления, по какимто причинам это большая редкость в Linux мире и присутствует только в RHEL и на нем основанных дистрибутивах.

Стабильность сравнимая с Debian при как правило более новых пакетах.

Это Enterprise дистрибутив, все серьезные Enterprise вещи имеют сборку под этот дистрибутив, и иногда только под него. Нормальное отношение к несвободному ПО, в отличии от Debian. Имеет официальную документацию (можно взять у RHEL), не какая нибудь Wiki написанная энтузиастами, а настоящая документация как у платного продукта для серьезных людей.

Недостатки:

Поддерживает только x86 и x64.

Так как нацелен на стабильность пакеты тоже свежестью особой не отличаются.

В целом не предназначен для использования дома на десктопе. Слабое комьюнити, RHEL пользователи просто обращаются в платную поддержку.

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

Перемещено leave из general

 , ,

Hijack
()

Конференция Embedded Kyiv TechTalks. Video Delivery 14 декабря в Киеве

Новости — Конференции и встречи
Группа Конференции и встречи

Дорогие друзья! Приглашаем вас на конференцию Embedded Kyiv TechTalks. Video Delivery, которая состоится в субботу 14 декабря в Киеве. Участие в конференции бесплатное при условии регистрации http://bit.ly/gl-embedded_kyiv.

Дата: суббота, 14 декабря 2013 г. Место: Амарант Отель Киев, зал “Гамма”, ул. Константиновская 71-Д, 500 метров от метро Тараса Шевченко (карта). Начало: 10:30, регистрация открыта с 9:30. В ходе мероприятия вы сможете пообщаться с украинскими и зарубежными экспертами в области embedded-разработки, в живую познакомиться с продуктами и решениями — лидерами с сфере передачи видео, находящимися на гребне современных технологий и потребностей рынка.

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

 , techtalks, ,

yurii_pyvovarenko
()