Hejto.pl

#programowanie

252
2484

@ZohanTSW zarzucał mi w weekend, że nienawidzę Linux Mint. Nie tyle nienawidzę tego systemu, tylko całej rodziny ubuntu, a mint to ubuntu ze zmienioną tapetą.

Pracowałem i prywatnie robiłem soft komercyjny działający na tym systemie. Od 2022 roku jest już całkowite przegięcie pały i rozkręcenie karuzeli spierdolenia. Pokaże Wam parę przykładów które jako zwykły użytkownik też napotykacie, bo jest w każdym systemie bazującym na ubuntu. Które są po prostu głupie i bez sensu.


  1. Pakiet linux-firmware - 642 187,0 KiB aktualnie w nadchodzącym wydaniu. Macie wszystkie sterowniki binarne do różnych sprzętów wrzucone w jeden pakiet, który wasz system mieli nawet za każdym razem jak coś podłączycie do usb. Inne dystrybucje mają podzielone na grupy lub producentów. W ubuntu była dyskusja pół roku temu skończyło się na niczym: https://lists.ubuntu.com/archives/ubuntu-devel/2025-June/043358.html

  2. Zarządzanie połączeniem sieciowym, w większości graficznych dystrybucji jest network-manager, oczywiście są też różne opcje konfiguracji konsolowego w zależności od dystrybucji. Można też używać wersji konsolowej network-managera, ale nie w ubuntu. Tam jest to nakładka na ich twór zwany netplan. Nie da się skonfigurować tak jak cała reszta świata działa.

  3. Ubuntu LTS od 10 lat używa testowej wersji kompilatora gcc. Wersje testowe wydane pomiędzy wersjami LTS mają tylko stabilne. Fuck logic. Biorąc np. świeże wydanie LTS macie wrzucone jak domyślne wersje stabilną, ale pół systemu chodzi na wersji testowej, np. używając mechanizmu dkms do kompilacji zewnętrznych sterowników używają one wersji testowej i przez mogą nie działać. Dodatkowo opiekun pakietów z kompilatorem który robi to od 30 lat zostawia opcje debugowania kompilatora, zamiast zajmować 250MB zajmuje 760MB. Jak np. używacie steama to się wam to podwaja. Teraz jest dobry przykład w nadchodzącej wersji LTS. Jest:

    root@ubuntu2604:~# apt-get install gcc-15

    Reading package lists... Done

    Building dependency tree... Done

    Reading state information... Done

    Solving dependencies... Done

    The following additional packages will be installed:

    binutils binutils-common binutils-x86-64-linux-gnu cpp-15 cpp-15-x86-64-linux-gnu gcc-15-x86-64-linux-gnu libasan8 libbinutils libc-dev-bin libc6-dev libcc1-0 libcrypt-dev libctf-nobfd0 libctf0 libgcc-15-dev libgomp1 libgprofng0

    libhwasan0 libisl23 libitm1 libjansson4 liblsan0 libmpc3 libmpfr6 libquadmath0 libsframe3 libtsan2 libubsan1 linux-libc-dev manpages manpages-dev rpcsvc-proto

    Suggested packages:

    binutils-doc gprofng-gui binutils-gold gcc-15-locales cpp-15-doc gcc-15-multilib gcc-15-doc libc-devtools glibc-doc man-browser

    The following NEW packages will be installed:

    binutils binutils-common binutils-x86-64-linux-gnu cpp-15 cpp-15-x86-64-linux-gnu gcc-15 gcc-15-x86-64-linux-gnu libasan8 libbinutils libc-dev-bin libc6-dev libcc1-0 libcrypt-dev libctf-nobfd0 libctf0 libgcc-15-dev libgomp1 libgprofng0

    libhwasan0 libisl23 libitm1 libjansson4 liblsan0 libmpc3 libmpfr6 libquadmath0 libsframe3 libtsan2 libubsan1 linux-libc-dev manpages manpages-dev rpcsvc-proto

    0 upgraded, 33 newly installed, 0 to remove and 0 not upgraded.

    Need to get 64.4 MB of archives.

    After this operation, 217 MB of additional disk space will be used.

    Do you want to continue? [Y/n]

    Będzie:
    root@ubuntu2604:~# apt-get install gcc-16 -t resolute-proposed

    Reading package lists... Done

    Building dependency tree... Done

    Reading state information... Done

    Solving dependencies... Done

    The following additional packages will be installed:

    binutils binutils-common binutils-x86-64-linux-gnu cpp-16 cpp-16-x86-64-linux-gnu gcc-16-base gcc-16-x86-64-linux-gnu libasan8 libatomic1 libbinutils libcc1-0 libctf-nobfd0 libctf0 libgcc-16-dev libgcc-s1 libgomp1 libgprofng0 libhwasan0

    libisl23 libitm1 libjansson4 liblsan0 libmpc3 libmpfr6 libquadmath0 libsframe3 libtsan2 libubsan1

    Suggested packages:

    binutils-doc gprofng-gui binutils-gold gcc-16-locales cpp-16-doc gcc-16-multilib gcc-16-doc

    Recommended packages:

    libc6-dev

    The following NEW packages will be installed:

    binutils binutils-common binutils-x86-64-linux-gnu cpp-16 cpp-16-x86-64-linux-gnu gcc-16 gcc-16-base gcc-16-x86-64-linux-gnu libasan8 libbinutils libcc1-0 libctf-nobfd0 libctf0 libgcc-16-dev libgomp1 libgprofng0 libhwasan0 libisl23

    libitm1 libjansson4 liblsan0 libmpc3 libmpfr6 libquadmath0 libsframe3 libtsan2 libubsan1

    The following packages will be upgraded:

    libatomic1 libgcc-s1

    2 upgraded, 27 newly installed, 0 to remove and 66 not upgraded.

    Need to get 227 MB of archives.

    After this operation, 762 MB of additional disk space will be used.

    Do you want to continue? [Y/n]

    To najbardziej wkurwia przy budowaniu kontenerów, gdzie inne dystrybucje zajmują do 1GB, ubuntu zajmuje 3GB. A jak robimy system wbudowany większość mieści się na 4GB pamięci flash, do ubuntu trzeba 16GB. Oczywiście gcc aktualizują po drodze w wersji LTS jak ma to obecnie miejsce w 22.04 i 24.04. Tylko po co to robić?

    W punkcie 1 i 3 chodzi o to, że im mniej rzeczy tym system bezpieczniejszy i stabilniejszy. Jak widać w ubuntu nie.

  4. Jeśli używanie w wersji LTS innego jądra jak domyślne, czyli tak zwane HWE to wasz system się zapycha starymi wersjami jądra. Od 12 lat nie potrafią tego naprawić, gdzie wystarczy zrobić poprawną konfigurację do apt. Tutaj mam przykład robicie system minimalny gdzie chodzi tylko jedna aplikacja, instalujecie jądro hwe włączacie automatyczne aktualizacje bo nic się nie powinno wydarzyć. Macie np. 20 czy 32 GB przestrzeni na dysku. System na start zajmuje 6GB. Jak nic nie zrobicie po 2 - 3 miesiącach miejsce na dysku się skończy. Mint ma swoją graficzną nakładkę do czyszczenia tego, ale trzeba o tym wiedzieć.

Także, moja nienawiść do tego systemu znikąd się nie wzięła. Po prostu lata używania ukazuje jak bardzo jest zjebany. Przed wydaniem 26.04 pokaże jakie znowu "cudowne" zmiany nadciągają.

#linux #ubuntu #programowanie

@30ohm

  1. Co to znaczy "mieli"? W jaki sposób on mieli? Brakuje kontekstu.

  2. No okej, jest netplan zamiast network-manager... ale co to zmienia? Dla laika to jest d⁎⁎a a nie różnica. A dla takiego petenta jest Mint czy Ubuntu kierowane.

  3. A to jest akurat karykaturalnej wielkości problem. Czyli LTS teoretycznie jest mniej stabilny bo używa testowej wersji gcc? Kto tam wpadł na taki genialny pomysł?

  4. Nieaplikowalne do 99% użytkowników, szczególnie laików.

Będąc szczerym, trochę strzeliłeś kulą w płot z tą krytyką. Sam nie lubię Ubuntu ale nie z powodu tego, że nie potrafią używać poprawnie apt albo robią inne dziwne twory jak netplan.


Po prostu GUI dostarczane przez Ubuntu jest kompletnie bezsensowne dla użytkownika końcowego. Błąd? Jakiś tam błąd. Domyśl się, logi przeszukaj. A o instalacji sterowników Nvidii to szkoda gadać. 50% szans że uwali instalację. A skąd to wiem? Bo ostatnio instalowałem Ubuntu i sterowniki Nvidii po prostu się nie zainstalowały prawidłowo.

Problem naprawiła... aktualizacja systemu. Bo akurat aktualizacja sterownika była, bodajże. ¯\_(ツ)_/¯

Zaloguj się aby komentować

Zaloguj się aby komentować

Zaloguj się aby komentować

Zaloguj się aby komentować

Każdego dnia oddalamy się od programistycznego boga.


Dostałem niedziałający Sensorbox V2 do uruchomienia. Dokumentacja tego projektu jest, delikatnie mówiąc, amatorska. Programowanie... przez stronę www (wuteef?!). Troubleshooting ze strony dewelopera nie istnieje, od prawie roku, po aktualizacji esphome, urządzenie uruchamia się z migającym na biało ekranem. Rozwiązania wrzucane przez użytkowników w komentarzach nie działają, nikt też nie wrzuca działającej binarki, choć chwali się jak to jemu działa.

Ale to jest najlepsze: kompilacja firmware bez funkcji home assistant i komunikacji wifi, do odczytu danych z kilku czujników wewnętrznych i pokazaniu ich na LCD zajmuje... prawie godzinę!


#programowanie #esp32 #hansgetzeflammenwerfen

Zaloguj się aby komentować

Bitcoin wiadomo raz lepiej raz gorzej. Może zrobimy hejtocoin? Ustalimy wartość początkową na 1 HC = 1 zł a potem rynek to wyceni. Co wy na to?


#kryptowaluty #programowanie

Zaloguj się aby komentować

Zaloguj się aby komentować

Tak sobie pomyślałem - po co robić krucjaty przeciwko użytkownikom nietagującym wpisów, beczeć w komentarzach i dokładać pracy owcenowi? Czy nie można sprawdzić regexem, czy wpis posiada frazę (^|\s)#[A-Za-z][A-Za-z0-9]*(\s|$), czyli musi zawierać tag? W przeciwnym wypadku nie można dodać wpisu, może się wyświetlić komunikat, że wpis musi zawierać tag z konkretnymi zasadami.


Ten pattern zdefiniowałem jako początek linii lub spacja, #, nieokreślona ilość liter i cyfr, ale pierwszy znak po # musi być literą, fraza jest zakończona spacją lub końcem linii.


#hejto #programowanie

W tle obok ,,Wpisz treść" mogłoby się też wyświetlać ,,Dodaj przynajmniej 1 tag" czy tam coś, ale ja to nie jestem programistą więc nie wiem.

Zaloguj się aby komentować

Zaloguj się aby komentować

Hej misie


Jak tam sytuacja na rynku #it? Czeka mnie poszukiwanie pracy, u aktualnego pracodawcy tylko do końca lutego wydaje mi się że oferty jakieś są


#informatyka #programowanie

@konrad1 W zeszłym roku szukałem pracy i od rozpoczęcia wysyłania CV do podpisania umowy minęło około miesiąca, więc z mojej perspektywy nie jest źle. ALE:

  • Największą skuteczność mają polecenia. Na CV wysyłane z ogłoszeń miałem może 5% odpowiedzi, na polecenia ~95%. Warto więc pogadać ze znajomymi i poprosić ich o wysłanie CV w wewnętrznym systemie danej firmy. Większość firm płaci premię jeśli polecony pracownik okaże się spoko i zostanie zatrudniony więc ludziom zależy na tym żeby to oni mogli przekazać Twoje CV do kadr U mnie zaskakująco dobry efekt dał wpis na linkedinie o tym, że szukam pracy - dużo starych znajomych (takich z którymi pracowałem lata temu) do mnie napisało oferując pomoc.

  • To co było dla mnie zaskakujące ale jak się nad tym zastanowić to nie powinno - CV przeglądają boty AI a nie ludzie. Przynajmniej podczas wstępnej filtracji. W internecie można znaleźć wzory CV pisanych właśnie tak by AI oceniło je najwyżej. Można też poprosić jakiegoś chata o pomoc.

  • Czasy gdy dla deva/testera wystarczyła znajomość jednego języka i jednego frameworku już nie istnieją. Na każdej rozmowie miałem pytania o znajomość technologi cloudowych, CI/CD, konteneryzację itd.

  • Czasów gdy w IT można było być nerdem nie gadającym z ludźmi już nie ma. Miałem mnóstwo pytań o umiejętności miękkie. Firmy zakładają, że na seniorskich stanowiskach potrafisz dogadać się z zespołem zamiast toczyć bezsensowne dyskusje o nie-biznesowe sprawy. Firm nie obchodzi za bardzo jakość ale dostarczanie nowych ficiorów na czas. Mnóstwo miałem pytań które można by podsumować "jest straszna ch⁎⁎⁎ia - brak testów, mnóstwo bugów, niski performance - co robisz żeby mimo wszystko zrobić release na czas". Podpowiem: odpowiedzi w stylu "nie dopuszczam do releasa" albo "nich jakiś menago to klepnie i da mi dupochron" nie są mile widziane xD

  • Pytania teoretyczne są gorsze niż live coding. Zawsze najbardziej obawiałem się live codingu ale to z teorią częściej miałem problem. W normalnej pracy nie mamy zazwyczaj styczności z dużą częścią danego języka czy frameworku i po prostu możemy nie kumać jak coś działa. Polecam wpisywać w google frazy typu "python interview questions", wyłapywać z pytań rzeczy których nie jesteśmy pewni i odczytywać na ten temat w dokumentacji. Na live codingu spotkałem się zazwyczaj z bardzo prostymi zadankami ALE trzeba mieć wyrobiony zmysł algorytmicznego myślenia. Czasami do rozwiązania zadania potrzebna jest znajomość jakiejś zewnętrznej biblioteki/wbudowanych funkcji. Polecam stronki typu codewars żeby sobie poćwiczyć takie rzeczy.

Zaloguj się aby komentować

Zaloguj się aby komentować

Robię apke przeszukującą bazę danych, żadnego logowania, płatności i celowego zbierania danych użytkownika. User wpisuje co chce znaleźć, ai przerabia to na hasła do zapytań bazy i drugi raz ai przegląda wyniki i sortuje wg dopasowania. To jest chyba ten niesławny RAG jeśli sie nie mylę i pytanie czy w takiej formie to da sie zabezpieczyć, czy coś zmienić, lub zostawić to bo mnie zmiecie z planszy ?


#programowanie #ai #it

@Borgir rozwaz czy mozna zrobic promt injection, prowadzący do sqlinjection. Pomijam samo wyciaganie danych, ale zwracam uwage na kwestie dostepnosci, ssrf itd.

Zaloguj się aby komentować

Myslę, że ludzie, którzy:

a) są w IT

b) wynajmują mieszkanie w dużym mieście

c) studiują

mają powody do obaw. Slyszeliście może o niepokojach związanych z imigracją w np Kanadzie bądź Australii? No to wszedł nowy 'deal' z Indiami, który dla niemieckich i francuskich korporacji jest i może wspaniały, ale dla przeciętnego pracownika w Polsce to tragedia. Również w IT.
Użytkownicy reddita już wywęszyli co w trawie piszczy i czego sam się obawiałem, gdy usłyszałem o tym dealu:

https://ec.europa.eu/commission/presscorner/detail/en/ip_26_227

"Ponadto kompleksowe ramy współpracy między UE a Indiami w zakresie mobilności, przyjęte jako protokół ustaleń równolegle z finalizacją umowy o wolnym handlu, stanowią dla nas doskonałą okazję do współpracy w zakresie ułatwiania mobilności pracowników, (...). Ramy współpracy ułatwią mobilność wykwalifikowanych pracowników, młodych specjalistów i pracowników sezonowych w sektorach, w których występują niedobory. (xD przyp. tłum.) Będzie ona również wspierana przez europejskie biuro prawne w Indiach, które jest pierwszym tego rodzaju podmiotem. Biuro to będzie pomagać indyjskim pracownikom, studentom i naukowcom w wyszukiwaniu możliwości w Europie, począwszy od sektora ICT, z zamiarem dalszego rozszerzenia działalności w przyszłości. Poparcie dla dialogu na wysokim szczeblu między UE a Indiami w zakresie edukacji i umiejętności dodatkowo wspiera te cele poprzez wzmocnienie współpracy w zakresie umiejętności, kwalifikacji i uznawania kwalifikacji oraz ułatwienie przepływu talentów."



"Umowa o wolnym handlu między Indiami a UE: UE zobowiązuje się do nieograniczonej mobilności indyjskich studentów"

https://m.economictimes.com/nri/study/india-eu-mobility-pact-aims-to-ease-movement-of-indian-students/amp_articleshow/127607591.cms

Więcej studentów myślicie? A słyszeliście o scammerskich dyplomach, który spowodował zalew nowoprzybyłych pracowników w Kanadzie, zatłoczenie w miastach, zatrudnianie "swoich" przez ten krąg kulturowy, wywalone w kosmos ceny wynajmu i wiele innych problemów? No to wygląda na to, że będziemy mieli powtórkę



Ale widzę, że nie tylko ja jestem lekko niezadowolony z tej nowej umowy:
https://www.reddit.com/r/europe/comments/1qonf89/europe_opens_its_first_gateway_office_to/

Kanada, Australia, USA powoli wycofują się z nieograniczonych wiz, a my cali na biało powtarzamy ich błędy.


Szkoda strzępić ryja..

Mam nadzieję, że zostanie to nagłośnione w polskich mediach.

#polityka #europa #uniaeuropejska #politykazagraniczna #it #programowanie

Kiedyś miałem delikwenta z tego kraju, CV na 4 strony: frontend, backend, devops, programowanie systemowe, drivery, firmware no poprostu wszystko. Ostatecznie jak się go zapytałem o drivery (bo przy tym głównie pracuje) powiedział że nie jest w tym ekspertem ale przy projektach zawsze mu kuzyn pomagał i tym razem jak nie będzie czegoś wiedział to go poprosi.
O tym że w aktualnej robocie muszę 2x sprawdzać czy ich dział testowy czegoś nie zataił nie wspominam.

===EDIT===
Nie wiem czy to moje wrażenie czy tylko pracowałem z takimi ludźmi ale większość hindusów poprostu boi się powiedzieć że czegoś nie wie i woli iść w zapartę. Co nie zmienia faktu że raz może dwa spotkałem naprawdę fachowców u nich.

@m_h - nieumiejętność przyznania się do niewiedzy to naleciałość kulturowa, która też dotyczy innych nacji z Azji.

Prawie wszyscy dobrzy specjaliści z Indii dawno już pracują w stanach czy uk - ta nowa umowa otworzy drzwi średniakom.

@pokeminatour ogólnie gdzie się nie obracasz w necie to 90% wątków o IT dotyczy programistów - bo jest najniższy próg wejścia.

Zaloguj się aby komentować