- DIGI Mobil
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Samsung Galaxy S23 Ultra - non plus ultra
- Milyen okostelefont vegyek?
- Xiaomi Mi 11 Ultra - Circus Maximus
- Apple AirPods Pro (2. generáció) - csiszolt almaságok
- Huawei Mate 10 Pro - mestersége az intelligencia
- iPhone topik
- Realme 8 - az igazi nyolcas
- uleFone Power
Hirdetés
-
Súlyos adatvédelmi botrányba kerülhet a ChatGPT az EU-ban
it Egyre nagyobb probléma az AI hallucinálása – most az osztrák adatvédelmi hatóság veheti elő a ChatGPT miatt az OpenAI-t, alapvetően a GDPR megsértése miatt.
-
Samsung Univerzum: Így ismerhető meg a Galaxy AI bármilyen telefonon
ma A Try Galaxy webalkalmazás kontrollált környezetben mutatja meg, mit tud a One UI 6.1-es rendszer és a mesterséges intelligencia.
-
Megjelenési dátumot kapott a Star Wars: Hunters
gp A tervek szerint június elején végre befut a teljes kiadás mobilokra/tabletekre és Nintendo Switch-re.
Új hozzászólás Aktív témák
-
PazsitZ
addikt
válasz DeltaPower #915 üzenetére
Kis számolással sikerült bepozicionálni a megfelelő helyre. [link]
A hátteres megoldás sem lett volna sajna jó, mert a kirajzolás szélessége és magassága változó. De köszönöm az ötleteket!- http://pazsitz.hu -
-
rdi
veterán
válasz DeltaPower #952 üzenetére
akkor nem lesznek magyar karakterek a címekben oszt jónapot...
Ami sokkal érdekesebb, hogy az SQL szerverem unikódban megy, a lms latin 1-ben amikor feltölti az anyagot sa deak, akkor jól leníti meg, amikor letöltöm akkor már rossz lesz a kódolás a windowsban )Fej! Tor! Potroh!
-
gina100
tag
válasz DeltaPower #969 üzenetére
Köszi a tippet, kipróbálom.
-
gina100
tag
válasz DeltaPower #969 üzenetére
Köszi az ötletet!
Síkerült megoldani a próblémát, mindössze a <p align="right"> kódrészt kellett törölnöm és most már mindhárom böngészőben egyforma magasságúak a sorok.Régi kód:
<table width="99%" bgColor="#ffffff" border="1" height="10">
<tr>
<td background="fuzzy-lightgrey.jpg" align="left"><font size="4">.....</font></td>
<td align="middle" width="120" background="fuzzy-lightgrey.jpg"><p align="right"><font size="4">.......</font></td>
</tr>Új kód:
<table width="99%" bgColor="#ffffff" border="1" height="10">
<tr>
<td background="fuzzy-lightgrey.jpg" align="left"><font size="4">.....</font></td>
<td align="middle" width="120" background="fuzzy-lightgrey.jpg"><font size="4">.......</font></td>
</tr>[ Szerkesztve ]
-
őstag
válasz DeltaPower #986 üzenetére
az a baj h nem igen
ha gondolod msn-en megbeszélhetnénk, ha nem gond
[ Szerkesztve ]
-
Rolly
veterán
válasz DeltaPower #1005 üzenetére
sajnos a document.forms['formnév'].submit-vel sem megy ...
-
L3zl13
nagyúr
válasz DeltaPower #1009 üzenetére
Mondjuk nekem opera alatt nem müxik az ottani script sem...
Aki hülye, haljon meg!
-
Rolly
veterán
válasz DeltaPower #1016 üzenetére
tudom hogy kattan, de ez ilyen beteges kattanás, nem olyan mint normális esetben (biztos inluenzás a laptopom )
nomrális vin kat: katt
nálam meg: kakaka kattt -
Panther
HÁZIGAZDA
válasz DeltaPower #1039 üzenetére
Szerintem elég egy sima iframe is, és az sokkal egyszerűbben kezelhető:
iframe.src="http://...", várakozás, iframe.src=...[ RIOS Release 5 – multiportal engine by Panther ]
-
Carline
őstag
válasz DeltaPower #1039 üzenetére
miért pont ennyi ideig tartanak? betöltésre vársz?
Ja, meg kell várni, hogy az admin felületre belépjen, kapcsolatot bontja kb 3-4 mp, ADSL kapcsolatot felépíti az is kb 3-4 mp.
AJAX-nak utánnanéztem a wikin, de ez nekem magas úgy érzem.Panther: ez az iframe dolog jónak látszik, kipróbálom otthon.
˙ɐʌloɹoslǝɟ ʞɐuuɐʌ ʞouoɟǝlǝʇ ɐ ɹɐɯ ɐɯ 'ʞɐʇloʌ ᴉɐʇɐpɐ ƆԀ sǝ doʇdɐl ɐ uǝƃǝɹ ʇʇI
-
Forest_roby
őstag
válasz DeltaPower #1044 üzenetére
termeszetesen benne van minden. A mar mukodo forraskod reszletett toltettem be egy ajax.request -tel.
Egy kicsit probalok pontositani...
Van a galleria ami szepen mukodik lightbox-al. A galleria azon reszet, ahol a thumbokat toltom be kitoroltem es ezt a forraskodreszletett toltetem be kesobb egy ajax request -tel. Persze kellett modositani egy - ket helyen, hogy mukodjon... de lenyegeben ugyan az mint az alap mukodo forras.Nekem valahogy az a sejtesem, hogy azert mert kesobb toltettem be ezt a forras reszletett ez vhogy elkulonodik az alap oldaltol es ezert nem mukodik jol....
Meg szerintem kiserletezek egy ideig es ha mar vegkep feladom, akkor atnyergelek iframe -re... : /Addig is varom a tanacsokat ( foleg azoktol, akik ertenek az ajax -hoz!! ). : )
Mindenesetre koszi!
Forest
[ Szerkesztve ]
-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Tippcsi10
tag
válasz DeltaPower #1093 üzenetére
köszi
möködik. -
vakondka
őstag
válasz DeltaPower #1154 üzenetére
Köszi, ez nekem is eszembe jutott, de (többek között) pont azért írtam át az oldalt, hogy ne legyen frame-es szerkezetű...
https://toptarget.hu - Online Marketing Ügynökség
-
vancha2
aktív tag
válasz DeltaPower #1158 üzenetére
Hát vakondka problémáját szerintem is csak framekkel lehet megoldani, azt viszont utálják a keresők. Szerintem inkább hagyd ki ezt az alertet, amúgy is nagyon sokan utálják az ilyen felugró figyelmeztetéseket.
-
egy kezdő
csendes tag
válasz DeltaPower #1191 üzenetére
de ha a kép mondjuk 'C:'-n van akkor hogy kezdjem http://-től?
[ Szerkesztve ]
kezdő HTML-es egy fejlesztendő oldallal :( segítség
-
egy kezdő
csendes tag
válasz DeltaPower #1194 üzenetére
Köszi a segítséget! Mindjárt megpróbálom! Amúgy tényleg zene! Nem tom mért képet írtam!
kezdő HTML-es egy fejlesztendő oldallal :( segítség
-
supesz
aktív tag
válasz DeltaPower #1212 üzenetére
Megtudnád nekem írni? Ugyanis én nem értek a javascripthez. sajnos.
Legalább a kódodból tanulhatnék.supesz
A nucleus arcuatus (infundibularis) kapillárisaiból összeszedődő vénák a hypophysisnyélen keresztül lejutnak a hypopisis elülső lebenyébe - az adeno-hypopisisbe, és ott újra kapillárisokká oszlanak.
-
ForRedGlory
félisten
válasz DeltaPower #1313 üzenetére
Na thx!
Még egy kérésem lenne, ami kimaradt. Le lehet varázsolni a link aljáról a csíkot html kóddal valahogy? -
Sk8erPeter
nagyúr
válasz DeltaPower #2185 üzenetére
Akkó' meg má' Flash kéne hozzá Ja, egyetértek, baromi idegesítő, ha zenél egy honlap, és még kikapcsolni se lehet, akkor fejvesztve menekülök onnan.
Sk8erPeter
-
MODERÁTOR
válasz DeltaPower #2221 üzenetére
Igen, a címek is külön, de gondoltam ha ez megvan, az már menni fog
Most nem vagyok otthon, de ha hazaértem meg is nézem egyből. KösziEverybody lies.
-
MODERÁTOR
válasz DeltaPower #2225 üzenetére
Igen, van, de sajna abban sem igazodok el
Ebben pl mit kellene?if (iMEMBER) {
openside($userdata['user_name']);
$msg_count = dbcount("(message_id)", DB_MESSAGES, "message_to='".$userdata['user_id']."' AND message_read='0'AND message_folder='0'");
echo THEME_BULLET." <a href='".BASEDIR."edit_profile.php' class='side'>".$locale['global_120']."</a><br />\n";
echo THEME_BULLET." <a href='".BASEDIR."messages.php' class='side'>".$locale['global_121']."</a><br />\n";
echo THEME_BULLET." <a href='".BASEDIR."members.php' class='side'>".$locale['global_122']."</a><br />\n";
if (iADMIN && (iUSER_RIGHTS != "" || iUSER_RIGHTS != "C")) {
echo THEME_BULLET." <a href='".ADMIN."index.php".$aidlink."' class='side'>".$locale['global_123']."</a><br />\n";
}
echo THEME_BULLET." <a href='".BASEDIR."setuser.php?logout=yes' class='side'>".$locale['global_124']."</a>\n";
if ($msg_count) { echo "<br /><br /><div style='text-align:center'><strong><a href='".BASEDIR."messages.php' class='side'>".sprintf($locale['global_125'], $msg_count).($msg_count == 1 ? $locale['global_126'] : $locale['global_127'])."</a></strong></div>\n"; }
} else {
openside($locale['global_100']);
echo "<div style='text-align:center'>\n";
echo "<form name='loginform' method='post' action='".FUSION_SELF."'>\n";
echo $locale['global_101']."<br />\n<input type='text' name='user_name' class='textbox' style='width:100px' /><br />\n";
echo $locale['global_102']."<br />\n<input type='password' name='user_pass' class='textbox' style='width:100px' /><br />\n";
echo "<input type='checkbox' name='remember_me' value='y' title='".$locale['global_103']."' style='vertical-align:middle;' />\n";
echo "<input type='submit' name='login' value='".$locale['global_104']."' class='button' /><br />\n";
echo "</form>\n<br />\n";
if ($settings['enable_registration']) {
echo "".$locale['global_105']."<br /><br />\n";
}
echo $locale['global_106']."\n</div>\n";
}
closeside();
?>Ha nagyon bonyolult, akkor hagyjuk, csinálom másmilyenre.
Kösz minden eddigit is[ Szerkesztve ]
Everybody lies.
-
MODERÁTOR
válasz DeltaPower #2228 üzenetére
Hát akkor nemtom, hol kellene Mindegy, jó lesz így ahogy van
Mindegyik egy színű cucc volt, és photoshop-al színeztem kékre ugyan azon paraméterekkel, tehát elvileg ugyan olyan színűnek kellene lennie, de akkor megpróbálok sötétíteni rajta.Everybody lies.
-
Ivory
csendes tag
válasz DeltaPower #2225 üzenetére
Köszi szépen! Kipróbálom!
-
MODERÁTOR
válasz DeltaPower #2230 üzenetére
Megvannak a dolgok, de közben meg már alakítottam máshogy, talán már jó lesz így
Köszi minden segítségetEverybody lies.
-
MODERÁTOR
válasz DeltaPower #2233 üzenetére
Köszi, bár nemtudom melyik állapotban láttad, mert most össze vissza változtatgattam. Egy kis effektet is hozzáadtam most. Nekem már tetszik, esetleg még kisebb simításokat még majd beiktatok. Szerinted?
Everybody lies.
-
daninet
veterán
válasz DeltaPower #2302 üzenetére
na ez most így pöpec.
Miért vegyem meg, ha 3x annyiért, 3x annyi idő alatt megépíthetem? ´¯`·.¸¸.·´¯`·.¸><(((º>
-
kissgy1028
csendes tag
válasz DeltaPower #2305 üzenetére
Köszi!
Ez bevált. Most egy másik problémát vettem észre, ez viszont már javascript.
Az alert ablakok egymás után kétszer nyílnak meg. Ezt mi okozhatja?
itt lehet a probléma?
<form name="regisztracio" method="post" action="" onSubmit="return ellenorzes()">Sajnos a tanárom azt találta ki, hogy az adatok ellenőrzését js-ben végezzem, az adatok feldolgozását pedig php-ben.
Előre is köszönöm a segítséget!
Üdv. -
kissgy1028
csendes tag
válasz DeltaPower #2308 üzenetére
Köszi a segítséget! Mostmár minden működik rendesen.
Üdv. -
Sk8erPeter
nagyúr
válasz DeltaPower #2314 üzenetére
Még exbnőmnek volt Vodafone-os netje, úgy emlékszem, be lehetett állítani, hogy csökkentse a letöltött tartalmat! (ebből következően elvileg inaktívvá is lehet tenni ezt a szolgáltatást)
Bár ez elég furcsa, hogy pont a CSS-fájlt nem tölti be, én úgy emlékszem, hogy a "butítás" csak a képekre vonatkozott... A CSS-fájl meg általában nevetségesen kis méretű, így nem értem, miért pont azon kell spórolni...Sk8erPeter
-
horvathx
csendes tag
válasz DeltaPower #2319 üzenetére
Köszönöm szépen! Ez gyors volt.
A táblázatokban kölönböző adatok lesznek, és azért kell a fix méret hogyha egymás mellett megjelenik két ilyen "táblázat oszlop" az azonos adatok mindig egy vonalban legyenek függetlenül attól hogy a cellában mennyi adat van ezért kell a táblázat, hogy a táblázat keret vonalai segítsenek a vizuális tájékozódásban.
-
petrusz82
aktív tag
válasz DeltaPower #2385 üzenetére
Erre a megoldásra nem gondoltam, ki fogom próbálni! Bár szerintem kell lennie valami másik lehetőségnek is. Már csak azért is, mert egy ilyen háttérkép készítése további segédeszközt kíván. Nem beszélve arról, ha én pl. egy tájat akarok háttérnek.
[ Szerkesztve ]
-
sz.j
nagyúr
válasz DeltaPower #2463 üzenetére
Köszi a választ, a 76. sor kódját máris kipróbálom.
Műanyag, alumínium és motoros redőnyök, valamint szúnyoghálók készítése, szerelése. www.szaboredony.hu
-
sz.j
nagyúr
válasz DeltaPower #2463 üzenetére
Köszi a segítséget.
A 76. sor hibája megszünt, de egyből "generált" egy újabb hibát (82 sor), amit sikerült kijavítanom.Műanyag, alumínium és motoros redőnyök, valamint szúnyoghálók készítése, szerelése. www.szaboredony.hu
-
G.Zs.
senior tag
válasz DeltaPower #2461 üzenetére
Köszi!
Nem nyit újat.
Viszont az oldal tartalmát újratölti, így elvesznek a mezőkbe beírt adatok. Nem tudsz valami megoldást, hogy csak simán ráugorjon, mintha csak rákattintottam volna a fülre?Ha a menyasszony apja az örömapa, a menyasszony anyja az örömanya akkor a menyasszony az örömlány?
-
sz.j
nagyúr
válasz DeltaPower #2473 üzenetére
Köszönöm a segítségedet ... , mindkét hiba megszünt, de rögtön lett egy újabb ....
De ezzel csak holnap próbálkozok, bár tartok tőle, hogy a segítséged(-getek) nélkül azzal sem fogok boldogulni ...Amúgy a backgroundot-ra írt előző kódod eltér a mostanitól (de mivel nem értek hozzá, lehet, hogy az is jó lett volna).
Műanyag, alumínium és motoros redőnyök, valamint szúnyoghálók készítése, szerelése. www.szaboredony.hu
-
lesaux
veterán
válasz DeltaPower #2476 üzenetére
Nagyon köszi. Érdekes, hogy a vinyómom a fájlokhoz nem nyúlt, csak a tárhelyen lévőkhöz. Kártevő nincs, jelszót megváltoztattam, kódrészletet kiirtottam. Köszi a gyors választ.
-
sz.j
nagyúr
válasz DeltaPower #2487 üzenetére
Köszönöm a linkeket, így "hirtelen" megnézve nagyon ígéretesnek tűnik a Firefox Html Validator 0.8.6.1 kiegészítője.
Én eddig nem is tudtam, hogy a Firefox-hoz ilyen értelmes kiegészítők vannak, ezért szinte majdnem biztos, hogy áttérek ennek a használatára. De minimum kipróbálom ...
Műanyag, alumínium és motoros redőnyök, valamint szúnyoghálók készítése, szerelése. www.szaboredony.hu
-
sz.j
nagyúr
válasz DeltaPower #2487 üzenetére
Még egyszer köszönöm a linkeket, mert a segítségükkel megoldódott a #2477 hsz-ban írt problémám.
Sőt, ennél a honlapnál már négy oldal valid (w3c), ráadásul ezek közül egy oldal 0 hiba, ill. 0 figyelmeztetéssel "HTML Tidy" lett (bár nem tudom, hogy ennek mekkora jelentősége van).Viszont van egy dolog amit nem értek ....
Miért van az, hogy ha a hibás sornak csak egy bizonyos részét javítom (ott ahol a hibás rész van) továbbra is hibát jelez a w3c és a HTML Validator progi is, de ha törlöm az egész sort és ua-t beírom ami előbb is volt, akkor már nem találnak hibát ....[ Szerkesztve ]
Műanyag, alumínium és motoros redőnyök, valamint szúnyoghálók készítése, szerelése. www.szaboredony.hu
-
wolfman
veterán
válasz DeltaPower #2595 üzenetére
Azt írja bejelentkezéskor, hogy 'ORBIT Ügyfélkapu és WebMail bejelentkezés', de belépve sehol nem találok olyat, hogy levelezés, csak hogy E-mail címek, de ott csak létrehozni lehet, törölni meg átnevezni.
[ Szerkesztve ]
„Ami mérhető, mérd meg! Ami nem mérhető, tedd mérhetővé!” – Galileo Galilei
-
wolfman
veterán
válasz DeltaPower #2597 üzenetére
1000 köszönet! Ez volt a helyes megoldás.
„Ami mérhető, mérd meg! Ami nem mérhető, tedd mérhetővé!” – Galileo Galilei
-
tildy
nagyúr
válasz DeltaPower #2636 üzenetére
Arra gondolok, mint itt a ph-n a lenyilo box. Jqueryvel emg tudom csinalni de nem hasznalhatok msot jqueryt.
"Tartsd magad távol azoktól, akik le akarják törni az ambíciódat! A "kis" emberek mindig ezt teszik, de a nagyok éreztetik veled, hogy te is naggyá válhatsz" - Mark Twain
-
tildy
nagyúr
válasz DeltaPower #2638 üzenetére
Talaltam egy jo oldalt, ez mukodik es jo, de ha onselect van a selectnel, akkor nem dob at a jo oldalra, mikozben ha a design leveszem, akkor igen.
"Tartsd magad távol azoktól, akik le akarják törni az ambíciódat! A "kis" emberek mindig ezt teszik, de a nagyok éreztetik veled, hogy te is naggyá válhatsz" - Mark Twain
-
tildy
nagyúr
válasz DeltaPower #2640 üzenetére
dehogynem ... ugy latszik gyosabban jar a kezem mint az agyam
"Tartsd magad távol azoktól, akik le akarják törni az ambíciódat! A "kis" emberek mindig ezt teszik, de a nagyok éreztetik veled, hogy te is naggyá válhatsz" - Mark Twain
-
tildy
nagyúr
válasz DeltaPower #2640 üzenetére
Megoldas , jquerymentes, es mukodik:
at kell irni a designt cserelo jsben az alabbi reszt
choose: function() {
option = this.getElementsByTagName("option");
for(d = 0; d < option.length; d++) {
if(option[d].selected == true) {
document.getElementById("select" + this.name).childNodes[0].nodeValue = option[d].childNodes[0].nodeValue;
}
}
}
errechoose: function() {
option = this.getElementsByTagName("option");
for(d = 0; d < option.length; d++) {
if(option[d].selected == true) {
document.getElementById("select" + this.name).childNodes[0].nodeValue = option[d].childNodes[0].nodeValue;
window.location.href=this.value;
}
}
}"Tartsd magad távol azoktól, akik le akarják törni az ambíciódat! A "kis" emberek mindig ezt teszik, de a nagyok éreztetik veled, hogy te is naggyá válhatsz" - Mark Twain
-
Speeedfire
nagyúr
válasz DeltaPower #2646 üzenetére
akkor marad zka67 megoldása
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Sk8erPeter
nagyúr
válasz DeltaPower #2665 üzenetére
Ezt hogy érted? Csak azért kérdezem, mert őszintén szólva még csak most fogok elkezdeni foglalkozni jquery-vel, mert admin oldalnál nem játszanak szerepet olyan szempontok, mint a Google általi indexelés és hasonlók, így szeretnék pl. képfeltöltésnél, űrlap-kitöltéseknél vagy akár a normál oldalon levélküldésnél PHP+JQuery-megoldást használni, bár gondoltam AJAX-megoldásra is, de egyelőre nem igazán vagyok képben, hogy melyiket lenne érdemes használni, még komolyabban nem volt időm utánanézni. Bár tudtommal a JQuery a régebbi IE-verziók miatt inkább működőképes (kompatibilitási problémák nagy részét sikerült megoldani), mint az AJAX, de a lényegi különbségeket (leginkább, hogy melyiket érdemes választani) még nem igazán látom át.
Igazából egyelőre a jquery-t találtam talán kézenfekvőbbnek, de lehet, hogy az ajax sem komplikáltabb semmivel.[ Szerkesztve ]
Sk8erPeter
-
zka67
őstag
válasz DeltaPower #2674 üzenetére
Köszi, ez a google első találata, eddig én is eljutottam. De mitől jobb mint a MySql? Vagy nem jobb, csak olyan helyen használják, ahol nincs mysql?
Azért kérdem csak, hogy nekem szükségem van-e rá vagy nincs? Mert nekem az összes tárhelyemen van mysql támogatás.
-
Sk8erPeter
nagyúr
válasz DeltaPower #2672 üzenetére
shev7, DeltaPower: köszi a válaszokat, így utólag elolvasva tényleg kicsit zagyva, amit írtam.
Tulajdonképpen számomra ez a kulcsmondat: "jqueryben azért egyszerűbb, mert marha jó ajax kezelő függvényei vannak. nem kell foglalkozni az xmlhttprequest objectel, readystate-ket figyelni stb."
Ha a jQuery AJAX-kezelő API-jával egyszerűbb az aszinkron hívásokat kezelni, mint a "klasszikus" AJAX-használattal, akkor inkább ezt választom. Mintha valahol azt olvastam volna, hogy így talán hatékonyabb is lehet a működése, de lehet, hogy ez baromság.
Mellesleg olyan feladatokra szeretném használni, mint pl. levélküldő form feldolgozása (ott tök felesleges újratölteni az egész oldalt), admin felületen képfeltöltés, egyéb formok kezelése. Jelenleg a "klasszikus" form adatait feldolgozó PHP-fájlba átirányítós, feldolgozós, majd megfelelő hiba- és egyéb üzenetekkel visszairányítós megoldást használom, session-változókban tárolva az üzeneteket, majd azokat megszüntetve a kiírást követően, de zavaró a sok lap-újratöltés, amikor szükségtelen.
Ha pl. adott div-ben van a formom, akkor ott a click eseményre "rákötve" egy jQuery-hívást érem el, hogy csak az adott div-ben történjen a feldolgozgatás, majd az eredmények visszairányítása? Egyelőre még ködös számomra kicsit a dolog, hogy ilyen módon hogyan "köthetem össze" a PHP-t a jQuery-vel, pl. a hiba- és egyéb session-üzeneteket hogyan jelenítem meg adott div-ben lap-újratöltés nélkül, stb.Sk8erPeter
-
rii
nagyúr
válasz DeltaPower #2709 üzenetére
uhh nagyon köszi
én csak dreamwaaver-be tudok bindzsizni .... :-/
a 3.ik megoldás egy PHP kitejesztű file-ból áll?
vagy egy HTML file-ba ezt a TAG-et: <?php ?> kell betennem?piros-kapszula: https://www.youtube.com/watch?v=oW-VZVYohRg
-
rii
nagyúr
válasz DeltaPower #2711 üzenetére
a későbi próbálkozáshoz kérhetek még némi mankót a Javascript-es DIV-ekhez?
piros-kapszula: https://www.youtube.com/watch?v=oW-VZVYohRg