Madaoo
2013-10-07 00:31

w mikroblogu będę opisywał, jak realizuje trzy zewnętrzne po za praca projekty, jak znajdę jakieś ciekawe rozwiązania jakieś problemu i może one będą pomocne dla innych osób.

Projekty które wytwarzam:

  • Moja strona domowa(tworze Ją w wolnym czasie języki używane to Ruby, JS, HTML)
  • System monitorowania sieci (Język Java plus do tego wykorzystywanie protokołu SNMP - pisanie własnego agenta SNMP miedzy innymi w projekcie)
  • Serwis Webowy (Znów język programowania Ruby)

I takim pierwszym wpisem, zacząłem swój mikrolog - mam nadzieje, że będę dzielnie realizował to.

Adam Boduch

@Madaoo: Zycze powodzenia i wytrwalosci :)

Patryk27
2013-10-06 22:08

Programista to narzędzie, które zamienia kawę i pizzę w kod źródłowy ;)

#jokes

Patryk27

@madmike: whaaaaat :C Mi się ten żart spodobał :P

Adam Programmer

@Patryk27: Chyba dobry programista :) Niektórzy programiści to czasem zmieniają kod w spaghetti :)

ubuntuser
2013-10-06 21:28

Mój pierwszy, testowy wpis na mikroblogu.
Nic programistycznego nie powiem, ale około komputerowego już tak.
Dziś poznałem Dynamic Topology Sculpting w Blenderze - teraz modelowanie takich rzeczy jak np. postacie staje się prostsze, bo wierzchołki dodawane są automatycznie, nie trzeba dzielić obiektu za pomocą multiresa przed rozpoczęciem rzeźbienia. A także poznałem ciekawą funkcję jaką jest klonowanie podczas nakładania tekstury na obiekt. Na bieżąco można poprawiać teksturę, gdy już "leży" na obiekcie.
Głowa, którą udało mi się dziś stworzyć (nie jest specjalnie dopracowana, ale dużo się na niej nauczyłem). Oczy wyglądają, jakby był zapłakany :D http://i.imgur.com/gV68Szn.jpg
Niedługo mam zamiar pobawić się w JMonkeyEngine, który nie dość, że jest Javowym silnikiem, to jeszcze importuje modele (oraz inne rzeczy) z Blendera. Jestem podjarany.

Artur Protasewicz

@ubuntuser: Cieszę się, że ktoś jeszcze, choćby i testowo, pisze na mikroblogu. Spotakłem się z modelowaniem ruchu tzw. motion picture, czyli jest sobie aktor oblepiony lampkami w punktach najważniejszych do opisania trajektorii ruchu np. ręki i się go filmuje w ciemności, a potem wrzuca krzywe ruchu lampek do stacji graficznej. To moje prymitywne spojrzenie laika i pewnie stara technologia. A może łzy fluorescencyjne sfilmować? Może nie fluorescencyjne, ale świecenie soku z cytryny nad świecą - tzw. atrament sympatyczny. W ochronie lotnisk sprawdza się analiza tylko śladów stóp, bo łatwiej to przetworzyć, a krok terrorysty jest specyficzny im bliżej jest ataku. I w takim kontekście mnie to interesowało prawdę mówiąc.

Adam Boduch
2013-10-06 18:25
  • Możliwość oddawania głosów na posty w przyklejonych wątkach
  • Możliwość filtrowania po rozwiązanych wątkach oraz po dacie napisania ostatniego posta
  • Forum: powiadomienia od użytkownika anonimowego mogą zawierać jego login
  • Dodano nowe powiadomienie, o tym, że ktoś pozytywnie ocenił mój post
  • Powiadomienie użytkownika w momencie, gdy wątek który obserwował, został usunięty
  • Poprawiony błąd wklejania tekstu ze schowka na forum (tylko FF)

#coyote

Adam Boduch

@madmike: Ok, bede tak robil :) Poki co tez na fb wrzucam :)

Demonical Monk

@Adam Boduch: Tym razem się nie wpiszę w sprawie żadnych zmian, ja dla odmiany piszę coś dużego do podniesienia bezpieczeństwa ;)

Endrju
2013-10-06 14:30

Wczoraj na forum znów pojawiła się superoptymalizacja z przesuwaniem w prawo. Wszyscy wiemy, że value / 2 oraz value >> 1 to dla typów całkowitoliczbowych bez znaku to samo. Każdy normalny kompilator nie wykorzysta w takiej operacji kosztownego dzielenia, tylko zamieni je na przesunięcie bitowe. (Pewnie są takie, które tego nie zrobią, ale w końcu są też ludzie, którzy używają IE 6 - kogo to obchodzi w 2013 roku)

Jeżeli między tymi zapisami nie ma różnicy, to który stosować? Oczywiście oba. Bo jest różnica - semantyczna. Komputer nie wie co oznaczają nasze zmienne, to tylko ciągi zer i jedynek. Programista jednak ma taką wiedzę i powinien ją wykorzystać, żeby kod był maksymalnie czytelny.

I tak: Jeżeli zmienna przechowuje liczbę zawsze powinno się używać dzielenia - przecież przy obliczaniu pola trójkąta nie przesuwamy bitowo wysokości w lewo, tylko dzielimy ją przez dwa. Jeżeli zapisujemy dane do rejestru licznika, to niczego nie dzielimy bo to nie są dla nas liczby - wartości binarne przesuwamy i maskujemy.

Warto dodać, że dla liczb ze znakiem nie ma nawet nad czym się zastanawiać - zawsze należy używać dzielenia.

Ola Nordmann

@Endrju: Chciałbym jeszcze dodać, że przy liczbach zmiennej precyzji też nie może być mowy o przesunięciach bitowych.
I notka dla wtajemniczonych - rotacje bitowe pozwalają na szybkie dzielenie/mnożenie przez kolejne potęgi dwójki LICZB CAŁKOWITYCH DODATNICH + 0 (czyli unsigned).

Azarien

@Endrju: kogo obchodzi IE6? powinno obchodzić autorów stron z innymi przeglądarkami. zainstalujesz XP, masz tylko IE6. obecnie nie da się prawidłowo wejść i ściągnąć ani IE8 ani Firefoksa, mając tylko IE6. Chrome się udało.

SpreadIT
2013-10-06 13:37

Kolejne tematy prelekcji na konferencji SpreadIT ujawnione!
Oto i one:

  • “Scalable web apps: execution time vs development time” – Piotr Pelczar
  • “Test Driven Development - Iteracje^2” – Szymon Homa
  • “Od HyperText do HyperData, czyli client-side MVC” – Paweł Trojanek

Zapraszamy wszystkich chętnych oraz wszystkich neizdecydowanych :)

Demonical Monk
2013-10-06 13:14

Marzec 2013. Oles z #OVH wyśmiewa konkurencję:
http://imgur.com/mNLrxQn

#fail #epicfail #hosting

Koziołek

@Demonical Monk: Ojtam, ojtam... swoją drogą jest to kolejny dowód na to, że w szeroko pojętym IT nie należy nikogo krytykować za model biznesowy, bo można się samemu na to nadziać.

Demonical Monk
2013-10-06 13:08

Niedawno zasłyszany suchar. Jedzie webmaster pociągiem i cały czas słyszy:

--- END SUCHAR ---

#webdesigner #suchar

AlfaLeporis

@Demonical Monk: Ten dowcip leży już tutaj ponad dwa dni i za każdym razem jak wejdę na 4programmers to mi się coś w żołądku już dzieje :) Kiedy to to poleci w dół?

Demonical Monk

@AlfaLeporis: Jak zbierzesz ekipę do plusowania innych rzeczy w zakładce "Mikroblog", działaj ;)

Artur Protasewicz
2013-10-06 09:51

Słownik "Bułka z masłem": A4, Word, Times New Roman 12, marginesy normalne

Krótkie uzupełnienie do artykułu:
Regułowy System ekspercki / Rule-driven expert system

"Na początku było słowo," (Jan 1,1) – tego nigdy nie zrozumiem. Ludzki mózg, to nieodgadniona tajemnica, a mózg programisty jest po prostu arcydziełem (pytanie czyim: Boga, czy ewolucji, czy tajemniczego sprawcy z kosmosu?) Oto, jak trudno jest powiedzieć słowami to, co mózg programisty rozumie po jednym spojrzeniu na kod. Sam nie wiem, ile jest moich błędów w słowniku "Bułka z masłem" poniżej. Tym bardziej nie rozumiem, że "Na początku było słowo,"(?)

/*Zwróć fragment wniosku w formie słownej znajdujący się w pewnej kolumnie i pewnym wierszu tabeli z regułami wnioskującymi.*/
String Conclusions(int Column, int Row) 
      return (String)grdConclusions[Column, Row].Value;

/*Jeśli operator o numerze Index znajdujący się w kolumnie RelacjaAB (inaczej w kolumnie operatora pomiędzy faktem A i faktem B) jest ORAZ ("I", "and"), do części ścieżki lub bieżącej ścieżki uzasadnienia "dlaczego?" dla relacji Fakt A ORAZ Fakt B dodaj tekst złożony z nazwy faktu A i nazwy faktu B połączonych iloczynem logicznym, ujęty w nawiasy okrągłe.*/
if (Conclusions(abRelationCol, ConclusionIndex) == "and")
      sFact += "(" + FactA + " and " + FactB + ")";

/*Jeżeli rezultat warunku logicznego jest true (prawda), do ścieżki uzasadnienia "dlaczego?" dodaj zdanie twierdzące, że wniosek zachodzi (is true = jest prawdą) i zmniejsz wcięcie oraz zwróć potwierdzenie prawdziwości wniosku.*/
if (result) { WhyPath("conclusion " + Conclusion + " is true"); Nested--; return true; }

/*Czy zachodzi fakt A dla wniosku o indeksie Index dla kandydata Candidate na męża dla Alicji?*/
IsFactA(int ConclusionIndex, String Candidate)

/*Jeżeli i-ty fakt w kolumnie "Obiekt" tabeli fakty to imię kandydata na męża dla Alicji i kandydat ma cechę nazwaną tekstem FaktA, do ścieżki uzasadnienia "dlaczego?" dodaj zdanie twierdzące, że FaktA zachodzi (is true = jest prawdą) dla danego kandydata i zmniejsz wcięcie oraz zwróć potwierdzenie tego, że zachodzi faktA dla kandydata Candidate.*/
if (Facts(objectCol, iFact) == Candidate && Facts(attributeCol, iFact) == FactA) {
      WhyPath("fact " + FactA + " is true for " + Candidate); Nested--; return true;
}

/*Dla każdej osoby spośród kandydatów na męża dla Alicji, jeżeli równocześnie prawdziwy jest wniosek mówiący, że Alicja może poślubić daną osobę i fałszywy jest wniosek mówiący, że Alicja nie może poślubić danej osoby, do zbioru osób, które może poślubić Alicja dodaj kandydata.*/
foreach (String Person in Persons) { 
      if (Is("can marry", Person) && !Is("cannot marry", Person)) result.Add(Person);
}
aurel

@Artur Protasewicz: Ale czym właściwie jest "słowo"? Za wiki: "zespół dźwięków mowy ludzkiej będący symbolicznym oznaczeniem jakiegoś pojęcia". Znaczy to IMHO mniej więcej tyle, że stworzenie nie było przypadkowe, lecz właśnie na początku było słowo (znaczenie, pojęcie, wyraz woli Boga), a dopiero na jego podstawie - stworzenie. Nie na odwrót ;)
A to wszystko tylko pod warunkiem, że przejdziemy ponad interpretację oczywistą - słowo jest synonimem Jezusa ;) (co wynika z dalszej części tekstu: "Słowo stało się ciałem i zamieszkało wśród nas. Oglądaliśmy Jego chwałę, którą jako Jednonarodzony, pełen łaski i prawdy, ma od Ojca.")