LINUX.ORG.RU

История изменений

Исправление LINUX-ORG-RU, (текущая версия) :

К слову да, вот буквально 15 минут назад хотел в толксы про это написать. Мол я понял наконец почему у нас все дистрибутивы засраны скриптовым говном, почему утилитки на две строки имеют зависимости как IDE и всё вот это вот. Это оказывается удобно, а люди ленивые твари. И от этого пошла молва мол «вычислильное время сейчас дешёвое,докупи оперативки, поменяй проц, время дороже» и прочий отчасти бред. Это удобно, действительно удобно, только вот есть одно, но. Удобно для прототипирования и частых изменений, если программа устоялась, переписать на компилируемое и не сношать моск.

Но тут у меня есть оправдание, я тренируюсь =) Надо же прикладные вещи делать при обучении, вот тыкнул пальцем попал сюда и всё. Мне нужен скоро будет язык компаньон для автоматизации и одновременно встраиваемый, для прототипирования и расширения основной программы, типа если есть новый формат файла который надо сожрать то сначала набрасывается реализация на компаньоне, а когда уже изменений нет и не будет то переписывается на сишку (хотя если оно вообще стоит того, скрипты для себя хоть на PHP можно держать, переписывать надо что-то дельное и обладающее реальной вычислительной затратностью, а не тупо логику).

Всякие luarocks с поддтягом зависимостей это ненужное зло, но надо понимать хоть маленько как оно работает ибо локально порой надо что-то сделать быстро/временно, может пригодится.

Метался между языками lua и pawn оба подходят, у обоих приколы у павна сишный синтаксис (это и есть си для маленьких) у луа гибкость. pawn проиграл, но язык интересный очень.

Можно то что выше переписать используя системные curl для получения данных и jq для разбора json будет просто bash скрипт с логикой на чистой lua. И это было бы уже Ъ решение, без зависимостей (системные не в счёт), по всем канонам. Но надо поиграться и с зависимостями.

Вот такие пироги, на этапе обучения надо тыкать всё. Каюсь, позорище. Но lua это исключение, луа это уродливая няшка, дочка папы Си которая бегает в школу аэробики и часто там стукалась головой, развив гибкость и немного тугодумия ^.^

А как компаньён/скрипота lua хороша для такого, на баше яб не стал такое писать.
До этого это был скрипт на си запускаемый через tcc

------------------------------------------
-------Simple auto WakeUP from sleep------
------копиригхт Цы LINUX-ORG-RU-----------
------------license WTFPL-----------------
------------------------------------------
--- заранее в /etc/rc.local шобы работало
--- chmod ugo+r  /dev/rtc0
--- chown $USER  /sys/power/state
------------------------------------------

local ctime = 
{
    year = tonumber(os.date("%Y")),
    mont = tonumber(os.date("%m")),
    days = tonumber(os.date("%d")),
    hour = tonumber(os.date("%H")),
    mins = tonumber(os.date("%M")),
    seco = tonumber(os.date("%S")),
}

chunks = {}
for substring in arg[1]:gmatch("([^:]+)") do
   table.insert(chunks, substring)
end

local wtime = 
{
    hour = tonumber(chunks[1]),
    mins = tonumber(chunks[2]),
}

if wtime.hour == nil or wtime.mins == nil then
    print("./rtcwake час:минута")
    return
end

local time = 0
local incd = 0

if ctime.hour > wtime.hour then
    incd = 1
end

time = os.time
{
    year  = ctime.year,
    month = ctime.mont,
    day   = ctime.days+incd,
    hour  = wtime.hour,
    min   = wtime.mins,
    sec   = ctime.secs
}

print("Включение в "..ctime.year.."/"..ctime.mont.."/"..ctime.days+incd.." "..wtime.hour..":"..wtime.mins)

os.execute("killall rtcwake")
os.execute("/usr/sbin/rtcwake -m mem -s "..time-os.time())
os.execute("sleep 2")
os.execute("xset dpms force on")
os.execute("nmcli networking off")
os.execute("nmcli networking on")

print("тютютю")

Всё, я оправдался :D

Исходная версия LINUX-ORG-RU, :

К слову да, вот буквально 15 минут назад хотел в толксы про это написать. Мол я понял наконец почему у нас все дистрибутивы засраны скриптовым говном, почему утилитки на две строки имеют зависимости как IDE и всё вот это вот. Это оказывается удобно, а люди ленивые твари. И от этого пошла молва мол «вычислильное время сейчас дешёвое,докупи оперативки, поменяй проц, время дороже» и прочий отчасти бред. Это удобно, действительно удобно, только вот есть одно, но. Удобно для прототипирования и частых изменений, если программа устоялась, переписать на компилируемое и не сношать моск.

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

Всякие luarocks с поддтягом зависимостей это ненужное зло, но надо понимать хоть маленько как оно работает ибо локально порой надо что-то сделать быстро/временно, может пригодится.

Метался между языками lua и pawn оба подходят, у обоих приколы у павна сишный синтаксис (это и есть си для маленьких) у луа гибкость. pawn проиграл, но язык интересный очень.

Можно то что выше переписать используя системные curl для получения данных и jq для разбора json будет просто bash скрипт с логикой на чистой lua. И это было бы уже Ъ решение, без зависимостей (системные не в счёт), по всем канонам. Но надо поиграться и с зависимостями.

Вот такие пироги, на этапе обучения надо тыкать всё. Каюсь, позорище. Но lua это исключение, луа это уродливая няшка, дочка папы Си которая бегает в школу аэробики и часто там стукалась головой, развив гибкость и немного тугодумия ^.^

А как компаньён/скрипота lua хороша для такого, на баше яб не стал такое писать.
До этого это был скрипт на си запускаемый через tcc

------------------------------------------
-------Simple auto WakeUP from sleep------
------копиригхт Цы LINUX-ORG-RU-----------
------------license WTFPL-----------------
------------------------------------------
--- заранее в /etc/rc.local шобы работало
--- chmod ugo+r  /dev/rtc0
--- chown $USER  /sys/power/state
------------------------------------------

local ctime = 
{
    year = tonumber(os.date("%Y")),
    mont = tonumber(os.date("%m")),
    days = tonumber(os.date("%d")),
    hour = tonumber(os.date("%H")),
    mins = tonumber(os.date("%M")),
    seco = tonumber(os.date("%S")),
}

chunks = {}
for substring in arg[1]:gmatch("([^:]+)") do
   table.insert(chunks, substring)
end

local wtime = 
{
    hour = tonumber(chunks[1]),
    mins = tonumber(chunks[2]),
}

if wtime.hour == nil or wtime.mins == nil then
    print("./rtcwake час:минута")
    return
end

local time = 0
local incd = 0

if ctime.hour > wtime.hour then
    incd = 1
end

time = os.time
{
    year  = ctime.year,
    month = ctime.mont,
    day   = ctime.days+incd,
    hour  = wtime.hour,
    min   = wtime.mins,
    sec   = ctime.secs
}

print("Включение в "..ctime.year.."/"..ctime.mont.."/"..ctime.days+incd.." "..wtime.hour..":"..wtime.mins)

os.execute("killall rtcwake")
os.execute("/usr/sbin/rtcwake -m mem -s "..time-os.time())
os.execute("sleep 2")
os.execute("xset dpms force on")
os.execute("nmcli networking off")
os.execute("nmcli networking on")

print("тютютю")

Всё, я оправдался :D