Én csináltam!

Vagyunk páran, akik időről időre hobbiból programozunk egy magunk által kitalált projektet. Ez lehet, hogy hasznos lenne más számára is, és előfordul, hogy csak mi vagyunk rá büszkék. Ha van ilyen projekted, legalább 2 sor, és csinál valami hasznosat, szépet, vagy csak érdekes, akkor írj róla!

Hozzászólások

Rootolt Android telefonra billentyűzetleütések injektálása távolról. link

Bash script, ami lekapcsolja a gépet, ha kevés a forgalom a hálokártyán (tipikusan azért, mert a letöltés véget ért). link

A kodhoz: $data-ban az eth0-ra van szures, ha vki mas interfacet hasznal, pl eth2, akkor nem mukodik.

if=`cat /proc/net/dev | grep -i eth | awk '{print $1}' | cut -d: -f1`

itt pedig:

data=`cat /proc/net/dev | grep $if | sed -r 's/.*://' | sed -r 's/ *([0-9]*) *([0-9]* *){7}([0-9]*).*/\1+\3/' | bc`;

de ha tobb interface van, csak az elso lesz feldolgozva, ami tovabbi munkat igenyel, vagy megadod parameterben, hogy melyik interfacere allitson be szurest..

- nem szerencses valtozonak builtin nevet adni (if) ;-)
- ez a cat-grep-awk-cut szornyu. awk is tud grep-szeruen szurni, az iface (device) neve garantaltan kisbetus, arrol meg ne is beszeljunk, hogy "ha vki mas interfacet hasznal" lehet wlan0-tol kezdve barmi... es ez meg csak a linux; BSD-ken, Solarison driverfuggo a kartya neve. Mindenesetre a fenti

if=`cat /proc/net/dev | grep -i eth | awk '{print $1}' | cut -d: -f1`

helyett pl az

iface=$(awk -F\: '/eth/ {print $1}' /proc/net/dev)

verziot ajanlom, de nalam pl van eth0, eth1 is, igy nem nyert a dolog. legjobb parameterkent, pl '-i eth0' megadni az interface-t, esetleg -i nelkul lehet eth0 a default.

szerk. bocs, hulye vagyok, pont ezt irtad te is ;-)

Perl script, ami egy text fájlban felsorolt PubMed ID-k alapján letölti a hivatkozásokat az OpenOffice irodalomjegyzék adatbázisába. Amolyan poor man's EndNote. pickupfrompubmed a pastebin-en. DBI, DBD::XBase, XML::Simple, Text::Unidecode modulok kellenek neki, és a kódban be kell állítani az openoffice könyvtárat, ahol a beállításokat tárolja. Nem túl felhasználóbarát, de mükszik.
Csaba

C library (egyelőre osx és linux-ra (vagy mindenre ami posix)) callback centrikus thread-safe tcp/ip server/client hálózatkezelő, hogy ne kelljen select-eket használni, meg fél hektár header file-t includolni :)

Signal és timeout eseményeket tud kezelni? Gondolom socket event-eket regisztrál a programozó, abból összeállítod a select() fd_set paramétereit. Fogadhatnál abszolút időbélyegekkel felcímkézett időzített eseményeket is, amelyeket bedobnál egy prioritásos sorba. A sor elején álló eseményig hátralévő (relatív) időintervallumot megadnád a select() timeout-jaként, és máris tudna a programozó kapcsolatfüggő időkorlátokat regisztrálni a kapcsolataira. Mit szólsz? :)

Inkrementális SVD library. Speciális esetekben gyorsabban tud SV felbontást előállítani, úgy, hogy felhasználja az előző felbontás eredményét. (És ugyanez GPU-ra, csak az még nincs publikálva, mert gány a kódja ... :) )

:) Gondolkoztam pedig, hogy linkeljem-e, mert nem sok embernek lehet ra szuksege. Meg az se biztos, hogy neked jo lesz, mert eleg specialis esetben hasznalhato:

Szoval amit tud:
- vannak vektoraid (lehetoleg jo nagy dimenziosak: > 10k)
- ezekbol veszel egy parat (lehetoleg keveset < 100)
- ebbol keszitesz egy SVD felbontast
- majd egy update muvelet segitsegevel az uj vektort belepteted az SVD "bazisba"
- aztan egy downdate muvelettel a "legregebbi" vektort kiejted a bazisbol
- igy a bazis merete, es a memoriaigeny is fix

Egyebkent a memoriaigeny kb ennyi float vagy double: 2*N*(M+1) + 8*M*M + 14M,
ahol N a nagyobb es M a kisebb dimenzio.

A muveletigeny kb. egy M*M-es SVD es egy N*M x M*M -es matrixszorzas muveletideje, szoval itt latszik, hogy ha M tulno egy hataron akkor nem lesz gyorsabb mint elvegezni a teljes SVD-t.

Ha ilyesmi programot keresgelsz akkor folytathatjuk privatban, tudok kuldeni algoritmust, par merest a sebessegrol, illetve megvan a GPU-s valtozata, ami egesz igeretes, de csak egy nem tul eros kartyan tudtam eddig tesztelni ...

sshc - perl curses::ui-s ssh frontend

felparsolja az ssh kliens konfigot és az abban található sessionok közül lehet indítani ssh-t a launchyhoz hasonlóan.

kép

Turbo Pascal 7.0 -ban (+Assembly) írtam GUI library -t. Egérkezelés (soros port), alapvető ablakkezelés (ablakmozgatás, kicsinyítés, nagyítás, bezárás, ablakok fedése egymással, ablakok alatti terület lementése, visszatöltése, stb) és vga/svga módok kezelését tudta. Nem nagy cucc, de 14 évesen írtam autodidakta módon. Sajnos már nincs meg a forrás :(

Én "rendszer diagnosztikai" progit írtam. Kiírta grafikus diagrammal hogy mennyi a hdd mérete, és mennyi még a szabad. Meg CPU benchmarkot, ami adott egy viszonyszámot. :)

Akkor még nem tudtam, hogy létezik ilyen hogy MMX, SSE, SSE2, SSE3... stb.. de akkor jópofa volt hogy a DX2-es gépem mennyivel gyorsabb mint egy 386-os, vagy mint egy SX. :)

Én is belekezdtem hasonlóba. Anno egy DLH-hoz hasonló game cheat adatbázist akartam összehozni. Az enyém kicsinyíteni-nagyítani nem tudta az ablakokat, ellenben volt scroll, egérkezelés, árnyék az ablaknak, stb.
Csak aztán szépen abbamaradt a project. Valahol még talán megvan a forrás is.

En is tizenvalahany evesen irtam egy csaladfa kezelot/kirajzolot, freepascalban. Vegre 32 bites volt :) es a binaris nagyobb lehetett 64k-nal. Kezelte az ablakokak, a kepernyofelbontast. Meg ki is nyomtatta a csaladfat ascii-s vonalabrakkal matrixnyomtatora. En kiirtam CD-re, de nem tudom hol van :)

subscribe
---------------------------------------------------
Talisker Single Malt Scotch Whisky aged 10 years :)

Interaktív, real-time Julia-halmaz nézegető Perl-ben

http://hup.hu/node/80376

Írtam egy hasonló elven működő Game of Life szimulátort is, de annyira lassú, hogy nem merem linkelni (a PerlMonkson fent van, meg lehet keresni).

CNC vezérlés átalakítása saját kényelmemre
- Az előlap nagyon szerény volt: 2 db plexi, közötte HP Deskjet 110c nyomtatás :) - megmosolyogtató
- Kibeleztem, átszerveztem, előlapot készítettem, beépítettem a meghajtókat, le lett rendesen árnyékolva...
- két gép volt benne és óriási kupleráj... a második képen látni az eredeti vezérlést...

megy, mint az óra...

http://kepfeltoltes.hu/view/100216/DSCN8872_www.kepfeltoltes.hu_.jpg
http://kepfeltoltes.hu/view/100216/DSCN8734_www.kepfeltoltes.hu_.jpg

MesterLogika SDL használatával készült logikai játék. Még csak próba verzió, azaz a béta is fényévekre van, de játszható. Forrás akkor lesz kitéve, ha újraírtam és szépen fog kinézni. Most még szégyen, ahogy kinéz. Sajnos időm most nincs foglalkozni vele, de nem adtam fel, hogy kész legyen valamikor.
http://bemutatkozom.hu/viking/
--
unix -- több, mint kód. filozófia.
Life is feudal

Itt
Hostolva, mig van accom es helyem.
Azt mondtam, multiplatform, emlekeim szerint Lazarussal keszitettem, es kellett kicsit hegeszteni, h a referencia Delphi 5.0 is vigye, de a benne levo exe-t most kiprobaltam wine alatt es jol mukodott. Jo jatekot.
Jah, dokumentacio nincs, nem user friendly, de ha ismered a jatekot, sztem rajossz a mukodesere.

monoBristol - Gui a Bristol szintetizátor csomaghoz. Ubuntu és Debian tárolókban benne van, vagy http://dacr.hu/monobristol

Fejlesztés alatt pedig egy online társasjáték.

Szerk.: az orrom előtt dolgozik a kicsike, s kihagytam :D
Online képtovábbításra ffservert használunk, de a netünk elég instabil, így ha megszakad a jelfolyam, nem igazán bírt magához térni a kapcsolat. Összeraktam egy kis progit, ami wget-el 15 másodpercenként lehúzza a szerverről az ffserver stat.html-jét, onnan grep segítségével kinyeri, hogy mennyi bájtot töltött fel a feladó-gép. Ha két 15 másodperces ciklusnál is ugyanannyi az érték (azaz nincs újabb érkezett bájt), ssh-zik a szerverre, az ffservert újraindítja, törli az ideiglenes streamfájlt, majd a feladógépen elindítja az ffmpeg kódolást a szerverre, majd logolja a kimaradás időpontját.
Nem szép a kódja, de már egy éve tökéletesen felügyeli a net-szakadásokat. Forrás nincs publikálva, de annyira egyszerű, hogy ez alapján bárki össze tudja rakni a scriptet.

társasjátékról jut eszembe, én is írtam egyet, még az akkori csajomnak poénból, nagyon egyszerű meg sz.r :) csak hamar gyorsan kellett egy mert nem volt kéznél kinevet a végén :)

http://log69.com/temp/vb6progik.zip

betettem néhány régi vb6-os progimat, csak magam szórakoztatására csináltam ezeket, persze névjegy-gyel szigorúan, kéretik fenntartással kezelni!

megj.: Mindegyik megy wine-vel.

Billiard (bal egérrel golyó sugara állít, jobb gombbal kihúz és lő)
Clock (bal dupla klikkre lehet csak bezárni :D)
Crazy Dots (biztos ismeritek az algoritmust, Ctrl+R és Ctrl+A, vagy bal egérrel gombbal lehet rajzolni pontokat)
Skandi (akkori lottó mániám)
Sphere (ez is mánia, itt a numerikus + és - gombbal lehet a "felbontást" növelni, space gomb meg nézet)
Tarsasjatek (itt jobb gombra helyi menü van + az egérrel közelebbi bábuval lép bal klikkre)

remélem nem lesz gondom az ms dll újraterjesztéséből :O

A feladat:
dd if=/dev/nagyblockdevice of=/nfs/barmi

Ilyenkor a CPU malmozik, a hálózat meg nem. Ráadasul az otthoni "NAS" eléggé köhögött az írás közben.

Megszoktam, hogy komplett HDD-t dd-vel mentek és utólag tömörítem. Egyszerű és bevált, de így még jobb lesz. Köszönöm. :)

--
http://blog.htmm.hu/

Ha amúgy is bzip2-vel tömörítenéd, akkor kívánom, hogy tudd hasznosítani az lbzip2-t.

Ha a bzip2-re csak azért esett a választásod, mert "miért ne", akkor a fenti és hasonló feladatokhoz ajánlom megfontolásra ezt a cikket, a benne tárgyalt

tamp

tömörítőt, illetve az

lzop

-t. (A

tamp

-et személy szerint nem használom, mert ahol használnám, az egyrészt egymagos gép, másrészt se nem GNU/Linux, se nem Solaris; úgyhogy ott marad az lzop.)

Ha kifejezetten az erős tömörítés fontos, akkor ajánlom a plzip-et, ami eredetileg az lbzip2-0.17 fork-ja, de a

liblz

-t használja (LZMA) tömörítésre a

libbz2

helyett. (Nem én fejlesztem.)

Micsoda emlékeket ébresztett ez fel bennem :D. Nekem is volt ilyenem régen. Párhuzamos port, /dev/coffe, és sima echoval működött. Elsősorban arra használtam, hogy egy szkript reggel feltekerte a zenét, felkapcsolta a villanyt és lefőzte a kávét. Így könyebb volt korán kelni ... (meg volt olyan változata is, hogy a desktop notification area-n volt egy ikon amivel lehetett kapcsolgatni a villanyt, aminek persze semmi értelme nem volt, de "funky" volt, hogy idézzek fentről ... )

nyosweb: Egy egyszeru, kicsi webserver, ami a 0.9-es es 1.0-as HTTP egy, a mukodeshez szukseges minimalis subset-jet implementalja. C-ben irtam, preforkol, van benne vedelem a tulterheles ellen, mukodik az asztali (x86) gepemen es Zauruson is.

reversi/othello: Egy alfa-beta nyeseses minimaxot implementaltam c++-ban, hogy kiprobaljam hogy mukodik a gyakorlatban. Nincs benne sok optimalizalas, ma mar maskepp allnek neki. Mindenesetre a legtobb emberi ellenfelet megveri. (persze gep es turelemfuggo - ugyanis az idovel nem gazdalkodik normalisan, nem is meri)

dzsinn: Egy 3D engine-nek indult, de szethullott a csapat. Amit tud: alakzatokat be tud tolteni XML-bol, texturat kezel, valamint IFS fraktalokat rajzol (ezt HW-bol szamolja). OpenGL/C++

bot engine: Egy esemenyvezerelt webes robothoz tartozo keretrendszer PHP-ban. Meg lehet neki adni, hogy toltson le bizonyos oldalakat, utana ezeket valamilyen modon elemezze, a felismert mintakra reagaljon (regexp vagy adott XPATH-on letezo elem meglete), adatot gyujtson, es utana a belso allapotanak megfeleloen menjen tovabb.
Azert kezdtem el irni, mert egy idoben tobb olyan feladatom volt, ami valami hasonlot igenyelt, es untam copy-paste-tel osszevagni a korabbi botok forrasabol az ujat. A jelenlegi meg nem eleg letisztult (lehet, hogy soha nem is lesz), de jol mukodik. Kicsit kusza a kodja, es nemtrivialis a hasznalata, de nekem megfelel.

--
If women are so good at multitasking, why can't they have sex and a headache at the same time?

Reversinel az viszonylag egyszeru. Minel tobb babud van, annal jobban allsz (mert az nyer, akinek a vegen tobb van). Tehat az adott node erteke a figuraid szama - az ellenfel figurainak szama.
Lehet sulyozni, mert pl. a sarkok, elek strategiailag tobbet szamitanak, de ennel tobb nem kell.

Damanal, amobanal persze mas a helyzet, ott tenyleg bonyolultabb ez a resze. Csereben a lepesgeneralas trivialis (reversiben az komplikaltabb).

--
If women are so good at multitasking, why can't they have sex and a headache at the same time?

Legegyszerűbb mailing list, ha az aliases-ben felsoroljuk a címzetteket. Persze ki is lehet rakni text file-ba. Viszont Sendmail-nél nálam ha egy ilyen listán lévő személy válaszol a levélre, akkor nem a "lista" címre küldi vissza a levelet, hanem az eredeti írónak. Engem eléggé idegesített ahhoz, hogy írjak egy milter-t. Ráadásul nálam a return-path-t sem tölti ki rendesen az MTA - szerintem egy bug. Végül is így nem csak a válasz címzettje lesz helyes, hanem "rendes" levelező listák standard haeder-jeit is be lehet rakni a levél fejlécébe. Ezután a levet egy átlagos mail programmal megnyitva lesz "válasz a listára", meg "leíratkozás" gomb, stb... C-ben programozni olyan, mint részegen tántorogni egy aknamezőn.

"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."

Egy egyszerű script ami kiolvassa egy fájlból a benne szereplő neveket és azok alapján létrehozza a csoportot, homemappát, felhasználót etc.

#!/bin/bash

PW='minad'
GR='users'
GR_ID=2000
addgroup --gid $GR_ID $GR

subUseradd()
{

for USER in $(cat /home/comp/$GR'.dat') ;do

mkdir /home/comp_user/$GR/'users'$USER -p

useradd -d /home/comp_user/$GR/'users'$USER -g $GR -s /bin/bash 'users'$USER
echo $USER:$PW | chpasswd

chown -R users$USER:$GR /home/comp_user/$GR/'users'$USER
chmod 705 /home/comp_user/$GR/'users'$USER -R

cp /etc/skel/.bashrc /home/comp_user/$GR/'users'$USER
cp /etc/skel/.profile /home/comp_user/$GR/'users'$USER
done
}
clear
subUseradd

qzsir.googlecode.com Egy egyszerű zsírozós játék C++/Qt-ban írva.
---------------------------
Oszt jónapot!

Mester, segíts! :D
Zsírozni szeretnék, oly rég játszottam, de nem tudom lefordítani.- Szinte már minden QT-s cucc fent van, de ezt kapom:

berci@berci:~/Letöltések/qzsir-1.0.0-beta$ qmake
berci@berci:~/Letöltések/qzsir-1.0.0-beta$ make
g++ -c -pipe -g -Wall -W -O2 -D_REENTRANT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT -I/usr/share/qt3/mkspecs/default -I. -I/usr/include/qt3 -I_build/uic/ -I_build/moc/ -o _build/obj/bot.o bot.cpp
bot.cpp:4:14: error: Qt: Nincs ilyen fájl vagy könyvtár
bot.cpp: In member function ‘int Bot::botStartTheRound(int*)’:
bot.cpp:75: error: ‘qrand’ was not declared in this scope
bot.cpp:84: error: ‘qrand’ was not declared in this scope
bot.cpp:93: error: ‘qrand’ was not declared in this scope
bot.cpp:102: error: ‘qrand’ was not declared in this scope
bot.cpp: In member function ‘int Bot::getNonTenAndAceAndMaybeSeven(int*)’:
bot.cpp:203: error: ‘qrand’ was not declared in this scope
make: *** [_build/obj/bot.o] Error 1

Nokia telefonhoz névjegyzéket tölt fel vcfből. B2P.py, kell neki PyS60.

Hmmm. Megoldottam a rovásírás problematikáját a weboldalakon:)
Ez egy eléggé kevesek számára hasznos dolog, de marhajól néz ki.
Ráadásul kissé túlteng bennem a nemzeti érzés is, azért is juthatott eszembe, hogy meg kéne oldani.

Függetlenül attól, hogy a napi használhatósági értéke konvergál a nullához, a legjobb tudomásom szerint ez nekem sikerült csak.
Én csak ezért vagyok rá büszke. No meg a kitartásomra, hogy egy hétig agyaltam rajta csak azért, hogy egy pofonegyszerű CSS trükkre rájöjjek.
Annyira gyalázatosan egyszerű, hogy eddig mindenki akinek elbüszkéledtem vele, azt mondta. "jajjmááá". (akkor miért nem ő oldotta meg? :)
De jó poén, itt a helye. (teszt, pölö: www.fusz.hu.)
--
A linux felhasználóbarát. mindössze megválogatja a barátait...

eh de veszett lassan lehet scrollozni az oldalt. Más oldalak mennek, így szerintem nem nálam van a bibi.

Egyébként nemrég kellett csinálnom egy weboldalt egy íjászboltnak, kérték, legyen rovásírással is feltüntetve néhány dolog, akkor találtam ezt:
http://www.rvs.hu
Nagyon jó pofa fordító, megkímélt attól, hogy megtanuljam ezt a számomra felesleges írásjelkészletet. :)

Opacity,text-shadow,box-shadow effektek fogják le a scroll-t :///
Ezen az oldalon kíséreltezem mindig, mindeféle ötlettel. Készítettem olyan "tanulmány" oldalt, ami egy fullos Desktop környeztet adott GUI-nak.
Csak hülyeség, mert amit egy weboldalon egy kattintással nem érsz el, (indokolt esetben kettővel) azt rosszul terveztem meg :))))))
--
A linux felhasználóbarát. mindössze megválogatja a barátait...

Nem vagyok túl jó ismerője a rovásnak, úgyhogy inkább kérdem: hogy vannak megoldva a kettősbetűk? Azt tartom a rovásírás legnehezebb részének.

—-—-—
int getRandomNumber() {
	return 4;//szabályos kockadobással választva.
}		//garantáltan véletlenszerű. xkcd

Ahogy latom, sehogy, raadasul olyan fontot hasznal, ami a nagybetuk helyen tarolja az osszevont betuket/speci karaktereket. Szoval a "Főoldal" feliratbol valami egeszen egzotikus dolog lesz, a "Magyarero.hu"-bol "1000 A G SZ A R E R O . H U".
Arra meg nem jottem ra, hogy mikor hasznalja a magas es mely "k"-t.

Az otlet jo, de nem lehet a latin ABC-t 1:1-ben megfeleltetni a rovasnak, kell ele valami plusz kod (valoszinuleg statisztikai/szotar alapon megvalositott "sz","zs","cs" betukkel).

--
If women are so good at multitasking, why can't they have sex and a headache at the same time?

Nos, ez valóban így van. A helyzet a köv. Létrejött egy "rovás bizottság", ami a rovás jelrendszert akarta (sikerrel) az UTF8 szabvány alá szuszmákolni. Ezt sikerült elérniük. A gond a következő: több .ttf is készült ennek a felhasználásával. Mivel a sazkértők egy raklap dologban a mai napig nem képesek megállapodni, így forudlhat elő, hogy több .ttf is létezik. Az egyikben a számok nincsene definiálva, a másikban a kettős hangok jelei, stb... sőőőt, olyan is van, ahol alkottak is több új jelet, pl: a @ -ra. Egyszóval ezt a részét nem én szeretkeztem el :D Próbáltam abból dolgozni, amit a szakik csináltak. Az elején, akármelyiket is akartam felhasználni, a másik betűtípus alkotója telefonon hívott fel, és cseszett le (néha nem emberi hangnemben), hogy mégis mit képzelek magamról, miért nem az övét használom, hiszen az a jó.
Egy idő után a belátásom szerint döntöttem, és mindegyiknek megírtam, hogy egységesítsék, csináljanak egyetlen betűtípist, aztán majd beszélünk, addig hagyjanak békén.

Erről ennyit. :)
--
A linux felhasználóbarát. mindössze megválogatja a barátait...

Van egy-két barátom, akikben szintén túlteng a nemzeti érzés, nekik mindig ezt mondom:

És mond: Honfi, mit ér epedő kebel e romok ormán?
Régi kor árnya felé visszamerengni mit ér?

(No offense, és klassz, hogy megcsináltad, de nem vagy első. Jó sok évvel ezelőtt (kb 10-15) csináltam egy Tolkienes honlapot, ugyanígy oldottam meg a tünde írást, bár akkoriban még nem volt css, inline font-face trükk kellett ttf importhoz. Azóta sok víz lefolyt a Dunán, és amióta kijött a film és mindenki Tolkien rajongó lett, nem hangoztatom...)

Rovásból akkor mégiscsak első vagyok :))))
De ügyes vagy a css nélküli megoldásban. Azt olvastam, hogy a font-face ebből az IE featureból került át a css-be. Ezért van az, hogy a font-face dolgot az összes IE támogatja, míg mondjuk az opera csak a 10.x, az ff pedig a 3.5 -től tudja ezt.
--
A linux felhasználóbarát. mindössze megválogatja a barátait...

Desktop kliens a Toggl.com "time tracker" szolgáltatásához a hivatalos API -n. A csapatom megkövetelte a Toggl -os munkaidő-mérést, de nem tetszett, hogy weboldalon kell kezelni a számlálót, ekkor dobtam össze pár nap alatt Ruby-Qt4 alapon a saját számlálom. Épp pár napja annak, hogy gatyába ráztam publikus kiadásra, kezdő Ruby-Qt4 -eseknek esetleg jó mankó lehet.

A HWSW-n van egy ilyesmi fórumtéma, ott is akadnak érdekességek: Ezt alkottam, megmutatom Nektek

-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."

Összejött pár játékprogram. Ma este mindenki a máséval játszik :D
HUP Game/Application CD Collection mikor kerül a polcokra?
--
unix -- több, mint kód. filozófia.
Life is feudal

Jó pofa :)
Lassan tényleg ki lehet adni egy "HUP Tools & Games" ISO-t :D

szerk.: no el is kezdtem letöltögetni őket, ahogy időm engedi, mappákba rendezem, s ha megfelelő mennyiségű HUP-tagság által létrehozott cuccot sikerül összegyűjteni, összehozok egy ISO-t belőle menüvel és minden szépséggel. Vélemény? Hasznos lehet?

Bár egy egyszerű linkgyűjtemény a HUP-on jobb lehet, hiszen akkor mindig a legfrissebb verziók érhetők el.

nekem is tetszett, csak maga a játék bosszantott. feleségem nézte mi a szart csinálok.. :)

az nagyon tetszik, ahogy megcsináltad. SDL-re, C-ben, olyan tipikusan geek-es letisztult.

azon gondolkodtam, hogy könnyen át lehetne pofozni tetris-nek is akár, ha már megírtál minden keret részt hozzá ;)

* Térkép megjelenítő programot OpenMoko-ra tervezve, de végül annyit késett a készülék hogy nem vettem meg. A program multi-programming-language, működött Javában és .NET-ben is (egy saját fordító segítségével), így egy Winmobile-os vacakon futtattam is. Volt belőle online applet demo is saját domainen, de már nem fizetem tovább :-). Végül senkit nem érdekelt és abbahagytam a fejlesztését. sourceforge-ról még mindig letölthető kipróbálható verzió. http://yamamap.sourceforge.net/
* Template nyelvet, ami ötvözi az egyszerűséget a nagyszerűséggel. Kód generálós projekthez írtam, programozóknak egyszerűbb mint bármi más és nagyon hatékonyan lehet vele dolgozni, plusz az eredmény is gyors lesz. http://rtemplate.sourceforge.net/
* Remoting API-t, ami ötvözi az egyszerűséget a nagyszerűséggel. http://coolrmi.sourceforge.net/ - épp pár hete is dolgoztam rajta és már többet/kicsit másként tud mint ami le van belőle írva
* Parsert (ami nem generátorként működik mint majdnem minden hasonló rendszer) ami nyelvtant és szöveget kap, ebből visszaadja a szintakszisfát. Ezt először az 1etemen csináltam valami hagyházinak, később újraírtam, de eddig nem használtam semmi értelmesre. Tervem hogy csinálok egy saját programnyelvet, ahhoz kell. https://sourceforge.net/projects/astparser/
* Csináltam egy Python szolgáltatást Java frontenddel, aminek segítségével ébresztőt lehet beállítani amikor bekapcsol a notebook és elindul egy MPD playlist lejátszása. Szépen lassan - kíméletesen - hangosítja. Azóta sokkal jobb kedvvel kelek :-). Ezt is open source-nak szántam, de nem volt még időm publikálni. Ha valakit érdekel megteszem.
* ffmpeg libbel dekódoló és OpenGL-ben videót lejátszó lib. (A részleteket össze lehet szedegetni netről, de így egyben nincsen fenn példaprogram, pedig sokan emlegetik fórumokon.) Meg lehet vele csinálni hogy 3D-s módon jelenítjük meg a Video tartalmát - kvázi Compiz effekteljük. Ezt is csak tervezem egyelőre, hogy open source lesz.
* Gimiben még csináltam autó-szimulátort, aminek rendes fizikai modellje volt. Ez volt az amiért hajlandó voltam először beleásni magam a Budó Mechanikába és a Hajós Geometriába. Akkor DirectX-es volt, egyetem alatt grafika nagyházinak újraírtam a grafikus részét OpenGL-ben. A kód nem olyan, hogy tiszta szívvel merném publikálni, mert közben informatikus mérnök lettem és más lett a mércém :-).
* Egyetemen gráf-mintaillesztő illetve transzformációs engine-en dolgoztam. Ez volt az első komoly csapatmunka amiben részt vettem. http://en.wikipedia.org/wiki/VIATRA
* Hang elemző programot írtam még régen, amivel fel tudtam ismerni a magánhangzókat (ha kellően hosszan voltak mondva :-)
* Egyszerű Hammond szimulátor egyik barátom kérésére
* Időjelentő asztali alkalmazást - látom más is írt ilyet. Ez még standalone volt, a továbbfejlesztett változat a belső rendszerünkkel működik együtt, így az nem open source. https://sourceforge.net/projects/timeboss/
* Tartok egy informatika szakkört a volt gimimben. Egy ideje úgy döntöttem hogy csak papíron lesznek vázlatok, ott van vége a weblapnak :-). Így egyszerűbb és talán hatékonyabb is. https://sourceforge.net/projects/szig2009/

Na, ez kicsit olyan lett mint egy szakmai önéletrajz, de nem bírtam visszafogni magam ha már elkezdtem :-)

Kiosk browser XULban, ami egy Solaris/Sunray kombón fut és socketen figyelve várja a terminál kártyaolvasójáról a kártyaszámot.

Na ilyet keresek én is egy ideje, mióta nem tudom rendszerszer~uen tárolni, publikálni a projektjeimet. Egyelõre az honlapomon vannak elszórva, nemfrissítve.

~~~~~~~~
De ezt az egy lépést ki nem tevé,
Az nem tett semmit, nem tud semmit is.

Batch szkriptek win5.1 alá, közel hasonlót csinálnak, mint unix-os változataik. SP3-ban lévõ cli programokat felhasználva.

http://www.freeweb.hu/bandie91/pub/?t=2&dir=/projects/UnixLikeBatch#nav…

~~~~~~~~
De ezt az egy lépést ki nem tevé,
Az nem tett semmit, nem tud semmit is.

cirill utf8 karaktereket szer~u html tegekké alakítja. Olyanoknak, akiknek pl eroszakosan latin2 charset-et küld a webhosting-ja. Imagemagick-kel elore legyártottam a bet~uket formáló képeket.

http://www.freeweb.hu/bandie91/pub/?t=2&dir=/projects/cyril2html#navbar

~~~~~~~~
De ezt az egy lépést ki nem tevé,
Az nem tett semmit, nem tud semmit is.

Röviden utf8-latin2-html között konvertál `replace' segítségével, majd átültetem, hogy a `sed'et használja, azt hordozhatóbb. De nem egyszer~uen úgy, mint az `iconv': kalapos-, hullámvonalas- u és o bet~uket az encodingnak megfelelore állítja, vagy `&aacute;' szer~uvé ill. vice versa.

http://www.freeweb.hu/bandie91/pub/?t=2&dir=/projects/ulhconv#navbar

~~~~~~~~
De ezt az egy lépést ki nem tevé,
Az nem tett semmit, nem tud semmit is.

Olyan, mint a phpmyadmin, csak parancssoros.
`wget' `curl' segítségeivel kommunikál egy szerveroldali php-vel (hogy olyan db szervereknél is lehessen "távolról" query-zni, ahol csak a localhostot engedi be)
`w3m'mel rendereli a táblázat formát, de csv-be is ki tudja írni.

~~~~~~~~
De ezt az egy lépést ki nem tevé,
Az nem tett semmit, nem tud semmit is.

python parancssori script,
a népszeru delicious.com-ra rakja a paraméternek megadott linket
delicious.py -v http://hup.hu
alapértelmezésben ki próbálja találni az oldal címét.
bejelentkezo adatokat a ~/.delicious.py.auth -ból veszi.

~~~~~~~~
De ezt az egy lépést ki nem tevé,
Az nem tett semmit, nem tud semmit is.

pastebin.com-ra tölt fel parancssorból!

pastebin [-l language] [-n name] [-x expiry] [-e email] [-P|-p] [-s subdomain] <file>

cat <file> | pastebin

wget jóvoltából visszatér a pastebin url-lel (curl-lal rejtélyesen nem ment)

http://pastebin.com/zwyTxzbR
http://www.freeweb.hu/bandie91/pub/download.php?get=/projects/pastebin/…

~~~~~~~~
De ezt az egy lépést ki nem tevé,
Az nem tett semmit, nem tud semmit is.

sub
Ami van, annak nagy része nem publikus, ami az lenne, az meg régi. Ami publikus lehetne: egyszerű szövegszerkesztő, spec. vírusirtó egy vírusra, szöveges kalandjáték, 3D multiplayer fps kezdemény, netsnapszer kezdemény, ilyesmi. Most éppen a mission impossible - Solarah Online.

Rádió és TV statisztika oldal. Van benne számítás rendesen. Igaz, egyszerűbb dolgok, de abból nagyon sok. Eredetileg játékszerver directory oldalnak indult volna a dolog (http://www.unrealgames.hu/index.php?page=362 ami most nem frissül, de ez amúgy is kezdetleges verzió) de erre nagyobb volt az igény. Van benne minden: 6 féle stream szerver támogatása, 4 féle rendezés, egy csomó lejátszót hozzájuk lehet választani, grafikonok, frekvencialista a rádióknál. Tehát shoutcast.com magyar módra :)
Cím: http://www.rtvstat.hu/ Perlben van írva az egész.

Mindegyik radio szervererol (Shoutcast, Icecast) links2-vel letoltom az szerver weboldalat. Onnan meg egy perl scripttel szedem ki a hasznos infokat (hallgatok szama, bitrata, formatum stb...) Ez az egesz belemegy egy adatbazisba. Ami meg legeneralja a weboldalt, ebbol a DBbol szedi ki az infokat. Az egesz cucc cronbol fut 5 percenkent.

Volt mar 1-2 radio aki kitalalta, hogy ilyen jogi gond meg olyan. Irtam is neki hogy akkor irjon nyugodtan a google-nak is mert az is megtalalja a radioszerveret. Amugy meg allitsak be annak megfeleloen a szervert hogy ne lehessen kiszedni az infokat. Kesobb persze rajottek, hogy nem jo ugy aztan inkabb hagytak :)

Kicsit ujitottam az oldalon. Ceges agyonkorlatozott 80-as port only nettel is siman lehet mar hallgatni a radiokat :). Lejatszonal kell kivalasztani az `alapert.+proxy` -t. Volt mar dolgom olyan mobilnetes hozzaferessel ahol szinten csak a WWW ment meg talan az FTP (ekkor talalkoztam ilyennel eloszor, ez lehet hogy csak nekem uj). Annal is siman ment. Egyelore csak a *cast szerverek mukodnek ezzel.

Szintén, csak C-ben (változtatható és menthető táblamérettel, aknaszámmal, valamit top20-as eredménylistával), szoftlab házinak kellett :D
Pár éve csinálgatok egy PHP/MySQL-es moduláris oldal motort. A szokásos funkciókon kívül már van hozzá webshop modul is, bár a user kezelés kódja esztétikai okokból érett az újraírásra, meg a külsőre sem sokat adtam.
Van még egy weboldalhoz készült Firefox addonom.

Bye Bye Nyuszifül

subscribe
____________________
Ha igen akkor miért nem...
Linux 2.6.30-gentoo-r4 i686 Intel(R) Core(TM)2 Duo CPU E6550 @ 2.33GHz GenuineIntel GNU/Linux

HomeControl program - egy mini Linuxos kártya vezérli az otthoni fűtést, kerti locsolót, nyáron a medence szűrőt (csak egy felfújható nagyobb medence...). Az érdekessége, hogy az internetről letöltött aktuális hőmérséklet alapján vezérli télen a fűtést. Programozható időpontokban este kikapcsolja, reggel bekapcsolja a kazánt, a reggeli bekapcsolás időpontja a külső hőmérséklettől függ, hidegben hamarabb így mire felkelünk, már meleg van.
Nyáron a locsolás gyakorisága függ a napi max hőmérséklettől. Ezenkívül letölt csapadék előrejelzést is, így ha másnapra jelentős eső várható, akkor nem locsol.
A medence szűrőt időzítve kapcsolja, magasabb hőmérsékletnél hosszabb a működés.
A főprogram C nyelvű, bash script, sed, awk támogatással.

--
Soli Deo Gloria

A lehető legegyszerűbb módon: vettem egy 3 darabos rádiós távvezérelt dugaljkészletet. A távirányító gombjait egy-egy tranzisztoron keresztül a kártya digitális kimenetei vezérlik. A dugaljakba vannak bedugva a locsoló és a szűrő szivattyúi. A fűtéshez kellett egy kicsit meghekkelni az egyik dugaljat, hogy ne 230V-ot, hanem csak kontaktust adjon, ez megy a kazán termosztát bemenetére.

--
Soli Deo Gloria

Jómagam egy wifi internet hibabejelentő és megrendelés kezelő rendszert írtam. PHP + HTML + SQL.

Nem nagy wasistdas, de könnyen tudunk így az NHH felé hibanaplót, rendelkezésre állási adatokat, ügyféllétszámot leadni. :) Segít a kollégáknak a melóban.

/off

A képernyőkép alapján valami ilyesmit láttam egy külföldi szállodában, egy asztali gépen.
15 percnyi netezés volt 1 €, és miután bedobtad a pénzt egy erre kialakított résbe, el is kezdett számolni 15:00-től visszafelé.

A visszaszámolás végeztével viszont újraindult a gép, és amit addig letöltöttél a gépre, az kitörlődött.

(Hozzáteszem, eléggé le volt butítva a gép, IE6 volt rajta, és kb. 800x600-as, vagy még rosszabb felbontással ment csak, a gmail is csak a sima html-verzióval működött...)

/on
---
| Dropbox | Ubuntu One |

pont nemrég egyet írtam delphiben (nem nevet!), roppant egyszerű a lényege:

adott egy korlátozott júzer, de futtatnia kéne valamit rendszergazda szinten nap-mint nap (ez egy scanner éppen, szarul írt programmal, ami csak rendszergazdként indul el...)
Ez gyakorlatilag egy launcher, amibe belevan égetve a user+pass+domain + futtatandó cucc, így egyszerűbb lesz az életem.

Régebben csináltam ugyancsak delphiben egy elég komplex autó-shop rendszert , gyakorlatilag 90%-on volt (kb 300 munkaórával), szerencsésen winyó meghalt, asszony meg közölte, hogy amire mentek backupok 12-óránként időzítve, azt formázta, és képeket rakott rá 2 aznap...

esetleg:
idezet=`echo $idezet | sed -e "s/á/á/g" -e "s/Á/Á/g" -e ... -e ...`
nekem jobban bejönne, bár a shellscript az, amit az ember inkább úgy optimalizál, hogy más nyelvre írja át :)

—-—-—
int getRandomNumber() {
	return 4;//szabályos kockadobással választva.
}		//garantáltan véletlenszerű. xkcd

-Olyan perlszkriptet, ami fisher99 blogjából (http://www.timurlenk.hu/blog/) rss szkriptet generál. Ő időnként megváltoztatta, hogy hogyan tördelje a statikus htmlt, én pedig végül feladtam, és már más adja az rss kontentot.

-Python szkript, amivel tumblrre lehet tömegesen queue-ba fotót feltölteni.

(majd még mondok mást is.)

Java nyelven:
-Helyi "tudásbázis", könyvtárakban/topicban keresés, hozzáfűzés stb, még eléggé "alfa"..
-Többször előforduló fájlokat kereső program, név/méret/md5 összeg alapján hasonlít, pár paraméter még megadható, ez már majdnem kész, szóval ezt meg merem mutatni. Ha valaki csatlakozni akar a projekthez szívesen körbekalauzolom :) (hja és ha valaki a win7 uac-t megkerüli nekem, ill usbs driveon megoldja a törlést rendszergazdai jog nélkül, annak jövök egy sörrel) http://kenai.com/projects/dup
-Naptár, eseményeket lehet felvenni, időzíteni őket és riasztást bekapcsolni ha közeledik ill kikapcsolni ha el van végezve. Ez is eléggé bugos még, néhány funkciót majd át is akarok írni szebbre, szóval csak "saját használatra"..
-java3d libekkel gráfmegjelenítés (azaz szülő és gyerekpontok térben), egy beadandóból akartam családfa-megjelenítést varázsolni aztán elmúlt..
Idő hiányában sajnos csak a dupla file keresővel foglalkozom, illetve most egy picit azzal sem :)

rubyban irt irc-smtp-imap-msn-icq-etc gateway prioritasos varakozasi sorokkal, szuresi feltetelekkel meg egyeb nyalanksagokkal

- Not even the slightest bit -

Pythonban írt stratégiai játékkezdemény. Négyzetrácsos pálya, jelenleg 2 személyes, mozgatható lények mindkét oldalon. A játék szimultán zajlik, 4 lépést előre borítékolni kell előre (melyik lény mit csináljon), majd a szerver egyszerre kiszámolja, hogy mi történt. Ha ketten lőnek egymás felé, akkor mind a kettő meghal.

A játék kipróbálható, de biztos bugos, és a lények képességeit (lövés, mozgás, varázslatok) kellene megfelelően beállítani. Letölthető innen: Vakarcs. (Az előző verziót még C++-ban írtam és konzolos volt, de azt már nem fejlesztem.) Dokumentáció nincs, de elérhető vagyok.

Félig-meddig OFF, mivel nem program, hanem hardware-projekt, de én csináltam:

3-tengelyű botkormányhoz oldalkormánypedál 4. tengelyként, repülőgépszimulátorhoz (Linux ill. FGFS kompatibilis)

kép1 kép2

(Ládás vegyes íz /aka. hitlerszalonna/ ládájából készült, 1 db potméter a lényege. Eredetileg "prototípusnak" készült, de évek óta szolgál.)

:wq

C-ben írt sakkmotor (chess-engine). Winboard-protokollt ismerő GUI kell hozzá (Winboard vagy Arena). Évek óta szinte egyáltalán nem nyúltam hozzá, a korábbi verziói simán mentek Linux alatt is, elvileg ezt is csak le kéne fordítani. http://www.hun-digital.hu/merlin/

Nem nagy ügy, meg toltam is HUP-on akkoriban a linket: netcat-ba CRLF support.
http://www.reidea.hu/netcatcrlf/
Azt nem értettem, hogy hosszú évekig mindenk sírt a "bare LF" miatt, de senki nem oldotta meg.
Fedora mainteinerek már régen bevették, ha jól emlékszem, FC8 óta benne van. Ubuntu és Debian most télen kapott patch-et (az nc6-ba is), talán a következő distroban benne lesz. Az az érdekes, hogy Ubuntunak meg Debiannak volt egy alterativ csomagja, ami a bsd-s volt és abban már benne volt. Nem tudtam követni. :)

Parancssoros interaktív TvRip.
Divx vagy xvid formátumban vesz fel 3 különböző méretben. Támogatja a delogót, a cront, ha kell lekapcsolja a gépet.

Parancssoros interaktív VHSRip.
Xvid, divx, mpeg formátum, 3 különböző méret. Nincs cron. Ha kell lekapcsolja a gépet.

/etc/rc.d/init.d/tvcard_init A nem használatos 4-es futási szintet beállítottam a TvRip-hez. Csak 10 démon fut. Nincs X, nincs háló, nincs tűzfal. Nincs semmi felesleges dolog. A Grubban ez az alapértelmezett! Ha a gépnél ülök tudok választani!
De sorozatokhoz kitűnő beállítás. S mivel egy csomó démon nem fut, több erőforrás áll rendelkezésre a mencodernek.

Az említett script ha 4-es futási szintet észlel, akkor feltesz egy kérdést, amelyre a választ megadott időn belül várja.
Ha nincs válasz, akkor az előre megadott opciókkal tölti be a tvkártyát. Amely jelen esetben a TvRip-nek kedvez. A sorozatok miatt.

Ezt azért csináltam, hogy a VHSRiphez ne kelljen mindig más opciókkal átírni az /etc/modprobe.conf-ban a tvkártyát. Ugyanis a VHSRiphez kell egy noninterlace kapcsoló, míg a TvRiphez nem kell. (pinnacle) Így automatizáltam a dolgot.
Ha meg VHS_rip úgyis ott ülök a gép előtt, majd kiválasztom a 4-es futási szinten a VHS-t, és akkor annak megfelelő beállításokkal tölti be a tvkártyát. Elindítom a felvételt, kikapcsolom a monitort, aztán megyek aludni.

wav_to_mp3_or_ogg

Sziasztok!

Gondolom nem egy ember írt kis unrarolo scriptet az internetrol letoltott szerzemenyek kitomorítésére :) Esetleg megoszthaja ezt itt :)

Értem ezalatt, hogy beadok egy mappát, amiben van sok giga letoltott dolog, jellemzően berarozva. És ezeket szépen kitömöríti a saját kis mappájába, a közben fellépő esetleges problémákról, meg szól, ill. egy naplófájlba menti :)

Ha csinált ilyet valaki, akkor szívesen várom, hogy belinkelje :)

#!/bin/bash

#Ez a szóközök miatt kell.
IFS=``

innen=""
ide=""

find ${innen} -name "*.rar" -exec unrar x "{}" *.avi "${ide}" \;

Ugyanez ziphez:
#!/bin/sh

#Ez a szóközök miatt kell.
IFS=``

BASE_DIR=""
find ${BASE_DIR} -type f -iname '*.zip' -exec sh -c 'file="{}"; cd "$(dirname "$file")"; unzip "$(basename "$file")"; rm -f *.zip' \;

hát van egy bitey tömörítő algoritmusom ami megpróbálja a raw bluray filmeket párszáz kilobájtra tömöríteni, sajna még nagyon alfa...:C

No rainbow, no sugar

Hali!

Készítettem python gyakorlásnak egy mplayer indítószkriptet, mely igazítja a film képarányát a monitoromhoz. Felismeri az elérési útból, hogy magyar nyelvű-e vagy külföldi feliratot igénylő-e a film, ha külhoni, akkor automatikusan beilleszt a mozi aljára egy maximálisan 40 pixeles fekete sávot a szövegnek. Ha dvd-ről indul az avi, akkor nagyobb cache-el indítja azt.

Van egy oktatásba illesztett projektem is itt: http://remotelab.energia.bme.hu . Még fejlesztés alatt, de már egy ideje így jól működik, csak a régi szervernek használt pc-k ne halnának ki alóla állandóan :).

Üdv: Smerli

perl, ldap, gtk: ADS-ben kereseshez.

Pythonban írtam egy kis programot, amivel mysql táblákba lehet bevinni cikkhivatkozásokat meg lekérdezéseket csinálni. A találatokra egyik egérgobbal kattintva vágólapra kerül a cikk ACS által megkövetelt hivatkozási formája, másik egérgombbal kattintva meg a megadott fájl végére beszúrja a hivatkozást latex/bibtex formátumban. Gyakorlás volt fájlműveletekre, kevés networkre meg sqlre.

--
[citation needed]

A legtöbbhöz képest elég egyszerű cucc+nem is teljesen saját, az alapokat Bagoj úr írta, de hátha valakinek hasznos lesz.
Avidemux-hoz gyárt job fájlokat, egy előre elkészített példa fájl alapján, hasznos pl. sorozatok konvertálásánál, nem kell mindegyik részhez külön beállígatni és menteni a jobokat.
Bővebb infó itt, lap alján található a letöltési link.

Nem igazán szoktam programozgatni, úgyhogy tuti nagyon kezdetleges megoldások vannak benne, ezt nézzétek el, a lényeg nekem az volt, hogy működjön. :)

---- Házon belűli projectek
WallPC - egy kicsi, fali, érintőképernyős izé, ami jelenleg egy csomó feladatot ellát, lásd lentebb;) (debian, c, sdl - opengl alapokon)
Riasztó - Egy egyszerű, ámbár nagyszerű lakásriasztó, etherneten keresztűl vezérelhető (UDP utasításokkal operálva), a wallpc-vel vannak nagy haverságban;)
HomeTV - Mivel a házban van egy fbsd szerver ami samba, nat, nyomtatómegosztást és egyéb nyalánkságokkal látja el a családot, egy központi "gócot" kialakítva (ide fut be az összes koax, utp a házban), készült egy egyszerű weben vezérelhető mplayer fork, ami modulátoron keresztűl rászabadúl a házban szaladgáló koaxokra, így lehet filmezni az összes tv-n a házban:)
egyizé - ez ilyen automatizált kazán, szintén a wallpc-vel barátkozik, előre beállított módon (és persze mindenféle hőmérséklet függvényében) kapcsolgatja a fűtést.
sok más egyéb, ami már annyira nem érdekes;)
---- egyéb nagyon szabadidős projectek
fyc - (a Fuck Your Console rövidítése:D) Egy c-ben írt daemon olyan programokhoz, amik rendelkeznek interaktiv moddal, de mindezt elég gyatrán kezelik le (összehányja a kimenetet a bemenettel). A daemon egy unix domain-t gyárt, amire csatlakozik egy ncurses konzol, ami mindezt szép formába lapátolja össze:)
gtaIVsrv - saját elmebetegségem vezérelt arra, hogy kipróbáljam magam mire vagyok képes, így elkezdtem egy GTA IV szerver daemont, illetve a hozzá tartozó klienst fabrikálni. Hogy aztán elkészül-e, ez majd akkor derül ki, ha elkészül, addig meg majd okoz egy két kellemes percet a haverokkal történő alfa teszt során;)
flIRC - Egy webes kliens, flash, javascript, xhtml alapokon, a flash kezeli a socketeket, a protokoll illetve a megjelenítés kezelése javascript-re bízva. Okos jószág lesz egyszer, ha kész lesz;)

Így hirtelen ennyi jutott eszembe ami kiemelhető, de biztos találnék még olyat amik már feledésbe merültek, pedig hasznosak lehetnének a világ számára;)

nem bonyolult a történet.
Egyrészt annyi kell hozzá, hogy legyen egy pont, ahova csatlakozik a házban lévő tv-k koax kábele (kábeltv-nél a bejövő ág, ha kihúzod, sehol nem megy;)).
Összetevők:
1. szerver/gép, amiről megy a film, benne egy tv out-os kártya (RCA - S-VIDEO tökéletes), a lényeg hogy alap felszereltségben össze tudod kötni a gépet a tv-vel.
2. UHF Modulátor - az RCA vagy S-VIDEO jelet keveri rá a koax kábelre (megadott csatornán, pl nálunk 32-es). Így a tv-n a gép videójelét a 32-es csatornán tudod fogni. 6e ft -tól már lehet értelmes darabokat kapni belőle.
3. jack-rca kábel, mert kell hang is;)

az UHF modulátornak van egy bejövő és egy elmenő ága, a bejövő megy a kábeltv / antenna felől jövő ága, az elmenő a TV-k felé. A bejövő ág felé a modulátor nem sugároz (vagyis de, de annyira minimálisan hogy 20 méter múlva a kábel csillapítása is elnyomja).

a lelke szegénynek egy microchip PIC16F887 -es uC, a jeleket 8db mozgásérzékelő szolgáltatja (neeem, nem gyári riasztóhoz tartozó mozgásérzékelők, mert azok 6e-től kezdődnek). A nagy kék barkácsáruházban lehet venni mozgásérzékelőt lámpához, 1200 FT volt darabja, egy minimális darabolás után a célnak megfelelt (Kondenzátor, ellenállat ami vágta a feszültséget 220-ról 24 voltra ki, hogy ne kattogjon relé ki). Mivel negatív táplálású volt a relé, így a jelvezetéken folyamatos 24 volt van, ami jó, mert ha vágják a kábelt riaszt. Az UC-be a program megírása 1 napot vett igénybe, az érzékelők optocsatolókon keresztül lett illesztve. Az ethernetes illesztésre van spéci IC, sajnos fejből nem ugrik be a neve.

Sziasztok!

Ezt pont ma dobtam össze, és gondoltam, másnak is jó lehet, ha már egyvalakinek kellett :)
http://systemcore.org/kepdarabolo.zip
Nem egy nagy szám, igazából 1 órás google meg néhány sornyi kód eredménye. Édesanyámnak pedagógusként szüksége volt rá, hogy képeket tudjon x*y -os egyenlő téglalapokra vágni puzzle-höz. Ez a kód pontosan ezt tudja, se többet, se kevesebbet (na jó, kép átméretezés, mint extra feature).

Kéretik nem fikázni :) Azért teszem fel, mert pont most láttam ezt a topicot, és hátha még egyszer valakinek jól jön.
Amúgy a kód egy része innen lett kiemelve:

http://www.switchonthecode.com/tutorials/csharp-tutorial-image-editing-…

C#-ban íródott, a forrásfájlok VS2008 projekthez tartoznak, de aki csak használni akarja, az exe-t megtalálja a zip-en belül: kepdarabolo/bin/Release/kepdarabolo.exe

Építő jellegű kritikát,javaslatokat szívesen veszek. Ami nem került bele, mint feature, az azért nem került, mert nem volt rá szükség. Ha kell valakinek valami extra ezzel kapcsolatban és van rá időm, azt viszont szívesen vállalom :)

Ja, és nem vagyok egy nagy C# guru, ezért nem a legprofibb megoldások vannak benne, de működik :)

Hupsz, és a működés, mert leírva nincs, és édesanyám kérése alapján lett megoldva, ami pedig:
- megnyitsz egy vagy több képet
- ha a "ment mindet"-re nyomsz: az összes képet átméretezi, és az átméretezett képet elmenti a forráskönyvtárán belül a nevével jelzett alkönyvtárba, a darabok megszámozásával, tehát pl. a
C:\dir\alma.jpg -ből c:\dir\alma\alma[1..n].jpg lesz (n = x*y, ahol x, hogy horizontálisan, és y hogy vertikálisan hány részre ossza a forrásképet)
- ha a betöltött képek közzül csak egyet akarsz menteni, akkor katt rá (ekkor jobb oldalt meg is jelenik), majd katt a mentésre. innentől ugyanaz a sztori.

és mivel csak jpg-kre volt szükség, ezért csak azokat tölti be. Igény szerint lehet bővíteni persze :)

Nem szaporitom a szot, mindket fajlnev beszedes.
Twitter.awk
Posterous.awk

Illetve felturbozott QWebKit peldaprogram - QuickBrowser
Egyelore annyival tud tobbet, hogy a letoltesi mappa tallozassal is megadhato, es CMake-val fordul. Tavlati terv a cookie kezeles normalis megcsinalasa.
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

KmlDateInjector.java :)
GPX-formatumu GPS tracklogok Google Earth kompatibilis KML formatumma alakitasakor utolag beleinjektalja a track-pontok ido-adatait a GPX fajlbol a KML fajlba, hogy Google Earth-ben lathatova valjon az egyes trackpontoknal a sebesseg. Dirty hack kategoria.

proxy_login.c
Egyetemi halozatba valo bejelentkezest, azaz proxy autentikaciot automatizalo program. Cross-compile-olva MIPS-alapu, mokolt firmware-u routerre, crontabbol percenkent futtatva, ha behalna a net...
Sufni-DynDNS kliens inkluzive:)
(Poenbol megirtam Javaban is, ugy 20x annyi ideig tartott a futasa, foleg a JVM betoltogetese miatt.)

:wq

Szia!

KmlDateInjector.java ez valahol elérhető?
---
Egy anlgaii etegyem ktuasátai szenirt nem szimát melyin serenrodbn vnanak a bteűk egy szbóan, az etegyeln ftonos dloog, hogy az eslő és az ultosó bteűk a hölyeükn lneegyek. A tböbi bteű lheet tljees össze-vabisszásagn, mgiés porbléma nlkéül oalvsahtó

Hasznos topic, majd feltolok en is egy parat, addig nezelodjetek itt: http://986site.extra.hu/

--
Azt akarom, hogy az emberek ne kenyszerbol tanuljanak, hanem azert, mert tudni akarnak.

Magam és kollégáim részére írtam Linux alatt egy "support" nevű programot Lazarusban, amely a mindennapi support tevékenységet könnyíti meg. Némi hackeléssel lefordítható Windows alá is azoknak, akik azon végzik dolgaikat. Egy AD lekérdezést készít a cég gépeiről (kb. 400 db), amelyeket egy listába tesz. A kiválaszott gépet VNC vagy RDP elérésen keresztül lehet matatni. Szűrt listás keresővel van ellátva, amely adott esetben egy böngészőhívás után az intraneten működő php-s teleonkönyvben is kikeresi az adott gép kezelőjének telefonszámát. Lehet default VNC passwordot is tárolni a lustáknak, akik nem szeretnek gépelni. :-) A platformfüggetlenség miatt a legtöbb opció .ini fileból állítható. Van kedvenc és előzménylista is. Szeretjük...

Ezt inkább egy frontendnek nevezném. A megvalósítása nagyon egyszerű, a szükség hozta az ötletet, mert naponta (sajnos) elég sok a support jellegű tevékenység.

Van egy AD lekérdező script, ami az ldapsearch parancs segytségével összegyűjti cégünk összes gépét, majd megfelően formázva azt leteszi egy fileba. Ez egy külső parancs, a support program csak meghívja induláskor. Ezt a scriptet elhelyeztem az intranetes szerverünkre (Linux) is, ahol napjában 1x lefut és a Windowsos verzió onnan kapja le a listafilet wget-tel. Semmi kedvem nem volt ott is kotorni pl. cygwinnel, írják meg maguknak... :-)

Listafile minta:

...
GEPNEV Gipsz Jakab [ 192.168.55.26 ]
UGYFEL01 Ügyfélszolgálat 1. [ 192.168.66.44 ]
...

A program a kiválasztott sort a fileból az első szőközig dolgozza fel, majd a beállításoknak megfelelően adja hozzá az xvnc4viewer, vagy az rdesktop (Windows alatt vncviewer.exe és mstsc) parancshoz paraméterként, mivel minden AD-s gép nevét feloldja a nameserver. Egy ini file tartalmazza a parancsok default paramétereit. Policy-ból toljuk le a kliensek torkán a VNC jelszavakat, ezért célszerű volt letárolni az aktuális jelszót, amelyet a program igény szerint hozzátesz futtatáskor.

A céges telefonkönyvünk írója adott egy URL-t, amelybe ha beleillesztem a keresendő sztringet, akkor hozza a találatokat. A program annyit tesz, hogy meghívja az Opera böngészőt (ini-ből állítható) a megfelelő paraméterrel.
Tehát egy lépésben tudok IP-t, embert, gépnevet, telefonszámot keresni, annak függvényében hogy éppen mit tudok.

Lusta informatikusoknak pont megfelelő! :-)

Na kész.

A nem publikus adatokat átírtam. Linux alatt a vncpasswd segítségével állítottam elő a vnc_passwd filet, jelen esetben üres. Ha Windowsra szeretnénk lefordítani, akkor a forráskódban van 1db komment, amely jelzi, hogy mit kell kivenni, valamint az ad.cmd és a support.ini fileokat kell lecserélni.

Letöltés itt.

Angol tanuláshoz írtam egy BASH scriptet.
Minden angolóra után fel lehet vinni az új szavakat és kifejezéseket egy szöveges fájlba, amiből a script dolgozik.
Van a scriptnek beégetett alapértelmezett működése, amit két féle képpen felül lehet bírálni. Vagy egy konfigurációs fájl beállításával, vagy a parancssorban az induláskor megadott paraméterekkel. Ez utóbbi természetesen nagyobb precedenciával bír.
A működés a következők szerint állítgatható:
A kifejezés párok közül először a magyar, vagy az angol nyelvi változatot írja ki a program, vagy netán véletlenszerűen vegyesen.
A kifejezéspár első és második nyelvi váltazatainak kiírása között hány másodpercet adjon gondolkodásra a gép, netán enter billentyűre várjon. Utóbbi használatával enter előtt bármi mást lenyomva leállíthatjuk a programot.
Ugyanezt a várakozási beállítást meghatározhatjuk a kifejezés párok váltásai között is.
Megmondhatjuk, hogy hangosan olvassa-e fel az egyik, vagy mindkét nyelvi változatot. (espeak rulz).
Végezetül lehetőség van kérni a teljes tudás felsorolását sorrendben.
--
unix -- több, mint kód. filozófia.
Life is feudal

Mostanaban ilyen erdekes javascripteket csinalok, mint pl. key-combok (mondjuk alt+1) kezelese, vagy hitelkartyaszambol kibocsato megallapitasa, stb... :) ez erosen onszorakoztatas mar. :D

A dolog sajnos nem ennyire egyszeru... az elso szam mindig azt jeloli, hogy milyen a szektorban mozog a kartya (MII, ez nalunk altalaban 4-5: banking and finance, mast nem nagyon lattam eddig, talan meg a 3-ast, ami utazasi akarmi, jellemzoen dc) aztan ezekbol jon az issuer, utana a 7 hegyu egyedi account numbered, aztan egy check digit (mint egy checksum). A problema az, hogy az account numberbol meg nem derulhet ki a bank _elvileg_.

Oooo. Nem tudom, komolyan, csak fel fullel hallottam, de mintha az account number elso par szamaba lenne bank azonosito. Van harom referenciakartyam, ossze fogom hasonlitani oket, egy bankon beluli mind, hatha kijon valami izgalmas.
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

Hetfon megnezem, esku, de most elnezegetek itt egy kartyat, es az 5101 3791 mintha stimmelne a masik ket kartyaval (az 5101 hihetetlenul ismeros, szoval az olyan 89%). A CIB-nel gondolom azert van difi, mert lakossagi/uzleti, de nekem az a tippem, hogy az elso negy-nyolc szam az bank + kartyacsoport. Az mar lehet, hogy bankfuggo, hogy ez hogy van elrendezve.

Jo, hogy felmerult ez a topic egyebkent, megtalaltam a kartyaszam validacios eljarast, ami jo, mert pont csinalgatok egy rosszkartya-teszter progit a cegnel, es eddig csak a honap+evet tudtam validalni, meg az adatok szerkezetet (ha hulyeseg jott ki az ertelmezes utan, akkor a kartya rossz), magat a szamot nem. Mondjuk nem nagyon keresgeltem utana.

Mielott kerdezne valaki: a kod azert nem lehet publikus, mert kotodik egy nem altalam irt kartyaolvaso kezeloprogramhoz, ami szigoruan belso kod. A tobbi meg vegulis csak annyi, hogy a neten fellelheto infok alapjan kisakkoztam, hogy melyik bytepozicioban mi talalhato, es felepitem egy C struct-ba az egeszet, majd megjelenitem.
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

4779 - Sainsbury's Bank (UK) - Visa Debit Card
4779 15 - BZWBK (PL) - Visa Debit Card

pedig egyik banknal sem vagyok, es megis ezzel kezd :D

The first 6 digits of a credit card number is known as the Issuer Identification Number (IIN), previously known as bank identification number (BIN). These identify the institution that issued the card to the card holder.

Tehat KORABBAN ez volt a BIN.

u#2: Ja amugy meg az OTP sincs rajta, pedig ok eleg nagy mocskok ahhoz, hogy szerepeljenek benne.. :))

Kerdes hogy a masodikkent emlitett bank megvan-e meg, illetve hogy az adatok mennyire frissek. Mert lehet, hogy a bankod egyszeruen megvette azt a range-t, a masik bank meg - akar felvasarlas, akar mas miatt - mar mas range-bol oszt kartyat. Persze egy IIN valtas nagy dolog, de van, hogy indokolt.
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

No, megneztem. Reszben tevedtem, az egyik teszt kartyam Maestro, az massal kezdodik (nyilvan, mert nem MCDC kartya), viszont a masikkal egyezik az elso nyolc, szoval elnevezes ide vagy oda, az elso par szamjegy egyertelmuen bankspecifikus. De azert meg nyomozok tovabb.
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

Sziasztok!

A dolog meg erosen fejlesztes alatt all, de mar hasznalhato. Talan masnak is hasznos lehet. Egy web2py-ben irt app, ami segit a dvdk, cdk, konyvek leltarozasaban. Az appot hostolom is, igy ha valaki ki szeretne probalni, vagy elesben akarja hasznalni, akkor batran tegye meg.

http://devel.modernbiztonsag.org/wiki/storpy

Shark MP4 Converter

Történt, hogy tönkrement a régi telefonom, s beszaladtam a boltba venni egyet "occsóé". A Samsung Shark-ra esett a választás. Örömmel néztem, hogy az előző készülékemhez képest ez már tud videót. Gondoltam, konvertálok rá néhány "Rém rendes család"-ot, hogy legyen mit bambulni két munkafázis között.
Kerestem konvertert Linux alá, de szinte mindegyikkel csak szívtam, főleg, hogy a párom is csak lesett rájuk (érthető, nem fog bitrátákkal vacakolni, pedig ő is használná, ha már az ő készüléke is video-képes).
Jött az ötlet, hogy írok scriptet mencoder-hez. Párom arca egyre morcosabb lett :D
Feladatom tehát szó nélkül is ki lett mondva, kódolni kell egy GUI-t.

Eddig Mono-ban írtam az ilyeneket, de most jött a gondolat, hogy itt lenne az ideje a Qt-vel is megbarátkozni (kellemest a hasznossal). Ennek eredménye lett ez a GUI, ami "drágám"-kompatibilis is (ne várjatok repülőgép-műszerfalat). Nem mondom, a kód biztosan lehetne szebb is, biztosan meg lehetett volna csinálni ésszerűbben, sőt, biztosra veszem, hogy lettek volna olyan lehetőségek a Qt-n belül, melyek hatásosabbak, de legyen nekem elnézve, hiszen életem első Qt-s programocskája.

Használjátok egészséggel! :)

http://dacr.hu/sharkmp4

(a weblap meg aztán főleg gyorsan lett csak összehányva)

Ui.: egyre jobban tetszik ez a Qt.

Tipp: s/transported by/shipped by/

Majd megnezegetem a kodjat, nekem is kene neha valami hasonlo egyszeru dolgok.
Amin elgondolkodtam meg ilyen feluletek gyartasara, az a Java. Egy kulon threadbol meg lehetne csinalni a futtatast, mondjuk nem lenne preciz progress bar, de hat mindent nem lehet.
--


Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.

Köszönöm, éreztem, hogy nem túl jó, de hát legalul jeleztem is angolhoz való viszonyomat (finnül jobban megy) :)

Javítom.

A Java-t anno próbálgattam, de nem nagyon ragadott meg. Mono-t használtam keresztplatformos rendszerként, ahova kellett, feltettem a framework-öt, aztán futott is szépen, bár leginkább úgy is Linux-ra fejlesztek.
Viszont a Qt egyre jobban tetszik.
Még ami kérdés van bennem, hogy Windows binárist a MinGW-vel meg lehet csinálni, de pl.: OSX verziót mivel tudnék csinálni OSX nélkül? Van valami okosság erre?

Qt nagy kiralysag :)
OSX nelkul OSX verziot? hm, jo kerdes, de ha van egy normalis qmake config hozza, akkor nem olyan nagy a problema, le tudja forditani a user maganak :)
ha meg mindenkepp binarist akarsz belole, rakj fel OSX-et egy VirtualBoxba
-
Slackware current / OSX Snow Leopard

Megsugom, nem fogsz tudni. Mint ahogy Linux ELF-et is kisse problematikus windowson forditani, igy ezt is. Csak ezt meg jobban, mert pl. a Universal binary-khoz (aminek egyaltalan ertelme van ebben a kontextusban) kulon pecselni kell a gcc-t, hogy tudja.
--


Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.

Lehet, Python-al nem sok dolgom volt eddig (kígyó-fóbiám van :P ). C++-t tanultam eleget, C# előtt azt nyesztettem, így nekem ez volt a kézenfekvő. Nem nyelvet akartam tanulni, hanem framework-öt, de gyanítom, ha elkezdem tanulni a Pythont, akkor a Qt használata már abban sem lesz ördöngősség, ha magát a Qt-t már ismerni fogom A-Z.

Hozzáteszem, Mono-ban is egyszerűbb egy ilyet összehányni, mint C++-ban, de élveztem a mazochizmust. Egyébként nem volt egy vészes dolog, a forrást átböngészve sem egy bonyolult és hosszú kód.

hm... Pedig keresgéltem ám :)
No mindegy, legfeljebb egyel több, szerintem az soha nem baj. No meg hát ugye tanulás szempontjából is volt motivációm.
Minden esetre köszönöm a linket, szinte tök ugyanolyan felületet sikerült összehoznom (esküszöm, nem másoltam :D )

EVE Online-hoz irtam automata furo programot:)
Kidokkol, kimegy a mezore, fur, beszallit. Random idot var a stationon, gazdasagosan kezeli a lezereket, meg mindenfele kenyelmi opcio. Windows es Linuxhoz egyarant megirtam, mas-mas nyelveken.
Jo ezt biztos sokan nem tudjak mire valo, de aki EVE-zet mar, az biztos tudja, hogy ez milyen unalmas, monoton, de penz gyarapito tevekenyseg, amit en automatizaltam:)

Engem ez érdekelne, ha elérhető a forrás, vagy akár csak maga a program.
Sajnos most pénzhiány miatt nem eve-ezek, de tervezek hamarosan megint előfizetni :)

Én az AutoIt nevű programmal próbálkoztam egér eventeket küldözgetni, végülis sikeresen, mert működött a dolog, csak hardcode-olva volt minden, tehát az hogy kb mennyi idő amíg kiér az aszteroidamezőre stb. és így nem igazán tetszett úgyhogy hagytam a fenébe.

En is az AutoIt-el csinaltam, de ugy hogy ellenoriztem mikor er ki az aszteroida mezore, mikor vegez a kidokkolassal. Ezt ugy sikerult, hogy pixel szin vizsgalattal figyeltem, hogy mikor tunik el a Warp drive activ felirat, illetve mikor jon be az urben latszodo UI a kidokkolas utan, valamint a cargo mikor lesz telle. Igy szinte semmivel nem toltott el a hajo felesleges idot es egesz este tudot furni meg en aludtam. A stationon pedig random idoket vart, hogy ne legyenek annyira egyformak a ciklusok, hatha szemetszur valakinek...
Mar jo reg hasznaltam, de majd elobanyaszom es feltoltom valahova.

Linux alatt az XMacroval csinaltam ilyet, de asszem abban nem volt pixel szin vizsgalat, igy abban siman idozitesekkel volt megoldva minden.

Nem tudom ismered-e ezt a mondást:
"Minden bonyolult problémára van egy egyszerű, világos, könnyen érthető rossz megoldás."

Ha jól értem a feladatot és a megoldást, akkor a lenti esetben:


   5
  4 6
 9 2 3

az algoritmus az 5,6,3 útvonalat találja meg, ahol az összeg 14.
Szemben az 5,4,9 útvonallal, ahol az összeg 18.

Szerintem a jó algoritmus:
1. Alulról felfelé haladunk a fában, tehát először a legalsó sorban vagyunk.
2. Minden fa pontra kiszámoljuk a maximális összeget az alatta levő két szám alapján. A legalsó sorban, nyilván a szám lesz a maximális összeg. Ezt az összeget és az alatti fa pont indexét letároljuk ehhez a fa ponthoz.
3. Egy sorral feljebb megyünk és folytatjuk a 2. ponttal, amíg el nem fogynak a sorok.
4. A fa csúcsán szerepel a maximális út összege. Fentről lefelé összegyűjtjük az indexeket, ez lesz az út.

A példánál ezen összegeket és indexeket számolja az algoritmus:
(9,0) (2,0) (3, 0)
(13,1) (9,3)
(18,1)

Tehát 18 a max összeg és az (1,1,0) az útvonal, tehát a legfelső elem az első mindig: 5, majd a következő sor első indexű eleme: 4, majd a következő sor első indexű eleme: 9, és mivel 0 van, így kész vagyunk.

Sőt, az összegek sem kellenek, csak egy darab, a mindenkori sormaximumok összege.

Ui. az utat megkapod m (ill., m-1) darab maximumkiválasztással (m a hszög magassága). A feladat csak a külső, 1(vagyis 2).. m ciklus miatt csúszik bele a programozás bevezetők 3. feladatából a 4. feladatba. :)

Én megcsináltam még régebben. Hasonlítsuk össze a sebességet! :)

A Project Euler 67-es problémája egy száz soros háromszög, az szerintem jó lesz tesztcélokra. ;) Az algoritmusom megegyezik azzal amit a kolléga írt, csak pythonban van megírva, pszeudofunkcionális stílusban. :) Nem tudom, hogy mennyire olvasható így, számomra érthető volt fél év után is. Minden lépés ki van bontva, ha nagyon akarnám, gondolom be lehetne sűríteni két sorba is.


librarian@rincewind:~/workspace/projekt_euler$ python triangles_final.py triangle.txt
[****]
Run Time = 0.0437099933624

A kód itt Kommenteljétek, ha van kedvetek.

Mennyi időd volt a feladatra amúgy?
-----------
"Generally, Russian technology assumes dumb machines and smart humans, not the other way around." -- The Russian Tea HOWTO

Egyfajta multi-boot android telefonokhoz, gyakorlatilag bármilyen rootolt telón használható, amin van recovery:
http://forum.samdroid.net/f9/multi-boot-system-recovery-2640/
Elméletileg nem csak Android, de bármilyen linux bootolására rá lehet venni, bár ezt még nem próbáltam.

---
BME-VIK '09
Compaq Mini 311 - N270 @ 2323 MHz - 3GB DDR3 @ 1240 MHz - ION

Az SDL függvénykönyvtárat használva megírtam az életjáték nevű matematikai mókát, az eredmény itt található - mivel először használtam SLD-t, így sok szempontból kezdetleges lehet, ha valamilyen észrevételetek, ötletetek van, írjatok, szívesen fogadom az építő jellegű kritikákat.
--
Azt akarom, hogy az emberek ne kényszerből tanuljanak, hanem azért, mert tudni akarnak.

Sziasztok,

Pár napja indult el 1 új projektem igaz még csak magyarul, kiváncsi lennék ki mit gondol, mennyire érhető, hogy mivel foglalkozik az oldal

http://www.oneminutejobs.com/

Végtelenül egyszerű "nyerőgép" (primitív megoldású pörgetéssel). Fruit Machine után szabadon. :)
Sztori: kollégákkal céges vacsin voltunk, ahol volt elszeparált kaszinó. Bedobtunk a félkarúba 500 HUF-ot, mind elvesztettük. Ekkor jött az ötlet, hogy írok egyet nekik ajándékba.
Tudom, sok száz ilyen van, itt inkább a személyes "ajándék" volt a cél, nem az újat alkotás. Szóval viccből készült, elég rövid idő alatt, így nézzétek. :)

http://dacr.hu/symbolmachine/

Klasszikus pálmafás csendes-óceáni helyszínre gondoltam, ahova ha bejön a dolog, el lehet ruccanni nyaralni :P
Úgy hallottam valamikor régen (50% konfidenciaszint:P), nem egynek a gazdasága többek között az online kaszinókra épül.

int getRandomNumber() { // ←ez itt már az aláírásom
	return 4;//szabályos kockadobással választva.
}		//garantáltan véletlenszerű. xkcd

nos, a legalább 2 sor kritériumnak megfelel
perl szkript, .css-ben cserélgeti a színeket.

itten van

észrevételeket szívesen fogadok, ha megnézi, kipróbálja valaki

___

Don't Panic!

Futtatni még nem volt szerencsém, csak olvasgatni a sorokat.
Egy random színgenerátor+cserélő miként lehet hasznos? :)
Valami olyan project-hez készült, ahol minden "belépésnél" generálni kell új színt, vagy inkább ujjgyakorlatképpen íródott?
Nekem minden esetre hasznos, perl még nem az erősségem, tanulgatom. Köszönöm!

hátőőő... igen, ujjgyakorlatnak szántam.

eredetileg nem a random szín lenne a lényeg - az inkább csak a teszteléshez kellett, hogy ne kelljen ezer színt kézzel beírkálnom...

aztán annyira jót röhögtem az eredményen, hogy így maradt :)

___

Don't Panic!

random_color szerintem túl van bonyolítva: elég egy véletlenszámot generálni 0:256^3-1 intervallumban, és azt hat számjegyűre formázni, fölös színenként külön.
És igazán viccelődhettél volna ilyesmivel… (:P):
(($temp eq "random") || ($temp eq "\n")) ? &random_color : ($temp =~ /^([[:xdigit:]]{6})$/) ? push (@new, $temp) : print "mondom színt írjál, vaze. Te se játszottál színcápát kockákkal…";

A fenti kódot nem próbáltam, és te se tedd inkább, ha meg akarod érteni később is :P Amúgy az első feltételben szerintem nem kell erőltetni a regexpet, a stringek egyszerű összehasonlítása így érzésre gyorsabbnak tűnik.

int getRandomNumber() { // ←ez itt már az aláírásom
	return 4;//szabályos kockadobással választva.
}		//garantáltan véletlenszerű. xkcd

erm... ha beírod "kézzel", h random, akkor onnantól az összes színt legenerálja, csak emiatt nem jó erre a célra amit írtál, ha jól látom. (fixme)

amúgy tetszik :)

első feltétel alatt mit értesz? a y/n?-t?

de akkor meg írhatom hogy

if (($y_or_n eq "Y") or ($y_or_n eq "y")) or ($y_or_n eq "\n")) {
$filename = $ARGV[0];
} elsif (($y_or_n eq "N") or ($y_or_n eq "n")) {
&name;
}
?

___

Don't Panic!

A „($temp =~ /^random$/i)”-ra értettem, de kb. általánosíthatnám mindenre, ahol nincs szükség regexpre.
Amit írtam, az pedig szerintem tökugyanaz:


$flag = ($temp =~ /^random$/i) ? 1 : 0;
		if ($flag) {
			&random_color;
		} elsif ($temp eq "\n") {
			&random_color;
                }

===

if (($temp =~ /^random$/i) || ($temp eq "\n")) { &random_color; }

… mondjuk nagyon nem értek a Perlhez, de értelmében szerintem nincs különbség.

int getRandomNumber() { // ←ez itt már az aláírásom
	return 4;//szabályos kockadobással választva.
}		//garantáltan véletlenszerű. xkcd

Ööö... kritizálni lehet?

Minden változód globális. Ez egy rossz szokás, mert ugyan az elején egyszerűsíti a dolgokat, de ha ne adj' $isten elkezd fejlődni a programod, mondjuk többezer soros, tucatnyi modulból álló szörnyeteggé, akkor borzasztóan hátráltatni fog. Azt a változót, amire csak egy függvényben van szükség, a függvényben deklaráld. Tisztább, szárazabb, biztonságosabb érzés.

Ezenkívül mindent a szkript elején deklarálsz. Ez rontja az olvashatóságot: mindig, amikor látsz egy változónevet, akkor töprengened kell, hogy ez mi a szar és hogy került ide. Ha valamire csak pl. egy for cikluson belül van szükség, akkor ott deklaráld.

Aztán mindenütt C-stílusú for ciklusokat használsz:

for ($i=0;$i<$#old;$i++){

Ezek helyett jobb (olvashatóbb, gyorsabb) a

for my $i (0..$#old)

(A tied még hibás is, mert @old utolsó elemét kihagyja.)

Pár helyen feleslegesen bonyolítasz. Pl. a random_color függvényben nem kell a

		if ($rand < 16) {
			$hex[$x] = "0" . $hex[$x];
		}

,
helyette elég a

sprintf "%02x", ...

.

Az is a baja annak a függvénynek, hogy egy globális tömböt buzerál, ahelyett, hogy simán visszaadná a generált számot, és a hívóra bízná, hogy mit kezd vele. Én így írnám:


sub random_color {
    return join "", map {sprintf "%02x", rand 255} (1..3)';
}

A többit még nem néztem át, de első körben szerintem ennyi is elég...

nagyon szépen köszönöm mindenkinek a segítséget!!

bocs h nem reagáltam hamarébb, de ének meghallgatáson voltam tegnap délelőtt, arra készülgettem...

kicsit átírtam a kódot itt-ott az útmutatásaitok alapján, de túl sokat nem volt kedvem vele időzni, új ötletem támadt:).

természetesen a továbbiakban az itt olvasottak szellemében fogok próbálni kódolni.

ha megint produkálok valami valamennyire értékelhetőt, akkor majd lehet h kiteszem azt is ide, már csak az érdekes hozzászólások kedvéért is :)

mégegyszer köszi, hogy áldoztatok rám az időtökből.

további szép... te jó ég, 3:34 van
hajnalt.

___

Don't Panic!

Egy erősebb hétvégén összedobtam egy proof-of-concept SOAP kliens-t Android-ra, amely abban jobb, mint a ksoap2, hogy minimális munka van a szerializációval, a projekt nyílt forrású, már akadt is egy amerikai srác, aki tolt bele némi saját fejlesztést, mert könnyebben használható, mint a ksoap2, bár nem teljes implementáció, illetve az API is még képlékeny, de azért használható: http://wiki.javaforum.hu/display/ANDROIDSOAP

A másik Android projektem is egy hétvégés projekt jelenleg, de ha beválik, akkor több hétvégés projekt lesz belőle: Travian-hoz csináltam egy Android alkalmazást (mivelhogy játszogatok :), amely könnyebbé teszi a játékot mobiltelefonon - bár egyelőre csak a mezőket lehet vele fejleszteni és a GUI se túl szép... :) A Travian oldaláról nehezen vehető észre, mivel egy WebView widget-et vezérlek, tehát minden letöltést az Android-os böngésző csinál, a program csak elemzi a HTML tartalmat: http://wiki.javaforum.hu/display/TRAVIANDROID
--
http://wiki.javaforum.hu/display/~auth.gabor/Home

Ezt talán már érdemes idelinkelni…
http://numen.extra.hu/websquare/
Foursquare-re lehet vele becsekkolni, a tények jelenlegi állása szerint másra nem is nagyon használható. Ami értelmet ad a létezésének az az, hogy a Foursquare nem adott ki a telefonomra (E51) működő klienst.

Ugyan van olyan alkalmazás, amivel be lehet csekkolni, viszont az csak GPS jel alapján lövi be a pozíciót, míg az Opera Mobile akár adótornyokat is igénybe vesz. És amíg elindul a GPS, azt várja ki az, akinek két anyja van. ☺
Picit részletesebben itt írtam le: http://hup.hu/node/98750

int getRandomNumber() { // ←ez itt már az aláírásom
	return 4;//szabályos kockadobással választva.
}		//garantáltan véletlenszerű. xkcd

Szevasztok!
Ez egy kis gyüjtemégy egy két mostanában és régebben fejlesztett nyílt kódú programomból.

http://hyperprog.com

Dióhéjban:

gSAFE: Egy Qt4 re épülő (többplatformos) sql felületépítő library.

Treegen: OpenGL -es környezet generátor (Fa,Fű,pálfrány.stb..)

Rotor: Egy veszteségmentes képforgató progi, mely próbálja minimalizálni a képforgatással járó user interakciót. Azaz a lehető legkevesebb vesződéssel tudod a nyaralási fotóidat beforgatni.

Hyperchat: Ez egy kis C# os grafikus chat program. Komolyabb célja nincs, csak gyakorlásból, ötletelésből született.

Én még tavaly fejlesztettem programot a Nyugat-Magyarországi Egyetem, Botanikai kutatócsoportjának részére.
A program lényege hogy egy szkennelt tárgy területét számítja ki. Először csak parancssoros verzió létezett, aztán írtam hozzá grafikát, később JPEG képet is képes lett értelmezni, jelenleg az adatokat is képes kimenti, és már Linux alatt is futtatható.
A programot C-ben írtam, GUI pedig GTK+.

Bővebb információ itt

Sajnos a weblapom már kicsit elavult, ezért előre is elnézést kérek.

http://turaindex.hu - Pre-Alpha-Teszt, virtualtourist inspired :)

* Rails 3.0.4
* Ruby 1.9.2
* Unicorn webszerver
* mongodb adatbázis, GEO2D indexek (mongoid gem)

Tanulásra készül, de májusra el akarunk vele készülni úgy, hogy a fejlesztés és reklám költségeit néhány hónap alatt behozza.

Majd' két éve készült drag & drop mentő cucc Windowsra (VBScript; Windows XP-vel tesztelve).

A lényege: állományokat* és/vagy könyvtárakat* dobva rá (ill. a parancsikonjára) adott könyvtárba** kerülnek az állományok és/vagy könyvtárak másolatai, tömörítve***, az eredeti nevüket az aktuális dátummal és időponttal kiegészítve****. Pl., ha a

valami.txt

-t és a

valami könyvtár

-at dobod rá, akkor

valami.txt (2011-04-13-20-56-57).7z

és

valami könyvtár (2011-04-13-20-57-01).7z

kerül a megadott könyvtárba.

Önmagában futtatva a mentéshez beállított könyvtárat nyitja meg.*****

Nekem a gyorsindító sávon (Quick Launch) és a küldés (Send To) menüben is van hozzá egy-egy parancsikon, és az őt tartalmazó könyvtár fel van véve a

PATH

környezeti változóba (mert parancssorból is használható (de az üzeneteket nem ott jeleníti meg (egyébként eléggé hallgatag)), pl.:

mentes valami.txt "valami könyvtár" "egy kis ez" "meg az" stb

), mert csak akkor ér valamit, ha kéznél van.

Valamennyire kezeli a hibákat, de nem túlságosan. A helyettesítő karakterekkel nem tud mit kezdeni.

* a parancsikonokat nem követi; különleges objektumokkal nem feltétlenül boldogul
** a scriptben előre beállított könyvtár (környezeti változó is lehet)
*** 7-Zipet használ, de mással is működik
**** a kiegészítés tetszőlegesen megváltoztatható a scriptben
***** vagy hibaüzenetet jelenít meg, vagy azt csinál, amit szeretnél

Ha valaki pont erre vágyott, jó neki. Ha másra, az nem ez.

Szabadon bármicsinálható vele, de Facebookon lájkolni rossz jellemre vall.

:)

egy ideje próbálok megszabadulni porosodó könyveimtől, de nem igazán találtam erre szakosodott oldalt, úgyhogy összedobtam egyet, persze elég egyszerű az egész:

Könyvbazár

kereken 1 napja megy az oldal, úgyhogy még nincs sok hirdetés fent, de bátran lehet regelni és hirdetni :)

Üdv,
Sándor

egy darabig nem volt munkám és ezért esténként sok szabad időm volt. de azért próbáltam úgy elaludni, hogy még normális időben fel tudjak kelni. persze ha nem voltam álmos filmet vagy sorozatott néztem.

dotnetben windows alá csináltam egy progit ami miután lejátssza a filmet kikapcsolja a gépet. sima alkalmazás indítás volt. mplayer játszotta le a progit mert az ugye kilép a film végén. és ezért lehet WaitForExit fügvényt használni.

később csináltam bele késleltetést, hogy ha esetleg a sorozat végén még nem aludnék akkor érkezzek leállítani a kikapcsolást és plusz részt betenni. illetve kész lejátszó listát is tudtam betenni. nem csak egy filmet.

na én sem akarok kimaradni, így másfél év után... :)

anno 15 éve átírtam a régi klasszikus Wizard of Wor nevű játékot DOS-ra, Turbo Pascalban készült, 320x200 256 szín, joystick kezelés (volt átalakított Quickshot joyunk erre a célra), IPX multiplayer, SB Pro, Gravis, sok finomság volt benne. Sajnos sem a forrás, sem a bináris nincs már meg, tönkrement a hdd-m, persze a floppy backupok is, de még nem adtam fel a reményt, a sch-ben játszottak vele páran, hátha valahol meg van archívban...

illetve 2004 környékén 5.1 DirectSound kimenet a windowsos mplayer-be... na ez viszont megvan a mai napig, szerencsére nem én vigyázok a forrásra

Sokoban megoldó program.

A Sokoban azért érdekes, mert elég agyament megoldások kellenek, de az értelmes lépések száma általában kevés. Éppen ezért a brute force megoldás az esetek 50%-ában jó. Az őrült nagy pályák esetén képes elszállni a megoldási idő.

E - kezdőpont
D - gyémánt
B - bázispont ahová tolni kell
d - gyémánt és bázis egyszerre
X - fal
SPACE - szabad terület

A program 1 nap tologatás után született, mert rájöttem, hogy ennyi idő már elég lett volna a megíráshoz.

Működés:
- legelőször feltérképezi azokat a mezőket, ahová eljuthat a gyémánt (zsákutcák kiszűrése)
- utána ciklikusan kiszámolja a lehetséges lépéseket
- már kipróbált kombinációk eldobálása
- bizonyos értelmetlen felállások automatikus kiszűrése

Minthogy brute force, a legykevesebb lépésből álló megoldást fogja adni.

#!/usr/bin/perl

use Data::Dumper;
use strict;

my @initial = ('XXXXXXXXX',
               'XXX  XXXX',
               'XXX  XXXX',
               'XXXDBD  X',
               'X  BEB  X',
               'X  DBDXXX',
               'XXXX  XXX',
               'XXXX  XXX',
               'XXXXXXXXX',);

my $fileName = shift @ARGV;

if( defined $fileName )
{
  open(FH, "<", $fileName);
  @initial = <FH>;
  close(FH);

  s/^\s+|\s+$//s for (@initial);
}

my $stcnt = 1;
my %processedStates;
my @states = ([[map { [ split //, $_ ] } @initial],undef,1],);

my @targetValues = find( ['B',], $states[0][0] );
my @targetValues2 = find( ['d',], $states[0][0] );
push @targetValues, @targetValues2;

my %illegalFields = detectIllegalFields( $states[0][0], @targetValues );

replaceValue( $states[0][0], 'B', ' ' );
replaceValue( $states[0][0], 'd', 'D' );

while( replace( [' ', 'E',], ['E', 'E', ], $states[0][0] ) )
{
}

while( my $currentArr = shift @states) {
  my ($current,$parent,$round) = @$currentArr;

  my @arr = map { $current->[$_->[2]][$_->[1]] } @targetValues;
  if( (grep { $_ eq 'D' } @arr) == @arr )
  {
    my @resultArr;

    while( defined $parent )
    {
      unshift @resultArr, $parent;
      $parent = $processedStates{$parent};
    }

    print "All found!\n";
    my $cnt = 1;
    my $len = @{$current->[0]};

    for my $res (@resultArr)
    {
      my @rows;
      my $tmp = $res;
      $tmp =~ s/E/ /g;

      while( length($tmp) )
      {
        push @rows, substr($tmp,0,$len);
        substr($tmp,0,$len) = '';
      }

      print STDERR $cnt++ . ". step:\n";
      print STDERR " " . join( "\n ", @rows ) . "\n";
    }

    exit;
  }

  $stcnt++;
  if(( $stcnt % 100 ) == 0 )
  {
    $|++;
    print "\rQueue:" . @states . ", steps:". (scalar(%processedStates) + 0). ", rounds:$round ";
  }

  my @possibleMoves = find(['E', 'D', ' '], $current);
  my @ext = find(['E', 'D', 'E'], $current, bidir => 1);
  push @possibleMoves, @ext;

  my @short = clonearr( @$current );
  replaceValue( \@short, 'E', ' ' );

  my @newMoves;
  for my $move( @possibleMoves )
  {
    my @step = clonearr( @short );
    changeTo( $move, [' ', 'E', 'D'], \@step );
    next if isInvalid( $move, \@step );

    while( replace( [' ', 'E',], ['E', 'E', ], \@step ) )
    {
    }

    my $myName = hashCode( \@step );
    next if exists $processedStates{ $myName };
    $processedStates{ $myName } = $parent;

    push @newMoves, [\@step, $myName, $round+1];
  }

  push @states, @newMoves;
}

die "No solution exists!";

exit;

sub clonearr
{
  my (@arr) = @_;

  my @res;

  for my $n(@arr)
  {
    push @res, [ @$n ];
  }
  return @res;
}

sub replaceValue
{
  my ($map,$this,$that) = @_;
  for my $y (@$map)
  {
    for my $cell (@$y)
    {
      $cell = $that if $cell eq $this;
    }
  }
}

sub replace
{
  my ($this, $that, $map) = @_;

  my @patterns = find( $this, $map );

  for my $pattern(@patterns)
  {
    changeTo( $pattern, $that, $map );
  }

  return @patterns;
}

sub changeTo
{
  my ($pattern,$that, $map) = @_;

  my $x = $pattern->[1];
  my $y = $pattern->[2];
  my ($dx,$dy) = @{ $pattern->[0] };

  for my $d (@$that)
  {
    $map->[$y][$x] = $d;
    $x += $dx;
    $y += $dy;
  }
}

sub find
{
  my ($pattern, $map, %parms) = @_;
  my $str1 = join('', @$pattern);
  my $str2 = join('', reverse(@$pattern));
  $str2 = undef if !($parms{bidir} && (length($str1) > 1)) && ($str2 eq $str1);

  my @arrays;

  my $xlen = @{$map->[0]};
  my @xstrings = map { join('', @$_) } @$map;
  my @ystrings = map { my $p = $_; join('', map { $_->[$p] } @$map) } 0 .. ($xlen - 1);

  for (my $i=0; $i < @xstrings; $i++ )
  {
    my $pos = 0;
    my $res;
    while( ( $res = index( $xstrings[$i], $str1, $pos ) ) != -1 )
    {
      push @arrays, [[1,0], $res, $i];
      $pos = $res + 1;
    }
    if( defined $str2 )
    {
      my $pos = 0;
      while( ( $res = index( $xstrings[$i], $str2, $pos ) ) != -1 )
      {
        push @arrays, [[-1,0], $res + length($str2) -1, $i];
        $pos = $res + 1;
      }
    }
  }

  if( length($str1) > 1 )
  {
    for (my $i=0; $i < @ystrings; $i++ )
    {
      my $pos = 0;
      my $res;
      while( ( $res = index( $ystrings[$i], $str1, $pos ) ) != -1 )
      {
        push @arrays, [[0,1], $i, $res ];
        $pos = $res + 1;
      }
      if( defined $str2 )
      {
        my $pos = 0;
        while( ( $res = index( $ystrings[$i], $str2, $pos ) ) != -1 )
        {
          push @arrays, [[0,-1], $i, $res + length($str2) - 1];
          $pos = $res + 1;
        }
      }
    }
  }

  return @arrays;
}

sub niceDump
{
  my ($map) = @_;

  my @xstrings = map { join('', @$_) } @$map;
  print Dumper( \@xstrings );
}

sub hashCode
{
  my ($map) = @_;
  return join('', map { join('', @$_) } @$map);
}

sub isInvalid
{
  my ($move, $map) = @_;

  my $newLocX = $move->[1] + 2 * $move->[0][0];
  my $newLocY = $move->[2] + 2 * $move->[0][1];

  my @rows;

  for my $k ( 1, 0, -1 )
  {
    push @rows, [ map { $_ eq 'X' ? 1 : ( $_ eq 'D' ? 2 : 0 ) } map { $map->[$newLocY-$k][$newLocX+$_] } -1 .. 1 ];
  }

  my @destPos = grep { $newLocX eq $_->[1] && $newLocY eq $_->[2] } @targetValues;
  return 0 if @destPos;

  return 1 if $illegalFields{ $newLocX . ":" . $newLocY };

  return 1 if $rows[ 0 ][ 0 ] && $rows[ 0 ][ 1 ] && $rows[ 1 ][ 0 ];
  return 1 if $rows[ 0 ][ 1 ] && $rows[ 0 ][ 2 ] && $rows[ 1 ][ 2 ];
  return 1 if $rows[ 2 ][ 0 ] && $rows[ 2 ][ 1 ] && $rows[ 1 ][ 0 ];
  return 1 if $rows[ 2 ][ 1 ] && $rows[ 2 ][ 2 ] && $rows[ 1 ][ 2 ];

  return 1 if ($rows[ 0 ][ 1 ] == 1) && ($rows[ 1 ][ 0 ] == 1);
  return 1 if ($rows[ 0 ][ 1 ] == 1) && ($rows[ 1 ][ 2 ] == 1);
  return 1 if ($rows[ 2 ][ 1 ] == 1) && ($rows[ 1 ][ 0 ] == 1);
  return 1 if ($rows[ 2 ][ 1 ] == 1) && ($rows[ 1 ][ 2 ] == 1);

  return 0;
}

sub changeIfNeeded
{
  my ($pattern,$that, $map, $cellValue) = @_;

  my $x = $pattern->[1];
  my $y = $pattern->[2];
  my ($dx,$dy) = @{ $pattern->[0] };

  for my $d (@$that)
  {
    $map->[$y][$x] = $d if $map->[$y][$x] ne $cellValue;
    $x += $dx;
    $y += $dy;
  }
}

sub detectIllegalFields
{
  my ($map) = @_;

  my @valids = clonearr( @$map );

  replaceValue( \@valids, 'E', ' ' );
  replaceValue( \@valids, 'D', ' ' );
  replaceValue( \@valids, 'd', 'B' );

  my $ok = 1;

  do
  {
    my @loc1 = find([' ', ' ', 'B'], \@valids);
    my @loc2 = find(['B', 'B', ' ', 'B'], \@valids);

    changeIfNeeded( $_, [' ', 'B', 'B'], \@valids, 'B' ) for (@loc1);
    changeIfNeeded( $_, ['B', 'B', 'B', 'B'], \@valids, 'B' ) for (@loc2);

    $ok = !(@loc1 || @loc2);
  }while( !$ok );

  niceDump( \@valids );

  my @illNodes = find( [' ',], \@valids );
  %illegalFields = map { $_->[1] . ':' . $_->[2] => 1 } @illNodes;
}

Legszives az elozo kodot tedd ki valahova es ide csak a linkjet tegyed.
1) ez nem kodtarolo hely
2) nincs kodformazas/kodkiemeles, igy kb. atlathatatlan es navigalhatatlan.

Egy jo hely erre a https://gist.github.com/ ahol meg egy git repot is kapsz bonuszban melle :-)
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal 

http://distrib-coffee.ipsl.jussieu.fr/pub/linux/mandriva-prehistory/6.0…
http://distrib-coffee.ipsl.jussieu.fr/pub/linux/mandriva-prehistory/6.0…

A prehistory tetszik benne csak, a "kód" az már nem annyira... A sztori egyébként egyszerű volt, megkaptuk az IBM PC300-GL gépeinket, benne rádiós hangkártyával, és kellett valami, amivel konzolról is lehet rádiót hallgatni. A Video4Linux és környéke akkoriban bontogatta a szárnyait, úgyhogy maradt a direkt matatása a kártyának...

Anno Mandrake volt a gépen, ha jól emlékszem, ezért az rpm - azóta volt jó sokáig Debian, mostanság meg Ubuntu.

A 300-as limit a 100 hsz. környékén flame-be fulladó hülyeségekre vonatkozik, normális topic esetén bevállalom a nem beágyazott formájú megjelenítés használatát is.

Szeretném megragadni az alkalmat és publikálnám egy saját fejlesztésű alkalmazásomat.

A neve: LbCreator
A szoftver segítségével címkéket állíthatunk elő, különböző komponenseket helyezhetünk rá (kép,vonalkód,szövegdoboz), lehet adatokat importálni CSV-ből és ODBC-ből valamint támogatja a fontok importálását. Tetszőleges méretű alapanyagra állíthatjuk elő a nyomatot, akár több nyomat is elhelyezhető egy íven.

A projekt első alpha kiadása elérhető a projekt honlapján:

http://www.lbcreator.hu

A licenc-t "common creative" alapján képzeltem el, így ingyenesen letölthető, terjeszthető (ellenszolgáltatások nélkül),illetve a program nem módosítható (ezzel kerülném el azt, hogy valaki a módosított programot sajátjaként pénzért árulná).

A támogatás egyenlőre csak PayPal bevonásával fut a további ügymenet még kidolgozás alatt van.

Helló!

Egyenlőre a magyar célközönség volt a pálya, mivel Magyarországon ilyen jellegű szoftvert csak úgy tudsz beszerezni, hogy adott címke nyomtatóra jó csak, vagy előre megadott alapanyagokra tudsz outputot csinálni amit az alapanyag gyártó árusít (de hozzá ezt a szoftvert ingyen letöltheted), ami fizetős az meg húzósabb kategória (bár az tud SAP-ot, illetve 2D barcode-okat)...

Továbbá csak címke készítéshez hatalmas kiadás egy dokumentum-kompozíciós rendszer vásárlása.

A további tervek között elsősorban a GUI "finomítása" szerepel, valamint változó képek importálásának lehetősége.
Későbbiekben elképzelhetőnek látom a több nyelvűség támogatásának fejlesztését.

kar, hogy nem lehet hibas commentet torolni.

Ez kevés! Azért kevés, mert csak neked rejti el.
Pedig néha előfordul, hogy az ember keze gyorsabb mint az agya, és jó lenne a butaság, elnézés, mellényúlás nyomait kitörölni mindenkiszámára, mert értelmetlenül van ott!
Az általános törölhetőség persze más problémákat vet fel. Értelmetlenné teszi a kapcsolódó hozzászólásokat is, de az meg még rosszabb lenne, ha a hozzászólásom "alatt" lévő hozzászólásokat is törölné.
A tanulság: Észnél kell lenni és megfontoltan kell írni! :-)
--
Tertilla; Tisztelem a botladozó embert és nem rokonszenvezem a tökéletessel! Hagyd már abba!; DropBox

Nem kódolás, de talán idefér ez is… Tipográfiai munkásságom eredménye::
http://www.dafont.com/balint-erdosi.d2939

Van több is, csak DaFontra lassan kerülnek fel a dolgok.

int getRandomNumber() { return 4; }  // ← aláírás
//szabályos kockadobással választva. garantáltan véletlenszerű.  xkcd

Mivel jómagam, webdesignnal és webprogramozással, valamint érdeklődés (hobbi) szinten SEO-val is foglalkozok, így kézen fekvő volt, hogy létrehozzak valamit a PageRank építő közösségnek.
Így született meg nemrég a Webrain, ami egy egyszerű linkkatalógus, viszont mégsem olyan átlagos mint a legtöbb hasonló oldal.
Sok gondot fordítok rá, javítgatom, fejlesztgetem amikor csak tudom.

Az egyes oldalaknál Alexa és Google PR kijelzés is van, amiket rendhagyó módon nem maga az oldal CMS-e kérdezz le. Erre egy külön "asztali" alkalmazást írtam, amellyel tudom frissíteni ezeket az értékeket.
Ez azért kellet, mert a Google nem szereti, ha a PageRankot több százszor kérdezed le, és előbb-utóbb blokkolja azt az IP-t, ahonnét sok ilyen kérés jött. És mivel itthon, minden nap új IP-t kapok, így ez a veszély nem fenyeget és még a kényelem rovására sem megy.

Szintén rendhagyó módon, ez a katalógus rendelkezik iPhone/iPad verzióval is! Mivel Apple fan vagyok, és érdekel a mobilokra optimalizált weboldalak fejlesztése, így létrehoztam a Webrain Mobile-t! :)

Lehet, esetenként túllőttem a célon, ami egy ilyen weboldal esetében szűkséges, de mivel hobbi projekt így gondoltam bele viszek merészebb dolgokat is.
Mindenesetre örülök, mert bevált a rendszer és naponta 5-6 ajánlás érkezik, tehát jó érzés, hogy van valamim amit sokan használnak és a segítségükre van a saját munkájukban.

A magamfajta AVR-el kókányolók biztosan sok anyáztak már azért, mert eltolták a FUSE bitet a kedvenc kontrollerükben. Mivel ez velem is megesett párszor ezért hegesztettem egy frontendet az avr-dude elé ami segítségével emberbarát módon tudom a fuse biteket cseszletni. A cucc Qt4 alapú, és az AVR studiohoz adott XML fájlokból generálja a fusebeállító guit. És természetesen vastagbetűsen anyáz ha külső órát akarsz beállítani.

Ezenfelül majdnem minden avrdude funkció elérhető belőle grafikus felületen, emberbarát módon lehet programozót választani stb.

Rilíz egyelőre nincs, majd ha nagyon ráérek csinálok debcsomagot meg statik exet belőle hogy mindenki boldog legyen.

http://code.google.com/p/avrdude-qt-gui/

Sziasztok,

újabb alacsony költségvetésű projektem készült el, remélhetőleg nem hiába dolgoztam vele :) Ingyenes WordPress blogot nyújtok egyelőre csak angolul.

http://blogdict.net/

WordPress-es emberek véleménye érdekelne, hogy ki milyen plugint/témát javasolna a meglévők mellé.

Ha valaki esetleg a facebook like-ra is rákattint annak nagyon megköszönöm.

Üdv,
Sándor

Egy kisebb játék, szórakozásra. :) a forrás ugyan nincs nagyon kommentelve, de szerintem egész könnyen olvasható:link
A https miatt lehet, hogy elsőre nem enged be, de ez csak egy home server :) ...
Makefile-t nem csináltam mert gondoltam 1 db c file-hoz nem kéne, na mindegy a többi bent van a readme-ben
A játék egy egyszerű koordinátageometria alapú versenyzés :) könnyű hozzá pályát is csinálni stb.
Ha nem működne dobhattok mailt:rise.hun[kukac]gmail[pont]com

---
Where there is a shell, there is a way.

Köszi :)
Még érettséig fejlesztem de akkor le kell állnom egy kis idôre, bár szívesebben csinálnám ezt :)
[Szerk] nem szeretek android alól kommentelni mert néha nem kezeli a fa szerkezetet..
---
Where there is a shell, there is a way.

Az SDL használatával készült a bmp3d nevű progi, ami egy 256 színű képből a színek számértéke szerinti 3 dimenziós 'tájképet' mutat.
--
Azt akarom, hogy az emberek ne kényszerből tanuljanak, hanem azért, mert tudni akarnak.

Egy egyszerű, parancssoros tumblr-postoló:

#!/bin/bash

URL=$1
NAME=$2
CONTENT=$3

IFS=^

set -f
command="dialog^--stdout^--checklist^Cimke^20^30^30^$(cat $HOME/logfiles/tumblr-tags)"
TAGS=`$command`
TAGS=$(echo $TAGS | sed 's@\" \"@\",\"@g')

IFS=" "

curl -s -n -d "email=EMAIL&password=PASSWORD&type=link&url=$URL&name=$NAME&description=$3&tags=$TAGS" http://www.tumblr.com/api/write

A ~/logfiles/tumblr-tags generálása:

#!/bin/bash

LOGFILES=~/logfiles

(curl -s http://AZONOSITOD.tumblr.com/api/read | grep -o "<tag>[^<]*</tag>" | sed "s@</*tag>@@g ; s@\$@^^0@g" | sort -u | tr "\n" "^") > $LOGFILES/tumblr-tags

A newsbeuter hírolvasóhoz készítettem, ha a bookmarking parancsára az első szkriptet állítod be, akkor a C-B hatására lefut, megkérdezi a linket (mármint a newsbeuter), címet (enter-enter és akkor az alapértelmezett lesz), utána pedig kidobja a párbeszédablakot, ahol a már meglévő tag-ekből választhatsz. Így nem kell még egy böngészőt indítani, ott megosztani, stb. Gyors, praktikus, egyszerű :)

A kod ugyan nem sajat munka, segitseget kertem a Coppermine foruman (nem volt olyan egyszeru belenyulni egy osszetett rendszer kodjaba, mint gondoltam).

Evek ota tortem a fejem, hogy inkabb szines, vagy fekete-feher kepeket tegyek kozze az egyik galeriamban. Vegul kipattant a fejembol kiotlottem a lenti megoldast, eloszor sajat, egyszerubb valtozatokkal (JS), majd az elozoek szerint:

Fekete-fehér fényképek színes eredetikkel

Eszreveteleket, javaslatokat szivesen fogadok.
--
Direp

Ó… Azt hittem, találtál valami okos (=gyors) megoldást arra, hogy elég legyen csak a nagy felbontású színes képet tárolni, és abból csinálsz fekete-fehéret…
Valószínűnek tartom, hogy ezen a területen az Internet Explorer-féle filter property gyorsabb, mint a canvases megoldás (ami viszont jobban testreszabható algoritmus).

int getRandomNumber() { return 4; }  // ← aláírás
//szabályos kockadobással választva. garantáltan véletlenszerű.  xkcd

Ezzel az a gond, hogy ha jó minőségű fekete-fehér képeket akar az ember, akkor azokat külön-külön manuálisan kell létrehozni a színes képekből (csatornakeverő, gamma-görbe stb.) Így marad az egyszerű képcsere.

Egy másik galériámban máshoz kell a canvas, ott a látogató s.k. is létrehozhatja a fekete-fehér képeket (korlátozott lehetőségekkel persze). Itt lehet megnézni: http://cc.direp.hu (Itt jelenleg mindössze egy alapítványnak önkéntesként készített fotóim vannak fent, de ezen is lehet látni amit kell..)
--
Direp

Jogos a felvetés, természetesen az algoritmus nem tudja pótolni a művészi döntéseket. Első közelítésben automatikus csatornakeverésre gondoltam, valami ilyesmire:

r = b = g = (0.3*r + 0.5*g + 0.2*b);
int getRandomNumber() { return 4; }  // ← aláírás
//szabályos kockadobással választva. garantáltan véletlenszerű.  xkcd

Segítséget kérnék az alábbi program teszteléséhez, tovább fejlesztéséhez, nemzetköziesítéséhez.
Itt a gettext-re gondoltam, de eddigi kísérleteim kudarcot vallottak.
http://files.myopera.com/Nextra/files/TvRip-1.81.zip

Ez egy analóg tévékártyákhoz készült konzol módú interaktív "videomagnó".
Gondolom azért még nem teljesen a kukába való, mivel sok háztartásban van kábelrendszer, és nem mindenkinek van még dvb-c vevője.

Én egyelőre idáig jutottam el vele. Ami nem teljesen kiforrott az az rtc0/wakelarm.
Odáig eljutottam hogy elkészül a tényleges felvételnél 2 perccel korábbi unix formátumú idő egy txt fájlba.
Gyakorlatilag ezt a sudo-n keresztül írom be a /sys/class/rtc/rtc0/wakealarm fájlba, de a gép mintha nem mindig foglalkozna vele.
Éppen ezért ez most nincs is benne a csomagban.

Van-e más út a gép felélesztéséhez a hibernáción kívül?

Annyit tudni kell hogy én nem tudok programozni.
Mindent a fórumokból, levlistákból kapott tanácsokból, ötletekből kísérleteztem ki, tanultam meg.
Kevés az a kód részlet melyet egy az egyben átvettem.

A segítséget előre is köszönöm.

graphviewer:

Általános léptethető (pl. idő-)grafikon vizualizáló. Kb. bármilyen szöveges standard inputot performance meter jellegű módon megjelenít, több gráf lehet egy ablakban, több ablak lehet, stb. Van hozzá némi doksi meg egy online konfig file generáló oldal is.

Pici, lightweight. FLTK grafikát használ, ami statikusan bele van linkelve.

Ugyan korábban már post-oltam, de mostanra fejlődött a programom:


_________________________________ ELETJATEK __________________________________

Hasznalat: eletjatek [KAPCSOLOK] [FAJL]

Az eletjatek (game of life) nagyfelbontasu verzioja.
FAJL nelkul a 'pelda.bmp' kep lesz a kezdeti allapot, ha viszont sajat kepet
szeretnenk importalni, akkor a formatuma 1 bites szinmelysegu (2 szinu
indexelt) BMP kell, hogy legyen.
Alltalaban a nagyobb szamerteku szin az aktiv, de ezt GIMP-pel modosithatjuk a
'Szinek / Lekepezes / Szinterkep ujrarendezese' menupontban.

KAPCSOLOK

    ( -h | --help    )          segitseg
    ( -s | --start   ) START    a kezdeti generacio szama (1)
    ( -f | --fps     ) FPS      kepfrissites sebessege (16)
    ( -z | --zoom    ) ZOOM     nagyitas merteke (1)
    ( -x | --szabaly ) A:B:C:D  A: eletbenmaradashoz min. szomszedok szama (2)
                                B: eletbenmaradashoz max. szomszedok szama (3)
                                C: uj sejthez min. szomszedok szama (3)
                                D: uj sejthez max. szomszedok szama (3)

IRANYITAS

    SPACE                       szunet
    ( ESC | q )                 kilepes

.................................. OTLETEK ...................................

Ha csinalunk egy kepet, amelyen csak egyetlen aktiv pont talalhato, es a
szabalyokat ugy adjuk meg, hogy 1 szomszed eseten jojjon letre uj sejt, akkor
erdekes mintazatokat kaphatunk.

    eletjatek -x 2:3:1:1 pont.bmp

Szinten erdekes meg, ha pl. az alap keppel es a kovetkezo szabalyokkal
jatszunk:

    eletjatek -x 4:5:2:3

Vagy peldaul folyadek-szeru hatast is kihozhatunk:

    eletjatek -x 4:5:3:3

__________________________________ WINDOWS ___________________________________

Windows-on a szoveges kimenet az 'stdout.txt' fajlba kerul, mig a hibajelzesek
az 'stderr.txt'-be.

________________________________ BIMBA LASZLO ________________________________
                           http://bimbalaszlo.uw.hu

Letölthető zip és tar.gz formában is.
--
Azt akarom, hogy az emberek ne kényszerből tanuljanak, hanem azért, mert tudni akarnak.

Pár ilyen a napi munkámtól teljesen eltérő hobbi projectet tettem ki ide/oda.

Kipróbáltam, nekem nagyon begyere. Sokat kerestem ilyesmi alkalmazást, de mind tukmált a repülővizsgás beálításaival, meg avval, hogy nekem kellett kapcsolgatnaom, hogy éppen, mivel foglalkozom, pedig az olyan egyszerű, van 3 alkalmazás, amit munkával kapcsolatban használok, logolja azokat, oszt jónapot. Köszi, hogy megosztottad.

Ez az én megoldásom a "RAR problémára". Ez az első és eddig egyetlen komolyabb shell-scriptem.
Paraméterként a csomagolt fájl(ok) nevét kell megadni kiterjesztés nélkül.

Pl.: packed.part001.rar esetén
script_neve packed

Ha a kicsomagolt archívumban bin/cue páros volt ugyan azon a néven, akkor azt átkonvertálja .iso-vá, amennyiben nem tartalmazott hangsávot is a bin.
Ehhez szükség van a bchunk program telepítésére!

Két problémám van vele.
1. Ha elfogy a hely kicsomagolás közben, akkor is törli a *.rar fájlokat, de erre már lene megoldás, csak lusta vagyok...
2. Szeretném megcsinálni úgy, hogy ne kelljen megadni paramétert, max. egy kiinduló könyvtárat, amit alkönyvtáraival együtt rekurzívan átnyálazna és végezné a dolgát.

Tudtok eme két hibában/hiányosságban segíteni?
Építő jellegű hozzászólásokat is szívesen fogadok!

openSUSE 12.2, vagy ami éppen jön.

Azt a sok if elif, stb. dolgot másképp csinálnám. Vagy case esac, vagy egy ciklus, ami végig megy egy tömbön, a tömbben a string konstansok, s a többi adja magát.

Aztán, ha a filenévbe teszek egy szóközt, az egész el fog hasalni. A megfelelő helyettesítéseket tedd idézőjelek közé! További észrevételem, hogy fileneveket nem szerencsés bedrótozni. Hozd ki egy változóba, az elején deklaráld, s a későbbiekben hivatkozz rá. Az sem jó ötlet, hogy simán írsz egy rarerror.txt file-t. Mi van, ha az aktuális könyvtárhoz nincs írási jogod? Aztán mi van, ha már van egy ilyen file, s benne van nagymamád legfinomabb pogácsa receptje, s felülírod? Szerintem ismerkedj meg az mktemp paranccsal.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Köszönöm, hogy átnézted a kódomat és segítettél, hogy publikációképesebb legyen. :)

A sok if elif-et kicseréltem, nekem is szúrta a szemem. :) ciklus mellett döntöttem.

A szóközt tartalmazó fájlnévnél valóban elhasalt eddig, ezt is javítottam, de igazán nem zavart, mivel nem volt olyanokkal dolgom, vagy csak ritkán. (Olyankor csoportos átnevezéssel megoldottam a dolgot. :D)

A kiterjesztések mostmár nincsenek bedrótozva, egy tömbbe raktam őket.
Egy másik tömbben vannak azok, amelyeket törölni kell kicsomagolás után.

Megfogadtam az mktemp tanácsodat is, mivel eddig nem tudtam erről a lehetőségről. Örülök, hogy felhívtad rá a figyelmem.
Igaz, hogy a könyvtárakra minidg van írási jogom. Mivel oda végzem a kicsomagolást, így a script sem működne, ha nem így lenne.
Ezek a könyvtárak csak ideiglenesen jönnek létre egy erre a célra fenntartott üres könyvtáron belül, ahol véletlen sem tárolom megboldogult nagyanyám receptjeit, de az elegáns megoldásokat mindig is jobban kedveltem a gányolásnál. :)

Hálásan köszönöm az építő hozzászólásodat!

Van még pár nekem nem tetsző, ill. nem jól működő dolog a scriprtben.
Pl. ahol a kicsomagolás utáni felesleges fájlokat törlöm... azt hogyan kellene elegánsan megoldani? Mert nem így, az biztos. :) Működik, de szégyenlem magam miatta. :)

Itt a jelenlegi verzió

Erről a részről van szó:


   for k in $(rm -f $1.${ext_to_delete[$i]} 2>/dev/null);
   do
      echo $k
   done

A másik, ami nem hiszem, hogy jó lenne, de még nem próbáltam ki, az ez a rész:


   rm -f "$1[0-9][0-9].cdr"

Mindkettőre ugyan az lesz a megoldás, csak a megfejtés még távol áll tőlem.

Szerk.: A harmadik:
"rar" kiterjesztésű fájlok kicsomagolása után törölnöm kellene a "rar" és a "?[0-9][0-9]" fájlokat, de ez nem működik így. Hogyan kellene megoldanom?
Esetleg "[a-z][0-9][0-9]"-t írjak?

Szerk. 2: Ebből jön a 4. kérdésem. Mi van a nagybetűs kiterjesztésű fájlokkal? Azokra hogyan tudom ráhúzni ugyan ezeket a szabályokat?

A rekurzív könyvtárbejárásba az után ásom bele magam, ha az eddig elkészültek tökéletesen működnek.

A bash szintaktikája nagyon távol áll tőlem, de nem adom fel, szeretném jobban megismerni.

Még egyszer köszönöm a segítségedet!

openSUSE 12.2, vagy ami éppen jön.

Amikor a part üres string, ott exit 0 az, amit írni szerettél volna, nem pedig quit 0. Fölötte a ciklusban a 2>/dev/null értelmét nem látom, hiszen a vizsgálat szerintem nem fog semmit az stderr-re írni. A $error hivatkozást idézőjelbe tenném. Tudom, hogy az mktemp nem tesz a filenévbe szóközt, tehát a konkrét esetben semmi jelentősége, csak bántja a szemem, rossz szokás. Egyedül akkor nem szoktam idézőjelbe tenni a helyettesítést, ha az a szándékom, hogy adott esetben több paraméterre hulljon szét, amit helyettesítek, ilyen viszont ritkán fordul elő. Mondjuk parancssori kapcsolókat helyettesítesz egy változóval, akkor nyilván nem szabad idézőjelbe tenni, hiszen a helyettesítés után azt szeretnénk, hogy a szóközök mentén több paraméterre essen szét.

Azt a for ciklust nem értem, amit kérdezel. Ugye az rm -f törölne, s a kimenete adná azt a listát, amin a ciklus végigmegy. Ugyanakkor szerintem az rm -f nem fog semmit az stdout-ra írni, így nincs min végigmennie a ciklusnak. Szerintem ilyesmit szerettél volna:

for i in $(seq ${#ext_to_delete[@]}); do
  rm -f "$1".${ext_to_delete[i-1]}
done

Itt viszon épp nem kell az idézőjel, mert a shellt elzárod a globbing értelmezésétől. Az egyik sort szerintem így kellene írni ott:

rm -f "$1"[0-9][0-9].cdr

Igaz, nem próbáltam ki.

Az rm -f "$101.iso" gondolom, nem a 101-edik paraméterre akart vonatkozni, így lenne jobb:

rm -f "${1}01.iso"

Rekurzív könyvtár bejárásra alant írtam gondolatébresztőt. Nagyon egyszerű, szerintem nem szorul magyarázatra. Talán annyi, hogy a directory-t úgy vizsgálom, hogy megpróbálok egy cd paranccsal belemenni, ha sikerül, akkor visszahívom a függvényt rekurzívan majd cd ..-tal visszajövök az eredeti mélységre, ha nem, akkor pedig megnézem, regurális file-ról van-e szó, s ha igen, elvégzem a kívánt műveletet vele. Mert ugye a cd parancs exit kódja 0 - true -, ha sikerült, s nem 0 - false -, ha nem.

A for i in $(seq 0 ${#ext[@]}); do ciklusod túlcímez a tömbön! Ugye az n elemű tömb indexei 0-tól n-1-ig tartanak, s nem n-ig.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Amikor a part üres string, ott exit 0 az, amit írni szerettél volna, nem pedig quit 0.

Azért a quit()-al léptetem ott is ki, mert akkor már létezik az mktemp-el létrehozott fájl, amit a quit töröl, mielőtt exit-el kilép.


for i in $(seq ${#ext_to_delete[@]}); do
  rm -f "$1".${ext_to_delete[i-1]}
done

helyett ez lett a (majdnem) jó megoldás:


rm -f "$1".${ext_to_delete[i-1]} 2>/dev/null;

Hogyan lehetne megetetni ezzel azt az esetet, amikor türölni akarom:
az összes $1.rar és az összes $1.[A-Za-z][0-9][0-9] nevű fájlt?
Csak a $1.rar-t törli a mostani állapotában, a $1.r00-t és társait már nem.
Az eredeti ciklussal pont az volt a bajom (amire az előző kérdésem vonatkozott), hogy elvégezte ugyan a törlést, de nem igazán volt szükség a ciklusra és az echo is csak azért volt benne, mert a do és a done közé kellett valami. :D

Az is zavar még, hogy a VALAMI.partXXX.rar alakú fájlnevekben az XXX bármennyi db [0-9] számból állhat.
Pl. lehet:
VALAMI.part1.rar
VALAMI.part01.rar
VALAMI.part001.rar, stb.

Ezeket is le lehetne úgy kezelni valahogy, hogy ne kelljen egyesével megadni az összes lehetőséget a számjegyek számát illetően?
Valami ilyesmit találtam, de nem igazán vágom a pontos szintatktikát: [^0-9].

Itt a jelenlegi verzió, átnéznéd ezt is?

A gondolatébresztőt értettem és hálásan köszönöm! Szinte csak be kellett copy-paste-elnem.
A problémám a paraméter nélküli script-indítás esetén az, hogy eredetileg kiterjesztés nélküli fájlnévvel kell meghívni a scriptet, a rekurzió esetén pedig sajnos kiterjesztéssel "hívódik" meg a függvény, így nem is működik. Erre is ki kellene ötölni valamit.

Köszönöm, hogy ennyit foglalkozol velem!

openSUSE 12.2, vagy ami éppen jön.

Vendégségben voltam, s a kaja mellett finom volt a vörösbor is, így most nem merülnék részletekbe, mert csak ostobaságokat írnék. :) A quit-et valóban benéztem, nem vettem figyelembe, hogy az egy saját magad által deklarált függvény.

rm -f esetén kell a 2>/dev/null? Úgy emlékszem, a -f kapcsoló miatt akár nem létező file-ra is lehet hivatkozni, akkor sem ír hibaüzenetet. Mi több, ki is próbáltam, s valóban így van.

A "$1".??? nem jó megoldás? Ugyan nem a kérdésedre válasz, nem elég pontos, de hátha elég. Nyilván lehet szofisztikáltan is, de a fentebb említett oknál fogva most nagyon semmi kedvem gondolkodni. ;)

Van ám üres utasítás, nem kell az echo. Az üres utasítás a kettőspont, visszatérési értéke 0, azaz true. Példa:

while :; do sleep 1; done

Az utolsó kérdésedre nézd az alábbi kódot, a többit rád bízom:

a='valami.alma.doc'; echo "${a%.*}"
valami.alma

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Úgy néz ki, megszületett.
Már csak az az egy baja van, hogy nem működik...

Ezt a részt nem tudom megfelelő működésre bírni:


   for i in $(seq ${#ext[@]}); do
      filename="${1%.ext[i-1]}"
      if [ -f "$filename${ext[i-1]}" ]; then
         part="${ext[i-1]}"
         break
      fi
   done
openSUSE 12.2, vagy ami éppen jön.

Szerintem az ext tömbben olyan helyettesítéssel, ahogyan csinálod, nem adhatsz meg globbingot. Ugyan nem próbáltam ki, de nyakamat rá, hogy literálisként helyettesítődnek a dolgok ott.

Egyébként annak mi értelme, hogy írsz egy hozzászólást, majd az egész hozzászólást átírod másra, s még csak nem is jegyzed meg, hogy szerkesztve volt? Így a szerencsés nyertesek, akik éppen ráértek, olvashatták a korábbi hozzászólásod, a későn jövők meg már nem. Ilyenkor szerintem bátran új hozzászólást tégy akár ugyanarra reagálva, mint az előbbi hozzászólással tetted, s így megmarad az utókornak mindkettő. Amúgy olvastam az előbbi hozzászólásod is, csak nem volt időm reagálni, de meglehet, 1-2 napig nincs időm feljönni, akkor simán elbukom a dolgot, meg persze más is.

Itt egy kis olvasnivaló, sokat tanulhatsz belőle!

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Mivel értelmét veszítette a teljes előző hozzászólásom és a folyamat nyomon követésében sem játszott szerepet, így a következő hsz.-el helyettesítettem.
Ha nem olvastad volna, akkor sem veszítettél volna semmit. :)
Egyébként igazad van.

Olvastam már több Bash-scripting guide-ot, de Tőled ebben a threadben többet tanultam, mint az összes guide-ból összesen. :)

Ha lesz kedvem és sikerül is befejezni a scriptet, természetesen publikálni fogom itt.
Nem adtam még fel, de egyelőre elment a kedvem a próbálkozástól. :)
A Bash szintaktikája nekem enyhén szólva is furcsa.
Clipper -> Pascal -> Delphi (majd Lazarus) -> PHP után teljesen más, mint amit megszoktam.
Furcsa, hogy többféleképpen írhatom a for ciklust, a while-t, furcsa a -számomra tök értelmetlen helyen- néha megkövetelt ";", stb.
A regexp is számomra sok tanulást igényel...
A tömb kezelés is furca. Előfordulhat, hogy a tömb egyik elemeként szereplő string nemugyan úgy viselkedik, mint egy sima változóban tárolt string? Már nem vagyok benne biztos, mert eléggé lefárasztott a script rejtelmeinek megfejtése, amikor erre a következtetésre jutottam. Reprodukálni sem tudtam később, úgyhogy lehet, hogy csak elírtam valamit. :)

Hétvégén szerintem még egyszer nekiesek a scriptnek.
Ha sikerül a fájlnevet és a kiterjesztést elválasztanom egymástól és több fáslt törölnöm egyszerre reguláris kifejezéssel, akkor tulajdonképpen készen lesz.

Addig is köszönöm még egyszer a rengeteg hasznos segítségedet, rávezetést!

openSUSE 12.2, vagy ami éppen jön.

A bash-nek talán két titka van. Az egyik a helyettesítés, a másik pedig az, hogy vannak adott helyen adott karakterek, amelyeket speciálisan, magára nézvést értelmez, így ha ezt nem szeretnéd, el kell zárni a shelltől backslash-sel, idézőjellel, aposztroffal, bár ezek nem pont ugyanazt jelentik. A helyettesítést olyannyira komolyan gondolja a shell, hogy a parncsot, a paramétereket, bármit helyettesíthetsz változóból. Így tehát a $valami szintaxist akár sor elején is használhatod.

Ami még sok bosszúságot okozhat, hogy a pipe-ban futó programok külön process-ben futnak, így nem látnak rá egymás memóriaterületére. Elsőre talán meglepő az alábbi:

a='alma'; echo 'korte' | read a; echo "$a"
alma

Itt a read a egy subshellben futott, másik PID-del, mint az a shell, ahol ez az egész fut, így ugyan az 'a' változó megkapta a 'korte' értéket, ám az egy másik shell másik változója volt. A végén befejeződött a működése, s az a memóriaterület fel is számolódott, a szülő shell 'a' változója pedig érintetlen maradt. Ha erre nem figyel az ember, kitépi az összes haját. Amúgy ez a jelenség az alkönyvtárakat bejáró algoritmusban is jelen van, csak ott nem gond, a pipe-ban szereplő while ciklusból nem akartunk változót kihozni, úgyértem átadni a szülő shellnek.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

A script már nagyon szépen működik.
A kis-nagy betűket is figyelmen kívül hagyja a kiterjesztésben.
Rekurzívan végigjárja az alkönyvtárakat, kicsomagolja az alkönyvtárakban lévő archívumokat is.
De a törlést sajnos még mindig nem tudtam megoldani.


      rm -f "$filename.${ext_to_delete[i-1]}"

valamiért nem töröl, pedig a változó a törölni kívánt értéket tartalmazza.
Miért nem működik ez a sor?

openSUSE 12.2, vagy ami éppen jön.

Rávezető gyakorlat. Mi a különbség az alábbiak között?

echo *
echo "*"

A második esetben a csillagot elzártuk a shell elől, az literális lesz csupán, s nem globbing.

Valahogy így próbálnám:

rm -f "$filename."${ext_to_delete[i-1]}

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Most vettem csak észre, hogy válaszoltál, pedig nagyon figyeltem. :)

Hálásan köszönöm a kitartó és hathatós segítségedet, kedves locsemege!
Nélküled nem jött volna létre a script...
Most tesztelem és ha minden úgy működik, ahogy elképzeltem, akkor beteszem ide a forrását.

KÖSZÖNÖM MESTER! :)

openSUSE 12.2, vagy ami éppen jön.

Belefutottam még egy hibába.
A script már 99.9%-osan működik, csak szépséghibát találtam benne.
Az $extracted változóban végig szépen számolja, mennyi sekeres kicsomagolást végzett menet közben, de a változó a kiíratás előtt -számomra érthetetlen módon- 0 értéket vesz fel.
Így hiába számolja meg, kiíratni nem tudom a sikeresen kicsomagolt archívumok számát.
Mit nézek be?

openSUSE 12.2, vagy ami éppen jön.

Így már könnyű volt. :)
A neten több helyen is óva intettek az

ls -1 | ...

használatától.
Később át akartam írni, de mivel a bajom is ebből adódott, így eljött az ideje. :)
A script jelenlegi állapotában itt található.

Hosszútávú terveim közt szerepel még, hogy kapcsolókkal is ellátom.
Pl.:
"-r" az alkönyvtárakra is kiterjeszti a keresést, alapesetben csak az induló könyvtárban dolgozik,
"-s" egy -az archív nevével megegyező nevű- könyvtárba csomagolja ki az érintett fájlokat,
"-i" kapcsolná be a BIN -> ISO konvertálást,
...meg ilyenek. :)

Biztosan lenne még mit szépítgetni rajta, de szerintem az eredeti scriptemhez képest nagyságrendekkel szebb és okosabb lett. :)

Nagyon sokat tanultam a Bash script írásáról Neked köszönhetően!
Még egyszer hálásan köszönöm a segítségedet!

openSUSE 12.2, vagy ami éppen jön.

Az a baj a megoldásoddal, hogy nem elég általános. Többnyire működik, de nem mindig. Gondolok itt arra, hogy ha teszem azt, szóköz van a directory nevekben, akkor nem lesz ez így jó. Különben pipe-ból is ki lehet hozni változót, csak cudar undorító. Én például úgy szoktam, hogy a pipe belsejében egy echo-val kiírom stdout-ra, amit kell, a hívó helyen pedig egy változó értékadásába teszem helyettesítésként a hívást. Valami ilyesmi:

fuggveny() {
  sed 's/^[[:alpha:]]*//'
}

a=`echo 'valami23' | fuggveny`
echo "$a"

Ennek ugye 23 lesz az eredménye.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Nem magamtól voltam ám olyan okos, hogy felülbíráljam az Általad ajánlott módszert... :)
Itt találtam egy cikket, ami erről szólt. Meggyőztek az ott leírt érvek, így az ott ajánlott helyettesítő módszert alkalmaztam.
Működik szóközt tartalmaző fájl-, ill. könyvtárnevekkel is, tegnap leteszteltem...

A pipe-ből "változó kihozást" már én is megtaláltam valahol, de szerintem ez a

for f in * ; do ... done 

sokkal elegánsabb. :)

Ettől függetlenül beültetted a bogarat a fülembe... Tudsz olyan konkrét példát mondani, amikor nem fog működni? Mert ha igen, akkor keresnem kell egy tökéletes megoldást helyette. :)

openSUSE 12.2, vagy ami éppen jön.

Hm, bevallom, jól összezavartál. Azt hittem, szét fog esni a szóközök mentén. Írtam rá tesztet, és nem:

mkdir demo
cd demo
mkdir sima
mkdir 'space van benne'
index=1; for i in *; do echo -e "$index.\t$i"; ((index++)); done

1.      sima
2.      space van benne

Pedig tényleg úgy emlékeztem.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Gondolatébresztő:

#!/bin/bash

fn() {
    echo "$PWD/$1"
}

deep() {
    ls -1 |\
        while read; do
            if cd "$REPLY" 2>/dev/null; then
                deep
                cd ..
            elif [ -f "$REPLY" ]; then
                fn "$REPLY"
            fi
        done
}

deep
exit 0

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Arduino alapu konyhai idozito:

http://www.youtube.com/watch?v=LNfoqVlL5GQ

irtam mar ide oldalra blogbejegyzest rola, de most hogy meglattam ezt a topicot, nem birtam ki hogy ne rakjam ide... nem nagy durranas, de az elso onallo aramkorom, ugyhogy baromi buszke vagyok ra :D

a fényképek utani kép a logikai kapcsolási rajz (ez az én termékem),
a nyákrajz és a megvalósítás nem az én mũvem - ahoz nem értek, de kösz a felvilágosítást, javítom a link nevét.
különben arról is leolvasható a logikai kapcsolás.

~~~~~~~~
http://www.youtube.com/watch?v=VbUVqODL1nE

https://play.google.com/store/apps/details?id=net.anzix.callcost

Az elmúlt hónap hívásai alapján (híváslista lekérdezésével) számolja ki, hogy egyes tarifákkal mennyit fizetnénk / fizettünk volna (A net használatot nem lehet lekédeze, azt be kell állítani, hogy mennyit szeretnénk). Most már a magyar tarifák kb. fele benne van, ezek közül tudja megmutatni, hogy személyreszabottan nekünk melyik tarifa lenne a legolcsóbb.

Igazából régebbi, de most volt egy kis időm helyrepofozni. Mivel csak erős telefonon (Galaxy Nexus) tudom kipróbálni, minden tesztelésnek örülnék (nem tudom pl. milyen lassú a kalkuláció régebbi telefonokon).

Hosszu tavon majd igen, de meg nem. Meg regen csinaltam (akkor persze magyar tarifakkal). Most valaki felajanlotta, hogy frissiti a magyar tarifakat, ami vegul nem jott ossze, de kozben lelkes lettem annyira, hogy en magam kicsit utanahuzzak. Meg sok hianyzik, meg nehol az SMS szamitas meg pontatlan, de mar most jobb mint az utolso 2 evben barmikor.

ZTE Blade-em van. Első indításkor ráböktem, majd kb. 30mp-ig nem néztem oda: írt egy listát. Azt hittem, még nincs meg a kalkuláció, ahhoz még böknöm kell, de rájöttem, h nem. Második indításnál figyeltem, megnyit, s jó 10-15 mp alatt hozza be a listát.
Viszont jól látom, h a Telenoros SmartTarifa úgy, ahogy van hiányzik belőle?
Egyébként fasza app, pont most gondolkodom azon: érdemes-e szolgáltatót váltanom, de így megkímélsz egy adag számolástól :-P

--
blogom

Hat igen, ettol tartottam. Indulaskor parse-olja a tarifakat leiro file-t es szamitja ki az osszes tarifara koltsegeket. A kovetkezo vezioban lesz majd valami progress bar, hogy ne az UI fagyjon meg, es gondolkozom rajta, hogy egy eldugott helyrol le lehessen kerdezni, hogy a parse-olas/szamitas idejet is, ami alapjan majd tudni fogom, hogy melyik reszt optimalizaljam.

SmartTarifa: Sorba frissitem a tarifakat, kb. 50-60%-on allok. De a kerdest egy szavazatnak veszem a SmartTarifak mellett, es a kovetkezo frissitesbe benne lesz az is...

A hétvégi kisebb frissítés után most már van SmartTarifa (és SmartTarifa Extra) és a betöltés is aszinkron.

A segítség felajánlást kösz, a tarifákra mindig ráfér egy kis frissítés. Ennek a megközelítésnek, hogy a hívás lista alapján pontos szabályok alapján kalkulálunk, pont ez a hátránya, hogy mindig frissíteni kell. Cserébe viszont sokkal pontosabb.

A baj csak az, hogy nem tudom technikailag hogy tudnám egyszerűvé tenni másoknak, hogy segítsenek. Jelenleg itt található a legutolsó állomány, meg egy kissé régi, de talán még használható READMEis, a szintakszisról. Vagy még a bitbucket-es gites tárolóra tudok jogosultságot adni, ha elküldöd a userneved.

ZTE rootolt ( Blade_Sweet_Dreams_IV. ) wifivel letöltve 10 sec, futás 3 sec. Durva, hogy 10 szeres (min-max) tarifa difik vannak. Jó lenne ha nem csak a saját készülékkel, saját telefonszámmal tudna kalkulálni, hanem a másik, nem okos telefonom, másik szolgáltatós számával is. Lehet, hogy ennek fizikai, jogi akadályai vannak?
--
üdv: virtualm

Ha már egyébként feature-requestet tartunk:
- szeretnék választani, hogy ne csak az elmúlt hónap, hanem az elmúlt hét/elmúlt 2/3/4/stb. hónap, vagy bármilyen időszak alapján ajánljon
- Hadd adhassak hozzá "feketelistás" számokat, vagy hívásokat - ha mondjuk volt a hónapban egy 15-20 perces vonalas hívásom, mert meg kellett reklamálnom mondjuk a gázszámlát, hadd kérjem meg rá, hogy hagyja figyelmen kívül. Vagy ha a barátnőmmel úgyis egy szolgáltatóhoz megyünk, s úgyis előfizetünk ingyenhívós opcióra, akkor a barátnő hívásait se számolja bele.

Egyébként kurvajó app, ha a fenti két dolgot tudná, lazán meg is venném...
--
blogom

Köszi, jó ötletek. De:

- Elmúlt 4 hónap híváslistáját egyszerűen nem lehet lekérni Android API-val. Azt tervezem, hogy az alkalmazás majd cache-eli a híváslistát, és akkor felmenő rendszerben nagyobb időszakra is lehet majd kalkuláltatni. (Mindezt szeretném majd SMSBackup+ támogatással csinálni, hogy a régebben elmentett híváslistát is le tudja tölteni és használni.). Addig is használj SMSBackup+-t, és mentsd a híváslistát.

A több hónapos számítás egyébként mindenképpen kell, ha a feltöltési bónuszokkal pontosabban akarunk számolni (ha 3 havonta töltök fel és akkor kapok 2 hét ingyen hívást, akkor ezt csak pontatlanul lehet kezelni 1 hónapos kalkulációval).

- A fekete lista jó ötlet, ez hamarosan bele fog kerülni. Én olyanra is gondoltam, hogy ne csak feketelistára lehessen jelölni, hanem valami külön kategóriánként a családtagokat/barátnőt, ami azt jelentené, hogy:

1.) Minden kalkuláció során a jelölt emberek hálózaton belülinek számítsanak
2.) Ha van opció csoportot alakítani, akkor ők mindenképpen benne legyenek a csoportba.

A grpit.sh bash-awk szkript egy könyvtárban lévő fájlokat csoportosítja (nem rekurzívan) egy megadott csoportméretnek (pl. egy dvd-lemez mérete) megfelelően csoportokba. A kimenetet tovább lehet adni a growisofs-nek, kifejezetten ahhoz készült, hogy ideálisan ki tudjam használni a lemezméretet.

Tudom, nem ekvivalens megoldás, de jó lehet egy nagy *.tar.bz2, vagy valami hasonló split-tel való felszeletelése is. Igaz, ez viszont utólag picit nehézkesen kezelhető, hiszen cat-tel össze kell fűzni, majd azt követően kibontani a tartalmat.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Gyors kérdés: Továbbiakban nem lenne jobb inkább egy témakört csinálni ebből az egy szem fórumtémából? Vagyis minden projektnek saját node-ja lenne. Előbb-utóbb a comments_per_page=9999 is kényelmetlen lesz majd, csak azért mondom. Nyilván a jelenlegieket elég macera lenne szétrobbantani, ezért azt inkább nem is feszegetem, inkább csak az ezután érkezőket.

Felvállaltam, írtam trey-nek PM-et:

"Szia!

Ez alapján:
http://hup.hu/node/83141?comments_per_page=9999#comment-1533259

Készülhet olyan téma, hogy "Én csináltam", vagy hasonló? S akkor az alá topic nyitással lehet a különböző project-eket dobálni. Átláthatóbb lenne.

Előre is köszönjük!"

A rádióban éppen hallható műsor/szám lekérése a rádió weboldaláról, és megjelenítése értesítésként. Haszontalan(?) kis szkript, de Python ujjgyakorlatnak megfelelt.

Képekkel együtt csomagolva innen letölthető.
Csak a forrás itt érhető el.

QR kód generáló, minden sallang nélkül:

http://sykth.com/qr/

a cím végére kerülő string-et alakítja át QR-be, rögtön kettőre is, egyik sms-t küld rámutatáskor, másik csak szimpla szöveg

pl.:

http://sykth.com/qr/valami

http://sykth.com/qr/valami hosszabb szöveg, akár szóközökkel
(drupal motorja mindenképpen kiszűri, sajnos, és igen, tudom, hogy nem url encode-ot használok, de ez volt a cél, hogy könnyen írható legyen)

(sms küldő fix számmal dolgozik, ezért készült, gyorsabb legépelnem és telefonnal scan-elni, mint megírni az sms-t)

issues:
- "?" karakternél megszakad a kódolás, majd megcsinálom :)

15 perc volt, mert egy qr generáló se töltött be 1 mp-en belül, és címsorból egyik se volt vezérelhető (hanyag kód, de célnak megfelel)

Parancssorbol a helyi gepemen en ezt hasznalom:
qrencode -o /tmp/x.png -s 7 "$*" && nez /tmp/x.png

(a nez a qiv-et hivja fullscreenben)

Pl. megnyitok egy weboldalt, de nem akarom a gepen vegigolvasni, akkor atkuldom ezzel a telefonomra (lehetne bongeszo extensionokkel is, de nem akarok mindent szinkronizalni, mert mas weboldalakra van szuksegem a desktop gepemen es a telefonomon).

--
The programmers of tomorrow are the wizards of the future. You know, you're going to look like you have magic powers compared to everybody else. -Gabe Newell

Néhány napja kezdtem el fejleszteni egy kis tweak plugint WordPresshez:
http://wordpress.org/plugins/wp-caregiver/

Tudom, van számtalan hasonló plugin amikkel ezek a dolgok kivitelezhetőek, viszont számomra azok vagy túl keveset tudtak, vagy túl sok haszontalan funkcióval voltak megtömve.
Ebben a pluginben Én inkább azokat az apróságokat gyűjtöm össze, amik az átlag WP oldalak többségében jól jönnek, illetve ajánlott is a használatuk.

Szóval akinek van WP alapú oldala, az használja bátran! :)
És persze szívesen veszek minden, szerintetek hasznos funkciót, ami bekerülhetne a következő verziókba!

Ez nem éppen hobbi projekt, mert muszáj volt megcsinálni.
Pár éve használunk a főiskolán LTSP vékony klienseket. Sajnos, 2012-es Windows terminál szerver farmmal nem akar működni, és ehhez kellet írni egy kiegészítőt. Talán másnak is hasznos lehet: https://github.com/csikfer/rdpwrp

Eljott ez a nap is, felkerult a Google Playbe (leanykori neven Android Market) az elso jatekom.
Nem kell tul sokat varni, ez egy regi, GPH handheldre irt egynapos projectem (azert kesobb meg par aprosagot hozzaraktam) Android portja, elsosorban 'proba' jelleggel, megismerkedni a rendszer mukodesevel.
Akinek Androidos telefonja van es megtenne hogy kiprobalja, majd ad valami kis feedbacket (pozitiv, (konstruktivan) negativ, bugreport, stb), annak megkoszonom :)
Link:

https://play.google.com/store/apps/details?id=hu.glezmen.aim

Github account ér? :)

- 80 soros torrent-tracker node.js-ben,
- illetve ennek p4p-like változata
- konzolos multi-hoszt pingelő delphiben
- munin plugin szintén node.js-ben
- google helyezésellenőrző (php script)

In-progress: (sajnos nem is lesz publikus): Counter Strike 1.6 szerver adminisztrációt segítő plugin, cheat-deketálással, moderálással, központi adatbázissal (multi-szerver), irc-gatewayjel (az interface másik fele meg node.js-ben :) meg pár egyéb általános dologgal, nulláról kódolva Pawn-ban.

In-progress2: általános irc gateway szerver, amiben csatornánként lehet megadni az interfész párját, konfigurálható, pluginezhető (CS-hez már megy a béta, twitteren dolgozom, stb.)

Webshop-letöltő script: azaz, a strukturált termékeket listázó weboldalakról egy xml-ben leírt szabályrendszer alapján összegyűjti az adatot egy CSV-be. Tipikus példa a notebook-webshopok (ehhez van is 14 xml már :), ha vettem gépet, megy fel githubra a kód + az xml-ek.

--
deejayy DOT hu

A GameTracker statisztikái alapján még mindig több CS1.6 szerver van, mint CS:S + CS:GO együttvéve. Magyar szerver is van még ~350.

Azért nem lesz publikus, mert vannak benne olyan megoldások, amik ha széles körben ismertek lennének, gyengülnének (pl. statisztika alapú ban, stb), továbbá mert ettől lesznek egyediek a szervereim :) és próbálok valami üzleti modellt is ráhúzni, hátha megtérül a befektetett munka.

Amúgy már nem in-progress :)

--
deejayy DOT hu

Háttérkép igazító alkalmazás. Azaz tetszőleges méretű képből egy optimális kivágást ajánl az éppen aktuális képernyőmérethez úgy, hogy a kép ne torzuljon. Az eddig többlépéses folyamatot egy két kattintással elinzézi.
http://www.hyperprog.com/wpfiner

https://play.google.com/store/apps/details?id=com.fellegi.biquad
https://play.google.com/store/apps/details?id=com.fellegis.wire58
https://play.google.com/store/apps/details?id=com.fellegis.cylpara
https://play.google.com/store/apps/details?id=com.fellegi.omnidir

Meg jónéhány kisebb dolgot, pl forrásból bináris csomagot készítő script:

#!/bin/bash

SOURCE_NAME=m4-1.4.16

ACTUALDIR=`pwd`
TEMPDIR=/tmp
PACKAGEDIR=/home/packer/packages
SOURCE_XZ_NAME="$SOURCE_NAME".tar.xz
TARGET_NAME="$SOURCE_NAME"-i586
TARGET_XZ_NAME="$TARGET_NAME".tar.xz
SKELETON=`cat /etc/packer/usr`
ARCHITECTURE=`cat /etc/packer/arch`

OPTFLAGS="-O3 -funroll-all-loops -fomit-frame-pointer -minline-all-stringops"
CONFIGURE_ARGS=""

#build környezet felépítése
cp $SOURCE_XZ_NAME $TEMPDIR
cd $TEMPDIR
echo "Kibontás..."
tarxz2dir $SOURCE_XZ_NAME
mkdir "$TEMPDIR"/$TARGET_NAME
cd $SOURCE_NAME
CFLAGS="$ARCHITECTURE $OPTFLAGS" CXXFLAGS=$CFLAGS ./configure $SKELETON $CONFIGURE_ARGS
make
make install DESTDIR="$TEMPDIR"/"$TARGET_NAME"
cd $TEMPDIR
dir2tarxz "$TARGET_NAME"
cp "$TEMPDIR"/"$TARGET_XZ_NAME" /home/packer/packages

#Takarítás
echo "Takarítás ..."
rm "$TEMPDIR"/$SOURCE_XZ_NAME
rm "$TEMPDIR"/$TARGET_XZ_NAME
rm -r "$TEMPDIR"/$SOURCE_NAME
rm -r "$TEMPDIR"/$TARGET_NAME

#vissza a helyünkre
cd $ACTUALDIR

Vagy pl. egy egyszerű Linux installáló:

#!/bin/sh

echo "-----------------------------------------"
echo "start installer src_linux 0.2 -TÁKOLMÁNY-"
echo "-----------------------------------------"

export SOURCE="/mnt/source/packages"
export TARGET="/mnt/target"
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/installer
LINELINE="------------------------------------------------------------------------------"

echo "Néhány alapvető modul betöltése"
echo -n "depmod... "
/sbin/depmod >/dev/null 2>/dev/null
echo -n "usbcore..."
/sbin/modprobe usbcore >/dev/null 2>/dev/null
echo -n "uhci-hcd... "
/sbin/modprobe uhci-hcd >/dev/null 2>/dev/null
echo -n "ohci-hcd... "
/sbin/modprobe ohci-hcd >/dev/null 2>/dev/null
echo -n "ehci-hcd... "
/sbin/modprobe ehci-hcd >/dev/null 2>/dev/null
echo -n "xhci-hcd... "
/sbin/modprobe xhci-hcd >/dev/null 2>/dev/null
#echo -n "whci-hcd... "
#/sbin/modprobe whci-hcd >/dev/null 2>/dev/null
echo -n "hid... "
/sbin/modprobe hid >/dev/null 2>/dev/null
echo -n "usbhid... "
/sbin/modprobe usbhid >/dev/null 2>/dev/null
echo -n "usbkbd... "
/sbin/modprobe usbkbd >/dev/null 2>/dev/null
echo -n "usb-storage... "
/sbin/modprobe usb-storage >/dev/null 2>/dev/null
echo "OK :)"
echo -n "/dev... "
mount -t ramfs -o mode=755 none /dev
echo -n "/dev/pts... "
mkdir /dev/pts
mount -t devpts -o gid=5,mode=620 none /dev/pts
echo -n "/dev/shm... "
mkdir /dev/shm
mount -t tmpfs none /dev/shm
echo -n "/dev/fd... "
ln -s /proc/self/fd /dev/fd
echo -n "/proc/bus/usb... "
mount -t usbfs none /proc/bus/usb

echo -n "/tmp... "
mount -t tmpfs none /tmp
echo -n "/root... "
mount -t tmpfs none /root
echo -n "/var... "
mount -t tmpfs none /var

echo -n "/dev/zero... "
mknod /dev/null c 1 3
echo -n "/dev/null... "
mknod /dev/zero c 1 5
echo -n "/dev/systty... "
mknod /dev/systty c 4 0
echo -n "/dev/tty... "
mknod /dev/tty c 5 0
echo -n "/dev/console... "
mknod /dev/console c 5 1
echo -n "/dev/ptmx... "
mknod /dev/ptmx c 5 2
TTY_DEVNUM=-1
while [ $TTY_DEVNUM -lt 12 ]
do
TTY_DEVNUM=`expr $TTY_DEVNUM + 1`
echo -n "/dev/tty"$TTY_DEVNUM"... "
mknod "/dev/tty"$TTY_DEVNUM c 4 $TTY_DEVNUM
done

echo "OK :)"
echo "Forráslemez keresése: "
ls /sys/block | while read devname
do
echo -n "$devname"
if [ `/installer/is_removable $devname` -eq 1 ] && [ $devname != "fd0" ]
then
echo -n ":| "
mknod -m 660 /dev/"$devname" b `/installer/getnodnum $devname`
mkdir /mnt/"$devname"
mount /dev/"$devname" /mnt/"$devname" >/dev/null 2>/dev/null
if [ -e /mnt/"$devname"/isolinux/mini.img ]
then
echo ":)"
umount /dev/"$devname" >/dev/null 2>/dev/null
rmdir /mnt/"$devname"
mount /dev/"$devname" /mnt/source >/dev/null 2>/dev/null
break
else
rm /dev/"$devname"
fi
umount /mnt/"$devname" >/dev/null 2>/dev/null
rmdir /mnt/"$devname"
else
echo -n ":( "
fi
done

echo
echo
echo
echo $LINELINE
echo -n "i:install b:bash >"
read ib
case $ib in
i)
echo "A telepítési módok:"
echo "1: Minimális konzol"
echo "2: Teljes konzol"
echo "3: Minden"
echo -n "A választandó mód:"
read mode
echo $LINELINE
echo "Figyelmeztetés! A célmeghajtóról minden adat el fog veszni!"
echo "Ellenörizd, hogy a megadott meghajtó elsödleges (boot) meghajtó legyen!"
echo -n "Célmeghajtó: /dev/"
export TARGET_DRV=`read line; echo -n $line`
mknod -m 660 "/dev/"$TARGET_DRV b `getnodnum $TARGET_DRV`
echo
echo $LINELINE

echo "Fájlrendszerek méreteinek megadása (swap, /, /tmp, /var)"
echo "A maradék lesz a /home"
echo -n "swap (MByte):";read SWAPSIZE
echo -n "/ (MByte):";read ROOTDIRSIZE
echo -n "/tmp (MByte):";read TMPDIRSIZE
echo -n "/var (MByte):";read VARDIRSIZE
echo $LINELINE
echo "Felhasználók és jelszavak magadása."
echo -n "root jelszó:";read ROOTPASS
echo -n "felhasználó:";read USERNAME
echo -n "felhasználói jelszó:";read USERPASS

echo $LINELINE
echo "takarít... "
echo -e "o\nw\nq\n" | fdisk "/dev/"$TARGET_DRV >/dev/null 2>/dev/null
sync
echo "particionálás... "
echo -e "n\ne\n1\n\n\n n\nl\n\n+"$SWAPSIZE"M\n n\nl\n\n+"$TMPDIRSIZE"M\n n\nl\n\n+"$VARDIRSIZE"M\n n\nl\n\n+"$ROOTDIRSIZE"M\n n\nl\n\n\n t\n5\n82\n w\nq\n" | fdisk "/dev/"$TARGET_DRV >/dev/null 2>/dev/null
sync
mknod -m 660 "/dev/"$TARGET_DRV"5" b `getnodnum $TARGET_DRV"/"$TARGET_DRV"5"`
mknod -m 660 "/dev/"$TARGET_DRV"6" b `getnodnum $TARGET_DRV"/"$TARGET_DRV"6"`
mknod -m 660 "/dev/"$TARGET_DRV"7" b `getnodnum $TARGET_DRV"/"$TARGET_DRV"7"`
mknod -m 660 "/dev/"$TARGET_DRV"8" b `getnodnum $TARGET_DRV"/"$TARGET_DRV"8"`
mknod -m 660 "/dev/"$TARGET_DRV"9" b `getnodnum $TARGET_DRV"/"$TARGET_DRV"9"`
sync
echo -n "formázás: "
echo -n "swap... "
mkswap "/dev/"$TARGET_DRV"5" >/dev/null 2>/dev/null
echo -n "OK "
sync
echo -n "/tmp... "
mke2fs -t ext3 "/dev/"$TARGET_DRV"6" >/dev/null 2>/dev/null
echo -n "OK "
sync
echo -n "/var... "
mke2fs -t ext3 "/dev/"$TARGET_DRV"7" >/dev/null 2>/dev/null
echo -n "OK "
sync
echo -n "/... "
mke2fs -t ext3 "/dev/"$TARGET_DRV"8" >/dev/null 2>/dev/null
echo -n "OK "
sync
echo -n "/home... "
mke2fs -t ext3 "/dev/"$TARGET_DRV"9" >/dev/null 2>/dev/null
echo -n "OK "
sync
echo ":)"
echo "Fájlrendszerek felcsatolása /mnt/target-hez"
mount "/dev/"$TARGET_DRV"8" /mnt/target
mkdir /mnt/target/var;mkdir /mnt/target/tmp;mkdir /mnt/target/home
mount "/dev/"$TARGET_DRV"6" /mnt/target/tmp
mount "/dev/"$TARGET_DRV"7" /mnt/target/var
mount "/dev/"$TARGET_DRV"9" /mnt/target/home
echo "A célrendszer csontvázának létrehozása"
chmod 777 /mnt/target/tmp
mkdir /mnt/target/boot
mkdir /mnt/target/boot/grub
mkdir /mnt/target/etc
mkdir /mnt/target/dev
mkdir /mnt/target/proc
mkdir /mnt/target/sys
mkdir /mnt/target/mnt
mkdir /mnt/target/mnt/source
mkdir /mnt/target/media
mkdir /mnt/target/var/lock
mkdir /mnt/target/var/spool
mkdir /mnt/target/tmp/.ICE-unix
mkdir /mnt/target/tmp/.X11-unix
echo "/etc/fstab elkészítése"
echo "/dev/"$TARGET_DRV"5 swap swap defaults 0 0" >/mnt/target/etc/fstab
echo "/dev/"$TARGET_DRV"8 / ext3 defaults 1 1" >>/mnt/target/etc/fstab
echo "/dev/"$TARGET_DRV"7 /var ext3 defaults 1 1" >>/mnt/target/etc/fstab
echo "/dev/"$TARGET_DRV"6 /tmp ext3 defaults 1 1" >>/mnt/target/etc/fstab
echo "/dev/"$TARGET_DRV"9 /home ext3 defaults 1 1" >>/mnt/target/etc/fstab
echo >>/mnt/target/etc/fstab

echo "/etc/issue elkészítése"
echo "____-------- src_linux 0.2 TÁKOLMÁNY (C)-fs- 20120812-20130127 --------____" >/mnt/target/etc/issue
echo "------------------------------------------------------------------------------" >>/mnt/target/etc/issue
echo $LINELINE

echo "device.map elkészítése"
echo -e "(hd0)\t/dev/"$TARGET_DRV >/mnt/target/boot/grub/device.map
echo "grub telepítése"
grub-install --root-directory=/mnt/target /dev/"$TARGET_DRV" >/dev/null 2>/dev/null
echo "menu.lst létrehozása"
echo "# menu.lst - generated by src_linux installer" >/mnt/target/boot/grub/menu.lst
echo "default=0" >>/mnt/target/boot/grub/menu.lst
echo "timeout=10" >>/mnt/target/boot/grub/menu.lst
echo >>/mnt/target/boot/grub/menu.lst
echo "title src_linux konzol">>/mnt/target/boot/grub/menu.lst
echo -e "\tkernel (hd0,7)/boot/img_desktop loglevel=KERN_CRIT root=/dev/"$TARGET_DRV"8 rw 3">>/mnt/target/boot/grub/menu.lst
echo >>/mnt/target/boot/grub/menu.lst
echo "title src_linux minimal">>/mnt/target/boot/grub/menu.lst
echo -e "\tkernel (hd0,7)/boot/img_desktop root=/dev/"$TARGET_DRV"8 rw init=/bin/bash">>/mnt/target/boot/grub/menu.lst
echo $LINELINE

case $mode in
1)
echo "Csomagok telepítése: alap"
alap
;;
3)
echo "Csomagok telepítése: full"
full
;;
esac
echo $LINELINE

echo "Néhány beállítás elvégzése a telepített rendszeren:"
echo -n "ldconfig... "
chroot /mnt/target /sbin/ldconfig
echo -n ":) depmod... "
chroot /mnt/target /sbin/depmod
echo -n ":) /etc/env.d/path.env "
echo "PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" >>/mnt/target/etc/env.d/path.env
echo -n ":) /etc/sysconfig/locale "
echo "hu_HU.utf8" >>/mnt/target/etc/sysconfig/locale
echo -n ":) /etc/sysconfig/numlock "
echo "on" >/mnt/target/etc/sysconfig/numlock
echo ":)"
echo "Felhasználói fiókok létrehozása... "
ROOTPWD=`chroot /mnt/target /usr/bin/openssl passwd -1 $ROOTPASS`
USERPWD=`chroot /mnt/target /usr/bin/openssl passwd -1 $USERPASS`
echo -n >/mnt/target/etc/group
echo -n >/mnt/target/etc/gshadow
echo -n >/mnt/target/etc/shadow
echo -n >/mnt/target/etc/passwd
chroot /mnt/target /usr/sbin/groupadd -g 0 root
chroot /mnt/target /usr/sbin/useradd -g 0 -u 0 -m -d /root -p $ROOTPWD root
chroot /mnt/target /usr/sbin/groupadd -g 1 bin
chroot /mnt/target /usr/sbin/useradd -g 1 -u 1 -d /bin -s /bin/false bin
chroot /mnt/target /usr/sbin/groupadd -g 2 daemon
chroot /mnt/target /usr/sbin/useradd -g 2 -u 2 -d /sbin -s /bin/false daemon
chroot /mnt/target /usr/sbin/groupadd -g 3 adm
chroot /mnt/target /usr/sbin/useradd -g 3 -u 3 -m -d /var/adm -s /bin/false adm
chroot /mnt/target /usr/sbin/groupadd -g 5 tty
chroot /mnt/target /usr/sbin/groupadd -g 7 lp
chroot /mnt/target /usr/sbin/useradd -g 7 -u 4 -m -d /var/spool/lpd -s /bin/false lp
chroot /mnt/target /usr/sbin/groupadd -g 12 mail
chroot /mnt/target /usr/sbin/useradd -g 12 -u 8 -m -d /var/mail -s /bin/false mail
chroot /mnt/target /usr/sbin/groupadd -g 50 audio
chroot /mnt/target /usr/sbin/groupadd -g 51 video
chroot /mnt/target /usr/sbin/groupadd -g 52 media
chroot /mnt/target /usr/sbin/groupadd -g 99 nobody
chroot /mnt/target /usr/sbin/useradd -g 99 -u 99 -d / -s /bin/sh nobody
# chroot /mnt/target /usr/sbin/groupadd -g 99 nogroup
chroot /mnt/target /usr/sbin/groupadd -g 999 users
chroot /mnt/target /usr/sbin/useradd -g 999 -u 1000 -m -d "/home/"$USERNAME -p $USERPWD $USERNAME
cp /installer/postinstall /mnt/target/tmp/postinstall/postinstall
chroot /mnt/target /tmp/postinstall/postinstall
chmod 777 /mnt/target/tmp
echo "A telepítés kész!"
echo $LINELINE
sync
bash
sync
umount /mnt/target/home
umount /mnt/target/tmp
umount /mnt/target/var
umount /mnt/target
;;
b)
echo "bash ..."
bash
;;
esac
cleaning

... meg számtalan sok apróság...

-fs-
Az olyan tárgyakat, amik képesek az mc futtatására, munkaeszköznek nevezzük.
/usr/lib/libasound.so --gágágágá --lilaliba

https://github.com/sza2/ire-hid

Bar nem kifejezetten szoftver, gondoltam ideteszem, hatha valakit erdekel.

Ez egy "inkrementalis forgatogomb kapcsoloval", USB portra, HID-kent mukodik. A balra/jobbra forgatas a keypad fel/le billentyuknek felel meg, a megnyomas pedig 'Enter', de a firmware modositasaval termeszetesen megvaltoztathato.

Mivel HID, driver-t nem kell telepiteni, bedug, mukodik.

Eredetileg egy Raspberry-s termosztatot akartam csinalni, ahhoz lenne kezeloszerv - majd egyszer, viszont magaban is megalja a helyet, gyakorlatilag alkalmas egy jol megirt menuben valo maszkalashoz, de egyeb alkalmazast is el tudok kepzelni. Nyilvan embedded rendszereknel van ertelme, ahol pl. hely szuke miatt nem jo egy billenyuzet.

Negy tovabbi GPIO is ki van vezetve, akar tovabbi gomboknak (pl. egy plussz 'Esc' gombbal egy RaspBMC/Openelec teljesen vezerelhetove valik), akar kimeneteknek hasznalhato.

Alkatreszigenye minimalis, a gomb, az MCU, es az (esetleges) USB mini B csatin kivul mindossze par ellenallas / kondi (az USB helyett lehet tuskesor is, hogy nagyon embedded legyen:-)

/sza2

Szarchívum

Alapvetően két cél motivált az alkalmazás fejlesztése közben:
- Egyrészt egyszer, valamelyik ARC kiállításon láttam Karas Dávid „Kakilós” plakátját, s ez akkor annyira megtetszett, hogy én is akartam ilyet vezetni. Ez papíron, meg GMapsen, kézzel vezetve eléggé nyögvenyelős volt, ennek okán jött létre a fenti alkalmazás.
- Továbbá nagyjából egy éve tolom magam előtt, hogy nekifogjak Androidot tanulni, s ennek a tanulásnak a szüleménye lett ez a program.
--
blogom

Köszönöm!

De, tervben van sokminden, csak egyetem, meg meló mellett most sajnos erre jut a legkevesebb idő. De tervben van az ismerősök kakijainak követése, a közelben történt kakik értesítése, sőt, fejben még egy „Hol van a közelben publikus WC” app is körvonalazódik (ha sokan adunk hozzá publikus WC-ket, egyszer, egy Update, meg egy figyelmeztetés után ezeket mind felhúznám egyből...)

Csak szépen lassan haladgatok vele...
--
blogom

EightHeader: vim plugin header-ek egyszerű készítéséhez, foldtext lecseréléséhez, toc formázásához, stb.


Easily create custom (fold)headers, foldtext, toc, etc.  

To use EightHeader just move the cursor to the line which you want to modify (hereinafter line), then call it:

EightHeader( length, align, oneline, pattern, marker, str )

length   Length of the header.
align    Alignment of text.
oneline  line and marker in one line, pattern in another.
pattern  Pattern to fill with.
marker   Extra content after patternRightEnd.
str      Replace the content of line with this.

An example with oneline:

call EightHeader( 78, "center", 1, ["l ", "pat", " r"], " m", "\\=' '.s:str.' '" )

l patpatpatpatpatpatpatpat TEXT IN THE LINE patpatpatpatpatpatpatpat r m

... and whitout it:

call EightHeader( 78, "center", 0, ["l ", "pat", " r"], " m", "" )

                              TEXT IN THE LINE                         m
l patpatpatpatpatpatpatpatpatpatpatpatpatpatpatpatpatpatpatpatpatpatpa r

If you don't like the default 'foldtext' you can customize it by setting to
EightHeaderFolds().

For example the closed folds looks like this by default:

+-- 45 lines: Fold level one
+--- 67 lines: Fold level two

If you would like to change it to this kind:

Fold level one................45 lines
  Fold level two..............67 lines

... then you can use this function:

let &foldtext = "EightHeaderFolds( '\\=s:fullwidth-2', 'left', [ repeat( '  ', v:foldlevel - 1 ), '.', '' ], '\\= s:foldlines . \" lines\"', '' )"

An alternative usage for example formating a vimhelp table of contents:

Options;options
Default mappings;maps
  Launch nuclear strike;apocalypse

... to this:

Options........................................................|options|
Default mappings..................................................|maps|
  Launch nuclear strike.....................................|apocalypse|

Visually select the lines, than:

call EightHeader( 78, "left", 1, ".", "\\='|'.matchstr(s:str, ';\\@<=.*').'|'", "\\=matchstr(s:str, '.*;\\@=')" )

--
ls $HOME

Sziasztok!
Valószínűleg csak én használom, de hátha valaki másnak is hasznos lehet. :-)
Egy kis könyvtárszerkezet szinkronizációs progit készítettem nemrég, ami most kikerült a webre.
http://hyperprog.com/unisync

A Kiinduló probléma amire létrejött:
Adott gépemen egy ~100Gb családi képeket/videókat tartalmazó könyvtár (de lehetnének ezek dokumentumok, vagy bármilyen más adat)
Ezt a könyvtárat backup céljából szeretném egy másik gépre szinkronizálni, de a másik gépen nincs net/túl nagy az adathalmaz földrajzilag máshol helyezkedik el stb stb. A lényeg, hogy közvetlen átmásolni nem tudom. A 90Gb ot csak azért, hogy szinkronizálhassam nem vinném el egy hordozható winyón oda, hogy átvegyem a különbségeket. Lehet csak 2-3 Gb ami változott, de azt nem szeretném (kézzel) kimazsolázgatni.
És itt jött képbe az ötlet, amit más program nem tudott (vagy nem találtam?)
1)A frissíteni kívánt könyvtárról készítek egy katalógust ami csak pár mega, ez akár hash eket is tartalmazhat ha precíz akarok lenni.
2)A mesterpéldányról az előbb készített katalógus segítségével csinálok egy különbség pakkot, ami csak a változásokat tartalmazza. Így elég csak ezeket egy pendrive-on vagy akármin átvinni.
3)Az update csomag befésülésével végül szinkronba kerül a két könyvtár.

Ezt valósítottam meg tehát a programmal amiről írok.
Járulékosan keletkezett egy két funkció ami eredetileg nem volt cél, most ezek is működnek:

-Könyvtárszerkezetek összehasonlítása (hash-el, vagy csak méret és dátum alapján)
-Könyvtárszerkezetek offline (távoli) összehasonlítása katalógusfájl alapján (szintén hash, vagy csak méret és/vagy dátum alapján).
-Könyvtárszerkezetek szinkronizálása (szintén hash, vagy csak méret és/vagy dátum alapján).

A progi még friss ropogós, én béta teszteltem, meg használtam is élesben, de nyilván tartalmazhat hibákat.

Ez jo otlet!
Eszembe jutott meg egy felhasznalasi mod (bar ehhez kell egy pl. Androidos kliens is).

Van ket hely, amik kozott gyakran maszkalsz (otthon/szulok vagy otthon/munkahely), es mindket helyen van wifi, de nem akarod (peldaul a savszel miatt) kozvetlenul szinkronizalni az adathalmazt. Akkor csinalhatsz ugy up-to-date backupot, hogy a telefonod magatol rajon SSID alapjan, hogy egyik vagy masik helyen vagy, es magatol elindithatna a szinkront. A mai telefonok belso flash-en meg elferhet annyi adat, ami egy-egy ilyen ut kozt keletkezik ha nagyjabol egyenletes a terheles.

--
What's worse than finding a worm in your apple?
Finding a U2 album on your iPhone.

A progi újabb funkciója bizonyult hasznosnak. Történt ugyanis, hogy az egyik lemez, amely archív adatokat tárolt elkezdett halódni, és bizonyos helyeken megváltozott rajta az adat. Mindez úgy történt, hogy se módosítási dátumban, sem névben nem látszott. (~100Gb ban pár kilobájt az adathalmaz vége felé)

Ilyen esetben hasznos volt, az adatokról egy hashelt katalógust készíteni, amit bármikor hozzá lehetett hasonlítani a kérdéses adathalmazhoz. A hasonlítás során a teljes adathalmaz át lesz olvasva, így a bad sectorok is előbukkannak (ha vannak) illetve a véletlen adatváltozásokra is fény derül. És ezért nem kell egy másik példány felé/felöl a hálózaton adatot mozgatni.

Kataloguskészítés: unisync create ....
Összehasonlítás: unisync catdiff ...

nicsak, baromi hasonlot csinaltam, csak nalam a "diff katalogus" shellscript, amit le kell futtatni:)

Vannak benne olyan okorsegek, hogy csinal egy symlink konyvtarat, ahol kiteritve ott van symlinkkent az osszes fajl (pl. 400e symlink egy konyvtarban).

En szerverek szinkonizalasara hoztam letre, de meg nincs minden kesz benne.
Laptopon 800GB, 1M fajlt 60 sec alatt general le.

Most fa strukturaba akarom rendezni a shell scriptet, es kisebb adagokban is lefuttathatna magat. Megvan meg a kovetkezo 2 honapra elore, hogy miket akarok beleirni, de lehet ranezek a tiedre is 5let gyanant.

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

Egy egyszeru kis emlekezteto Androidra. Be lehet allitani, hogy a het mely napjain, adott intervallumban, bizonyos idokozonkent jelezzen (vibrate, sound, notification). Hasznalhato arra, hogy ne felejts el munka kozben orankent szunetet tartani, vagy 8 orankent gyogyszer bevenni, esetleg bemutato alatt jelezzen 10 percenkent, hogy tudd, mennyi ido telt el, stb. Letoltheto ingyeneses a Play Storebol: Simple Buzzer.

Sic Transit Gloria Mundi

Firefox fordító kiegészítő (extension).
Tudom, sok van, de amelyik hasonló módon jelent meg (HyperTranslate), az egyik napról a másikra megpusztult és a fejlesztő nem válaszolt a hibabejelentésekre. Szóval csináltam egyet magamnak.
No meg hogy más legyen, a Yandex API-ját toltam bele (egész normálisan fordít magyarra, már amennyire egy géptől elvárható).

https://addons.mozilla.org/hu/firefox/addon/select-and-translate

Nem akartam túlbonyolítani, mert egy ilyen kiterjesztésnek a célja az, hogy gyorsan kapj fordítást egy szóra, vagy kifejezésre. A legtöbb ilyen pluginnal az a bajom, hogy a nyelvi beállításokat vagy a kiegészítő konfig ablakában tudod csak megejteni (ergo nincs azonnali választási lehetőséged), vagy külön ablakban nyílik a Google oldala (nem egy innovatív megoldás), vagy pedig tartalmaz mindent a felugró div, s a lényeg vész el.
Pár napja azon gőzöltem be, mikor egy használhatónak tűnő ilyen plugin 15mp-ig jojózott a fordítás letöltésével (ennek a forrásába belenéztem, s ennek az egyszerű feladat megvalósítására behúzták a bootstrap.js-t, a JQuery-t, és az egészet Jetpack alapon hozták létre).
Ami meg jó volt, az megszűnt működni...

Használd egészséggel, bármi javaslatod van, örömmel fogadom (mint ahogyan az addon lapon az értékelést is :) ).

Eszembe jutott még egy fejlesztési lehetőség, aztán eldöntöd, hogy megvalósítod-e.
Jó lenne, ha több fordítási rendszerrel együtt tudna működni és ezek a beállítás formon állíthatóak lennének. Pl. ugyanarra a szövegre egyszerre rákeresne a Yandex-en és a Google Translate-n.

A kiegészítés remekül megoldotta ezt a problémát is: http://hup.hu/node/139944

-----
„Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben.”
rand() a lelke mindennek! :)
Szerinted…

Filóztam rajta én is, így már legalább megerősítést is nyert a gondolatom. :)
Az egyszerre keresést azért nem tenném bele, mert elég nagy lesz a div egy hosszabb szövegnél. Inkább lehessen váltani egy legördülővel, mint ahogyan a nyelvet is lehet. Vélemény?
Nem egy nagy kódolás, pár nap múlva szakítok rá időt.

Nem tudom, hogy mennyire béna, ha az egyes fordítások a div-en belül gördíthetőek, ha hosszú a szöveg. Szerintem segít, ha a többféle fordítást egyszerre látod. De tény, hogy legördülővel váltogatni sem nagy macera.

-----
„Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben.”
rand() a lelke mindennek! :)
Szerinted…

No közben meglestem, a Google Translate API fizetős (régen igyenes volt egy kvótáig bezárólag). A többi plugin azzal operál, hogy a translate oldalán kinézték a weboldal által hívott webservice-t (konkrétan belenéztem pár ilyen pluginba most). Minden bizonnyal ezért döglik meg időről időre az összes ilyen kiegészítő, mivel a Google időnként változtatgat ezen a webservice-en. Én nem biztos, hogy szeretnék egy ilyen véget nem érő játékba belemenni.
A Bing viszont 2M karakter/hóig ingyenes, azt belevarázsolom szívesen.

Fül- / hallásvesztés szimulátor egy kicsit másképp:

http://syserr.hu/hls/

A Youtube-on és különböző oldalakon fellelhető szimulációk minősége hagy némi kívánnivalót maga után. Ráadásul csak az ott található hanganyagokba lehet belehallgatni.
Ez az oldal viszont alkalmas arra, hogy bármilyen hanganyagot a nem tökéletes hallású egyén is meg tudjon hallgatni pl. idősebb szülő hallását. Képes átszámolást végezni a két audiogram eredmény között. Szimulálásra akármeddig, korrekcióra viszont csak 50dB-ig működik jól. Utána már pontatlan.
Példa: adott egy 20-25 év körüli egyén aki már szarrádiscózta a fülét és 4000Hz-en bukott 10dB-t. Bátyjának a haverja aki már 40 körül jár 25dB-t bukott ugyancsak 4000-en. A szimulálandó fülnél van egy 25dB-s veszteség, de az illető is bukott 10-et. A szimulálással már 35dB jönne ki, mert a két fül vesztesége összeadódik. Ezt kompenzálja az oldal, tehát a 10dB-t bukott egyénnek csak egy 15dB-set fog szimulálni és ő már a 25dB-set fogja hallani.
Az oldal legenerál egy Stereo Tool presetet amit be kell tölteni a Winamp Stereo Tool DSP-jébe és onnantól szinte bármi meghallgatható az 'illető fülével'.
A 8000Hz feletti becslésnél a http://hup.hu/szavazasok/20150103/hz-ig_hallok_el témában lévő infókat használtam fel.
Még messze nem tökéletes, de nagyjából már használható.

http://syserr.hu/hls/hls.png

-------------------
http://rtvstat.hu/ - A legtöbb magyar rádió és TV egy helyen!

Bővültek a funkciók.
Most már az audiométerek által támogatott köztes frekvenciákat (750, 1500, 3000, 6000Hz) is támogatja az oldal.
Ezzel a szimuláció pontossága is sokat javult, feltéve ha történt mérés ezeken a frekvenciákon.
-------------------
http://streamstat.hu/ - A legtöbb magyar rádió és TV egy helyen!

Sziasztok!

Párszor már volt szó logelemzéssel kapcsolatos fejlesztésekről. Én is egy ilyennel jelenkezem. Most került ki a letölthető béta. Akit érdekel próbálja ki. Van pár különlegessége a proginak. Amit szem előtt tartottam, hogy ha valakinek vannak saját srcipjei, azt is fel tudja használni. A bővíthetőség is szempont volt. C-ben saját függvényekkel is bővíthető az utasításkészlet. Képes real-time elemzésre. Támogatja a többsoros logokat. Beállíthatók teljesen egyedi logok is. (Minden komolyabb projektnél előfordul, hogy az egyedi formátumokat nehéz beintegrálni a rendszerbe. A MASSALYZER adott esetben ebben is segíthet.)

Bővebben itt található egy gyors lista:
www.massalyzer.com/hu

A "Letöltések" menüpont alatt találhattok részletesebb doksit, és itt a jelenleg elérhető béta verzió is letölthető. A csomagban 6 különböző, egyszerű és működő példa is helyet kapott.

Remélem, hogy lesz aki(k)nek segítségére lesz.

No akkor lássuk, egy egyszerű példával:


[CHANNEL NAME="ERROR",COUNTER="",START_POS="",END_POS="",STR_PATTERN="no updateinfo available",REGEXP=""]
LINE1 = "$INPUT_LINE",""           ,""            ,""           , "C"       ,  "=" ,""   ,  "WRITE $WRKSPC"

A kimeneti fájlba viszont nem szűri le, hanem egy az egyben betolja a teljes logot. Milyen paramétert hagyhattam ki?
A sima example_1.ini fájlt írtam át.

Nyilván a logfájl is más, nem a példában szereplő, ha már konkrét megfeleltetést írok bele. :)

Ilyen a log:


INFO Apr-24 11:51:37 Started hawkey-0.5.3.
INFO Apr-24 11:51:37 Architecture is: x86_64
INFO Apr-24 11:51:37 using cached rpmdb (0x964d7da64bc2c3340019618aad950dbc9b1c0ba9d4669e7537e48db4ab37b60a)
ERROR Apr-24 11:51:37 load_ext(): no 5 string for fedora
INFO Apr-24 11:51:37 no updateinfo available for fedora
...

Az input sor átírva:


INPUT="../Logs/hawkey.log"

Most legegyszerűbb, ha a TIME_TYPE="NONE" beállítás. Azzal működik, mint egysoros log.

A doksiban benne van, hogy miképp lehet az időformátumokat beállítani.
Ez itt talán "%b-%d %H:%M:%S" lehet. (Az évszámot 1970-nek veszi, ha nincs más megadva, ezen ne lepődj meg, ha később kiíratsz valamit, ami valamely idővel kapcsolatos.)
Ha ezt használod, akkor a TIME_TYPE="ANY" beállításra van szükség, mert csak ilyenkor figyeli a TIME_FORM értékét.

Jelen esetben az általad beidézett logban az timestamp nem is a sor legelején van így ennek a pozícióját is be kellene állítani.
A [GLOBAL] szekció alá kell betenni valahová:

TIME_POS=" ","1"

Ez jelenti azt, hogy az timestamp az első SPACE után várható.

Ha más logot használtál, akkor valószínűleg a TIME_TYPE nem megfelelő.
Ha egysoros bejegyzésekről van szó és egyébként sem akarsz időre szűrni, akkor a TIME_TYPE-t állítsd át "NONE"-ra. Egyébként pedig doksi szerint kell beállítani. (Ugye nem látom a Te logod formátumát, így nem tudom megmondani.)

Abban az esetben ha 64K-nál kissebb loggal próbálkozol, akkor és nem állítottad be a megfelelő időformátumot, úgy nem tudja mi alapján szétválasztani a sorokat. (Feltételezi, hogy többsoros logról van szó.) Ha 64K-nál hosszabb, akkor hibaüzenetet kapsz és figyelmeztet, hogy valószínűleg elmulasztottad a TIME_FORM helyes beállítását.

Annyi kiegészítést még megemlítenék, hogy másodpercenként több millió sort képes elemezni.(Sajnos nekem relatíve lassú a vinyóm, de nagyobb fájlok esetén cache-ből 7-8-9 millió sor/sec-re is képes.)

Szóval, akinek hasonló feladatoknál teljesítménybeli problémái vannak, annak megérhet egy próbát.

Fontkészlet tesztelésére gyártottam egy olyasmit, mint a "Lorem ipsum generátor", de itt ékezetes betűk is generálódnak. A program még nemigazán kidolgozott, de random zagyvalékszöveg generálására kiváló.

http://www.pvtv.hu/tarolo/out_files/voynich.php
http://www.pvtv.hu/tarolo/out_files/voynich.php.xz

-fs-
Az olyan tárgyakat, amik képesek az mc futtatására, munkaeszköznek nevezzük.
/usr/lib/libasound.so --gágágágá --lilaliba

Generálhatna még linkeket (simán #), hogy annak a formázását is lehessen tesztelni egy templatet.
Viszont:
- az már nagyon rég volt, hogy csupa nagybetűvel írunk minden tag-et, öreg szabvány az már
- kitenném egy másolható mezőbe a body-n belülit nyers html-ként, hogy beilleszthető legyen.

- Sokat írok html-forrásban, és a nagybetűs tag-ek olyan szépen elkülönülnek. Amíg a "fontosabb" böngészők megértik, maradok ennél.
- A kapott oldal simán beilleszthető böngészőből Libreoffice-be, a felsorolások és táblázatok is egyben maradnak.

ha egyszer időm lesz rá, szótagokra fogok alapozni, és adott nyelvhez hasonló halandzsát is generálhatok majd...

-fs-
Az olyan tárgyakat, amik képesek az mc futtatására, munkaeszköznek nevezzük.
/usr/lib/libasound.so --gágágágá --lilaliba

Én még mindig ezt csinálom: https://portal.gacivs.info/welcome

Ez egy MMO stratégiai játék FreeCiv alapokon, most már igen jól állok, kimondottan játszható, ha az ember szereti a longturn jellegű játékokat.

- Modern Look OSX (https://github.com/gyetvan-andras/ModernLook-OSX) Egyfajta komponens készlet OSX (macOS)-hez, ami segítette volna modernebb kinézetű alkalmazások készítését. Egy budget alkalmazást akartam csinálni magamnak, aminek az lett volna a lényege, hogy a megadott célok és a pillanatnyi költések alapján megmutatta volna, hol áll a földbe a terv :D (pl. beterveztem, hogy 25-t költök mondjuk ételre ebben a hónapban, de 1-et naponta elköltöttem, akkor 25-én kifutok a tervből.
- YAM (https://github.com/gyetvan-andras/yam) Ez egy HTML5, key-frame alapú animáció editor. A mesterterv az volt, hogy adjunk egy könnyen kezelhető eszközt a tömegnek, amivel gyorsan tudnak éppen aktuális eseményekre reagálni, mémeket létrehozni. Mint a coub pl., csak itt bármi lehetett volna az alap és arra feltenni különféle effektet, feliratot. Az editort lehetett volna reklám fejlécek, blog bejegyzésbe beépülő animációk szerkesztésére is használni.

Egész sokáig jutottam vele, aztán Dropbox kihúzta a lábam alól a talajt, mikor megszüntette a DB API-t, pedig annak a szinkronizálására épült az egész: nem akartam egy szervert tenni mögé, ennyire szenzitív adatokat tartalmazva, pont jó lett volna, hogy a felhasználó a saját Dropbox loginjával oldja meg a szinkronizációt az eszközei között (tervbe vettem a mobil eszközökön történő adatbevitelt költési oldalon, a'la YNBA)

A csuszkanak nem kell linearisnak lennie.
pl:
0.0-0.8 -> 0 - 1000 000
0.8-1.0 -> 1000 000 - 12 000 000

Akinek 7.6millios a bere, es *kivancsi* a netto jovedelmere (nem mintha szamitana),
az szenvedjen egy kicsit a csuszkaval...

Megjegyzes:
Ezt nem ertem, hogy a videolejatszok miert nem igy mukodnek
(magyaran az aktualis csuszkaallas +- 10 perc legyen jo nagy,
aztan kb. mindegy milyen a felbontasa a csuszkanak.
Tok zavaro egy 12 oras hanganyagba betekerni pl.)

Megjegyzes 2:

Hogyan lehet havi 13 518 HUF-os bert osszehozni?

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

Jaja, de a masik oldal (akinek 200k van) es ugy szorakozasbol huzza a csuszkat,
hogy "mi lenne ha" annak erdekes, hogy mennyi lenne 3 millional a netto.
Az pont nem erdekes hogy 3.1 millio vagy eppen 3.415 millio.

Egyebkent .leszarom. Egy megjegyzes volt felig poennak szanva.

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

Ha YouTube-nál szenvedsz a csúszkával, akkor már tud olyat egy ideje, hogy ha a képernyő jobb közepén duplát tapintatsz (dupla klikk), akkor 10 másodpercet arra ugrik, ugyanez a bal oldalon. Hogy mennyit ugorjon, azt meg lehet állítani a beállításokban. Ezt mobilon teszteltem (Android).

Megfordítom kicsit a dolgot: Valakinek van olyan ötlete, igénye, amire nincs valós megoldás (vagy a létező megoldás nem túl jó, régi, használhatatlan, stb...)?
Unatkozom (úgy is mondhatjuk,hogy keresek egy FOSS hobbiprojektet) és szeretnék kicsit fejlődni Python-ban, viszont nem jut eszembe semmi jó ötlet, amibe szívesen belevágnék.
Hátha sikerül valakivel közös nevezőre jutni.

Ötletem van, bár nem Python, hanem assembly vagy C. PID-szabályozót kellene írni, de előbb fel kellene rajzolni a fizikai modellt, megalkotni, hol vannak benne holtidők, milyen időállandók, becsatolt hibajelek vannak a rendszerben, a specifikációt követően meg kellene álmodni a mintavételi frekvenciát, ki kellene találni, mekkora terjedelmű számábrázolásra van szükség, aztán uccu neki, implementálni, mérni. Persze meg kell alkotni az együtthatókat előbb. Mondjuk ez munka, de ötletet kértél... :)

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Még szerencse, hogy reggel olvastam, mert éjjel biztosan rosszat álmodtam volna ilyen csúnya szavak láttán :-D mondjuk anno ilyesmihez nekünk (is) papír-ceruza volt az alap, jegyzőkönyvet végigszámolni meg Mártika, merthogy ő tudta az elméleti részét, mi meg tudtuk, hogyan rakjuk össze a gyakorlatban :-) Aztán Matlab/Simulink "érkezett" mindenféle modellezés tárgyhoz, de persze a "kicstépernagyté"-vel teleszórt n+1 táblát betöltő levezetéseket (elvileg) ugyanúgy kellett tudni...

Gnome3-hoz írhatnál email figyelőt, ami annyit tud, hogy imap és pop3 fiókon megnézi, van-e új email, majd azt panelen, tálcán, popup-ban, hanggal jelzi.
Gnome2-höz volt Gnubif, meg Mail Notification, a 3-hoz semmi nincs.

---
A Linux nem ingyenes. Meg kell fizetni a tanulópénzt.
Az emberek 66 százaléka nem tud számolni! Gondoljatok bele, ez majdnem a fele!!
Mindenki jó valamire. Ha másra nem, hát elrettentő példának.

Jelenleg egy 24 órás órát készítek Arduino, illetve NodeMCU (ESP8266) alapokon.
Az elektronikát Kínából rendeltem a software-t én írom a hardware-t pedig édesapám készíti fából. Már ami az óra "dobozát" illeti. Tök jó közös munka.
Az óra alapja már megvan, működik. Feture-ökön dolgozom most.
Egy valódi ékszert szeretnék elkészíteni modern alapokon.

A forrás és egy kis dokumentáció itt található:
https://github.com/redakker/24h-clock

Ha kész lesz a dolog, akkor egy képes beszámolót is tervezek róla írni.

http://www.redphoto.hu

Minimal, de hasznos cucc kockáknak:)


proci@laptop ~ $ crontab -l
*/20 *	* * *		export DISPLAY=:0 && /home/proci/bin/timer.sh Letelt 20 perc. Nézz 20 méterre! &>/dev/null
50 *	* * *		export DISPLAY=:0 && /home/proci/bin/timer.sh Letelt 50 perc. Mozgás! &>/dev/null

timer.sh:


#!/bin/bash

text="$@"

zenity --title "Szünet" --warning --text "$text"

Időnként feldob egy ablakot, hogy nyoszogasson :)

Gondoltam felrakom Gitre, lehet egyszer így teszek. Salesforce biztonsági rendszerének user behaviour analyzer triggelerésére írtam python alkalmazást ami az AWS-en fut. Büszke voltam rá hogy működött, a Salesforce SDK-t (akkor még 36) elég sűrűn változtatgatják és a metadata api hozzáférés nem volt egyszerű feladat!

Qucs-ban készítek egy olyan áramkört, ami hangfrekvenciás jelekkel dolgozik, és a Bode diagramból kapott értékekből készült görbét szerettem volna betenni Audacity-be. Nem találtam rá megoldást, ezért megcsináltam:

https://sourceforge.net/projects/qucs2eq/?source=directory

-fs-
Az olyan tárgyakat, amik képesek az mc futtatására, munkaeszköznek nevezzük.
/usr/lib/libasound.so --gágágágá --lilaliba

Szerkesztve: 2021. 04. 27., k – 13:08

yet another hitelkalkulátor. Tud előtörlesztést és futamidő közbeni kamatváltozást is kezelni. Ilyenkor újraszámolja a törlesztőrészletet.

Egy webes projektemben több fájlt kell egyszerre letölthetővé tenni, ehhez implementáltam a TAR formátumot, TypeScript alapon.

Nyilván nem újdonság, de nem akartam, hogy egy kósza dependency magával rántsa a fél NPM registryt.
Meg egyébként is elég volt egy add() meg egy serialize().

int getRandomNumber() { return 4; }  // ← aláírás
//szabályos kockadobással választva. garantáltan véletlenszerű.  xkcd

nagyon szor menten kapcsolodik a kerdesem, de hatha;)

kepet szeretnek tobbfele felbontasban tarolni, es ezt oda-vissza masolni szerverek kozott.
Hogyan kellene a kepet beazonositani?
Azaz barmelyik felbontasu kep ugyanazt az ellenorzoosszeget adna.

A vegso cel az lenne, hogy mindegyik szerver tarolna az osszes kep kisfelbontasu valtozatat, de a nagyfelbontasut mindig csak egy.

mobil<->szerver kozott is tok hssznos lenne ezt csinaalja egyebkent az apple is iphone-on.

Noh mindegy,hatha.

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

hany felbontasi szint van? a kisebb felbontasok a nagybol vannak generalva, vagy az egyel folotte levo felbontasbol? mi az algoritmus amivel a nagyobbol kisebb felbontas lesz?

Egy trivialis megoldas 2 szintre. Minden kephez van egy flag, a nagy flebontason be van allitva, a kicsin nincs. A nagy elenorzo osszege: legeneralni a kicsit, es azon szamolni az oszeget.

az a cel, hogy egy fajlbol rogton lehessen kerni a nagyot, ha kell.
Mindenfele plusz adatbazis nelkul.

Kb. azt szeretnem megcsinalni, mint ami iphone-on van. Azaz a helyi telon kisfelbontasu kepek vannak, de ha razoomolsz, akkor a hatterben lekeri az eredetit.

A szervernel meg azert szeretnek tobb verziot, mert a jo savszelessegu gep csak 50GB lehet tokkal vonoval, mig az otthoni az 12TB.

Nem akarok az egesz setuphoz adatbazisban tarolni metaadatot.

Viszont az exifbe rakjunk plusz infot lehet nem is rossz.
Eloszor arra gondoltam, hogy minden kepbol ugyanaz a belyegkep generalodik, es a belyegkep lenne a kulcs, es azt kuldenek egymasnak (mob il, server1, server2)
Es kulonbozo eleresi uton (1600p, orig, 256p, stb) lennenek tarolva es a belyegkep lapjan lenne megtalalva.

Meg agyalok rajta, csak nem akarok adatbazist hozza, hanem faek egyszerut szeretnek.

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

tárolj le egy meta adatot az adott képformátumban (jpeg-ben pl. exif metadata). asszem lehet custom metadata field-et is beleírni, legalábbis az exif-be. de bizonyára png, gif-be is lehet meta adatot menteni. pl: egy 'orig-picture-md5' mezőbe az eredeti kép hash-ét lementeni...

de mondjuk én mindenképp fájlnévbe írnám, pl.
images/32x32/d41d8cd98f00b204e9800998ecf8427e.jpg
images/64x64/d41d8cd98f00b204e9800998ecf8427e.jpg
images/orig/d41d8cd98f00b204e9800998ecf8427e.jpg

ahol md5(orig.jpg) = d41d8cd98f00b204e9800998ecf8427e

~~~~~~~~
deb http://deb.uucp.hu/ wheezy yazzy repack

A kis képekhez kapcsolsz egy azonosítót, ami a nagy képre mutat.

Ezt a metaadatot a nagy kép előállításakor érdemes generálni, ugye.
A felhasználási mintától függően az nagy kép azonosítóját vagy a képek egyik metaadat-mezejében tárolod, vagy egy adatbázisban kötöd össze a kis képek elérési útjával.

A nagy kép azonosítására mások emlegetnek crypto hasht, de az valószínűleg ágyúval verébre lövés. Elég egy UUID, vagy akár konkrétan a nagyméretű kép elérési útja.

int getRandomNumber() { return 4; }  // ← aláírás
//szabályos kockadobással választva. garantáltan véletlenszerű.  xkcd

Erre nem a checksum, hanem a fájlnév való - azt ráadásul egyszerűbb is megnézni :) Én az eredeti fájlról csinált hash-t használnám fájlnévnek, a hash első hat karakterét kettesével könyvtáraknak (ez nagyon-nagyon sok fájlnak a kezelhető szétpakolására elegendő). A fájl nevéhez suffixként hozzácsapnám a méretre utaló stringet, ami lehet a hosszabb oldal pixelszáma, vagy egy elnevezés is akár - elnevezés lehet pl. a _thn (thumbnail), ami célszerűen egy maximális méretű négyzet kivágása után adott (döntésed szerinti) oldalhosszúságra átméretezéssel (vagy ha a kép kisebb, akkor adott méretű canvas közepére pakolásával!) jön létre - de akár lehet többféle ilyen thumbnail is.

A kisfelbontású kép generálásakor az adott szervernek kell a feladatává tenni, hogy disztributálja a thumbnail-t - hogy direktben, vagy egy központi kiszolgálón/kiszolgáló-fürtön keresztül, az megint csak attól függ, hogy mekkora eszközpark/infrastruktúra, illetve fejlesztői kapacitás áll rendelkezésre, meg hogy az új képek száma időegység alatt mennyi, illetve mennyi az összesen tárolni kívánt kép.

mivel a kepek androidrol jonnek eredendoen, igy nem vagyok biztos hogy
1. szabadon atnevezhetem
2. nem boritja ossze a helyi albumot
3. valami mas nem nevezi at tolem fuggetlenul

De ki fogom probalni.

---
Saying a language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

Üdv mindenkinek!

Készül az Xmedit szövegszerkesztő új verziója. Elsősorban (C) programozási feladatokat oldok meg vele. Már selfhosted, azaz saját magát tudom szerkeszteni saját magával. Motif alapokon készül helyenként közvetlen X programozással. Teljesen a saját igényeimre van szabva, úgyhogy nem egy monstrum és pont emiatt nagyon könnyen meg lehet tanulni a használatát.

Egy screenshot: http://www.meditor.hu/desktop/MEmoted.jpg

> Sol omnibus lucet.

Funkciók:

Alsó ikonsor balról jobbra:

Keresés előre
Csere
Keresés hátra
Horgony lerakás/pozícionálás horgonyra
szöveg_puffer read_only kapcsoló
C> make indítása
undo
print puffer
syntaxHL ki/be
a CRSR környéki szöveg feladása a man-nak
notesz - saját feljegyzése készítése
számológép
xterm (shell) indítása
help - NAGYON rövid leírás

Két beolvasómező: kereső string pattern illetve csereszöveg pattern

Felső ikonok balról jobbra:
új (create) project
load másik project
save ez a project
STOP : ikonállapot illetve hosszan lenyomva exit_program

Max 20 szövegpuffer:
1 bal katt :: kiválaszt szerkesztésre
A módosított és még el nem mentett pufferek pirossal aláhúzva
1 jobb katt: módosított (piros) puffer elmentése

2 bal katt üres pozíción: fájl kereső fájlbetöltéshez
2 jobb katt puffer felszabadítása (kidobja a fájlt a rendszerből)

A make kimenetét fordítási vagy linkelési hiba esetén feladja
egy ablakban.

A felület kezelés (billentyű, egér, fókusz, selection, copy/paste, stb.) megfelel az ipari szabványoknak.

Ez van egyelőre, kb 2-3 hét még a végéig, február közepére el kell készülnöm mert jönnek a feladatok és ezzel fogok dolgozni.

JA! azok a színes bizbaszok jobboldalt egy színkód mező, jobb 1 kattra eltűnik, bal 1 kattra feladja szövegesen a színkódot az üzenetmezőbe (rácsozott felület alul) [esetleg RGB értékként közvetlenül beírja majd a a programkódba - ezen még gondolkodom].

> Sol omnibus lucet.

Kitettem néhány screen_shotot ::

Alapkép a NagySzövegszerkesztőAblakkal :: http://www.meditor.hu/MEmoted/MME_basic-NSZA.jpg
Így definiálunk egy projectet :: http://www.meditor.hu/MEmoted/MME_prj-create.jpg
A man paramétere a libmodbus :: http://www.meditor.hu/MEmoted/MME_man.jpg
Fordítási hiba - make kimenet :: http://www.meditor.hu/MEmoted/MME_error.jpg
Elsősegély :: http://www.meditor.hu/MEmoted/MME_help.jpg
Saját feljegyzések :: http://www.meditor.hu/MEmoted/MME_notes.jpg
Beágyzott xterm a jó öreg mc-rel :: http://www.meditor.hu/MEmoted/MME_shell+mc.jpg
> Sol omnibus lucet.

https://sourceforge.net/projects/fas2svg/

Véletlenül találtam a neten géntérkép-fájlokat, aztán csak úgy poénből ráküldtem egy egyszerű algoritmust: (x,y) irányba léptetek karakterenként egyet valamerre, attól függően, hogy [A|G|T|C] karaktert olvas be a fájlból... aztán meglepődtem, hogy fraktálszerű rajzokat kapok eredményül :D

-fs-
Az olyan tárgyakat, amik képesek az mc futtatására, munkaeszköznek nevezzük.
Amióta megismerkedtem az Anroidos és IOS-es kacatokkal, azóta a Windows láttán már nem kapok gyomorgörcsöt.

a tripletek 3d-ben lennének még érdekesek...
csak így is olyan hatalmas fájlok keletkeznek még egysejtűek DNS-énél is, hogy képtelenség lenne nagyobb minták feldolgozására.
Ezkre a kb. 100000x100000 méretű svg fájlok betöltésére is alig találtam olyan programot, amibe betölthető, mert telenyomja a memóriát, vagy kezelhetetlenül lassúak.
Az aminosavakon gondolkoztam én is, hogy mi a legegyszerűbb metódus amit rájuk lehetne húzni, mert abbol van huszonvalamennyi. Erre a 4 dologra pont jó volt egy ilyen (x,y) léptetési módszer:
C(-,-) A(-,+) T(+,-) G(+,+)
Ami szemben állhat egymással, az ellentétes.

-fs-
Az olyan tárgyakat, amik képesek az mc futtatására, munkaeszköznek nevezzük.
Amióta megismerkedtem az Anroidos és IOS-es kacatokkal, azóta a Windows láttán már nem kapok gyomorgörcsöt.

Mivel svg-t csinálok, így 10-20MByte körüli fájlok keletkeznek. Pont ezért választottam ezt a formátumot. A megjelenítőkkel meg az a baj, hogy amikor betöltöm a keletkezett svg-t, akkor tényleg lefoglal több gigát a memóriából.

-fs-
Az olyan tárgyakat, amik képesek az mc futtatására, munkaeszköznek nevezzük.
Amióta megismerkedtem az Anroidos és IOS-es kacatokkal, azóta a Windows láttán már nem kapok gyomorgörcsöt.

Az egy dolog, hogy mekkora a file, de azt renderelni is kell, elő kell állítani az egészet képpontonként.

Azt el tudom képzelni, hogy megnézi, mekkora részét látja a fizikai megjelenítő, s csak azt rendereli, de szerintem ez nem is biztos, hogy annyira egyszerű, akkor meg lassú.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

EOG, EOM pl. meg se nyitja, az inkscape megnyitja, sok memóriát bezabál, és lassú.
Egy gwenwiew nevű programmal tudom a leghatékonyabban nézegetni ezeket a fájlokat. Ha másra nem is jó ez a project, arra legalább jó volt, hogy svg nézegetőket teszteljek :D

-fs-
Az olyan tárgyakat, amik képesek az mc futtatására, munkaeszköznek nevezzük.
Amióta megismerkedtem az Anroidos és IOS-es kacatokkal, azóta a Windows láttán már nem kapok gyomorgörcsöt.

Vágásnak hívják az objektumok nem látható részeinek eldobását. Ami nem csinálja meg az hipergagyi, az már egy bezoomolt grafikontól is belassul.

A megjelenítési problémát OpenGL-lel például sokkal gyorsabbra lehetne írni, a vonalakat téglalapként kitolva elég sokat tudna kezelni, memóriatakarékosabb és gyorsabb is lenne. Persze sokat kellene programozni hozzá.

A másik amit lehet, hogy a rajzolási műveleteket közvetlenül valami rajzoló libbe küldjük, és kihagyjuk az SVG-t.

Meg lehetne próbálni ábrázolni ebben a rendszerben:

http://www.meditor.hu/2010/hrs_hu.php

Az inputok lehetnének az egyes bázisok, az ehhez tartozó szintek pedig, hogy a szomszéd bázis micsoda (ez kb megfelel a lépésiránynak az eredeti felvetésben). Ki lehetne ezt bővíteni további gondolatokkal egy 8-12 inputos rendszerré. A belseje (az adatmátrix) egy counter lenne (hány ilyet találtunk az adott genomban).

Az így kapott térképek összehasonlíthatók lennének. Érdekes lenne rokonfajok ilyenfajta térképezése.

> Sol omnibus lucet.

Én csinálom a HUP Drupal 5 -> Drupal 8 migrációt, az befér ide? :)

-----
„Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben.”
rand() a lelke mindennek! :)
Szerinted…

Iskolai Wifi-csengő webes "irányítópulttal".
A csengők szabadon felakaszthatóak bárhova az épületben (ami le van fedve jól wifivel).
Egyszer kipattant a fejemből és megcsináltam. Hardver és szoftver tervezés és kivitelezés mind "on my own". 99.9% uptime.

https://www.dropbox.com/s/qr2qt0al7wmuwfd/en_csinaltam_wificsengom.jpg?…

Vészcsengőt (tűz, egyebek esetére ... ne adja!) tud még füstérzékelőkkel összekötve vagy manuálisan.
Most készül a kiegészítése, továbbfejlesztése igazgatói bemondás, közlés esetére.
Jelenleg 20 kliens üzemel rajta.

Köszi!

Iskolai szüneteket fel lehet venni, ekkor nem csenget. Van főkapcsolója is, ekkor sem szólal meg.
Ki lehet kapcsolni csengőnként / termenként és ha pl valami duplaórás előadást tartasz, s nem akarsz belecsengetést a mondandód közepébe, nem dumál. Alakíthatod az egyes termek órarendjét külön is, projekt-nap, vagy más ritmizálási rend szerint.
Egyenként hangerőt tudsz állítani, helyiséghez megfelelően alkalmazkodva.

Persze, gondolhatja az ebmber, mi értelme ennyire részletezni a lehetőségeket / beállításokat?

1, ez volt a kívánalom
2, mert ez egy speciális iskola
3, ha nem tudná mindezt - akkor jönnének az ötletek sora mástól: "csináld meg még azt vele, hogy...." -- a "sosem elég"...
4, adott volt az alkalom, hogy belepakoljak minden olyat, amit csak lehet, szóval ekkor ez nekem is kihívás volt

És igen, van még olyan hiányzó funkció, amit szeretnék beleépíteni, és akkor tényleg full-extrás lenne :)
[majd a nyáron]

Egy pici, csinos hangszóró az egész csengőnként, a sarokban megül, és baromi nagy hangja van max hangerőn!
Itt csak a webfelületet tudom megmutatni, a működését meg képzeljétek el! :)

Nem akksis, 5V-ról megy, vele van egy adapter is. 230-ba dugható, de van olyan hely, ahol egy 2A-es dugasztáp visz 4 csengőt egymás mellett.
A hardver lelke egy programozott PIC, a szerver segít a beállításban, a konfig fájlok ott tárolódnak. Ennyit tudok róla mondani, egyszerű, mint a faék. (Jelenleg nem openSzósz)

Tippre ESP8266-tal.
Amugy a PIC-et is kivaltana, ha bizol benne, meg ha nem zavar a fogyasztasa. (ma mar lehet ra fejleszteni, par eve meg korulmenyes volt)

--
When you tear out a man's tongue, you are not proving him a liar, you're only telling the world that you fear what he might say. -George R.R. Martin

Munin plugin az UBNT Unifi wifiap-hoz.

A plugin snmp-vel lekérdezi az egyes AP-k állapotát, és azt feldolgozva, átadja a munin-nak grafikonozásra.

A felhasználók számát, és az adatforgalmat ábrázolja, ssid-nként.
Ha sok AP van, hosszú lenne a lekérdezések alatt a várakozási idő, ami miatt a munin kifutna az időből,
ezért több processzt indít az adatok lekérdezéséhez.

A processzek számának állítgatásával elérhető, hogy "relatíve" egyszerre történjen a lekérdezés.
A modul php-ban íródott.

https://github.com/EpeR1/unifi-munin

Használjátok egészséggel!
(Az SNMP MIB. hiányában reverse-enginieringel készült.)

Pythonban írtam egy keretrendszert és koonzolos alkalmazást, majd mivel túl sok mindenre szolgált, szétszedtem kisebb repókba:

https://github.com/LA-Toth/dewi - "pip install dewi" - a többi részétől függ, és "python3 -m dewi ..." módon használható
https://github.com/LA-Toth/dewi_core -- plugin framework + command / app framework -- így nem a teljes kódot kell betölteni, hanem csak a plugin (class) + függőségei töltődnek be
https://github.com/LA-Toth/dewi_module_framework -- szükségem volt egy másfajta felbontásra is, a plugin már foglalt volt, ahol egy-egy modul egy config tree-t tud módosítani meg üzeneteket letárolni
https://github.com/LA-Toth/dewi_logparsers -- az előzőre épül, syslog fájlokat dolgoz fel, és pattern / string match alapján egyes logparser modulokat elindít
https://github.com/LA-Toth/dewi_utils -- apróbb Python modulok, meg rrdtool wrapper, hogy munin könyvtárak tartalmából előállítson muninhoz hasonlóan szép grafikonokat
https://github.com/LA-Toth/dewi_realtime_sync -- eredetileg könyvtárak szinkronizálásra íram - egyik könyvtárstruktúra helyi egy IDE-vel, a másik meg pl. egy webszerver alatti éles változat (local v. SSH felett elért), de alkalmas network share-en létrejött fájlok figyelésére is - használjuk munkahelyen így
https://github.com/LA-Toth/dewi_commands - a privát command / app gyűjteményem

Az utolsó kivételével munkahelyen használjuk is ezeket.

En most epp egy datamodel-en dolgozok.

Olyan alkalmazas kell a cegnel amivel az emberek meg tudjak nezni, hogy a kulonbozo ceges rendszerekben milyen mezok vannak, azokhoz milyen governance tarsul, change request-ben mikor kotelezo kitolteni, milyen tipusu adat mehet bele (dec, char, stb.) milyen hosszu.
Erre meg rajon az, hogy melyik rendszerben van hasznalva (SAP, Optiva PLM, Salesforce, stb.) melyik interfaceken van, milyen egyeb mezokhoz kapcsolodik (pl total remaining shelf life minding nagyobb legyen mint minimum shelf life, stb).

Termeszetesen lehessen bizonyos reportokat generalni ezek alapjan es letolteni ezeket excelben.

Szoval kicsit wiki, kicsit graph adatbazis.
A tipikus kerdesek amire a programnak valaszt kell adnia:
- Ha x mezot y rendszerben megvaltoztatok, az mire lesz meg hatassal mas rendszerekbe, purchase order, allergen specification...
- Illetve ha megnovelem x mezo meretet, akkor milyen egyeb rendszereket interfaceket kell meg modositanom.

En most epp ezen dolgozok, de ha valaki tud olyat ami a fentieket tudja az ne tartsa magaba.

---------------------------------------------
Support Slackware: https://paypal.me/volkerdi

Hobbi program:
http://tsvdb.sourceforge.net/
Egyszerű szöveges adatok könnyebb kezelésére szántam.
Munkahelyen készült (évekig) a ráérő időben úgy, hogy sokszor azt sem tudtam már, hol tartottam előzőleg.
Ezért a kód elég randa lett, de azért többnyire működik. Remélem, nincs túl sok hiba benne.

Készítettem egy alkalmazást, mely képek csoportos átméretezését és vízjellel való ellátást teszi lehetővé. Az alkalmazás apropóját az adta, hogy munkám közben, vagy egy-egy weboldal készítése és a kész oldal adatokkal történő feltöltése során többször merült fel igény a fenti feladatok ellátására.
Rendszergazdaként dolgozom, de szabadidőmben webfejlesztéssel ütöm agyon az időt. Egy ideje kacérkodom már a Java fejlesztés alapjaival és általában gyorsabban tanulok, ha konkrét cél vagy eszköz megvalósítása kapcsán tudok dolgozni.
Az alkalmazás a Java alapelveihez méltóan keresztplatformos, mind Windows, mind Linuxos környezetben működik, egyetlen működési feltétel a Java 8 futtató környezet megléte.
Tervben van a felület fordításokkal való ellátása, valamint az, hogy parancssorból is futtatható legyen.
Elérhető: https://kreativregio.hu/downloads

Biztosan megcsinálja, nem csak talán. Meg még ennél jóval többre is képes. Nemrégiben fehér alapon fekete ábrákat kellett átalakítsak fekete alapon vörösre. Megoldottam vele miután megtaláltam a man oldal megfelelő részét. Viszont szerintem _borsodi_ ezt tanulóprojektnek szánta. Ha meg nem, akkor most rájöhet mire jó a piacelemzés. Vagyis hogy a feladatra már rég van kész működő megoldás, csak utána kell járni.

Igen, elsődleges cél a java (javafx) fejlesztés közbeni tapasztalat szerzés. Nem készítettem korában asztali alkalmazást és az ismeretek gyakorlati alkalmazásának tesztelésére éppen megfelelt.
Mindenképpen szeretnék tovább lépni Spring irányba, de a munka és család mellett sajnos limitált a ráfordítható idő. :)

Java, átméretezés, crop-olás, kis kép esetén adott minimális méretű háttérre pakolás... Java-ban megírták, többször módosították, lassú és néha maga alá rosáló vacak lett belőle - mivel csak néhány millió képről volt szó, így megírtam az egészet Perl-ben :-D Régi szép idők... :)

Ickenham: egy egyszerű, de nagyon gyors, zéró függőségű template rendszer.
Scalaban íródott, de használható Java alól is.
A gyorsaságra és a Java alatti használatra példa.

Handlebars-t használtam, mert azt lehet szerver oldalon Java (Scala) alatt is és kliens oldalon JavaScript alatt is használni.
Akkor fogalmazódott meg a gondolat, amikor a Handlebars egyik függősége összeütközésbe került egy általam is használt függőséggel.
Ezért az elsődleges szempont a zéró függőség volt, másodlagos a gyorsaság, harmadlagos az FP megvalósítás.
Természetesen a template formátuma teljesen kompatibilis a Handlebars-szal.

A fenti benchmark oldal szerint 12x gyorsabb lett az Ickenham (8,47 mp), mint a Handlebars (103 mp).

A munkahelyemen git-et hasznalunk, es sok branch kozott valtogatok, hotfix, release, development, a feature amin dolgozok, vagy kodreview kozott. Neha kicsit nehez kovetni, hogy eppen melyikkel is dolgoztam, ezert irtam egy python scripet ami segit eligazodni.

Ilyen feature-ok vannak peldaul:
* meg lehet jelolni egy branch-ot, amin dolgozol, hogy konnyebben visszatalalj, hogy mit csinilatal
* ezekhez tarsul egy "history", ami jol johet performance reviewnal
* nagyon minimalista task list, amiket branch-okhoz lehet rendelni
* checkout history
* cleanup: torli a lokalis branchot, ha mar be lett olvasztva a dev vagy master branch-ba, ellenorzi, hogy maradt-e nyitott task, a befejezett taskokat torli
* iterativan lehet vele beolvasztott lokalis branchokat torolni
* rovid help minden funkciohoz

Itt lehet megtalalni, nemileg hosszabb angol leirassal:
https://github.com/ayonymus/gits

Hasznalom napi szinten Mac-en es Linuxon is. Amugy ezek eredetileg bash scriptek voltak, csak gondoltam gatyaba razom kicsit, meg kivancsi voltam hogy kell pythonban unit tesztelni.

Nem mélyedtem nagyon bele, de a témát tekintve bejönne a fiamnak (nemrég múlt 6). Azt írják hogy 6 éves kortól ajánlott, ami jól hangzik. Tényleg ajánlanád egy 6-7 éves gyerkőcnek? Úgy látom a városneveken kívül nincs benne olvasnivaló. Talán lehetne ez az első olyan társasunk, amin mi nem alszunk el, és ő is tudán élvezni :) Ha szerinted is így van, akkor jobban belemélyedek.

Hát, ahhoz, hogy ne csak vaktában játsszon, hanem képes legyen kialakítani stratégiákat, szerintem nem árt, ha legalább a 20-as, de inkább a 100-as számkörben az összeadás/kivonás megy. Inkább 7-8 éves kortól.

Egyébként bőven vannak „nem elalvós” játékok ilyen korban, pl. a Labirintust (épp most cseréltük Disney-figurásról Harry Potteresre :) a lányom 5 éves kora óta játssza, és azzal simán leülök játszani én is. De tudom ajánlani gyermekkorom kedvencét, az Élve fogd el!-t is.

De nem ördögtől valók a kártyajátékok és a sakk sem. Én hatévesen tanultam meg römizni, kanasztázni és sakkozni is.

Nekem hagyták, hogy nagymamám varrós, 150 cm-es mérőszalagjával játsszak. Így tanultam meg számolni meglehetősen korán, ezért aztán mindig is szerettem számtan, később matek órákra járni. A különféle nyelvórákat és a magyart meg nem szerettem.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

A számolás nem gond 100 felett is tud összeadni/kivonni, persze az azért már kihívás neki is, de megoldja (nem erőltettük, szeret számolgatni), 100 alatt viszont sima ügy. Ránézek akkor jobban. A másik két ajánlást köszi, a Labirintus megvan, az Élve fogd el!-t szintén megnézem közelebbről :)

2.7-et Fedorából már ki is dobták. Azok az alkalmazások is repültek, amelyek nem lettek átírva a 3-asra. A vicces, hogy ennek még a system-config-users is áldozatul esett, így momentán nincs grafikus felületem a felhasználók és csoportok managelésére. Valami gondolom, hogy talán van helyette, csak nekem nem szóltak, de egyelőre egyszerűbb a commandline használata, mint felkutatni, van-e Fedorára GUI felhasználó managementhez, s ha van, mi annak a neve.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Még nem.

Description :
Python 2 is an old version of the language that is incompatible with the 3.x
line of releases. The language is mostly the same, but many details, especially
how built-in objects like dictionaries and strings work, have changed
considerably, and a lot of deprecated features have finally been removed in the
3.x line.

Note that Python 2 is not supported upstream after 2020-01-01, please use the
python3 package instead if you can.

This package also provides the "python2" executable.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Python 3.8.2

  File "unote", line 1001
    for match in re.finditer(ur'^[ \t]*(?:-[ \t]*)?(.+?)([ \t]+(DONE|WONTFIX|OBSOLETED)|[ \t]*(✓|✔|✗|✘|\[(DONE|WONTFIX|OBSOLETED)\]))', text, re.U|re.M):
                               ^
SyntaxError: invalid syntax

Python 2.7.18rc1

Traceback (most recent call last):
  File "unote", line 4, in <module>
    import gtk
ImportError: No module named gtk
[Falu.Me]==>[-][][X]

Muszáj mindenféle *compat dolgokhoz nyúlni? A Python 3-ban létező lehetőségek natívan nem jók? Előre mondom, nem foglalkoztam ezzel a kígyóval soha, csak valahogy az az érzésem, ami már most valamiféle kompatibilitási API-t használ, az már most elavult. Olyan ez, mint pulseaudiohoz valamilyen klienst írni úgy, hogy ALSA interface-t csinálunk, s a pulse alsa kompatibilitási rétegén csatlakozik majd.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

ha eleve py3-ra írtam volna, nem. de GTK-2.0-vel kezdtem, mert a gtk2-es appok nekem reszponzívebbnek tűnnek mint a gtk3-asok és tán még nincs a sűllyesztőbe dobva.

azt nem gondoltam volna, hogy gtk2 modul nincs python3-hoz. annál is inkább mert a pygtk-ban nem sok minden van magában pythonban megírva, főleg csak binding a natív libgtk-ra. hogy ezt miért nem lehet py3-ba átültetni, nem fogom föl.

aztán látom, van compatibilitási layer. no mondom jó lesz, legföljebb egy kis performance penalty-ért cserébe nem kell átírnom. hát nem jött be - látszólag nagyon hasonló az interface, de már egy ilyen kis programban is jöttek ki olyanok, ami felborítja az egészet. 

Megelégeltem, hogy van egy fióknyi adapterem, aminek ellenére mindig beesik olyan kütyü, amit valamiért egyikkel sem lehet meghajtani. vagy nem jó a feszültség, vagy kicsi az amper, vagy nem kompatibilis a csatlakozó...
Ezen okból kifolyólag építettem a napokban egy labortápot. Oké, ez kicsit túlzás, mert a PC tápegység ami a lelke, nem épen zajtalan kimenetet ad, de az adapterek kiváltására teljesen jó lesz.

Habár Dunát lehet rekeszteni az ilyen építésű tápokkal a YouTube-on, de hát mindenki a sajátjára a legbüszkébb, így én is csináltam egy videót róla: https://www.youtube.com/watch?v=YDwG9leFVWU
Kapcsolás, építési folyamat, és pár teszt is van róla azoknak, akiknek hasonló indíttatása van, hogy után építse, vagy csak inspirálódna! :)

StipiStopi: erőforrások foglalása gépek és emberek számára. dotnet core webapi szerver, webes és parancssoros kliensek, abszolút minimális user kezelés.

https://github.com/szabopeter/stipistopi

_______Peter
I am a stone. I do not move.

Gázórának vagy akárminek az adott pillanatban mért értékét lehet eltárolni, aztán majd idővel az összegyűlt adatokat egy csv-be lementeni. Annyira GDPR-konform, hogy nincs backend része, az adat nem hagyja el az eszközt.

https://szp.alwaysdata.net/notemydata/

_______Peter
I am a stone. I do not move.

Mostanaban azt hallani, hogy jo, ha van otthon egy pulzoximeter mert van, hogy a veroxigenszint gyorsan csokken, esetleg ugy is, hogy nem veszi igazan eszre az ember. Szoval lett egy.

Mivel Bluetooth-os (BLE), gondoltam megnezem milyen adatokat es hogyan lehet kihuzni belole. Ennek az eredmenye lett az alabbi kis Python szkript:

https://github.com/sza2/viatom_pc60fw

Bar sokfele pulzoximeter van a piacon, de Bluetooth-osbol ittohon nem talaltam igazan sokat, szoval elkepzelheto, hogy masnak is ilyen jutott.

Jelenleg eleg primitiv a szkript, csak a konzolra irogatja ki harom erteket amit mer, de elvileg az osszes tipusu uzenetet lehet gyujtogetni (bar a jelenlegin kivul meg pulzus waveform adatok jonnek ami hasznalhato).

Ha kesobb lesz idom, lehet hogy kap valami grafikus feluletet es akkor a jelet is ki tudja majd rajzolni - de ez kozel sem biztos.

/sza2

Digital? Every idiot can count to one - Bob Widlar

Több oka van:

Több oka van:

1. biztonság -- nem jó ötlet, hogy valakinek a dokumentumát átküldjük a netten ha nem feltétlen szükséges. JavaScriptben tudom a dokumentumot a felhasználó gépén tárolni. Persze vannak olyan esetek amikor szükséges (pl. collaborative szerkesztés). De ezeket megpróbáltam regisztrációhoz-bejelentkezéshez kötni. A PDF, LaTeX és ePUB a kivétel, sajnos ezekhez szerver oldalra kell küldeni a dokumentumot, viszont nem tettem őket csak regisztrációval elérhetőnek. Ennek az oka, hogy szeretném ha minél több ember kipróbálná, de lehet később változtatok rajta mert kicsit zavar. Egy alap Markdown→HTML dokumentum íráshoz viszont ezek nem kellenek.
2. nincs nagy erőforrásom a szervernek

Tegnap esti új verziót raktam ki, ebben most már van lehetőség szerver oldali generálás is.  Az irodalomjegyzék rendszer (BibLaTeX és Citation Style Language) miatt amúgy, ezekek akkorák, hogy és nem mertem kliens oldalra rakni őket, de persze nem csak akkor lehet használni.   

Most már értem.

 

Két dolog van itt: a dokument címe és a szerzője.

 

Alapvetően akadémia cikkek írására fejlesztem a szerkesztőt, és alapfeltevés, hogy van egy cím. A te esetedben ez nincs beállítva ezért egy alapértelmezett „place holder” kerül a helyére. Van egy olyan opció a felső menüben., hogy „Document settings” (ez valami okból kimarad a magyar fordításból, még ma javítom), 5. ikon balról egy lefelé mutató nyíl körben. Itt lehet állítania címet.

 

A szerző hasonló eset, annyi az eltérés, hogy ma reggel kicsit változtattam a kódon, tehát most már nem „My name is Nobody” hanem egy üres sztring. Remélhetőleg ez megoldja a problémádat.

Szerkesztve: 2021. 08. 23., h – 01:03

...

Mivel az elmúlt pár hétben többször is kellett olcsó bizniszlaptopot keresnem ismerősöknek, gyorsan összetákoltam (enyhe kifejezés) egy böngészőben futó JavaScript izét, ami az nrd.hu használt laptopjainak adatait egy táblázatkezelőben viszonylag jól szűrhető táblázatba gyűjti össze, mellégyűjtve a cpubenchmark.net és videocardbenchmark.net listázó oldalain lévő releváns benchmark pontszámokat is. A működése kicsit béna, konkrétan be kell kopzni három szöveges mezőbe a három fent említett weboldal renderelt HTML-jét is, de utána már csak egy kattintás és másolható az összeállt táblázat. Hátha hasznos lesz másnak is.

https://fodi.github.io/NrdHuParser/