Mój kod na GitHubie

1

edit: chętnie przyjmę konstruktywną krytykę i dowiem się, co mam na githubie takiego śmiesznego

Shalom napisał(a):
  1. Wstawiłbym link do twojego githuba żebyśmy wszyscy mogli się pośmiać z tego jak wygląda kod "prawdziwego programisty" ale zaraz będzie płacz że to jakiś wyciek danych osobowych...

https://github.com/p-durlej

5

Wyborny GitHub, milordzie.

github.webp

1

@Althorion: Bez sensu. Miała być recenzja kodu, a nie aktywności na koncie.

5

Nieźle ci idzie, potrafisz forkować repozytoria na githubie.

0

xD @pms_enable_synaptics trollu :D
Podrzuć konkretne pull requesty, bo jest tego tyle, że nikt nie ogarnie.

0

@NeutrinoSpinZero: Chyba commity. I nie jestem trollem xD

moje systemy operacyjne:

https://github.com/p-durlej/newsys/commits/master
https://github.com/p-durlej/xenus

dopisanie brakujących fragmentów i "odnowienie" systemu ms-dos 2.0:

https://github.com/p-durlej/dosbios

patch github-downloads-count:

https://github.com/p-durlej/github-downloads-count/commit/4573438d5c888c677be6b38a6ea728ef955541dc
https://github.com/p-durlej/github-downloads-count/commit/272509eccbe71443e2fc98c002594dd3b0aa7573
https://github.com/p-durlej/github-downloads-count/commit/02e05efa39a01363442710f0aece76b5e9720f23

patche freedos-kernel:

https://github.com/p-durlej/freedos-kernel/commit/e86b001f8cacccc4575439a967468b31ed27da9e
https://github.com/p-durlej/freedos-kernel/commit/aa4612fbee5b254ed94cc2069b434aea2e440b23
https://github.com/p-durlej/freedos-kernel/commit/50476584ae7d03626f28edae78efeb498723f974

patche freecom:

https://github.com/p-durlej/freedos-freecom/commit/524ca16c7dc35b4897eeba05ecd29c0f8e5803f1
https://github.com/p-durlej/freedos-freecom/commit/f799951e5d7ad6f7d4df60b483951b338c7f69ba
https://github.com/p-durlej/freedos-freecom/commit/b8d2154243434f72e20e8eec608362144de5c90a
https://github.com/p-durlej/freedos-freecom/commit/387e215da53b1efb02045c6a0d2ed8936ba2dab5
https://github.com/p-durlej/freedos-freecom/commit/b9fa10e4d3198d202dbcef7b02e1b2dccc0395e8
https://github.com/p-durlej/freedos-freecom/commit/4d0bfc9abc295dbf2612eb12db88f8ff01fd3be3
https://github.com/p-durlej/freedos-freecom/commit/e0eb6c7cde4fdb37498ce811460355f126a790e8
https://github.com/p-durlej/freedos-freecom/commit/61a488f840c7d2986c857ed129734037ca03ab05
https://github.com/p-durlej/freedos-freecom/commit/780caf51c10b978e905d61b51e4f5451691514f9
https://github.com/p-durlej/freedos-freecom/commit/47afe90f68bc923ef32575c56461253827fb800f
https://github.com/p-durlej/freedos-freecom/commit/19dabef754cf1e029001e37960bc8464c03a62d9
https://github.com/p-durlej/freedos-freecom/commit/d8ccf5558d3d3f0692e4cd8b660fa1d96efa6c1d
https://github.com/p-durlej/freedos-freecom/commit/20f873bdca8ee7fe1db65080ee0a588df52ace12
https://github.com/p-durlej/freedos-freecom/commit/defd526286526a4872685c2d9a8ec3e783e2ff67
https://github.com/p-durlej/freedos-freecom/commit/3616c4d23637e47d48b9a287f2cb07bf5541ca09

patch more:

https://github.com/p-durlej/freedos-more/commit/17d0354780de790a33d88e9623fabe3618bd0311

patch label:

https://github.com/p-durlej/freedos-label/commit/7b96a9a0681d3d27997ef5b2d4834897312bc15a

0

I jak już jesteśmy przy ocenianiu mojego kodu, to nie ograniczajmy się do GitHuba.

Różne drobne patche OpenBSD:

https://www.durlej.net/misc/patches.html

7

Dla mnie wątek przeciwskuteczny (co widać wyżej).
Jedynym skutecznym sposobem wykazania się, jest pomaganie na forum innym (w działach technicznych).
Każda inna próba kierowania uwagi na siebie jest jedynie uciążliwa dla innych użytkowników i może być odebrana jako trollowanie (w pierwotnym znaczeniu - zwracam uwagę na etymologię tego słowa - czyli łownie na błyszczyk, a nie baśniowy stwór).

0

@MarekR22: Tylko, że ja nie próbuję się wykazać. Jedynie chciałbym dowiedzieć się, co jest takiego śmiesznego w moim kodzie.

edit: I nie zrozumcie mnie źle, ale dla mnie większą nagrodą jest jeżeli mój kod trafi do kernela i będzie użyteczny, niż jeżeli zostanie pochwalony przez randoma na 4P :-P

4

Za dużo tam nie ma. I niech to pozostanie jako konstruktywny komneterz.

3

Problem z poprawkami do jakiś projektów polega na tym, że często kod wymusza na poprawce dalszy syfny kod.
Zajrzałem tu https://github.com/p-durlej/github-downloads-count/commit/4573438d5c888c677be6b38a6ea728ef955541dc i ten cały kod nie jest pythonic i jest za dużo kodu w global scope.
Pierwotna wersja była okropna, a to co nowe jest dostosowaniem się do zastanego już bałaganu.
Pisząc podobną poprawkę, zapewne zacząłbym od odchamienia takiego kodu. Np zdefiniowałbym funkcję main (ze standardowym if __name__ == "__main__") i dużo innych funkcji, by podzielić kod na logiczne fragmenty.

Ergo ten commit trudno stwierdzić czy to tylko lenistwo czy niski poziom umiejętności.

2

Wybrałem pierwszy z brzegu. Żeby nie było jestem PHPowcem więc ciężko mi ocenić w pełni ale myślę, że dodanie spacji to jakoś bym ogarnął.
https://github.com/openbsd/src/commit/9a27d676676bb3b6b10f61ede6bb3a816c51d1a0

Chyba bym się tym nie chwalił na Twoim miejscu.

1

Ogólnie szacunek za chęć wertowania legacy kodu z trudnej działki, ale to co robisz to jakieś pierdoły w tych commitach i nie widać po nich żadnego skilla oprócz programistycznego puryzmu.

0

@NeutrinoSpinZero: Akurat to, co mam na GitHubie robię głównie hobbystycznie.

@jurek1980:

Pierwszy "z brzegu" (patrząc od początku strony https://www.durlej.net/misc/patches.html) jest ten: https://github.com/openbsd/src/commit/27f24416680434ea384af4907317fc65b2cb3358

A pierwsze "z brzegu" patrząc od początku mojego posta są z kolei te: https://github.com/p-durlej/newsys/commits/master

Czyli ja sobie hobbystycznie piszę systemy operacyjne, a Ty uczepiasz się commita, gdzie poprawiam jedną spację xD

Nawet zbytnio mnie nie dziwi, że wybierając "pierwszy z brzegu" patch "zupełnie przypadkiem" trafiłeś akurat na najprostszy xD

0

@urke

Jednak już pierwsze trzy commity na stronie https://www.durlej.net/misc/patches.html dotyczą kernela i nie polegają jedynie na drukowaniu na konsoli systemowej.

Pierwszy (https://github.com/openbsd/src/commit/27f24416680434ea384af4907317fc65b2cb3358) umożliwia poprawną współpracę sterownika vnd(4) z urządzeniami blokowymi, czyli de facto szyfrowanie dysków. Wcześniej takie użycie sterownika vnd(4) było możliwe jedynie przy pomocy hacków, IIRC w postaci ręcznej edycji etykiety dysku.

A drugi (https://github.com/openbsd/src/commit/7fb394e69499501befc49aa183a1861dddb8cad0) umożliwia poprawne działanie sterowników WiFi ral(4) i rum(4) w trybie accesspointa. Wcześniej to była loteria z uwagi na brak inicjalizacji niektórych rejestrów kart sieciowych i zalegające w tych rejestrach śmieci.

Kolejne poprawki (https://github.com/openbsd/src/commit/763ac864a6473dd787ac6ba27286fd9e7664c6a2) umożliwiają odbudowę zdegradowanych macierzy dyskowych softraid(4). Wcześniej odbudowa nigdy nie była realizowana poprawnie, kończyła się albo błędem, albo niepoprawnym transferem mogącym spowodować korupcję danych na dyskach.

A ten patch (https://github.com/openbsd/src/commit/f1ae820923ef9cd5c8d151b961bc705dbb69d81b) jest co prawda poza kernelem, ale umożliwia poprawne działanie dynamicznego routingu w protokole RIP na linkach P2P mających adresację zakończeń należącą do różnych podsieci.

Są też inne bardzo proste patche, ale co z tego? Jak widzę drobny błąd, to mam nie poprawiać?

I co z tego, że commity są małe, skoro każdy odpowiada za coś, co rozwiązuje jeden problem? Próbowałeś kiedyś "przepchnąć" coś bardziej skomplikowanego do jakiegoś dużego projektu?

1
  • Bardzo słaba dokumentacja Twoich projektów.
  • Nie wiadomo jak testować ten kod, linki do opisów projektów nie działają
  • Te commity są enigmatyczne, nie wiadomo co poprawiają, jakieś nieopisane kody błędów.
  • Jaki jest cel budowy tych systemów operacyjnych?
  • Jaki jest cel tego wątku?
0
twoj_stary_pijany napisał(a):
  • Bardzo słaba dokumentacja Twoich projektów.

A co byś tam dodał, biorąc pod uwagę, że nie jest to moje główne zajęcie i mój czas jest bardzo ograniczony?

  • Nie wiadomo jak testować ten kod, linki do opisów projektów nie działają

Jeśli chodzi o Vanadium OS i XENUS, to instrukcje są tu:

https://github.com/p-durlej/newsys
http://www.durlej.net/xenus

A niektóre linki niestety rzeczywiście nie działają, bo niedawno straciłem część danych :-(

Na szczęście były to mniej ważne dane.

  • Te commity są enigmatyczne, nie wiadomo co poprawiają, jakieś nieopisane kody błędów.

O które enigmatyczne commity i nieopisane kody błędów chodzi?

  • Jaki jest cel budowy tych systemów operacyjnych?

Głównie nauka, odświeżanie wiedzy i hobby.

  • Jaki jest cel tego wątku?

Chciałbym dowiedzieć się co takiego śmiesznego kolega @Shalom widzi w moim kodzie, ale niestety nie wypowiedział się na ten temat. Co się stało @Shalom, zabrakło języka w gębie? :)

3

https://github.com/p-durlej/newsys/blob/master/README.md

If you want to run the operating system without building it, there are USB stick, CDROM ISO and PXE images available for download at GitHub. You can install the operating system if you want, but you don't have to. There is a live USB/CD/PXE mode.

There is currently no API documentation available.

Building the entire toolchain and the two platforms can be time consuming, it takes 10 - 40 minutes on my machines, so if you just want to build a single platform release, you can run ARCH=amd64 s/mkrelse in $HOME/os386/src. If you want to build the i386 release, you can substitute i386 for amd64. Amd64 is the default, so you can also omit ARCH=amd64.

@pms_enable_synaptics: te ściany tekstów po prostu źle się czyta. A kiedy już zaczynam je czytać to czytam jakieś anegdoty o tym, że na Twoim komputerze to się buduje 10-40 minut i że mam sobie coś gdzieś zastąpić. Nie wiem dokładnie co, nie wiem gdzie, nie wiem jaki masz komputer. Co mnie to wszystko obchodzi? Potrzebuję wiedzieć jaką linijkę mam uruchomić. Nigdzie tego nie ma napisanego. Rozumiem, że trzeba mieć hakerską bluzę z kapturem i wtedy magicznie doznaję oświecenia jak to wszystko odpalić.

Czy to konkurs na to kto napisze najbardziej niezrozumiały kod?

Potrzebujecie iść na jakieś solo z @Shalom?

0
twoj_stary_pijany napisał(a):

https://github.com/p-durlej/newsys/blob/master/README.md

If you want to run the operating system without building it, there are USB stick, CDROM ISO and PXE images available for download at GitHub. You can install the operating system if you want, but you don't have to. There is a live USB/CD/PXE mode.

There is currently no API documentation available.

Building the entire toolchain and the two platforms can be time consuming, it takes 10 - 40 minutes on my machines, so if you just want to build a single platform release, you can run ARCH=amd64 s/mkrelse in $HOME/os386/src. If you want to build the i386 release, you can substitute i386 for amd64. Amd64 is the default, so you can also omit ARCH=amd64.

@pms_enable_synaptics: te ściany tekstów po prostu źle się czyta. A kiedy już zaczynam je czytać to czytam jakieś anegdoty o tym, że na Twoim komputerze to się buduje 10-40 minut

40 minut to jednak dość dużo czasu, imo długi czas kompilacji to jest istotna informacja. Dzięki takiej informacji można uruchomić pod tmuxem lub screenem i nie martwić się, że trzeba będzie wyjść z laptopem przerywając kompilację.

Co o tym sądzicie (wszyscy zainteresowani, nie tylko @twoj_stary_pijany)?

i że mam sobie coś gdzieś zastąpić.

O zmiennych środowiskowych kolega nie słyszał? ;-)

Nie wiem dokładnie co,

  • If you want to build the i386 release, you can substitute i386 for amd64

nie wiem gdzie,

  • ARCH=amd64 s/mkrelse in $HOME/os386/src. If you want to build the i386 release, you can substitute i386 for amd64

nie wiem jaki masz komputer. Co mnie to wszystko obchodzi? Potrzebuję wiedzieć jaką linijkę mam uruchomić. Nigdzie tego nie ma napisanego.

Jest przecież napisane jaką linijkę odpalić w konkretnych przypadkach:

  • To start the build, change the current working directory to $HOME/os386/src and run the s/mkall script
  • if you just want to build a single platform release, you can run ARCH=amd64 s/mkrelse in $HOME/os386/src
  • If you just made a change in the source code and want to recompile, just run the gmake command in $HOME/os386/src.

Rozumiem, że trzeba mieć hakerską bluzę z kapturem i wtedy magicznie doznaję oświecenia jak to wszystko odpalić.

Nie, trzeba mieć podstawową wiedzę o shellu uniksowym :-D (ale nie odbieraj tego jako przytyk, jestem w stanie zrozumieć, że ktoś mógł przez całe życie pracować na Windows i innych systemów nie znać)

Czy to konkurs na to kto napisze najbardziej niezrozumiały kod?

Nope.

Potrzebujecie iść na jakieś solo z @Shalom?

Nie czuję takiej potrzeby. Mam nadzieję, że @Shalom też, ale nie pytałem.

0
twoj_stary_pijany napisał(a):
  • Te commity są enigmatyczne, nie wiadomo co poprawiają, jakieś nieopisane kody błędów.

Które commity są enigmatyczne? Gdzie są te nieopisane kody błędów?

1

W OSach masz w kodzie wartości liczbowe w paru miejscach, ktore by wypadało zastąpić stałymi które mają jakieś opisowe nazwy.

0
Satanistyczny Awatar napisał(a):

W OSach masz w kodzie wartości liczbowe w paru miejscach, ktore by wypadało zastąpić stałymi które mają jakieś opisowe nazwy.

O które konkretnie wartości chodzi?

0

Nie zapisywałem jak przeglądałem, ale to tu, to tam trochę ich jest. Dość łatwo rzucają się w oczy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1