Jun 23

Postanowiłem zbudować własnego, dużego robota. Trochę elementów udało mi się już zdobyć. No ale przedstawiając pokrótce:

Dzień 1

Wymagania:
- jazda na gąsienicach
- możliwość poruszania się po schodach
- masa własna <25kg
- możliwość przewiezienia ładunku 10kg po schodach
- Zasilanie z akumulatora 6V (skuter)
- Sterowanie przez WIFI :D
- Przesyłanie LIVE obrazu z pokładu.

Co mam:
- doświadczenia
- narzędzia warsztatowe
- silniki(chyba od wkrętarek) z dołączoną przekładnią planetarną.
- 8 arkuszy A4 polisteru
- różne kleje
- kupę żelastwa
- starą obudowę od komputera(stalowa rama midi Tower)
- paski klinowe o długości 1,3m <- To będą gąsienice!!! Warto zapytać w pobliskim warsztacie samochodowym czy mają jakieś zużyte.

Zabawa szykuje się przednia :) Już jutro efekt pierwszych prac.

Autor admin \\ tagi: , ,

Jun 10

Jestem posiadaczem ASUS-a K70IO i od jakiegoś czasu miałem poważny problem z matrycą. Dokładnie to potrafiła gasnąć lub cała się świecić bez przyczyny chociaż najczęściej działo się to kiedy ekran miał dużo ciemnych elementów. Szukałem wielokrotnie rozwiązania na różnych forach jednak bezskutecznie. Zabrałem się zatem sam za to i udało się. Nie jest to takie trudne. Oto lista kroków jakie trzeba wykonać:

1. Pobieramy nowe sterowniki BIOS ze strony asusa. Ja pobrałem obecnie wersję 220 jednak jeśli jest nowsza to ją pobieramy.

2. Znajdujemy jakiś pendrive i wgrywamy na niego rozpakowany plik. Jego nazwa kończy się numerem wersji

3. Uruchamiamy ponownie komputer

4. Przy starcie systemu naciskamy F2 aby wejść do biosu

5. Przechodzimy na zakładkę “ADVANCED” a następnie uruchamiamy opcję Easy Flash. System zapyta nas czy chcemy go uruchomić oczywiście potwierdzamy

6. Znajdujemy literkę której przyporzątkowany jest nasz pendrive i szukamy wgranego pliku

7. Zaznaczamy go klikając ENTER

8. System pyta sie czy chcemy zainstalować/flashować nowy bios – potwierdzamy

9. Bios się w tym czasie załaduje na nowo i zweryfikuje, jeśli wszystko będzie ok to komputer wyłączy się.

10. Po włączeniu ponownie wszystko powinno być ok.

Życzę powodzenia

Autor admin \\ tagi: , , , , ,

Apr 26

Jeśli jesteś ambitnym człowiekiem i chciałbyś się w przyszłości zająć taką dziedziną wiedzy jaką jest Informatyka to dobrze wybrałeś. Informatycy od kilku już lat są w czołówce jeśli chodzi o ilość wolnych miejsc pracy oraz płace. Jednak tak jak Lekarz czy budowlaniec ma swoje specjalizacje no i płace są różne. Postanowiłem się przyjrzeć rynkowi pracy i co zauważyłem:

- Większość (90%) ofert dotyczy tylko dużych miast.
- W mniejszych miejscowościach płace są niskie i ofert mało.
- Najbardziej poszukiwani są programiści PHP oraz JAVA
- Jednocześnie tych 2 języków ze spokojem można się nauczyć samemu jednak ważne jest doświadczenie.
- Startując np w Poznaniu na start dostaniesz 12-15zł/h “na rękę”
- Mając doświadczenie możesz liczyć na pensję rzędu 3-8 tys. zł
- Rynek programistów jest nienasycony, ciągle ktoś jest poszukiwany
- Jeśli chcesz montować komputery albo bawić się w ogólnie pojęty “helpdesk” zapomnij o łatwym znalezieniu stanowiska i dobrej pracy.

Autor admin \\ tagi: , , , ,

Apr 17

Miło mi poinformować, że wszystkie strony internetowe jakie hostuję zostały przeniesione na nowy hosting. Plusy są ogromne. Większa przestrzeń dyskowa, szybsze serwery, bardziej dogodna konfiguracja. Mam nadzieję, że wszyscy właściciele stron internetowych z Gniezna i Poznania będą zadowoleni(nowy serwer znajduje się w Poznaniu).

Autor admin \\ tagi: ,

Feb 18

W ostatnim wpisie pisałem ile wydamy na serwer dla naszej strony. Koszty mieściły się w granicy paruset złotych rocznie do nawet 500zł miesięcznie. Zatem rozrzut jest. Pytanie co się opłaci bardziej. Mała strona filmy produkującej np drzwi do mieszkań czy też duży portal społecznościowy. W tym celu trzeba odpowiedzieć sobie na kilka pytań.

1. Do czego służy mi strona.

No cóż wydawać by się mogło, że im więcej reklam na stronie tym więcej zarobimy. Otóż nie. Jeżeli mamy firmę wykonującą pewne usługi lub produkującą jakieś rzeczy to wstawianie reklam na swojej stronie mija się z celem. Strony takie są z reguły rzadko odwiedzane, ale za to przez konkretne grupy zainteresowanych klientów. Wstawiając reklamę podrzucamy sobie pod nogi dwie kłody. Jedna to taka że klient który wchodzi na naszą stronę jest sprecyzowany na zakup produktu takiego typu jaki sprzedajesz. Mało prawdopodobne by wchodząc na Twoją stronę szukał czegoś innego. Tym samym problemem jest że wrzucając reklamy np google adsense promujesz na swojej stronie tak naprawdę konkurencję. Zatem mając firmę Należy bardzo przemyśleć możliwość umieszczania na stronie reklam. Z dużym naciskiem na ich niezamieszczenie.

Inna kwestia kiedy mamy serwis internetowy, który nie ma innej możliwości zarabiania na siebie. Tu już jesteśmy niemal skazani na reklamy choć niekoniecznie.

2. Wybieramy reklamodawców

Ktoś w końcu musi nam płacić za to, że reklamujemy jego stronę. Mamy do wyboru dwie podstawowe drogi:
a) Sami znajdujemy reklamodawców. Możemy wybrać reklamy typu mailing, reklama graficzna, artykuł sponsorowany.
b) Korzystamy z gotowych programów afilacyjnych, najlepszymi moim zdaniem są:

1. Google Adsense – Najpopularniejszy na świecie. Dostajemy wypłaty w zamian za każde kliknięcie w reklamę. Wartość każdego kliknięcia zależy od wielu czynników między innymi od branży. Im większa walka o klienta w danej dziedzinie tym większe stawki. Ale również uzależnione jest to od tematyki naszej strony. Z tego względu że gogle dostosowuje reklamę na stronie do jej treści i tym samym mając stronę o grach będą na niej emitowane w większości reklamy o grach. Biorąc pod uwagę, że rynek gier jest najpopularniejszy i najwięcej powstaje stron na jego temat to i wypłaty sa symboliczne rzędu kilku-kilkunastu centów za klika. Inaczej się ma za to sprawa w promowaniu produktów finansowych. Konkurencja w tej branży jest ogromna to i zyski są spore. Od kilkunastu do kilkudziesięciu centów za klik. Zdarzają się też kliknięcia powyżej dolara ale to sporadyczne historie.

2. Tradedoubler – Drugi po google gigant w afilacji. Tu już reguły są zupełnie inne. W tym programie to my wybieramy jakie reklamy chcemy umieścić na naszej stronie. Oczywiście reklamodawca tez musi się na to zgodzić. Wszystko jednak się załatwia za pośrednictwem serwisu i nie ma żadnych papierków do wypełniania. Można powiedzieć, że jednym kliknięciem załatwiamy wszystko. Tu kwota za klika jest inna. Za samego klika dostajemy od 0 do 30gr. Bardzo mało w porównaniu z pierwszą firmą. Jednak tu na samym kliku się nie kończy. Osoba która kliknie na naszą reklamę jest automatycznie polecona przez nasz. Za polecenia mamy całkiem spore korzyści. Np operator komórkowy za takie polecenie zapłaci nam 50% wartości zamówionego abonamentu jeśli ta osoba wykupi u nich abonament. Albo reklamując jakis sklep internetowy otrzymamy 10% prowizji jeśli jakaś osoba co kliknie u nas zamówi u nich coś. Instytucje finansowe takie jak banki proponują np za sprzedaż za naszym pośrednictwem kredytu hipotetycznego prowizje rzedu kilku tysięcy złotych. Także i taki wariant należy rozważyć.

3. Adkontekst, Onet Kontekst – Polskie mini programy. Działają na identycznej zasadzie jak google adsense. Prowizje rzędu 4-40 gr.

Co wybrać? Proponowałbym zastanowić się nad tymi dwoma pierwszymi programami. Jeśli mamy serwis sprecyzowany tylko i wyłącznie na jedną branżę to próbowałbym raczej szukać dobrych prowizji w Tradedoubler. Jeśli mamy serwis o rozmaitej tematyce, serwis społecznościowy to adsense będzie najlepszym wyborem.

3. Realne zyski

Mamy reklamodawcę powiedzmy Google Adsense. Branża rozrywkowa(serwis społecznościowy). Założyliśmy na wstępie, że mamy 100tys odsłon dziennie. Zakładamy również, że średnio za klik dostaniemy minimum 10 centów czyli 30gr. Z doświadczenia wiem, że taka minimalna średnia klikalność jest na poziomie 0.08% to nam daje:

100.000 * 0,0008 = 80 kliknięć dziennie
80 * 30gr = 24zł
24zł * 30dni = 720zł

Czyli nasz serwis się zwraca. Zyskujemy z końcem miesiąca jeszcze 200zł. Trzeba jednak wziąć pod uwagę, że przy wyliczaniu tej kwoty brałem pod uwagę minimalną kwotę za klik oraz minimalną klikalność zatem wynik ten będzie na pewno lepszy.

4. Gdzie umieścić reklamę na stronie, aby podwyższyć skuteczność

Samo posiadanie reklamy na stronie nie zapewni nam realnych zysków. Pamiętać trzeba że użytkownik musi kliknąć w reklamę, abyśmy otrzymali prowizję. Gdzie zatem umieścić reklamę na stronie. Specjaliści opracowali do tego celu mapę klikalności. Czyli gdzie użytkownicy klikają najczęściej:

Mapa klikalności

Niektóre lokalizacje są lepsze niż inne. Ta ,,mapa cieplna” przedstawia idealne rozmieszczenie w przykładowym układzie strony. Zakres barw sięga od ciemnopomarańczowej (najwyższa skuteczność) do jasnożółtej (najniższa skuteczność). Jeśli wszystkie inne wskaźniki są równe, reklamy umieszczone w górnej części są zwykle skuteczniejsze niż reklamy w dolnej części. Reklamy umieszczone obok treści audiowizualnych i elementów nawigacyjnych zwykle są skuteczne, ponieważ użytkownicy skupiają się na tych obszarach strony.

Mimo że mapa cieplna jest przydatna jako wskazówka dotycząca pozycjonowania, stanowczo zalecamy umieszczanie reklam ze szczególnym uwzględnieniem użytkowników. Warto zastanowić się nad ich zachowaniem na różnych stronach oraz nad najbardziej przydatnymi i widocznymi elementami. Jak łatwo się przekonać, optymalna pozycja reklamy na określonych stronach nie zawsze jest zgodna z przewidywaniami.

Na przykład w przypadku stron, na których użytkownicy skupiają się na czytaniu artykułu, reklamy umieszczone poniżej treści redakcyjnej zazwyczaj są bardzo skuteczne. To prawie tak, jakby użytkownicy kończyli czytać tekst i próbowali znaleźć inne zajęcie. Precyzyjnie kierowane reklamy mogą być właśnie taką czynnością.

Zatem jak widać zarabianie na stronie jest procesem dość skomplikowanym. Czasem lepiej powierzyć to doświadczonemu informatykowi.

Pozdrawiam

Autor admin \\ tagi: , , ,

Feb 16

Często spotykam się z pytaniami typu: “Czy moja strona potrzebuje dobrego serwera?”. “Który serwer jest lepszy ten z 10 GB transferu czy ten z większą przestrzenią dyskową?” I masę podobnych. Postaram się szybko opowiedzieć jak to naprawdę jest. Otóż weźmy na ten przykład dwie skrajnie różne strony:

a) Wizytówka firmy – prosta grafika, działy kontakt, o nas, oferta(lista produktów), galeria.

b) Mały serwis społecznościowy – galerie użytkowników, komentarze, prywatne wiadomości, fora, znajomi itd taka mini Nasza Klasa

Spróbujmy dostosować cały “osprzęt” dla takich stron

Strona A

Strona firmy zatem jeżeli już ją ktoś znajdzie to właściwie po to aby wstępnie się z nią zapoznać. Rzadko kiedy zdarza się że użytkownik takiej strony wchodzi na nią częściej, chyba że oferta jest dosyć szeroka i przekazująca sporo ważnych informacji dla odwiedzających. Mimo wszystko po wstępnym zapoznaniu się z tematem wyliczyłem szacunkowe(maksymalne wartości) zużycia zasobów:

Zajętość miejsca:
1000 produktów w bazie wraz z średnio 3 zdjęciami dobrej jakości(jpg 200KB) do każdego produktu daje nam: 200KB x 3 x 1000 = 600.000 KB = 585MB

Baza danych:
1000 produktów z opisami (średnio 2tys znaków na opis) to około 2MB

Pozostałe:
Szablon wyglądu strony, pliki systemu i drobne elementy bazy zajmują nie więcej niż 5MB

Zatem przy skrajnie oszczędnym podejściu potrzebujemy serwera 600MB wraz z bazą danych minimum 3MB

W ofercie obecnych firm jest to bardzo mało Niemal każdy hosting spełnia te kryteria. Zalecam jednak branie trochę większych rozmiarów serwerów np dla powyższego rozwiązania będzie to 1GB przestrzeni i baza 10MB

Transfer

Kwestia limitu transferu jest sprawą odrębną. I tu trzeba przyjąć pewne założenia oraz dokonać obliczeń.

Zakładamy że liczba klientów korzystających w miesiącu z naszej strony to 2000. Zakładamy również że każdy z tych klientów w ciągu miesiąca dokona 100 odświeżeń strony(tzn kliknięć na stronie lub samych wejść na stronę ). Daje nam to pokaźną liczbę 200 tys odsłon miesięcznie. kod strony został wyliczony na średnio 5KB a elementy strony średnio na 1MB. Dodatkowo zakładamy że 20% odświeżeń tyczy się załadowania zdjęcia produktu. Obliczając mamy:

2000 * 1MB = 1GB – unikalni użytkownicy wchodzą więc muszą pobrać elementy nowo odkrytej strony
200.000 * 5KB = 1 GB każde przejście na stronie wymaga przesłania kodu
20% * 200.000 * 200KB = 8GB – tyle przesyłamy łącznie zdjęć

W sumie mamy 10GB transferu miesięcznie. Rocznie daje to 120GB. To również nie jest duża suma

Zatem do takich rozwiązań potrzeba hostingu który nie ma zbyt wygórowanych wymagań:

1 GB przestrzeni
10MB baza danych
120GB transferu rocznie

Mimo wszystko serwer o tak małych parametrach nie jest łatwo znaleźć dlatego warto popytać wśród znajomych czy ktoś nie ma wolnej przestrzeni na swoim serwerze i wykorzystać jego zasoby(wiąże się to z ryzykiem, że znajomy wcale nie musi być tym “dobrym” i w najmniej spodziewanym momencie usunie swój serwer wraz z naszym). Dobrym pomysłem jest też wykupienie hostingu w firmie/u osoby która wykonała stronę. Sam posiadam dość okazały serwer i dzielę swoje zasoby za drobną opłatą. Jednocześnie zapewniam pełna stabilność i natychmiastową reakcję na błędy.

Strona B

Teraz już krótko bez większego tłumaczenia zakładamy:

1.000.000 użytkowników
20 zdjęć(80KB każde) na użytkownika
10tys znaków tekstu(wiadomości, opisy, komentarze) na użytkownika
100 odświeżeń/użytkownika msc
5MB – tyle “ważą” elementy strony
5KB – tyle waży średnio kod pojedynczej strony
20% to odświeżanie zdjęć

Przestrzeń:
1.000.000 * 20 * 80KB = około 1.5TB zdjęć
Pliki wyglądu oraz systemu to około 100MB
1.000.000 * 10KB = około 10GB bazy danych

Transfer:
1.000.000 * 5MB = około 4TB – tyle pobiera się elementy strony
1.000.000 * 100 * 5KB = około 480GB – tyle pobieranych jest kodów strony
20% * 1.000.000 * 100 * 80KB =1.5 TB – tyle transferu zużyje transfer zdjęć

Podsumowując potrzebujemy dobrej maszyny a nawet 2 maszyn. Jedną jako bazę danych i cały system, a drugą na składowanie zdjęć. W tym przypadku potrzebujemy dobrych 2 serwerów dedykowanych. Koszt około 500zł miesięcznie. Czy nam się to opłaci? Dowiemy się w następnym artykule na temat reklam :)

Pozdrawiam

Autor admin \\ tagi: , ,

Feb 15

Zespół NK opowiada o walce z wydajnością – czyli jak zabito Pana Gąbkę

Ciąg dalszy serii o walce z przysłowiowym Panem Gąbką. Tym razem udało mi się namówić oryginalnych gąbka killerów (czyli zespół nasza-klasa.pl), na opowiedzenie o ich walce z wydajnością.

Najnowsze statystyki odnośnie NK jakie podał mi Maciek Popowicz robią wrażenie. W chwili obecnej serwis zalicza 350 milionów odsłon dziennie (ponad 10 miliardów miesięcznie). Transfer danych jaki generują te odsłony to 6 GB na sekundę. W chwili obecnej nasza-klasa stoi na 500 serwerach (a kolejne 32 są już zamówione). Zdjęcia dodawane przez użytkowników przekroczyły już 1,5 miliarda sztuk – trzymane są one na 500 dyskach w macierzach. Codziennie z serwisu korzysta 5,5 miliona osób.

Poniższy tekst tworzony był przez Pawla Olchawe, z poprawkami Tomka Paszkowskiego, Joanny Gajewskiej, Arka Pernala i Maćka Popowicza.

Aktualnie nasz system opiera się na architekturze zaprojektowanej na przełomie listopada i grudnia 2007. Składa się on z dwóch niemalże zupełnie odrębnych części. Jedną z nich jest obsługa składowania i serwowania zdjęć, a drugą – aplikacja z bazami danych. W przeszłości zmagaliśmy się głównie z aplikacją i bazami danych, ponieważ to od nich zależała szybkość ładowania się strony. Obecnie skupiamy się na optymalizacji systemu zdjęć.
Desperacja Pana Gąbki – gryzie kable od serwerów

Dotychczas do serwowania zdjęć używaliśmy gotowego projektu open-source o nazwie MogileFS. Niestety rozwiązanie to nie spełniło naszych oczekiwań (ruch, którym dysponujemy obnażył słabości jego systemu) i dlatego obecnie wdrażamy autorski system składowania i serwowania zdjęć.

Obecnie zdjęcia przechowywane są bezpośrednio jako pojedyncze pliki na dysku w systemie plików XFS (używamy do tego 160 komputerów: Celerony, Pentium IV, Core2Duo). Każde zdjęcie jest składowane na co najmniej 3 różnych serwerach. Codziennie 3-4 serwery mają problemy z błędami XFS-a, co powoduje utratę kopii niektórych zdjęć. Automatycznie jednak z pozostałych kopii tych zdjęć tworzone są repliki, które składowane są na kolejnych serwerach, dzięki temu utrzymujemy bezpieczną liczbę kopii każdego zdjęcia. Wąskim gardłem w tym przypadku jest prędkość dysków twardych, dlatego dodatkowo część miniaturek zdjęć jest osłaniana serwerami Squid, które przetrzymują je w RAMie.

Aby wspomóc te serwery, zakupiliśmy macierze dyskowe Promise posiadające łącznie 480 dysków SATA/SAS i właśnie kopiujemy zdjęcia na te macierze. Jeśli wszystko pójdzie zgodnie z planem, maksymalnie za dwa miesiące zdjęcia na nk będą się ładowały błyskawicznie, nawet w godzinach szczytu. Aby ustrzec się błędów XFS-a napisaliśmy własny moduł do Lighttpd, przez który serwowane będą zdjęcia. Macierze te będą udostępniać zdjęcia po FC(Fibre Channel) serwerom wpiętym do switcha FC, a te będą w stanie je serwować.Dodatkowo wszystkie miniaturki będą serwowane przez znajdujące się przed nimi serwery keszujące Squid. Aby uniknąć sytuacji, w której wszystkie serwery Squid przetrzymują w RAMie ten sam zestaw miniaturek, podzieliliśmy je na grupki i każda z nich odpowiada za inny zbiór miniaturek.

Od strony aplikacji najwięcej problemów sprawiły nam bazy danych. Gdy tworzyliśmy portal, postawiliśmy na MySQL, ponieważ konto na home.pl z tą bazą danych było tańsze od konta z PostgreSQL :) . Jednak przy tak dużym obciążeniu jak nasze bardzo szybko musieliśmy się zmierzyć z błędami MySQLa, a szczególnie z bardzo niskopoziomowymi aspektami działania tej bazy, zarówno dla MyISAM jak i InnoDB.

Musieliśmy zapoznać się z kodem źródłowym InnoDB, co miłą lekturą nie jest :D . Dla tworzenia aplikacji, w których występuje masa operacji modyfikujących istotne jest dokładne zrozumienie zasad działania różnych blokad. Miesiące walk sprawiły, że posiadamy obecnie własną, bardzo specyficzną, konfigurację MySQLa. Przykładowo zamiast indeksów FullText w MySQLu do wyszukiwania osób na portalu używamy własnego serwera indeksującego wszystkich użytkowników raz na dobę, który został napisany przez Michała Bartoszkiewicza w C++ z użyciem bibliotek STL oraz boost, i który ani razu (sic!) od samego początku jego istnienia nas nie zawiódł. To, że działa tak bezproblemowo spowodowało, że zupełnie o nim zapomnieliśmy, przez co przy ostatniej migracji tabeli z użytkownikami zapomnieliśmy zmienić mu adres IP w ustawieniach :-)

Z zapytaniami, które bazy nie modyfikują, jest o wiele łatwiej, w ich przypadku wystarczy wspomóc się warstwą keszującą w postaci klastra serwerów Memcached, założeniem potrzebnych indeksów (w
granicach rozsądku) oraz „explainowaniem” każdego z zapytań. Nadal trzeba jednak uważać, bo zbyt długo wykonujące się zapytanie może mieć drastyczne skutki (zwłaszcza w przypadku MyISAM).

Autor admin \\ tagi: , , ,

Feb 15

Czasem jest tak, że chcemy się czymś podzielić z jak największą liczbą osób. To i ja się podzielę :p Blog będzie właściwie o wszystkim

Autor admin