Skocz do zawartości

Bartosz Wójcik

Administracja
  • Postów

    363
  • Dołączył

  • Days Won

    14

Wszystko napisane przez Bartosz Wójcik

  1. Poszukaj na blogu Raymonda Chena, często pisze o historycznych aspektach powstawania DOS-a, Windows 95. Kilka razy widziałem przewijały się tematy dotyczące sprzętu, na którym tworzone były te systemy i różne dziwne perypetie i decyzje, które wpłynęły na kształt dzisiejszych wersji Windows.
  2. Silnik Doom przepisany na Rusta https://github.com/cristicbz/rust-doom
  3. Chyba najlepiej śledzić reddita - https://www.reddit.com/r/javascript
  4. Postawić WordPressa jest bardzo prosto, spróbuj sam jak Ci to współgrać będzie z phpBB. Co do phpBB to zwróć jeszcze uwagę na to dla kogo robisz forum i czy forum posiada odpowiedni temat graficzny dla urządzeń mobilnych, bo w dzisiejszych czasach to też bardzo ważne.
  5. Własny biznes to ryzyko, jednak czasami warto je podjąć. Czasami warto postawić wszystko na 1 kartę i skupić się na jednej rzeczy niż ciągle żyć na skraju bezpieczeństwa finansowego.
  6. Programy, w których kompilator generuje niewydajny kod nie mogą być uznawane za wydajne, to wbrew logice , potwierdzi to każdy benchmark jeśli postawisz obok siebie ten sam algorytm skompilowany w Go i kompilatorach z VC++ i Intela.
  7. Jeśli nie chce Ci się samemu tego poprawiać to Disqus będzie odpowiedni, jednak niektórzy użytkownicy mogą być do niego zrażeni, gdy np. wymuszasz na nich rejestrację w Disqusie http://rebootauthentic.com/disqus-comments-pull-plug/
  8. Widać poprawę w generowanym kodzie, bo spojrzałem na najnowszą wersję, jednak zdarzają się kwiatki jak: 1. Bezsensowe wymiany rejestrów .text:0048B721 xchg ebx, esi .text:0048B723 neg ebx .text:0048B725 xchg ebx, esi 2. To jest dobre: .text:0048A617 mov [esp+0A8h+arg_8], esi .text:0048A61E mov [esp+0A8h+arg_C], edi .text:0048A625 mov [esp+0A8h+arg_10], 214h .text:0048A630 mov [esp+0A8h+arg_14], eax .text:0048A637 mov [esp+0A8h+arg_18], ecx .text:0048A63E add esp, 0A8h .text:0048A644 retn Zapisuje lokalne parametry na stosie funkcji po czym z niej wychodzi 3. Posługiwanie się 8 bitowymi rejestrami, gdy można skorzystać z 32 bitowych .text:0048A3F3 movzx ebx, [esp+0A8h+var_98] .text:0048A3F8 cmp bl, 0 .text:0048A3FB jz short loc_48A455 4. Jako jedyny kompilator na świecie sprawdza czy rejestr jest zerowy używając cmp zamiast test .text:0048A412 cmp ecx, 0 .text:0048A415 jz short loc_48A419 5. Używa niepotrzebnie instrukcji CLD oraz barier UD2 po wywołaniu wyjątku .text:00423350 mov ecx, large fs:14h .text:00423357 mov ecx, [ecx+0] .text:0042335D cmp esp, [ecx+8] .text:00423360 jbe short loc_423395 .text:00423362 sub esp, 10h .text:00423365 mov ebx, runtime_sliceError.tab .text:0042336B mov [esp+10h+i.tab], ebx ; i .text:0042336E mov ebx, runtime_sliceError.data .text:00423374 mov [esp+10h+i.data], ebx .text:00423378 call runtime_convI2E .text:0042337D lea ebx, [esp+10h+var_8] .text:00423381 cld .text:00423382 mov ecx, [ebx] .text:00423384 mov [esp+10h+i.tab], ecx ; e .text:00423387 mov ecx, [ebx+4] .text:0042338A mov [esp+10h+i.data], ecx .text:0042338E call runtime_gopanic .text:00423393 ud2 6. Nie potrafi wykorzystać wyników operacji logicznych do sprawdzania stanu rejestru (0 czy nie) .text:004020A9 mov ebx, ebp .text:004020AB and ebx, 20h .text:004020AE cmp bl, 0 .text:004020B1 jnz short loc_402116 Tutaj zbędna jest operacja cmp. Nie jest to kompilator najwyższych lotów i brakuje mu lata świetlne do LLVM i Intel-a.
  9. Ja byłbym ostrożny w używaniu czegoś co ostatnio było aktualizowane 2013-04-17, jak jeszcze nie korzysta z PDO i bezpiecznego przekazywania parametrów to lepiej sobie to odpuścić. Zawsze możesz poprawić kod i wprowadzić PDO wraz z weryfikacją i poprawnym przekazywaniem parametrów.
  10. Musisz dodać obsługę komend WM_COMMAND, czyli np. ktoś klika na button WM_COMMAND to przechwytuje, sprawdzasz ID kontrolki, z której wyszedł klik i wtedy odpowiednio reagujesz np. SetDlgItemText(hDialog, IDC_KONTROLKA, text); Do komunikowania się z kontrolkami okna wystarczy Ci aktywny uchwyt okna czyli w tym wypadku hDialog.
  11. Bartosz Wójcik

    Forum i chat

    phpBB dawno nie było aktualizowane, jednak jeśli chodzi o największą plagę czyli exploity także od bardzo dawna nie było żadnych luk dla tego systemu. Jeśli myślisz o czymś komercyjnym to polecam XenForo lub IPB. Na oba te systemy widziałem darmowe shoutboxy. Jeśli darmowe to SMF 2 lub MyBB. Sprawdź sobie też czy temat forum współgra z urządzeniami mobilnymi, to chyba obecnie największy trend i nie można o tym zapominać.
  12. Program do robienia kopii zapasowych w zwykłym druku http://ollydbg.de/Paperbak/
  13. Jak zauważyliście lub też nie, forum zostało zaktualizowane do najnowszej wersji systemu Invision Power Board. Główną nowością są "Kanały Aktywności", które zastąpiły nową treść. Można je swobodnie modyfikować do swoich potrzeb. Dla nas ważne są także zmiany wprowadzone w edytorze kodu, w końcu doszła opcja pozwalająca na wklejanie kodu bez jakiegokolwiek podświetlania. Jeśli macie jakieś pytania lub uwagi, piszcie śmiało. Obecnie dodaję tłumaczenia dla brakujących elementów interfejsu.
  14. Bartosz Wójcik

    Forum i chat

    To wszystko zależy jaki skrypt forum instalujesz. Jeśli forum posiada chat w formie wtyczki i dostępne jest na podstronie to nie ma problemu, żeby to podpiąć pod subdomenę. Tutaj mamy Invision Power Board
  15. Patrząc na rynek można odnieść wrażenie, że jedynie w HR pracują kobiety, wystarczy spojrzeć na ogłoszenia o pracę po GoldenLine czy na grupach Facebooka. Być może rzadko się ujawniają
  16. Daj linka do bloga, zawsze to rodzynek i inne spojrzenie
  17. Jeśli szukasz fajnych tutoriali dla Ruby na początek przygody z tym językiem programowania to polecam http://grubyblog.pl/categories/1-ruby-podstawy
  18. Część 2 https://www.compose.io/articles/what-postgresql-has-over-other-open-source-sql-databases-part-ii/
  19. To nie jest takie oczywiste, żeby używać, mi też jest łatwiej czytać źródło i widzieć jakie typy danych są zadeklarowane, a nie domyślać się po późniejszym patrzeniu na konstruktory. Jak var to lenistwo to co dopiero PHP
  20. Poradnik dla swoich programistów od firmy Airbnb dotyczący najlepszych praktyk programistycznych JS https://github.com/airbnb/javascript Fajny materiał, krótko i zwięźle
  21. Faktycznie, wcięło mi jedną zmienną, dzięki! Ty w haskellu też coś piszesz?
  22. Przechwytywanie wywołań do intefejsu D3D9 w grze StarCraft II posłużyło do stworzenia bota wykorzystującego AI do prowadzenia rozgrywki Skynet nadchodzi :P, http://graphics.stanford.edu/~mdfisher/GameAIs.html
  23. Jakby ktoś kiedyś szukał jak rozpakować aplikacje z AutoPlay to http://lifeinhex.com/static-unpacker-for-autoplay-media-studio-files/
  24. Musisz je tworzyć globalnie, a nie w obrębie jednej funkcji, jeśli chcesz z nich korzystać w późniejszych elementach gry. W C++ możesz utworzyć listę lub wektor zawierający wszystkie elementy. Pamiętaj żeby zadeklarować go np. jako element w klasie gry np. class gra { std::vector<TYP_PRZESZKODY> lista_przeszkod; void dodaj_przeszkode(TYP_PRZESZKODY &przeszkoda); ... }
×
×
  • Utwórz nowe...