Hagefid
dziś, 09:12

Opublikowałem nowy artykuł z cyklu tworzenia własnego komputera w symulatorze Logisim.

https://przemyslaw.holownia.i[...]uklady-dodajace-i-odejmujace/

Opisuję w nim:

  • systemy liczbowe (szesnastkowy, dziesiętny, ósemkowy, dwójkowy),
  • sposoby dodawania binarnego,
  • zapisu liczby ujemnych w różnych systemach:
    • Znak-Modul (ZM),
    • Uzupełnień do 1 (U1),
    • Uzupełnień do 2 (U2)).

Pokazuję także jak zbudować:

  • półsumator jednobitowy,
  • pełny sumator jednobitowy,
  • 8-bitowy sumator,
  • 8-bitowy układ umożliwiający odejmowanie 8-bitowych liczb.
Hagefid

@furious programming: Dziekuję za sugestię i już dodaję spis treści z linkami :) Z pewnością będzie przydatny.

furious programming

Trochę rzeczy jest do poprawy. Nie podoba mi się nazywanie najstarszego bitu, bitem pierwszym z lewej – mało fachowe określenie. Reszta merytorycznie w porządku, jednak wiele do życzenia pozostawia formatowanie oraz język:

  • niektóre pary paragrafów nie są rozsunięte,
  • dość losowo stawiasz przecinki – gdzieniegdzie ich brakuje, a w innych miejscach jest ich za dużo,
  • dużo powtórzeń,
  • miejscami formatowanie rozjeżdża się lub jest złe (np. puste pola kodu).

Na pierwszy rzut oka to tyle. Jeśli o poprawność językową chodzi, to polecam narzędzie LanguageTool. ;)

wartek01
wczoraj, 00:29

Trochę o tym, jak działają niektórzy PMowie.

Jako konsultant IT jednym z moich obowiązków jest sprawdzanie, co zespół developerski chce zrobić (i jak) i ocenienie, czy w ogóle to przejdzie przez procedury korporacyjne tak, żeby w połowie drogi nie zorientowano się, że koncepcja nie ma szansy zadziałać..

Całość rozbija się o skorzystanie z gotowego modułu, który jednak nie jest przystosowany do obowiązujących wytycznych ds. bezpieczeństwa w firmie. Tzn. można z tego korzystać, jeśli aplikacja będzie działać wewnętrznie, ale nawet nie chcę myśleć co by się stało gdyby została wystawiona jako aplikacja "dla świata".

PM oczywiście docieka, czemu muszą władować środki w coś, co już działa. W tym momencie popełniłem fatalny błąd ponieważ stwierdziłem, że z technicznego punktu widzenia zadziałać to może i zadziała ale żaden compliancy-check lub audyt tego nie przepuści. Oczywiście słowo-klucz "zadziała" przebiła się do świadomości, natomiast cała reszta zdania straciła jakby na znaczeniu.

Osoby dramatu:

  • PM - niepolskojęzyczny, angielski też nie jest jego pierwszym językiem.
  • Technical Leader - Polak, od kilku lat w organizacji

PM: So we can use this module?
TL: No, we can't,
PM: Why not? We've just heard we can.
Ja: I said no such thing.
PM: You just said we can use it.
TL: What did you hear?
PM: That we can use it.
TL: When?
PM: Just a moment ago.
Ja: I also said it's not security-compliant.
PM: But it may work? From technical point of view?
Ja: From technical point of view it may work but...
PM: So we can use it.
TL: Ku++a (+ facepalm)
PM: Don't think I am stupid. I know what "ku++a" means.

wartek01

Chodzi o to że oni chcieli najpierw rozbudować a później wystawić ten moduł - który do teraz działał w intranecie - na zewnątrz. Bez żadnych zmian w security itp. PM usłyszał, że to tylko kwestia otwarcia firewalla, natomiast ja od razu rzuciłem że będą musieli przerobić logowanie, co TL oszacował w wycenie powołując się na mnie. PM zwołał spotkanie, resztę już znacie...

karsa

gruba struktura organizacyjna ;]

katelx
2018-02-16 16:59

chyba kazdego programiste co jakis czas nachodzi ochota na napisanie czegos od zera, albo przynajmniej po swojemu. chodzi mi o problemy ktore sa juz dobrze poznane i rozwiazane, a patterny (czy nawet gotowce) sa dostepne po paru kliknieciach, a mimo to wolimy poswiecic tygodnie zycia na rozwiazywanie ich po swojemu z przeswiadczeniem ze bedzie to lepsze, albo ze przynajmniej bedziemy sie przy tym dobrze bawic i czegos sie nauczymy.

zdarza mi sie spedzac 10x wiecej czasu na zadaniu bo nie chce po prostu dokladac ifa, choc wiem ze team bylby z tym ok a refactoring moze okazac sie bledogenny, innym razem spedzam tydzien na tuningowaniu swojej implementacji selectorow choc wiem ze netty by w zupelnosci wystarczyl.
staram sie jednak nie przesadzac :) natomiast ostatnio zetknelam sie z prawdziwym przypadkiem koderskiej sraczki i zastanawia mnie szczerze jaka byla motywacja osoby (swoja droga doswiadczonego kodera i "bardziej senior" kolegi) ktora wy...produkowala takiego potwora.

zadanie wydawaloby sie proste, nalezy porownac performance algorytmow wewnatrz firmy vs performance rynku, tzn zebrac dane z tego co sie wydarzylo na kilkunastu gieldach + to co wyslalismy my, wrzucic to do bazy i dac znac analitykom zeby sobie z tego wyciagali wnioski.

logicznym byloby:
1) podpiac sie pod jakiekolwiek proxy miedzy algorytmami a gielda, wyciagnac z przesylanych komunikatow potrzebne dane i wrzucic to do bazy

ale po co gdy zamiast tego mozna (oczywiscie nie posilkujac sie zadnymi zewnetrznymi libkami jak amatorzy):
1) zawalic kod algorytmow logowaniem, bez jakiegos szczegolnego porzadku/regul/formatu
2) napisac w javie serwis parsujacy logi i wrzucajacy interesujace linijki do nowego skompresowanego pliku. serwis taki rzecz jasna musi dzialac na tym samym boxie co algosy, co daje kilkadziesiat nowych procesow zawracajacych glowe swoim statusem
3) napisac w javie serwis ftp ktory pozwala na sciagniecie sparsowanych logow, oczywiscie jak wyzej - deployment na kazdy box
4) napisac w javie superobiektowy (mala klasa na kazda metode ;)) generator db schema i dml na podstawie logow i ladujacy to do nowo powstalej bazy mysql
5) napisac w scali serwis webowy do analizy performance oferujacy 0.01% funkcjonalnosci obecnie uzywanego przez analitykow systemu, nie udostepniac go poza dev bo brakuje zintegrowanej z korpo autentykacji/autoryzacji
6) napisac w javie serwis webowy do sciagania dumpu tabel z mysql za dany dzien i dac do niego dostep jednemu z analitykow.

wspomniany w punkcie 6 analityk codziennie rano sciaga dane za poprzedni dzien, laduje to do swojej bazy przy uzyciu jakiegos komercyjnego narzedzia etl ktore dostosowuje dane do wymaganego formatu.
tzn juz nie sciaga bo cos sie psuje miedzy punktem 3 a 4 i nikt nie wie co. oryginalny autor zmienil team a jego "dzielo" nie figuruje w budzecie, naprawdopodobniej ktos bedzie mial sie okazje popisac swoim rozwiazaniem za pare miesiecy jak bedzie trzeba zrobic raport z performance ;)

z innej beczki, w ramach wykorzystania zeszlorocznego budzetu i tego ze kiedys zajmowalam sie implementacja algo dla mutual market access (dla zainteresowanych https://www.hkex.com.hk/Mutual-Market/Stock-Connect?sc_lang=en) zostalam dolaczona jako 'ekspert techniczny' do wizyty u jednego z naszych chinskich klientow.
w ciagu jednego dnia bylam na szczycie drugiego i czwartego co do wysokosci budynkow na swiecie (https://en.wikipedia.org/wiki/Shanghai_Tower i https://en.wikipedia.org/wiki/Ping_An_Finance_Centre), musze sie zglosic do ksiegi guinessa ;)
w sieci jest sporo filmikow z szanghajskiego budynku, za to nowy wiezowiec w shenzhen nie jest jeszcze chyba oficjalnie otwarty dla zwiedzajacych, podejrzewam ze gdy sie to stanie to sporo ludzi oszaleje na punkcie szklanych podlog przy krawedzi, ciekawe kiedy ktos postanowi sprawdzic wytrzymalosc ;))
mam straszny lek wysokosci ale odwazylam sie na podejscie z mysla ze (nawet w chinach) wiezowce nie sa budowane przez software engineerow wiec nie ma sie czego bac (ale tym "100kg" z niebieskiej plakietki juz nie zaufalam)

Plissken

Szkoda że cała się nie pokazała... albo chociaż stópki ;)

katelx

@jarekr000000: jak jestes niezaleznym ekspertem "ratujacym" projekt to jasne, gorzej gdy "tech lead" projektu stwierdza "dodaj tam ifa i bedzie" ;) @zerogravity zawsze chcialam byc blogerka modowa ale nigdy nic z tego nie wyszlo... to moze chociaz mikroblogerka ;)

LukeJL
2018-02-16 16:05

potwierdziło się to, co zawsze myślałem: czatboxy na stronach internetowych to głupota, która tylko wkurza użytkowników i prowokuje do pisania przekleństw i wyżywania się, bo wszyscy myślą, że to boty (ja już nieraz się tak naciąłem, że piszę jakieś przekleństwa, a się okazuje, że to człowiek): https://news.ycombinator.com/item?id=16389666

czysteskarpety

jeśli nie są nachalne, że wylatuje ci popup "napisz do nas" na pól strony to jeszcze ok, ale ogólnie to jak questbooki czy zakładki social media, raczej stare czasy, tym bardziej na mobile... ale janusze mają swoje wymagania i jak trza to trza ;)

Julian_

ja tam zawsze jeste miły, nawet dla botów.