Կարգերով պահոցներ՝ Տեք

Ասք կոճակների մասին

Մի քանի օր առաջ յղել էի Ռուբեներդի բլոգ, ամենամեծ ծիածանի մասին։ Բայց ես իր կայք չէի մտել, արդէն երկար ժամանակ ա, որ չէի մտել։

Ես իր գրառումները կարդում եմ RSS հոսքով, ապա իմ մօտ հրապարակել էի սեղմելով Share to MarsEdit կոճակը սեղմելով, որը մի անգամից հրապարակում է իմ WordPress֊ով աշխատող կայքում։

Ու հա, միշտ էլ տենց եմ օգտագործել համացանցը, եւ կարդալուց, եւ գրառելուց։ Բայց երբ բոտերիցս մէկը (ու խօսքը բնաւ ԱԲ֊ով աշխատող բոտերի մասին չի, քանի որ ես նորմալ մարդ եմ) գրառումը հրապարակել էր Տելեգրամ, մատս կպաւ ու բացեցի եւ իմ կայքը, եւ իր կայքը, ու տեսայ թէ ինչքան է դիզայնը փոխուել։

Ինձ շատ դուր եկաւ իր կայքի նոր կոճակները՝

այդ վերջին կոճակը (More Buttons) սեղմելով հնարաւոր է տեսնել աւելի շատ կոճակներ՝

ջահելները իհարկէ չեն յիշի, բայց ժամանակին ամբողջ համացանցը լցուած էր նման ճոկաճներով։ շատերը նաեւ յղում էին հետաքրքիր տեղեր։ ի դէպ՝ իմ կայքում էլ ՄԻ ՀԱՏ կայ, որը ես եմ սարքել, մօտ 10 տարի առաջ՝

antranigv@bsd:/usr/local/www/pingvinashen.am/htdocs % stat -x hacker.png
  File: "hacker.png"
  Size: 1367         FileType: Regular File
  Mode: (0644/-rw-r--r--)         Uid: (    0/    root)  Gid: (    0/   wheel)
Device: 1081463670,18446744073180938337   Inode: 391732    Links: 1
Access: Tue May  8 20:53:43 2018
Modify: Sat Apr 23 19:28:18 2016
Change: Tue May  8 20:53:43 2018
 Birth: Sat Apr 23 19:28:18 2016

հաւանաբար մի 5 տարի աւել էլ ապրել էր իմ նախկին սերվերի վրայ։

Ու մի անգամից գլխիս վրայ լոյս վարեց. իսկ ի՞նչ եթէ լինի մի հատ կայք որտեղ կարելի է հաւաքել նման կոճակներ։

Ուրախ֊ուրախ գրեցի Ռուբենին, թէ բա արի նման կայք սարքենք։

Մինչեւ նկատեցի, որ նման բան արդէն կայ՝ web.badges.world

ու անկեղծ ասած՝ շատ ուրախ եմ, որ նման բան կայ (։

Ասանկ բաներ…

Անդրանիկ Վարդանեան

13 Մայիսի, 2026

Երկու ամիս առաջ հետ անցայ Յունիքսական համակարգերի։ Իրականում շատ հաւէս ա աշխատել Լենովոյի ստեղնաշարով, Արչ Լինուքսով, լիքը տմուքսներով ու առհասարակ ազատ ծրագրակազմով — լափթոփի վրայ։

Խնդիրը նրանում ա, որ ես մակի վրայ մէկ ա աւելի արագ եմ աշխատում։ աւելի արագ եմ սքրինշոթ անում, աւելի արագ եմ բլոգում, աւելի արագ եմ խնդիր լուծում։

Չնայած նրան, որ Մակի հետ ահռելի շատ խնդիրներ ունեմ՝ նոր թողարկման վատ դիզայնը, նոր թողարկման սահմանափակումները, ծրագրակազմերի քիչ ազատ ԾԱ լինելը, բայց մէկ ա՝ աւելի արագ եմ աշխատում։

Իսկ ես մօտ 5 օր ծախսեցի, որ կարողանամ լաւ IRC կլիենտ կարգաւորել Լինուքսի վրայ, ու մէկ ա չկարողացայ։

ՄակՕՍ֊ի վրայ Textual֊ը շատ սիրուն ա, մակի վրայ ունեմ նաեւ MarsEdit, ունեմ շատ հաւէս share կոճակներ որոնք ինտեգրուած են համակարգի բոլոր մասերում։ ունեմ նաեւ Command/⌘ կոճակը, որը շատ լաւ ա մտածուած։

Բայց նաեւ ունեմ շատ ապուշ խնդիրներ՝ օրինակ հենց նոր որ ուզում էի դնել ⌘ յունիքոդը, իրան ման եմ եկել, չնայած նրան, որ մի ժամանակ առաջ իրան աւելացրել էի իմ «սիրած» յունիքոդերի մէջ։ բայց ահա խնդրեմ՝ կորաւ էնտեղից։

Մակի խնդիրները շատ ապուշ խնդիրներ են, բայց Լինուքսի (ու առհասարակ Յունիքս գրաֆիկական համակարգերը) շատ մնայուն են։ ո՞նց ապրեմ առանց IRC կլիենտ, ո՞նց ապրեմ առանց MarsEdit֊ի ալտերնատիւի, ո՞նց ապրեմ առանց նորմալ Mastodon֊ի կլիենտի։ ցուցակը ահագին երկար ա նման խնդիրների։

Հիմա, ստիպուած, հետս ամէն օր վերցնում եմ չորս հատ համակարգիչ՝ մէկ հատ MacBook Air, մէկ հատ Lenovo T480s որն աշխատում ա CachyOS֊ով, մէկ հատ MacBook Pro աշխատանքային համակարգիչ, մէկ հատ էլ Steam Deck.

ահագին նիհարել եմ, բայց մէջքս ցաւում ա։

Անդրանիկ Վարդանեան

24 Մարտի, 2026

պէտք է ասել՝ շատ յաճելի է հետ անցնել Յունիքսական համակարգերի համակարգչի եւ լափթոփի վրայ։

Ճիշտ է՝ մակՕՍ-ն էլ է յունիքս, ու շատ դէպքերում նոյնիսկ աւելի շատ յունիքս ա քան ասենք ոմն Լինուքս համակարգրե (ուբունտու, քեզ եմ նայում) բայց մի տեսակ հաւէս ա կրկին աշխատել KDE-ով, WindowMaker-ով, օգտագործել qtPass առանց խնդիրների, ունենալ նորմալ package manager։

Շատ խնդալու է սակայն, ու եթէ ինձ պատմէին սա մի տաս տարի առաջ չէի հաւատայ, որ Լինուքսի հետ անցնելու իմ գլխաւոր պատճառը կը լինի խաղեր խաղալը։

Մի քանի ամիս առաջ հաւաքեցի խաղեր խաղալու համակարգիչ՝ NVidia GPUով, եւ այլն։ ու ինձ ՕՀ էր պէտք, որ օգտագործեմ։ Դէ Վինդոզ հո չէի՞ դնելու։

Վերջում որոշեցի փորձել CachyOS, որը շատ աւելի լաւ էր քան սպասում էի։ նախ՝ հետը ZFS է գալիս, յետոյ էլ կարողանում եմ նորմալ bootloader-ներ օգտագործել ու ազատուել GRUB-ից։ այս դէպքում օգտագործեցի limine, բայց երեւի կուզէի անցնել ZFS Boot Manager-ին։

Էկսպերիմենտը էնքան լաւ անցաւ, որ վերջում որոշեցի իմ Lenovo ThinkPad T480s-ի վրայ էլ դնել CachyOS. դրա համար պէտք էր նախ փոխել մարտկոցը (done) ու քանի որ տանը ունեմ լաւ ցանց՝ փոխել Wi-Fi-ի չիպը (done).

Արդէն երկու շաբաթ Լինուքս օգտագործելուց յետոյ պէտք ա ասեմ՝ ահաւոր հաւէս ա ազատութիւնը բայց ահաւոր վատն ա ամէն ինչ ։Ճ such an amazing turn of events, yes?

նորայրը կասէր «դէ անդրանիկ դու ստրուկ ես որ մակՕՍ ես օգտագործում» բայց արի ու տես որ մակՕՍ-ում աւելի լաւ ա աշխատում spell checker-ը, աւելի լաւ ա աշխատում input-ների համակարգերը (այո, փորձել եմ եւ X11, եւ Wayland, երկուսն էլ վատն են), աւելի լաւ է աշխատում memory management-ը, աւելի յարմար է ունենալ global menu վերեւում, աւելի լաւ է ինտեգրուած ամբողջ համակարգը իրար հետ, քան ասենք Լինուքսի վրայ ունենալ KDE/Gnome/WindowMaker.

Էլ չասեմ, որ կան շատ բարձր որակի ծրագրեր մակՕՍ-ի վրայ, որը անհնար է գտնել յունիքսական համակարգերի համար։ օրինակ՝ MarsEdit, NetNewsWire եւ իհարկէ OmniFocus, որ առանց իրա չեմ կարող նոյնիսկ ապրել։

Միւս կողմից, պէտք ա ասել, որ մակՕՍ-ը էնքան վատ ուղղութեամբ ա գնում, որ կարող ա ուզած-չուզած հետ անցնեմ, մշտականապէս, Լինուքսի (կամ ինչու չէ նաեւ, FreeBSD desktopի)։

բայց մինչեւ էդ օրը գալը, պէտք է լաւացնել Լինուքսի ու այլ Յունիքսական համակարգերի առօրեայ օգտագործման վիճակները։

Հա, քանի յիշեցի՝ հաւանաբար լիքը սխալներ կան այս գրածիս մէջ, քանի որ ՕՀ-ի ծրագրերի մի մասը մի տեղից են կարդում ուղղագրիչի ֆայլերը, մնացածը՝ ուրիշ տեղից։ free software my ass, իմաստը որն ա էդքան ազատ լինելու եթէ իրար հետ չեն շփուելու։

ու իմ վրայ մի այլ տիպի ազդում ա յունիքսական համակարգերի վրայ գտնուող վատ հայկական ստեղնաշարերի վիճակը։ Կրկին պէտք է ծախսեմ մի քանի ժամ որ լաւ լեյաութ սարքեմ։ Նոյնիսկ Հայերէն գրամեքենայի լեյաութի վրայ պակաս բաներ կան։

Տեսնենք եթէ գոնէ մի տարի ձգելու եմ, թէ ոչ։

Անդրանիկ Վարդանեան

8 Սեպտեմբերի, 2025

Մի քանի օր առաջ տանը նոր դարակ ենք հաւաքել (ես ու Կօֆէն միասին, մուրճով խփում էինք, որ հաւաքուի, ու մուրճը իհարկէ վերցրել էինք հարեւանի մօտից), որի գլխաւոր նպատակն էր լինել դարակ տան սպասարկիչների համար։

Իհարկէ ստացուեց ոնց ուզում եմ, ու սիրուն տեղադրեցինք։ ահա նկար —

բայց ամենակարեւորն այն է, որ վերջապէս սվիչը՝ HPE OfficeConnect 1820֊ը, փոխել եմ Mikrotik CSS318–16G–2S+֊ով, որը ամբողջովին անձայն է։

էլ դզզզզզ ձայն չկայ տանը։

մնացած մանրամասները երեւի կը գրառեմ անգլերէն բլոգում։

ու տենց։ Կը ներէք որ, սերւիսները մօտ 12 ժամ անջատուած էին ։Ճ

Անդրանիկ Վարդանեան

16 Հունիսի, 2025

Մի քանի օր առաջ երբ որոշեցի BSides֊ի համար գրել events2ics ծրագիրը, հասկացայ որ մենք չունենք լոգ անելու գրադարան Օբերոնի համար։

Այդ պատճառով էլ գրեցի Logger գրադարանը։ մօտաւորապէս էս տեսքն ունի օգտագործելուց՝

MODULE LoggerTest;
  IMPORT Logger;
VAR log: Logger.Logger;
BEGIN
  log := Logger.New();

  log.SetLevel(Logger.DEBUG);
  log.Info("Program initialized");
  log.InfoInt("The answer to life, the universe, and everything: ", 42);

  log.SetPrefix("Web Server");
  log.Warn("Web Server is loading slowly");
  log.WarnInt("Current threads: ", 4)
END LoggerTest.

Բայց երբ վերջացրեցի Logger֊ը գրել, հասկացայ որ նաեւ չունենք Semantic Versioning֊ի գրադարան Օբերոնի համար։ Սա իրականում պէտք էր որ կարողանամ Վիշապ Օբերոնի գրադարանների համակարգը՝ Vipak֊ը աւելի լաւ օգտագործել։

Նաեւ գրեցի SemVer գրադարանը, որը այս պահին կարողանում ա միայն Parse անել, այսպէս՝

MODULE SemVerExample;
  IMPORT SemVer, Out;
VAR
  v: SemVer.Version;
  ok: BOOLEAN;
BEGIN
  SemVer.Parse("1.2.3-alpha.1+build.5", v, ok);
  IF ok THEN
    Out.String("major="); Out.Int(v.Major, 1); Out.String("; ");
    Out.String("minor="); Out.Int(v.Minor, 1); Out.String("; ");
    Out.String("patch="); Out.Int(v.Patch, 1); Out.String("; ");
    Out.String("preRelease="); Out.String(v.PreRelease); Out.String("; ");
    Out.String("build="); Out.String(v.Build); Out.String(";");
    Out.Ln;
  ELSE
    Out.String("Invalid version string."); Out.Ln;
  END;
END SemVerExample.
 $ voc ../src/SemVer.Mod -s SemVerExample.Mod -m 2>/dev/null && ./SemVerExample
../src/SemVer.Mod  Compiling SemVer.  New symbol file.  5302 chars.
SemVerExample.Mod  Compiling SemVerExample.  Main program.  1204 chars.
major=1; minor=2; patch=3; preRelease=alpha.1; build=build.5;

Բայց այլ բաներ էլ են պէտք, օրինակ Compare, Match, եւ այլն։ Մտածում եմ երեւի արժի Հաքերսփեյսի ժամանակ մարդիկ աշխատեն դրա վրայ, համ էլ լաւ ուսումնական մօտեցում կը լինի քանի որ հիմնականում ալգորիթմներ պէտք է գրել։

Էլ ի՞նչ գրադարան արժի գրել։

Անդրանիկ Վարդանեան

6 Մարտի, 2025

Բազմաթիւ կազմակերպութիւններ ինձ դիմում են, որ իրենց մօտ շատ կոնկրետ խնդիրներ լուծեմ։ Հիմնականում՝ սերվերների ու այլ ՏՏ֊ական հարցերի մասով։ Բայց շատ դէպքերում ասում են «դէ մնայ միւս հարցերով էլ օգնի», լինի դա անվտանգութիւն, կամ ծրագրաւորում, կամ որոշել թէ ինչ տեսակի համակարգ օգտագործեն նոթագրելու համար։

Վերջին տարին ահագին բզել եմ շատերին (երբ հարց է առաջացել) որ ունեն ներքին Վիկի։ Բոլոր դէպքերում էլ էդ ներքին վիկին ես եմ տեղադրում, ապա սկսում եմ արագի մէջ կարգաւորել, մի տաս հատ էջ սարքել, որ ամբողջովին դատարկ չլինի։

Պէտք է ասեմ, որ ամենաշատ ROI֊ը (Return on Investment֊ը) ունի ներքին Վիկին։ Ինձ թւում էր թէ ticket֊ների համակարգը կը լինի ամենաազդեցիկը, բայց չէ, իրականում Վիկին ա։

Ի տարբերութիւն ասենք Google Docs֊ի, մարդիկ միասին չեն աշխատում իր վրայ միաժամանակ, բայց էդ բերում ա նրան, որ աւելի խորն են մտածում գրելուց, չեն «մնում ուրիշի յոյսին»։ Միւս կողմից էլ, կուզէի որ վիկիները ունենային նման հնարաւորութիւն, բայց բնաւ պարտադիր չի։

Այս շաբաթ երկու կազմակերպութեան համար էլ դրել եմ, մէկը շատ փոքր, մէկն էլ միջին չափսի։ Տեսնենք ոնց կստացուի։

Նաեւ հետաքրքիր ա տեսնել թէ Ticketing֊ի համակարգը ոնց ա ահագին զբաղուած մարդկանց զբաղուածութիւնը քչացնում։ էլ չեն վազվզում, զանգերի մէջ չեն լինում, այլ ուղղակի հատիկ֊հատիկ իրանց գործն են անում։

Անդրանիկ Վարդանեան

27 Փետրվարի, 2025

Երեկուայ ելոյթը OWASP֊ի հանդիպման ժամանակ օկ էր։ ուղիղ 2 ժամ կարողացայ լրացնել, ու նաեւ մարդիկ ուզեցին որ աւելի տեխնիկական բաներն էլ մի օր առանձին պատմեմ, աւելի խորացուած։ երեկ ուղղակի մակերեսային էի պատմում։

Ամէն դէպքում ելոյթի սլայդները դրել եմ այստեղ՝ System Administration for InfoSec Professionals։ պլանաւորում եմ միւս շաբաթ վերջապէս հրապարակեմ իլլուրիայի նոր կայքը, ու այնտեղ արդէն կը լինեն մեր բոլոր ելոյթները, բոլոր տարիների։

Շնորհակալութիւն բոլոր նրանց, ովքեր միացան, հետաքրքիր հարցեր տուեցին, ու մասնակցեցին։

OWASP Yerevan February meetup

Ի դէպ վաղը ունեմ ելոյթ, OWASP Yerevan֊ի հանդիպման ժամանակ։

Չաթում գրել են հետեւեալը՝

OWASP Yerevan February 2025 meetup — ամսուայ վերջին չորեքշաբթին, փետրուարի 26, 19:00 — AUA, 314W PAB 

Agenda՝ 

System Administration for InfoSec people — Antranig Vartanian

յոյս ունեմ հետաքրքիր կը լինի։

Անդրանիկ Վարդանեան

15 Հունվարի, 2025

Ամէն առաւօտ մտնում եմ LinkedIn, որ տեսնեմ եթէ հետաքրքիր բան կայ, ու ամէն առաւօտ էլ հիասթափւում եմ։

Ուզում էի մանրամասնել թէ ինչի, բայց արի ու տես որ մէջս էլ էներգիա չկայ։ Ոնց որ ջուրը ծեծես։

In other news, երեկ ելոյթ եմ տուել մեյլ սերուէրների մասին, այսօր յղումները կը դնեմ։

Ասք Ruby֊ով սերւիսները ինքնաշարժաբար միացնելու մասին

Էս տարին լիքն է թարմացումներով։ Վերջապէս ժամանակ ունեցայ իմ տեղական Huginn֊ը տեղափոխել աւելի թարմ FreeBSD֊ի վրայ, ինչպէս նաեւ թարմացրեցի հենց Huginn֊ը, նաեւ իրան աշխատեցնող Ruby֊ն։

Ինչեւէ, նորայրը բողոքում էր որ՝

երբէք էլ չի աշխատել նորմալ։ սարեանից գոնէ ամէն անգամ ռեսթարտից յետոյ լոկ երկու օր էր բերում ստեղ, ու էլի չէր աշխատում։

որոշեցի արագի մէջ սերւիս հաւաքեմ, որ reboot֊ից յետոյ նորմալ միանայ Huginn֊ը, ինչպէս նաեւ ուղարկեցի իրենց որպէս պատչ։

Քանի չեմ մոռացել, ահա նաեւ սերւիսը՝

#!/bin/sh

# PROVIDE: huginn
# REQUIRE: NETWORKING mysql
# KEYWORD: shutdown

. /etc/rc.subr

name="huginn"
rcvar="huginn_enable"
pidfile="/var/run/${name}/${name}.pid"
logfile="/var/log/${name}/${name}.log"
huginn_user="${name}"
huginn_chdir="/usr/home/huginn/huginn"
huginn_command="/usr/local/bin/foreman start"

PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/home/huginn/bin"
HOME="/usr/home/huginn"

command="/usr/sbin/daemon"
command_args="-P ${pidfile} -T ${name} -o ${logfile} ${huginn_command}"

load_rc_config $name
: ${huginn_enable:=no}
run_rc_command "$1"

սա քիչ անց պէտք կը գայ նաեւ սարեանի համար, որը նոյնպէս գրուած է Ruby֊ով։

գնացի մի քանի բան էլ թարմացնեմ։