LINUX.ORG.RU

Сообщения Android

 

Ubuntu 16.04.7?

Сегодня обновлял свою Ubutnu. Поставился новым только один пакет base-files. После чего вся система пометилась седьмым обновлением:

lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 16.04.7 LTS
Release:	16.04
Codename:	xenial

На страничке с расписанием выхода точечных релизов вообще ничего новее 16.04.5 нет.

Это вообще нормально? Может, меня взломали и кто-то таким образом ведёт со мной странную игру?

 ,

Android
()

Обратный отсчёт

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

Пример на bash:

#!/bin/bash

let SEC=$[ $1 * 60 ]

echo seconds left:

while( [ $SEC -gt 0 ] )
do
echo $SEC 
let SEC--
sleep 1
done

Результат прогона:

./countdown.sh 3
seconds left:
180
179
178
177
176
175
^C

Перемещено Zhbert из development

 ,

Android
()

Сим-сим, откройся

Развивая темы предыдущих исследований-уроков начинающим от начинающих и опытных

пришла мысль такого следующего творческого задания:

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

Ну и, как и прежде напоминаю: в приоритете ясность, понимаемость, наглядность, лёгкость восприятия. Это не гольф-кодинг и не соревнование на краткость! Но минимализм - получается как следствие, чтобы убрать лишнее в коде. Как говорится: чтобы «за деревьями увидеть лес».

Отступлю от своего предыдущего опыта и переключусь с классического Си на оболочку Борна:

#!/bin/bash
while read l; do echo $l; done < $0
# такая нехитрая программа

Трёхстрочник из:

  1. Ши-бенг сигнатура оболочки (в классике /bin/sh)
  2. Собственно интерпретируемый рабочий код - только из встроенных (builtin) команд bash: while..do..done, read, echo. Т.е. никаких внешних программ не просим. Получается цикл, где в условии одновременно с проверкой на возможность чтения из потока - в переменную l загоняется очередная строка этого самого потока. А он в свою очередь является переадресованным (<) вводом из самого файла со скриптом ($0). В теле цикла echo итеративно выводит на экран значение ($) переменной l.
  3. финальный, не исполняемый комментарий тоже начинается с решётки, но будет показан нашим конкретным скриптом при запуске («самопрезентации»).

Ставим права и запускаем наш скрипт в файле selfie.sh:

chmod u+x selfie.sh
./selfie.sh

P.S.

Если меня не опередят: планирую написать нечто аналогичное на Си (как и в прошлый раз). Отображать и исходник, и бинарник. Но показывать читаемые символы (ASCII) исполнимого файла . То есть обложу себя условиями - никакого Unicode; исполнимый файл - с тем же именем, что и исходный, но без расширения (*.c).

 , , , ,

Android
()

Демонстрация массива и цикла по нему

Учитывая не малое число откликов и отсутствие возражний по теме простейшей программы продолжаем, с учётом замечаний и идей…

Задание к следующему конкурсу звучит примерно так:

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

Условия:

  1. ясность, наглядность, понимаемость и простота восприятия
  2. минимализм, краткость не в ущерб наглядности и пункту выше

Начну со своего любимого Си , опять-таки с учётом полученного опыта и «набитых шишек».

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

Все рассказывают, про функцию main в Си, но молчат (видимо, откладывая на потом), что в её заголовке уже есть в качестве параметров и скалярная переменная argc и, логически связанный с ней, массив строк argv. Их ведь сразу можно использовать! Но почему же эти педагоги от программирования сразу не объясняют назначение и смысл этих переменных? Ведь всё равно придётся это проходить. Не проще ли их сразу начать использовать для демонстрации возможностей языка? И по ходу дела рассказать про циклы, логические выражения и условия в операторах…

У меня получилось всего 5 строчек простого и наглядного кода на Си. Вот текст файла arr_cycl.c:

#include <stdio.h>
void main(int argc, char* argv[]){
        for(argc-- ; argc>=0 ; argc--)
                printf("argv[%i]=%s\n" , argc, argv[argc]);
}

Компиляция и демонстрационный прогон:

gcc arr_cycl.c && ./a.out раз два три
argv[3]=три
argv[2]=два
argv[1]=раз
argv[0]=./a.out

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

Тут можно многое рассказывать новичку в программировании про его нюансы: например, что наибольший индекс (крайний элемент) - это размер массива за вычетом 1, потому, что наименьший индекс - это нуль (нулевое смещение в Си). И это условие выполняется в первой части оператора for

Жду нечта аналогичного на других языках с разъяснениями. Даёшь простые и понятные альтернативы набившим оскомину заскорузлым подходам к изучению программирования (пробам пера)!

P.S.:

Кстати, наш насущный bash - тоже интересен тем, что там, в отличие от классического Bourne Shell - есть массивы.

 ,

Android
()

Конкурс на простейшую программу

Условие: составить кратчайшую программу на любимом языке и продемонстрировать её технлогию сборки, запуска….

Бью рекорд Hello world на классическом Си. Никаких заголовочных файлов и стандартных библиотек ! Впрочем, нестандартные тоже не нужны.

В вашем любимом редакторе пишем в файл simplest.c:

int main(int argc){
        return argc;
}

компиляция : gcc simplest.c

запуск с демонстраций вывода количества аргументов программы в качестве кодов её возврата :

./a.out ; echo $? 
./a.out - ; echo $? 
./a.out - - ; echo $? 

 

Android
()

Русификация броузера Lynx

Вот тут хотел попользовать в консоли Lynx. А он русские сайты транслитом пишет. Через меню настроек это не фиксится, как в links. Может где то ещё подкрутить можно?

Android
()

FLAC аудио-формат

Народ, хотел поинтересоваться чем мне лучше всего слушать файлы в FLAC формате? Хотел прикрутить его к известному xmms, но не нашёл плагинов. Тыкните меня точно где их можно скачать и как прикрутить? И если есть у кого ещё положительный опыт, пришлите ссылки на хорошие плейеры в этом удобном без потерь качества аудиоформате.

Android
()

USB Ir-DA адаптер MA-620

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

Какое устройство лучше всего выбрать? Только не надо меня посылать читать Ir-DA-HOWTO, там всё туманно и обобщается опыт использования западного пользователя.

Вот присмотрел себе в Техмаркете один интересный девайс http://www.matweb-01.com/English/solutions-ir.htm (MA-620) про Линукс там не слова.

Но у меня есть предположение что работать будет. Потому как USB-порт для моего Siemens ME-45 отлично пашет с программой scmxx. А там указано, что нужны только ОС Windows.

Вообще уже давно стоит проблема покупки железок для Linux'а а что брать - продавцы не в курсе, на сайтах производителей тоже нет информации. Посоветуйте российские сайты про железо под Linux'ом аналогичные ixbt.com.

Android
()

Переименование скрипта

Есть такая типичная задача в программировании на Unix Shell:

В каталоге лежат скрипты: script1, script2, ... scripti, ... scriptN

В них есть вызовы скрипта scriptM.

Допустим, у нас появилось желание переименовать scriptM в скрипт scriptK.

Вопрос: каким стандартным средством воспользоваться (лучше командная строка), чтобы изменить во всех скриптах

script1, script2, ... scripti, ... scriptN

текст "scriptM" на "scriptK" ?

Android
()

CMD PCI-0649 RAID Controller или о пользе писать в службу техподдержки

Вот приобрёл я себе на www.savel.ru вышеозначенный контроллер причём в коробке была инструкция по установки HPT-контроллера, и поддержки им Линукса (что всем известно). Но меня не расстроило то что мне подсунули нечто другое. Тем более Linux опознал правильно все чипы и включил UDMA-5 но читать диски, в формате установленного в BIOS RAID массива не стал. С виндой было всё ОК - ведь под неё там были на CD не только драйверы но и програмка для конфигурирования и настройки вида RAID-массива (зеркалка или с чередованием). Долго я лазил по конфам в надежде найти инфу по своему вопросу, но так и ни чего не нашёл. Уже хотел сам в конфах спрашивать. Но решил написать в службу техподдержки CMD (сейчас эта фирма переименовалась в Silicon Image):

От: ptaylor@cmd.com Кому: drondx@mail.ru Дата: Mon, 3 Jun 2002 09:53:02 -0700 Тема: RE: Using CMD PCI-0649 ATA-100 RAID Controller in Linux

Прочитать письмо в кодировке: win | koi | dos | mac | iso

RAID support for Linux is not provided by our firmware for the 649, IDE support only.

Sorry,

Paul Taylor Field Applications Engineer Silicon Image Irvine, CA

-----Original Message----- From: Android [mailto:drondx@mail.ru] Sent: Monday, June 03, 2002 12:10 AM To: end-user-support@siimage.com Subject: Using CMD PCI-0649 ATA-100 RAID Controller in Linux

Before I wrote this message I thorowlly read thi FAQ http://www.cmd.com/FAQs/pciusbfaqs.cfm. But have no question and answer on my interest.

I have CMD PCI-0649 ATA-100 RAID Controller

Board manufacturer is Innovision MultiMedia (http://www.ivmm.com/eio)

I use 2 same UDMA-5 Segate harddisks using RAID-1.

Card work perfectly in DOS, Windows (Medley Software is coorectly reported my BIOS settings).

In linux (Red Hat 7.2) card is detected as RAID controller (i see it in /proc/pci), but RAID functions is not working. Working only UDMA-5 access to the separated disks (/dev/hde, /dev/hdg). If I whill use it under Linux - RAID structure would be damaged.

I read the document about installing ATA RAID controllers under the Linux OS: http://www.tldp.org/HOWTO/ATA-RAID-HOWTO/

It sad about installing only HPT & mostly Promise controllers but not for CMD controllers. I try to pass kernel parameters, as the Promise controllers, but it has no effect.

I see linux kernel 2.4.18 sources and found only driver 64x.c, but not 64xraid. For the concurrent chip manufacturers (HPT, Promise) exist modules hptraid, pdcraid. Loading driver ("modprobe ataraid") has no effect for your driver.

Help me pleace how I may use your card? ------------------------------------------------------------

Возможным выходом для себя считаю или отключить RAID в контроллере и юзать все диски по отдельности (но на фига была тогда за RAID платить?) или отдать сей контроллер виндузятнику а самому купить нормальный от Promise или HPT.

Может у кого ещё есть предложения, что мне можно сделать с этой платой?

Android
()

Чем читать архивы списков рассылки

Вот я тут смотрю, что все прогрессивные тусовщики общаются через почтовые списки рассылок. Перед тем как подписаться на них, я скачал несколько файлов с архивами рассылки и обнаружил, что их формат похож на файл-архив почты с Netscap'ом. Пробовал подменять эти файлы папок почты программ kmail, knews. Вроде проги разбивают правильно на письма, но вот приаттаченные файлы не декодируют.

А есть ли программы выдирающие файлы-аттачи в формате base64 (и других) из файлов архивов рассылок?

И есть ли какие либо удобные средства чтения списка рассылок?

Android
()

Группа «Сети» в форуме LOR

Я предлагаю ввести группу "сети" в разделе "Форум" на Linux.org.ru, потому как вопросы по этой теме носят комплексный характер, особенно если что-то не работает, - причина может быть и в "Linux-hardware" и в "Security", в элементарной настройке клиентских программ и др. группах.

Сейчас же основная масса вопросов по взаимодействии систем в сетях падает в группу "Admin", что не всегда правильно.

Android
()

NcFTP with Squid-Proxy

Что мне нужно сделать с программой-клиентом NcFTP, чтобы я мог забирать файлы из Интернета, если я могу их забирать программой Netscape Navigator, используя только данные об адресе корпоративного хоста, где крутится Proxy-Server и специфичный порт 3128?

Я пытался играться с параметрами файла $HOME/.ncftp/firewall, но при запуске всё заканчивалось только вот такими сообщениями:

$ ncftp ftp://ftp.com2com.ru

NcFTP 3.1.1 (Dec 23, 2001) by Mike Gleason (ncftp@ncftp.com).

Remote host has closed the my-proxy-server...

Redialing (try 2)...

Android
()

Iomega ZIP USB Drive

Стал нужен второй ZIP - первый - с интерфейсом LPT меня очень устраивает, но дома есть компьютер PII с набором микросхем AL440LX, и на его USB интерфейс я ещё не одного устройства не вешал.

Посему к знатокам вопрос:

Будет ли Линукс работать с данным устройством?

Если "да", то какие модули ядра нужно будет загрузить?

Через какой файл-устройство монтировать дискету - через /dev/sda* (программный SCSI как в случае с LPT ZIPом) или через /dev/usb или ещё что?

И вообще где можно почитать про USB устройства в Линуксе (желательно по-русски)?

Android
()

Как стать первоклассным GNU программистом

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

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

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

Вот тут люди уже раздают свои программы народу (например: http://gtkballs.antex.ru/). А у меня пролёживают труды и не получают развитие только из-за того, что я не могу их организовать согласно GNU coding standard.

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

PS:

Лучше всего если это будут те материалы, которые уже реально помогли вам в аналогичном освоении.

PS/2:

Ещё я люблю ковырять чужие (иногда заброшенные) труды, так что сведения о том как делать хороший "derived works" тоже приветствуются.

Android
()

Log Parsers & Statistics Creators

Я тут по роду своей работы пишу программу, которая читает log-файлы с телефонной станции и делает из них статистические отчёты. Наверное многим до боли знакомая ситуация. Кто-то из вас наверняка делает и смотрит за статистикой Web Server'ов используя Webalizer (www.webalizer.net), кто-то анализирует логи squid'а (напримерhttp://unixware.ru/program.pl?prog_id=1289), логи Samba, ftp, ...

Список можно продолжить. Вот я и подумал, что в данной области сложилась ситуация, когда для почти одних и тех же задач создаются и поддерживаются разные программы. А почему бы не последовать примеру тех, кто пишет Multimedia-плееры для разных видео- и звуковых форматов файлов и написать одну программу, но использующую для каждого формата лога свой плагин? И свой плагин для отчётов - на HTML, plain text, XML, Excel, ....

Может кто-нибудь даст мне ссылку на такой проект, если он уже существует?

На freshmeat.net не посылайте - я уже его по этому поводу досконально изучил - ситуация такая, о которой я писал выше.

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

Android
()

RSS подписка на новые темы