#opensource

8
107
#programowanie #javascript #tworczoscwlasna #gruparatowaniapoziomu #lajko <--- mój tag

no siema.

lubię społeczność @hejto , ale strasznie mnie irytuje brak różnych funkcji albo działanie inne niż to którego bym chciał. Narzekałem, tagowałem, nic z tego nie wyszło. Tak więc przedstawiam Wam alternatywę-WIP-chyba-że-mi-się-znudzi-#opensource i pierwszy merytoryczny wpis w serii.

Repozytorium: https://github.com/wombatDaiquiri/lajko
Permalink do commita o którym piszę: https://github.com/wombatDaiquiri/lajko/tree/v0.0.2

Nie ma nawet README, ale nie od razu Rzym zbudowano. Ma za to dwa pliki które napisałem ja i cztery których nie napisałem (kto ma wiedzieć ten wie #pdk kto nie wie ten widocznie jeszcze nie potrzebuje).

Kod jest napisany w JavaScript. To taki język którego kiedyś się używało żeby robić fajne przejścia między obrazkami w przeglądarce. Teraz dostępny też w formie języka programowania z silnikiem który po prostu wykonuje kod na kompie jak np. Pythona albo C++ (nie do końca, ale to nie praca naukowa tylko edutainment)

Żeby sobie odpalić te programy, to musicie np. zainstalować NodeJS: https://nodejs.org/en/download następnie ściągnąć repozytorium z linka (można kliknąć przycisk <> Code i wybrać Download ZIP a potem rozpakować, jak nie macie gita)

no i teraz możecie poczuć się jak hacker - odpalić terminal. Może być windowsowy (wpiszcie `cmd` w wyszukaj i uruchom czy coś takiego). Poniżej szybki tutorial "chodzenia po systemie plików". W sensie klikania w foldery w formie tekstowej.

  • `ls` pokazuje pliki w folderze w którym jesteś
  • `cd <nazwa_folderu>` przechodzi do folderu o nazwie `<nazwa_folderu>` który MUSI się znajdować w folderze w którym jesteś (czyli pokazywać się w komendzie `ls`) - ten krok będziemy nazywać KROKIEM W DÓŁ
  • , `cd ../` przechodzi do "folderu który zawiera folder w którym jesteś" - taki "KROK DO GÓRY" - czyli przeciwieństwo kroku w dół
  • a jak się zamotasz albo sprawdzasz jak działają komendy to `pwd` pokaże tak zwaną "ścieżkę" - trudniej mi będzie wyjaśnić niż Tobie sprawdzić i skumać eksperymentując

no i jak będziecie w folderze z kodem, to najpierw musicie napisać `npm install` żeby pobrać tak zwane ZALEŻNOŚCI, a potem to możecie sobie np. odpalić zaciągnięcie pierwszej strony "najnowszych" i zapisanie jej jako JSON (jak nie wiesz co to to wygoogluj) kopiując, wklejając do terminala i wciskając enter;

nodejs scrape.js

stworzy Wam się wtedy plik `data-snapshots/{czas_w_ktorym_odpaliliscie_scrapejs}.json` a w środku będzie TABLICA zawierająca OBIEKTY - jak sprawdzicie co to JSON i otworzycie taki plik to myślę że intuicyjnie skumacie co to tablice i obiekty.

no ale taki plik to jest w sumie do dupy, bo to to samo co hejto.

tutaj wkracza drugi plik - `process.js`. Odpalić go można następująco;

opcja pierwsza - sortowanie po sumie lajków komentarzy (nie patrząc na lajki samego wpisu)

nodejs process.js --cmd=comment_likes_sum --source=data-snapshots/{czas_w_ktorym_odpaliliscie_scrapejs}.json

opcja druga - tak samo, tylko z komendą `likes_total` zamiast `comment_likes_sum` da Wam wpisy posortowane po sumie lajków posta i komentarzy.

liczę, że foldery znajdziecie sami.

UWAGA! z łaski swojej nie napierdalajcie za często `scrape.js` - po to zapisuje wpisy, żeby nie zepsuć hejto. nie spierdolcie tego. do adminów @hejto - myślę że filtrowanie useragent wystarczy żeby największy plankton zablokować.

A na jutro postaram się przygotować wpis jak sobie napisać taki scraper samemu, chociaż starałem się żeby kod był łatwy do czytania. Sam praktycznie nie znam JavaScriptu, więc nie będę używał żadnych mega magicznych narzędzi i skomplikowanych konstrukcji językowych.

jeśli coś Wam nie działa, to zapraszam do komentowania też. z fartem wariaty.
wombatDaiquiri

kurde zapomniałem zapisywać linka do posta xD grupa obniżania poziomu.


nie mniej gratuluję @adam_photolive @Cris80 i @smierdakow za posty pod którymi komentarze były najbardziej plusowane, oraz @adam_photolive @Cris80 i @smierdakow za posty które razem z komentarzami zgromadziły najwięcej lajków do spółki z komentarzami.


a sobie gratuluję dobrania fantastycznych metryk na start. mam nadzieję że w przyszłości efekty będą bardziej spektakularne

Yossarian

@wombatDaiquiri 


Jak można Ci postawić kawę?

wombatDaiquiri

@Yossarian absolutnie nie trzeba, w przyszłości jeśli mi starczy cierpliwości to zrobię swoją bramkę płatności w ramach tej serii. Ale bardzo dziękuję za wyrazy uznania.

VonTrupka

@wombatDaiquiri ale żeby nodejs? (☉__☉”)

92506c60-a52f-4158-9c69-c8523fd329b9
wombatDaiquiri

@VonTrupka ostatnio kupiłem NAS i 2x1TB dysk. Potrzebuję motywacji żeby go skonfigurować.


A tak serio, w pythonie nie rozumiem envów i nie chce mi się ich chwilowo poznawać. W go będziemy pisać trochę później, bo na tym etapie nie ma sensu się bawić w statyczne typowanie. No i będę chciał zrobić UI, to gdyby ktoś chciał się uczyć programowania na podstawie moich postów, to nie będzie musiał się uczyć ośmiu języków na raz.


Dorzucam do listy "tematów do poruszenia". A obrazek klasyk

VonTrupka

>ostatnio kupiłem NAS i 2x1TB dysk. Potrzebuję motywacji żeby go skonfigurować.


@wombatDaiquiri na mocy danej mi słowem honoru motywuję cię do konfiguracji NASa ku lepszemu życiu, łatwiejszym taskom i bezpieczeństwu danych.

Idźcie zatem i ... jedzcie vontrupke s cebulko ( ͡~ ͜ʖ ͡°)


Ja to cokolwiek opartego na nodejs mógłbym dopiero od niedawna odpalić, czego nie zrobiłbym na talerzowcu 5400.

Niemniej jednak idea całego nodejs jest dla mnie tak samo niepojęta, jak prawa fizyki zachodzące w czarnych dziurach (´・‸・ ` )

666

@wombatDaiquiri z czystej ciekawosci zajrzalem w kod, bo sam temat scrapowania mnie nie interesuje. Robisz .catch na main


main().

  then(() => console.log('posts length in main promise:' + posts.length)).

  catch(err => console.log(err));


ale to nic ci nie da jak wysypie sie w funkcji savePosts bo ona uzywa callbackow - nie zlapiesz bledu.

wombatDaiquiri

@666 ok, a co powinienem zrobić zamiast tego? Ten catch to jest głównie na 500 z hejto. A tematyka z czasem będzie się zmieniała - ale gdzieś trzeba zacząć. Dzięki a komentarz!

666

@wombatDaiquiri Wiadomka ze jakos trzeba zaczac a potem iteracyjnie rozwijac i ulepszac. Kip goin


Fix: jesli to jakas w miare nowa wersja node.js, tak 14+ to uzyj https://nodejs.org/docs/latest-v14.x/api/fs.html#fs_promises_api

Czyli troche inaczej robisz require/import ("fs" -> "fs/promises"), a potem zamiast callbacka dajesz

await fs.jakasfunkcja()


Dodaj testy w Jest to takie problemy mozna latwo wykryc

Zaloguj się aby komentować

o kek, Thunderbird ma klienta XMPP w sobie. jak go nie kochać
#gownowpis #internet #opensource
radek-piotr-krasny

@koszotorobur już kocham mniej bo nie da się używac. Tzn dla mnie bo brak wsparcia dla OMEMO

Zaloguj się aby komentować

Zostań Patronem Hejto i odblokuj dodatkowe korzyści tylko dla Patronów

  • Włączona możliwość zarabiania na swoich treściach
  • Całkowity brak reklam na każdym urządzeniu
  • Oznaczenie w postaci rogala , który świadczy o Twoim wsparciu
  • Wcześniejszy dostęp, do wybranych funkcji na Hejto
Zostań Patronem
Nie mam #google na telefonie, ale za to:

  • nie działają mi apki taksówkarskie, od hulajnóg, rowerów, wypożyczeń samochodów, a jak działają to nie ma map
  • nie działa mi większość apek bankowych, a jedynie te ze AppGallery od Huawei
  • większość apek wymaga Google Play Services i szukam alternatyw dla mainstreama, które nie zawsze istnieją
  • znajomi mogą się skomunikować ze mną przez Signala, Elementa lub SMSem; bo o Faceoobku już dawno zapomniałem
  • mogę się pochwalić wśród znajomych znajomością apki LibreTaxi (taksówka przez telegrama) albo opensourcowym Tinderem -Alovoa (gdzie są 3 użytkowniczki, każda z innej półkuli). W Bolcie nie mam map, więc zazwyczaj muszę znaleźć punkt oreintacyjny, by zamówić taksę i tak sobie radzę.

Wyczuwam dobrą niszę dla twórców apek, którzy chcieliby się uniezależnić od Google'a i na przykład stworzyć apkę taksówkarską opartą o OSMa.

#opensource #telefony #android #facebook #socialmedia
bizonsky

Dla mnie z tymi Huawei bez androida jest tak jak by sprzedawać dzisiaj domy z dziurą w ziemi zamiast kibla.

GtotheG

@mejwen ale z Ciebie alternatywek :3

ramzes

@mejwen czy używasz f-droida?

Zaloguj się aby komentować

google przestanie pokazywac NewPipe w wynikach o alternatywne apki do YT 

https://www.youtube.com/watch?v=JgNArdQhoH4

#google #opensource #android
BylemSimpem

Szkoda, korzystam i spoko działa.

aberotryfnofobia

@BylemSimpem ale to tylko znaczy że ukryją z wyników wyszukiwania że takie coś istnieje. Ale są też inne wyszukiwarki, takie jak Bing albo Duckduckgo.

Orzech

@aberotryfnofobia duckduckgo to bing

Zaloguj się aby komentować

tellet

@mejwen mmm rhel, fajnie jak działa, a jak nie działa to przepisujesz tipy z centosa z 2005 i liczysz że dobrze trafiłeś xD

Dzemik_Skrytozerca

W sumie nie ma w tej chwili alternatywy do trojcy RHEL+Ansible+OpenShift. Pojedynczo każde możesz zastąpić, całosc naraz to ciezko.


Szedlbym w Ubuntu z Kubernetesem i Terraformem, ale to nie to samo.


RedHat zbudował świetna (pomimo swoich wad) rzecz, szkoda, że teraz aktywnie próbuje to zamknac.

fervi

@Dzemik_Skrytozerca Debian + Ansible + Rancher to zła opcja?

Dzemik_Skrytozerca

@fervi Nie znam Ranchera. Musiałbym zobaczyć co oferuje w porównaniu do OpenShifta:


Jak budować w nim pipelines?

Ile wiedzy wymagaIntegracja z narzędziami do automatyzacji.

Miedzyzdroje2005

@mejwen najlepiej by było, jakby deweloperzy Archa raz na dwa lata mrozili repo np. 1 stycznia, a potem przez pół roku łatali i 1 czerwca wypuścili wersje LTS ze wsparciem kilka lat. To dobry system do grzebania i bardzo sprawnie działa

fervi

@Miedzyzdroje2005 No, ale Debian jest takim systemem. Możesz mieć Rolling Release, możesz mieć mrożony system

Catharsis

@Miedzyzdroje2005 I potrzebowali by do tego drugie tyle osób ile teraz mają w teamie xD

Zaloguj się aby komentować

Nakładki, alternatywne apki do #youtube
Yattee ( https://github.com/yattee/yattee ) - alternatywna nakładka na YouTube, dla IOS.
LibreTube ( https://github.com/Libre-tube/LibreTube ) - alternatywna nakładka na YouTube dla Androida.
Hyperpipe ( https://codeberg.org/Hyperpipe/Hyperpipe ) oficjalna instancja https://hyperpipe.surge.sh/ - alternatywna nakładka na YouTube Music zapewniająca ochronę prywatności.
Musicale ( h https://github.com/Bellisario/musicale ) oficjalna instancja https://musicale.tk/# - alternatywa dla YouTube Music, ze stylem.
ytify ( https://github.com/n-ce/ytify ) - uzupełniająca minimalna nakładka do strumieniowania audio dla YouTube.
PsTube ( https://github.com/prateekmedia/pstube ) - oglądanie i pobieranie filmów bez reklam w systemach Android, Linux, Windows, iOS i Mac OSX.
Piped-Material ( https://github.com/mmjee/Piped-Material )oficjalna instancja https://piped-material.১.net/ - rozwidlenie Piped, skupiające się na lepszej wydajności i bardziej użytecznym wyglądzie.
ReacTube ( https://github.com/NeeRaj-2401/ReacTube ) - przyjazna dla prywatności i wolna od zakłóceń nakładka na Youtube wykorzystująca Piped API.
#technologia #internet #opensource
Kubilaj_Khan

Vanced najlepsze na androida. Nadal działa

Seele

to jakieś alternatywy dla yt vanced? od jakiegoś czasu właśnie zaczął mi vanced po minucie zawieszać odgrywanie filmików. szukam głównie alternatywy która będzie odgrywała filmiki z wyłączonym ekranem i najlepiej blokowała reklamy i sponsorsyf. no coś jak właśnie vanced.

VonTrupka

@mejwen co znaczy że program to "nakładka na yt"?

na jakiej zasadzie to działa?

mejwen

@VonTrupka to jest alternatywny frontend, którego źródłem jest youtube

VonTrupka

@mejwen nic mi to dalej nie mówi

muszę mieć zainstalowane YT na słuchawie żeby takie oprogramowanie mogło działać?


to szczerze mówąc gówno a nie oprogramowanie

Zaloguj się aby komentować

Ktoś próbował się bawić hostowaniem usług np. na taki Raspberry PI dla rodziny? Myślałem nad jakimś Pixelfedem czy instancją w Matrixie, Nextcloud też by się nadał.
Dodatkowo korzysta ktoś z https://yunohost.org? Jak się sprawdza?
#opensource #homelab #technologia #raspberrypi
con987

Napisałem jak dla laika ale widzę że to nie ten poziom:)


Ogólnie dla rodziny nie ma sensu, zobaczą jako ciekawostkę ale nadal będą korzystać z gugla i innych serwisów bo tak jest wygodniej, bo lepsza apka, bo jest integracja z telefonem...

nieinteresujsie

@mejwen warto przy okazji postawić Pi-hole do wycięcia reklam w całej lokalnej sieci, działa rewelacyjnie. https://pi-hole.net/

panek

Ja na starym laptopie hostuje jakieś bzdety

Zaloguj się aby komentować

10 dni temu pisałem, że chciałbym pokończyć kilka projektów, które zacząłem wiele lat temu, ale z różnych powodów nie zostały skończone. Ostatnio wspomniałem o mapie z placami zabaw.
https://www.hejto.pl/wpis/odgrzebalem-kolejny-projekt-ktory-robilem-okolo-5-6-lat-temu-i-to-chyba-dobry-mo
Projekcik jest bardzo mały i składał się z kilku etapów.
  1. Najpierw musiałem stworzyć Overpass query aby pobrać interesujące mnie dane z OSM. Tym zapytaniem chwaliłem się przy okazji poprzedniego wpisu. Posiada ono jeszcze kilka informacji, których aktualnie nie używam np. stworzyłem taki dynamiczny tag, który jest generowany na podstawie tego co się znajduje wewnątrz placu zabaw. Teoretycznie mógłbym robić takie sprawdzanie po stronie klienta, ale byłoby to dość skomplikowane. W przyszłości użyję tego do filtrowania wyników, które pojawiają się na mapie.
  2. Ponieważ dawno nie pisałem frontendu (a szczególnie takiego małego) to musiałem znaleźć jakieś rozwiązanie, które by odpowiednio konwertowało kod TS na JS. @marmot polecił ParcelJS i muszę przyznać, że był to strzał w 10.
  3. Na koniec zostało już napisanie strony internetowej, ale magii tam nie ma. Kilka klas, które są odpowiedzialne na pobieranie danych z OpenStreetMap i wyświetlanie ich na mapie. Dodatkowo aby nie pobierać za dużo danych na raz jest zrobione kafelkowanie i pobieranie danego obszaru. Następnie dane są zapisywane w localstorage aby nie obciążyć zbytnio serwerów overpass.
W sumie na całość poświęciłem około 5-6 godzin (miałem pewne ułatwienie w postaci projektów, które kiedyś pisałem i nie musiałem wszystkiego wymyślać od zera) łącznie ze zrobieniem prymitywnych ikonek w inkscape i może projekt nie jest bez wad, ale staje się powoli używalny. W wolnych chwilach czeka mnie czyszczenie kodu dodanie komentarzy oraz kilka funkcjonalności, które już dawniej planowałem.
Efekt jest tutaj:
https://dotevo.github.io/ludparko/#51.1214,17.0520,18
https://github.com/dotevo/ludparko/tree/master/src
W sumie to polecam używanie OpenStreetMap i tworzenie projektów przy użyciu np. OverpassAPI. Może mój projekt kogoś zainspiruje do mapowania lub tworzenia projektów opartych na OSM.
#openstreetmap #opensource #programowanie
irbis9

Strach pomyśleć o targecie dla tego projektu

grzmichuj_gniezno

@irbis9 xD Od razu mi się przypomniała ta scena z Doliny Krzemowej.


Ale tak czy inaczej gratuluję skończonego projektu @dotevo

Zaloguj się aby komentować

Zdaje się, że jakaś afera na Reddit mnie ominęła, bo admin Lemmiego wita nowo przybyłych na swojej platformie. Ktoś zna temat?
https://lemmy.ml/post/971001?scrollToComments=true
#reddit #internet #foss #fediverse #opensource

Welcome Reddit refugees! - Lemmy

We are happy to see that many of you are exploring Lemmy after Reddit announced changes to its API policy. I maintain this project alongside @[email protected] [https://lemmy.ml/u/dessalines]. Lemmy is similar to Reddit in many ways, but there is also a major difference: Its not only a single website, but consists of many different websites which are interconnected through federation. This is achieved with the ActivityPub protocol which is also used by Mastodon. It means that you can sign up on any Lemmy instance to interact with users and communities on other instances. The project website has a list of instances [https://join-lemmy.org/instances] which all have their own rules and administrators. We recommend that you sign up on one of them, to avoid overt centralization on lemmy.ml [http://lemmy.ml]. Another difference compared to Reddit is that Lemmy is open source, and not funded by any company. For this reason it relies on volunteer work to make the project better, whether it’s programming, design, documentation, translating, reporting issues or others. See the contributing guide [https://join-lemmy.org/docs/en/contributing/contributing.html] to get started. You can also donate [https://join-lemmy.org/donate] to support development. We also recommend that you read the documentation [https://join-lemmy.org/docs/en/index.html]. It explains how Lemmy works and how to setup your own Lemmy instance. Running an instance gives you full control over the rules and moderation, and prevents us developers from having any influence. Especially large communities that want to use Lemmy should host their own instance, because existing Lemmy instances would easily be overwhelmed by a large number of new users. Enjoy your time here! If you have any questions, feel free to ask below or in the Matrix chat [https://matrix.to/#/#lemmy-space:matrix.org].

Lemmy
Mr_Hardy

@mejwen Heh kolejna aleternatywa dla czegoś wielkiego i koniec końców garstka tylko będzie z tego nowego tworu korzystać.

mejwen

@Mr_Hardy to jest stary twór. Na mastodonie duża fala nowych użytkowników wezbrała w po przejęciu przez Muiska.

Mr_Hardy

@mejwen Ok, ale tak czy siak będzie dużo mniej użytkowników niż na Reddit. Z mastadonem to samo. Część pójdzie na te alternatywy zobaczy, że guzik tam jest i wróci na większe. A część zostanie i będzie taka mała grupka.

Zaloguj się aby komentować

Kompletnie mnie rozbroił agregator Lemmy jak się tam wchodziło i same komuchy i antify ze sobą gadają, ale mimo wszystko jest to jakaś fediversowa alternatywa do big techowych rozwiązań.
Polski karab.in byłby niezłym planem B.
W sumie już dawno siedziałbym na fediversie, bo konto mam (mastodon,lemmy), gdyby nie to, że ten temat śledzą głównie koneserzy technologii.
#opensource #fediverse #internet
Jedynym osiągnięciem w tym względzie jest przekonanie rodziny do używania Elementa. Za to cała rzesza ludzi dalej popiera centralizację, ehh...
dotevo

z elementa korzystam ale wolę XMPP, szkoda, że w ostatnich latach podupadło.

Zaloguj się aby komentować