4programmers.net
2019-11-23 10:04

4programmers organizuje konkurs :)

Żeby jakoś sympatycznie zakończyć rok 2019, zorganizowaliśmy dla Was konkurs. A tak właściwie, to będą 3 równoległe konkursy, żeby każdy użytkownik forum miał możliwość wykazania się w czymś, w czym czuje się mocny.

1) Ponieważ nagrodą będą wejściówki na konferencję, której patronujemy (Jako że patronujemy konferen... - mamy do rozdania 2 bilety), więc zadanie konkursowe będzie miało związek z tematyką konferencji, 4programmers oraz zbliżającymi się Świętami. Uczestnicy konkursu mają za zadanie stworzyć jakaś mini-stronkę pod hasłem "Motyw logo 4P w klimacie Świąt". Nie narzucamy żadnych konkretów, może być kiczowato w stylu lat 90-tych (latające za kursorem gwiazdki, bożonarodzeniowe jednorożce w tle, pełno marquee itp.), zabawnie, animowanie, skromnie lub z rozmachem - zaskocz nas. Stronę proszę umieszczać na jakimś swoim/darmowym hostingu, albo chociażby na platformach w stylu jsfiddle.net, a następnie linki do prac konkursowych proszę przesyłać w wiadomości prywatnej na konto użytkownika @4programmers.net. Termin przesyłania zgłoszeń - do końca listopada. Zwycięzcy zostaną ogłoszeni w poniedziałek 02 grudnia.

2) Konkursy na napisanie programu to żadna nowość. Ale jakby podejść do tego na wesoło? Zadanie konkursowe brzmi: "W USA spalanie samochodu określa się w ilośći mil, które się przejedzie na galonie paliwa. W Europie jednostką są litry na 100km. Napisz program, który będzie przeliczać spalanie z USA na Europę oraz odwrotnie". Zadanie proste, prawda? Haczyk jest w tym, że trzeba ten program maksymalnie skomplikować, pomysł na konkurs jest zainspirowany tym postem - https://4programmers.net/Forum/1630888. I nie chodzi o zastosowanie dziwnych nazw zmiennych oraz usunięcie białych znaków, tylko o napisanie całego algorytmu w maksymalnie zakręcony i over-engineered sposób. Można stworzyć kilka nadmiarowych klas, porzucać wyjątkami, może wykorzystać SQL albo wstawki w ASM. Zrób coś, przy refactorze czego programista będzie płakać przez kilka dni. Limit długości kodu to 300 linii. Język dowolny, ale program musi się dać skompilować oraz oczywiście zwracać poprawne wyniki. Zgłoszenia proszę przesyłać w wiadomości prywatnej na konto użytkownika @4programmers.net, wskazując język, w jakim zostało to napisane. Termin przesyłania - 07 grudnia. Nagrodami będą książki Mikroserwisy w akcji - https://ksiegarnia.pwn.pl/Mikroserwisy-w-akcji,792647719,p.html, mamy 2 sztuki do rozdania.

3) Jeśli nie pasował Ci żaden z wcześniejszych tematów, ale jednak chciał(a) byś sobie coś wygrać, możesz spróbować zawalczyć o jedną z 3 książek Programowanie funkcyjne w języku C# - https://ksiegarnia.pwn.pl/Pro[...]w-jezyku-C-.,801705991,p.html. Tym razem zadanie polega na stworzeniu wpisu na blogu i otagowanie go #konkurs2019. Konkurs dotyczy wpisów technicznych i merytorycznych - nie chodzi o zdjęcie kota, który płacze, bo musi pisać w PHP, tylko opisanie czegoś ciekawego, przydatnego, stworzenie wartościowej treści, która może ludzi czegoś nowego nauczyć. Z wpisów otagowanych w ten sposób, po 15 grudnia, wybierzemy 3 najbardziej wartościowe wpisy. Każdy użytkownik może stworzyć dowolną ilość wpisów. Wpisy otagowane konkursowo, ale nie zawierające merytorycznie wartościowych treści, będa kasowane.

Parę uwag dodatkowych:

  • każdy użytkownik może wziąć udział w każdym z konkursów niezależnie, może się zdarzyć, iż ta sama osoba otrzyma więcej niż 1 nagrodę
  • w ramach pkt. 1 i 2 można przesłać tylko 1 zgłoszenie. Odnośnie pkt. 3 nie ma takiego ograniczenia, ale w przypadku wysłania większej ilości zgłoszeń, jeden użytkownik może otrzymać tylko jedną książkę za swoje wpisy na blogu
  • w konkursach z pkt. 1 i 3, zwycięzcy zostaną wyłonieni przez administratorów oraz moderatorów forum. W przypadku konkursu z pkt. 2 - zostanie stworzony osobny wątek, w którym wszyscy użytkownicy będą mogli oddawać swoje głosy na najdziwniej napisany algorytm
  • zgłoszenia do pkt. 1 i 2 nie powinny zawierać w swojej treści informacji dotyczących autora rozwiązania (np. jego loginu z forum). Podczas głosowania na najlepszy kod z pkt. 2, wszystkie przesłane zgłoszenia będą opublikowane anonimowo. Jeśli któryś autor publicznie się przyzna do bycia twórcą danego kodu, zostanie zdyskwalifikowany.
  • osoba odpowiedzialną za prowadzenie konkursu jest @cerrato, wszelkie sprawy związane z konkursem proszę załatwiać bezpośrednio z nim. Konto @4programmers.net służy jedynie do przesyłania zgłoszeń, inne informacje, przesłane na to konto w sprawie konkursu, zostaną zignorowane.

Powodzenia :)

Mikan

Przyjdzie do głosowania i już słyszę @cerrato "trzeba anulowac bo przegramy"

cerrato

@Mikan: a czemu piszesz o mnie w liczbie mnogiej? :P

Aryman1983

Muszę się zastanowić :-)

PerlMonk

@cerrato: Może @Mikan uważa, że jesteś tak gruby, że ciała starczy na dwoje :D .

krancki

aaaahh Makarony, to co lubię najbardziej <3

TomaszLiMoon

Czy w "zadaniu 2" pojedyncza linia kodu posiada jakieś ograniczenia dotyczące maksymalnej liczby znaków lub instrukcji?

cerrato

@TomaszLiMoon: myślałem o tym, ale to chyba już nadmierne komplikowanie. Przyjmijmy, że w językach, które jakoś kończą linie (np. średnikiem) to linia jest do średnika. A w innych - trzymajmy się zdroworozsądkowego podejścia i nie róbmy linii-tasiemcow. Albo inaczej - algorytm ma być maksymalnie zakręcony i niezgodny ze standardami, ale co do długości linii działamy jak profesjonaliści ;)

wiciu

Ciekawe pomysły, ale zadanie nr 2 chyba nie przeszłoby mi przez klawiaturę :P.

cerrato

@wiciu: no to masz jeszcze zadania 1 i 3, jesli na drugie nie pozwala Ci klauzula sumienia ;)

LukeJL

zadanie 2 może być nawet kształcące i ciekawe, np. można zrobić te liczenia kilometrów na blockchainie i się jeszcze dzięki temu pouczyć trochę tych blockchainów. Albo można by użyć jakiegoś machine learning. Swoją drogą w zadaniu 2 można korzystać z zewnętrznych bibliotek czy API?

cerrato

Myślę, że zostanmy tylko przy bibliotekach standardowych danego języka/środowiska i skupmy się na rozgryzaniu, jak działa algorytm, a nie co robi dana funkcja z jakiejś zewnętrznej libki

Maciej Cąderek

@cerrato: Ad. 2 - Musi to być skrypt konsolowy? Server? GUI? Website?

cerrato

Nie ma znaczenia, byle wskazać język/technologie i żeby dało się to odpalić/skompilować. Aczkolwiek chyba najsensowniejsza jest apka konsolowa, bo odpada cała zabawa z GUI i możemy się skupić na samym algorytmie, nie tracąc czasu i linii na tworzenie UI.

TomRZ

W jaki sposób wyszukuje się po tagach na forum? Wpisuje w wyszukiwanie forum #konkurs2019 albo konkurs2019, i pokazuje co innego, zamiast postów oznaczonych tym hasztagiem. Musze koniecznie używać G do tego?

superdurszlak

@kubARek: meh, to będzie mało pomysłowe :P

cerrato

A wejdź po prostu w Swój post z tym tagiem i kliknij na niego. U mnie działa ;)

cerrato

Ale może niech @Adam Boduch się wypowie, bo być może mój sposób jest błedny/o czymś nie wiem.

Adam Boduch

na mikroblogach czy na forum? bo wyszukiwarka na forum przeszukuje forum. mikro to co innego. Link do wpisów z tagiem: https://4programmers.net/Mikroblogi/konkurs2019

TomRZ

Fajne by było jakieś zintegrowane wyszukiwanie plus rozpoznawanie tagów w postach forum i mikroblogów, i odpowiednie ich indeksowanie, a sama wyszukiwarka oparta np. o Lucene... ale wiadomo, napisanie tego zabiera czas :)

Adam Boduch

Wyszukiwarka jest oparta o Elasticsearch. Jeżeli byłbyś w stanie pomóc w jej skonfigurowaniu tak aby było "dobrze" to zapraszam :)

TomRZ

Nie znam się na Elasticsearch i niczego nie obiecuję, ale może w weekend sobie poczytam o tym, i coś wymyślę.

Adam Boduch

Elasticsearch oparte jest właśnie na Lucene + REST API do odpytywania. Tutaj mamy np. wyniki wyszukiwania frazy #konkurs2019: https://4programmers.net/Search?type=microblogs&q=%23konkurs2019 Jak widzimy, wyszukiwarka rozdziela tutaj liczbę 2019 od słowa. Hashtag nie jest usuwany według obecnej konfiguracji.

TomRZ

Jest prawie dobrze, tylko trzeba zrobić tak aby posty z tym hasztagiem przy wyszukiwaniu hasztaga dostawały najwiekszy score, większy od samej daty 2019. Kiedy będe miał czas to coś poszukam.

Manna5

Może być jakiś kod po stronie serwera?

cerrato

@Manna5: w sensie jakiś skrypt w PHP albo czymś pokrewnym? Oczywiście :)

TomRZ

@Adam Boduch: jak patrzę na wyniki wyszukiwania: https://4programmers.net/Search?type=microblogs&q=%23konkurs2019 to w sumie wszystko byłoby dobrze, tylko jakoś mojego postu brak, jakby się nie zaindeksował. Poza tym na samej górze jest jeszcze jeden jedyny post który jest z hasztagiem konkursowym, czyli ok pod względem priorytetu wyświetlania.

Tonyu

2) Sonar i code smell może się przydać inaczej niż zwykle. :)

Azarien

@Pipes: powinno chyba raczej być "unlearn you must what learned you have"

Pipes

@Azarien: Hehe, jesteś większym Yodą niż sam Yoda :D

Manna5

Ile litrów to galon?

Maciej Cąderek

@Manna5:

litersPerGallon = 3.785411784
kilometersPerMile = 1.609344
stryku

@cerrato: Zapytam tu bo może ktoś też się zastanawia. Czy dla 2) jest jakoś zdefiniowany format wejścia i wyjścia?

cerrato

W sumie nikt o to nie pytał. Moim zdaniem jest to sprawa wtórna, ważna jest magia, która się dzieje pomiędzy in oraz out

cerrato

Słuchajcie - sprawa wygląda tak, że nie wpłynęły żadne zgłoszenia do pkt. 1. Trochę to przykre, ale nie będziemy się obrażać ;) Faktem jest, że szkoda, żeby wejściówki się zmarnowały, więc dwie pierwsze osoby, które się do mnie odezwą, otrzymają darmowy wjazd na konferencję. 3 ... 2 ... 1 ... START

Miang

ja kiedyś w ten sposób pierwsza drugą i trzecią nagrodę wygrałam, byłam jedyna co się zgłosiła

cerrato

@Miang: ale na 4P czy w innym miejscu?

Miang

w miejscu pracy, konkurs był dla wszystkich firm na terenie biurowym, zrobiłam zdjęcie tak sobie wyszło ale wymyśliłam fajny komentarz , co najmniej
liczyłam na jakieś wyróżnienie

stryku

Czy zgłaszając zadanie możemy się spodziewać potwierdzenia, że zostało zaakceptowane do konkursu?

cerrato

myślę, że jest taka możliwość ;)

anonimowy

@cerrato: ja wysłałem i od kilku dni nie dostałem potwierdzenia

cerrato

czekaj, zaraz rzucę okiem i dam Ci znać. Po prostu, mówiąc całkiem szczerze, jakoś opadł mi entuzjazm po tym, jak ludzie totalnie olali pkt.1 :(

anonimowy

Ja się zastanawiałem nad pkt. 1. ale zanim zacząłem to już było napisane, że koniec :P I pamiętajmy, że to po prostu forum programistyczne i mało tu ludzi co lubią grafikę. A wręcz często ludzi to odpycha, nagrody też takie sobie bo takie dosyć specyficzne, ja jak brałbym udział to zrezygnowałbym z nagrody, a widzę, że termin był mały to już rozumiem, czemu tak szybko

gk1982

Może za mało czasu było, ludzie zarobieni. Pozatym to bardziej do grafików i artystów, a nie dla programistów ten pkt. 1.

cerrato

No być może. Zobaczymy, jak pójdą pozostałe, chociaż póki co to szału nie ma... Na pkt 3 mamy chyba tylko jeden wpis, a na 2 wpłynęło dosłownie kilka zgłoszeń.

TomRZ

Ludzie to statsiarze, zróbcie jakiś hall of fame wszystkich konkursów i punkty, to od razu będzie więcej zgłoszeń ;)

cerrato

Jakoś nie jestem tego taki pewien. Jak już pisałem wyżej - straciłem resztki wiary w ludzkość.

Tomek Pycia

A kiedykolwiek miałeś ja @cerrato?

cerrato

No kiedyś jeszcze się zdarzało, czasami i rzadko, ale się zdarzało. Teraz już zupełnie to umarło...

TomRZ

@cerrato: Zależy też jakie masz oczekiwania od ludzi, i jakie podejście. Trzeba być też realistą.

Silv

@cerrato: to nie pasuje. Społeczność 4p to społeczność 4p. Należy do niej podchodzić jak do społeczności 4p, a nie jak do całej ludzkości.

somekind

A może ludzie po prostu nie wierzą, że @cerrato im te nagrody wyśle, więc nic chcą tracić czasu na konkurs?

anonimowy

Ja nie chcę nagrody a wziąłem udział

cerrato

@anonimowy: czyli rozumiem, że jeśli byś coś wygrał, to tobie starczy sama satysfakcja, a książkę mogę przytulic? :p

anonimowy

@cerrato wtedy ja zrobię konkurs gdzie to będzie główna nagroda :P

cerrato

i tak samo się rozczarujesz, co ja :P

anonimowy

@cerrato dla mnie jak jedna osoba weźmie udział to będzie fajnie :P Kiedy będą wstawione kody :D?

cerrato

moze dzisiaj będę miał chwilę żeby do tego przysiąść, jakoś pod wieczór.