Ciekawe serwisy webowe
- Sprawdzenie jakiej technologii webowej używa serwis
http://builtwith.com
Postawiłem sobie nie dawno programistyczne zadanie - narysować biały ekran a na nim zaświecić (albo wygasić) jeden piksel. Postawiłem je sobie aby nauczyć się w JavaScript walczyć z grafiką, ale skoro przeszedłem z blogiem na HTML5 to mogę coś pocudować w SVG.
No to próbuję.
Efekt programowania w SVG |
Kod zapisany w SVG<svg width="50px" height="50px" style="background-color: #aaa;" > |
No nie wiem, czy to można zaliczyć. Chyba nie.
Niestety, widać, że piksel zrobiony z kwadratu jest kwadratem, z koła kołem (nawet ma wypełnienie jak go powiększyć w przeglądarce, a z linii jest pikselem skierowanym w dół. Ale w SGV nie ma komendy punkt i to jest dziwne.
Niezaliczono!
Jeżeli powyżej nie widać czarnego kwadratu to niezaliczono!
Maluje żółtego DIV 100 na 100 a w nim niebieskiego 1 na 1 i zobaczymy:
Fajnie, ale jak namalować pixel? Ja chcę mieć na ekranie coś o rozmiarze 1px na 1px i nie wiem jak to zrobić!
Przechodzę z blogiem na HTML5 a więc będę mógł sobie grafikę SVG wkładać bezpośrednio w treść notek. Kiedyś musiałem osadzać obiekty a teraz - o proszę, otwiera się frazę <svg> i się pisze coś, aby mieć taki obrazek.
Efekt programowania w SVG |
Kod zapisany w SVG<svg |
Nie wiem jeszcze po co tak, ale próbuję. Stara notka o tym jak się to robiło w HTML 4 jest tu -> http://www.pp.org.pl/wojtek/?id=31260 i może zadziała a może nie.
No i jeszcze coś - jeszcze spróbuję z wzorami matematycznymi, bo to też jest fajne.
Kiedyś to były dane do osobnej strony, która używała SVG, bo dane musiały być w HTML 4.1 w osobnej stronie, więc .... Ale już blog przeszedł na HTML5 więc mogę sobie te graficzne dane wstawić w kod i będzie pięknie.
Pod obrazkiem jest kopia tego kodu:
W34
<svg width="350px" height="350px" viewBox="0 0 500 500" xmlns="http://www.w3.org/2000/svg"> <rect x="10" y="10" width="100" height="100" fill= "yellow" fill-opacity= "1" stroke= "gray" stroke-width= "2"/> <circle cx="100" cy="100" r="50" fill="darkblue" fill-opacity= "0.5" stroke="red" stroke-width="2"/> <line x1="100" y1="300" x2="300" y2="100" fill="darkblue" fill-opacity= "0.5" stroke="red" stroke-width="2"/> <path d="M97,246 C119,169 220,209 243,127 C291,27 281,223 419,271" fill="none" fill-opacity= "0.5" stroke="green" stroke-width="3"/> <rect x="50" y="180" width="300" height="200" fill= "#55ff55" fill-opacity= "0.5" stroke= "#228822" stroke-width= "1" rx="50" ry="100" /> <text style="fill:red; font-size:430%; font-family: arial; font-weight:bold;" x="310" y="350">W34</text> </svg>
Szaniawski by się przestraszył, ale brzmiało to mniej więcej tak:
TrueColor czyli walka o głębie (matryce muszą być 32 a nawet 48 bitowe)
przejście od 6 do 32M pixeli
HD ready -> HD
4:3 -> 16:9
niby ma być 25fps ale w USA już robią 30fps
720i, 720p, 1080i, 1080p.... chyba to ostatnie
2 * 540 = 1080 ale po co tu przeplot?
mediacenter.onet.pl (ale tylko pod IE) – czy to już inne medium?
HDMI 1.3
XBOX 360
w nTVN podstawą jest Linux więc włącz ciekawość!
Ufff...
Ale właśnie rozpoczął się 23C3, można oglądać: http://events.ccc.de/congress/2006/Streams
Gates w Polsce ogłosił inwestycję Microsoftu
Gazeta Wyborcza za PAP, IAR 02-02-2006
Microsoft Corporation uruchomi w Warszawie Centrum Rozwoju Oprogramowania. Będzie to trzecie takie centrum na świecie, po ośrodkach w Niemczech i Wielkiej Brytanii - poinformował w czwartek na konferencji prasowej założyciel Microsoft Corporation i prezes rady nadzorczej Bill Gates.
W firmie na początku pracować będzie około 40 osób. Rekrutacja zostanie przeprowadzona wyłącznie w Polsce. Bill Gates mówi, że nowe centrum będzie się zajmowało pracami nad oprogramowaniem, rozwijaniem nowych aplikacji, a także szkoleniami. Budowa centrum ruszy jeszcze w tym roku.
O tę inwestycję rywalizowała z Polską Rumunia. Minister spraw wewnętrznych i administracji Ludwik Dorn powiedział, że Amerykanie wybrali nasz kraj ze względu na tradycje i osiągnięcia polskich naukowców. Polscy studenci informatyki i matematyki od kilku lat wygrywają w konkursach organizowanych przez Microsoft, są także dobrze postrzegani na międzynarodowych rynkach pracy.
Amerykanie nie zdradzili, ile będzie kosztowało uruchomienie centrum. Bill Gates powiedział także, że chce w Polsce otworzyć dodatkowe centra dydaktyczno- szkoleniowe i dzięki stypendiom wspierać rozwój polskiej nauki oraz wyrównywać szanse młodzieży wiejskiej.
Wbrew zapowiedziom Bill Gates nie spotkał się z prezydentem Lechem Kaczyńskim. W imieniu głowy państwa szefa Microsoftu przyjął Andrzej Urbański.
Jakoś nie chce mi się wierzyć, że sam BG fatygował by się do jakiegoś kraju na końcu świata aby odpalić coś, co zatrudnia 40 fachowców. Przecież polski oddział M$ jest dużo większy, więc albo tu jest jakieś fatalne przekłamanie albo ktoś z PR jutro wyleci za źle zredagowaną informacje dla mediów.
Programowanie wyrażeń regularnych jest piękne a do tego bardzo mnie ostatnio bawi.
$x = preg_replace_callback ('/NN((j?[^N]+N?)*(j[^N]+N?)+(j?[^N]+N?)*)NN/', create_function ( '$arg', ' $y = $arg [1]; $y = preg_replace ('/j([^N]+)N?/', "<LI></LI>nN",$y); $y = preg_replace ('/([^N/<][^N]*)N?/', "<P></P>n",$y); $y = preg_replace ('/</LI>nN/', "</LI>n", $y); return "NN<UL>" . $y . "</UL>NN"; ' ), $x);
Piękne w nim jest to, że jest ono wielką pułapką dla postmodernistycznych informatyków. Tego nie da się wziąć z przykładu i lekko przerobić, nie da się zaadoptować, wzorować na przykładzie. Po prostu to trzeba zrozumieć aby z tego korzystać - żadnego chodzenia na skróty, żadnego podręcznika za 5zł pt. "Jak programować wyrażenia regularne w 5 minut".
A moja metoda jest taka: napisać na karteczce przypasowywany tekst, napisać pod spodem propozycję wyrażenia i z lekka zezując przesuwać palec jednej ręki po tekście a drugiej po wzorcu. Przy pierwszym błędzie poprawić wzorzec zapisując go poniżej. Jeżeli kartka się skończy wziąć następną, a jak skończy się ryza to następną.
I jeszcze obserwacja - zapis przypomina nieco czasy programowania w asemblerze, w czasach gdy nie było jeszcze kompilatorów (meta)asemblera i procedury zapisywało się szesnastkowo. Np w Intelu 8080 i Z-80 CALL to bylo CD a RET C9
Robię sobie odświeżanie pamięci: JMP C3, LD A 21...., NOP 00, LD HL 23...., prefix: hl->iy FD hl->ix DD, HOLD 80, JZ C2, JC CA, słabo, słabo z pamięcią.
Pamiętasz Jurku?
&<-
w załączniku są pliki emulatora pod DOS'a, pod Linuxa na jakimś RasberyPI, i jeszcze jakieś inne. Nawet raz udało mi się to odpalić, ale skomplilować programu w PL/1 to już nie, choć czułem, że byłem blisko.
Znalazłem sobie śliczą definicję języka SQL, więc sobie zachowuję ku pamięci, jako ściągę:
SELECT [ ALL | DISTINCT [ ON ( distinct_expression [, ...] ) ] ]
target_expression [ AS output_name ] [, ...]
[ FROM from_item [ { , | CROSS JOIN } ...] ]
[ WHERE condition ]
[ GROUP BY aggregate_expression [, ...] ]
[ HAVING aggregate_condition [, ...] ]
[ { UNION | INTERSECT | EXCEPT [ALL] } select ]
[ ORDER BY order_expression [ ASC | DESC | USING operator ] [, ...] ]
[ FOR UPDATE [ OF update_table [, ...] ] ]
[ LIMIT { ALL | count } [ { OFFSET | , } start ] ]
from_item ::= { [ ONLY ] table_name [ * ]
[ [ AS ] from_alias [ ( column_alias_list ) ] ] |
( select ) [ [ AS ] alias [ ( column_alias_list ) ] ] |
from_item [ NATURAL ] join_type from_item
[ ON ( join_condition ) | USING ( join_column_list ) ]
}
join_type ::= [ INNER |
LEFT [ OUTER ] |
RIGHT [ OUTER ] |
FULL [ OUTER ]
] JOIN
no i teraz już mam!
I do tego jeszcze klasyczny obrazek z Iloczynem Kartezjańskim zbiorów.
Koncert leciał z taką samą szybkością, ale najważniejsze było, że leciał stabilnie, przez całe godziny.
Oglądany na telewizji satelitarnej ten sam koncert dostawałem za pośrednictwem platformy Polsat Cyfrowy ze średnim strumieniem około 2,5Mb/s a więc niewiele lepszym, zważywszy że kodowane jest to do MPEG-2 podczas gdy w Internecie kodują to już znacznie lepiej.
t e c h n o l o g i i C S S
s t w a r z a p e w n e n o w e
m o ż l i w o ś c i .
To proste - po prostu w dniu 10 czerwca zajrzałem do Khan-goor'a ("mnie też trafiło") i tak powstała notka pt. "Ciekawa zabawa....". Chwile później postanowiłem sprawdzić, ile osób już się załapało.
Googlarz kluczowego tekstu "Otwórz ją na 123 stronie" na ten dzień wynosił 154 a więc niewiele osób "trafiło" jak to ładnie określił Khan-goor.
Zachowałem stronę z Googli jako materiał badawczy i zacząłem czekać.
Na dzień 20 czerwca Googlarz wynosił 711 czego dowód wygląda tak:
Na dzień 8 lipca epidemia już zastartowała i trafiło 3710 osób.
A na dzień dzisiejszy ....
Mniej? Tak! 3450 to mniej niż 3700!
Możliwe są dwa wytłumaczenia tego zjawiska:
- Pandemia przeminęła i wygasa.
- mój aparat badawczy w postaci Googli zawodzi.
Ewidentnie jestem za drugim wnioskiem - wiem, że w Googlach coś się ostatnio porobiło i wyszukiwarki wyszykują inaczej. Dowodem tego może być to, że niedawno tekst "Otwórz ją na 123 stronie" jak się kazało szukało tylko w moim serwisie to się moją notkę znajdował a dziś nie znajduje się nie tylko tego tekstu, ale równie wygląda na to, że nie użyłem nigdy słowa "Otwórz" oraz "stronie".
Czy ktoś ma pomysł jak zbadać tą pandemie, bo ewidentnie wydaje mi się, że będzie się dalej rozszerzać? Jak mierzyć Googlarz bez Googli?
Nasz serwer firmowy ma dysk 120MB i pracuje na maszynce 386SX.
W firmie są już 3 serwery, największy ma dysk 360MB wykonany w jakiejś dziwnej technologii (ani to MFM, ani ATA, ani SCSI.... coś na E... ale nie pamiętam)
Warstwa fizyczna to ArcNet, taktowany 4MHz, z hubami aktywnymi i pasywnymi (układ gwiazdy) lub z magistralą (droższe karty, fajne trójniki ale mniej kabli się pałęta po podłodze). Ktoś wspomina, że na polibudzie to mają Etehrnet - 10Mb/s ale kabel bardzo gruby.
W firmie pracuje już 5 serwerów, dwa zupełnie legalne, pozostałe sklonowały się od naszych klientów (kurcze, jaki bandytyzm się wtedy robiło). Serwery robią tez za routery protokołu IPX ale architektura Novella pozwala zapomnieć o konfiguracji, adresach, protokołach dynamicznego routingu - łączy się i działa a dziwactwa związane z adresami w sieciach IP dopiero nas czekają.
Aha - w firmie zainstalowany jest też BBS i węzeł sieci FidoNet. Poczta wewnętrzna (Pegazus) bramkuje się do Fido a z Fido do jakiegoś tajemniczego Internetu i BitNetu. List do USA idzie 3 dni co dla wszystkich jest szokiem. Normalny list pocztowy idzie 3 tygodnie a rozmowę telefoniczną zamawia się dwa tygodnie wcześniej.
Na Novell-a można zainstalować darmowy pakiet Mercury - rewelacyjny serwer poczty. Od teraz listy do USA idą 10 sekund.
Novell dalej jest w wersji 3.12 ale co chwile pojawiają się path'e polepszające lub pogarszające stabilność sieci, na DOS-a instaluje się nie 2 ale 5 rezydentów, niektóre wchodzą w tajemniczą pamięć HDA (?), która pod DOSem 4.1 ratuje jakieś 64KB RAM tak ważną dla programów w Cliperze (kurcze - już nic z tego nie już rozumiem).
Na stacjach coraz częściej pracują Windows 3.11 for WorkGroup a więc w sieci oprócz IPX i IP pojawia się NetBUI ładowany wprost w ramki Ethernet.
Ostanie stacje na ArcNet padają bo karty Ethernet tanieją. Karty firmy 3COM biją rekordy szybkości. Protokół Novell Burst też, ale jego niestabilność jest zapowiedzą klęski firmy Novell.
Pojawiają się serwery NT Microsoft'a. Produkt reklamowany jako przełamanie polityki licencyjnej Novella. Kup Novell'a na 5 userów, postaw obok NT, który jest nielimitowany, i przebramkuje (jako gateway NetBIU na IPX'a, ale też gateway warstw wyższych) twoich 100 userów na tego 5 userowego Novell-a. Ćwiczymy to - działa nieźle.
W międzyczasie pojawia się i znika OS/2 - stabilny, pewny, ładny, dobry... ale Microsoft ma lepszy marketing.
Wianuszek Novell-i w firmie rośnie: serwerów jest z 6, dwa NT, zaczynam się gubić - taśmy od streamera też.
I jeszcze ciekawostka: Novell i Microsoft procesują się o jakiś moduł logowania się w Windows '95. Rzeczywiście - do Novella lepiej z Windowsów logować się narzędziami Microsoft niż firmowymi Novella, które jakoś działają dziwnie.
#1 Adres: http://www.atvn.pl/indexie.php
#2 Fajne to jest. Aby używać należy mieć łącze co przeniesie 350kbps.
#3 Jestem już madrzejszy z budowy dróg, kwarków, wykluczeń i intuicji. A może nie... nie jestem mądrzejszy tylko wysłuchałem wykladów.
Próbowałem, nie wyszło, poddaje się, nie rozumiem zaawansowanego HTML-a.
Ale czas spedzony w serwisie:
http://www.w3schools.com/css/default.asp
stracony nie był. Zrozumiełem nieco jak działa CSS.
Uwaga, będzie ostro. Osoby wrażliwe proszone są o wyjście z sali. Uwaga, cytuję, proszę nie regulować odbiorników:
---+!! Przyłacznice ODF w węźle %URLPARAM{"kod_wezla"}% %IF{ %URLPARAM{"kod_wezla"}%AAA eq AAA }% %STARTINCLUDE% %TABLE{tableborder="0" cellpadding="3" cellspacing="1"} nie podano kodu węzła %ELSE% %DATABASE_SQL_REPEAT{description="bazak" columns="kod_psu" command="SELECT kod_psu FROM psu WHERE kod_wezla = '%URLPARAM{"kod_wezla"}%' ORDER BY kod_psu"}% | %kod_psu% | <a href="BazaPsuKrosowania?kod_psu=%kod_psu%">Krosowania</A> | <A href="BazaPsuPolaczenia?kod_psu=%kod_psu%">Połączenia</A> | %DATABASE_SQL_REPEAT% %STOPINCLUDE% %ENDIF%
To co jest zapisane powyżej jest fatalną próbą programowania jednocześnie w 6 językach, przy czym niektóre języki to języki skryptowe.
Tak tak, jeżeli chce się teraz coś zaprogramować w sposób modny (czytaj: trendy), to robi się to właśnie w taki sposób.
Wyliczmy więc od góry co my tu mamy:
Dla zasady muszę przyznać, że nie mam prawa się czepiać gdyż sam, osobiście, w końcu 1988 roku popełniłem produkt, który zwał się SVI i w swym pomyśle był językiem programowania obiektowego do bazodanowego Clippera '87. Zamysł piękny ale w wykonaniu był to dokładnie takim samym jak powyższe przykłady język makr, który nawiasem mówiąc nie tworzył języka o czym się przekonali 4 lata później koledzy tworzący kompilator do tego cuda. Tam też spacje miały znaczenie a preprocesorowa instrukcja warunkowa nie usuwała tekstu z pomiędzy klamer &<- ifc ... &<- endifc a (!) zastępowała zawarty tam tekst spacjami - ta drobna różnica miała to swoje ogromne znaczenia.
Tak więc po części sam sobie jestem winien i jako pokutę zadam sobie przeczytanie książki pana Wirth'a pt. "Algorytmy + struktury danych = programy". Kiedyś to były czasy! Aby pisać programy człowiek nie potrzebował komputera!
I jeszcze wspomnienie: ten prefiks &<- w SVI znalazł się na wspomnienie systemu operacyjnego George 3 zaimplementowanego na Odrze-1305. W Georgu też były makra przy przekazywaniu parametrów. Zaczynały się od % o ile dobrze pamiętam.
A całe to przemyślenie zapisuję w kolejnym makarowym automacie zwanym w34.blog.pl i dziwię się, że ta próbka postmodernistycznego kodu nie zainterferowała z enginem (piękne słowo) bloga i dała się wyświetlić.
2 arc cos 0 = 3,1415926535897932384626433832795
Nieźle, ale czy można mu wierzyć, skoro wykryto w nim poważne błędy przy prostym dzieleniu.
Sub wzor_wallisa() Dim n As Long Dim p As Boolean Dim pi As Double Dim np As Long Dim nn As Long n = 1 : p = True : np = 2 : nn = 1 pi = 2 While n < 100000 n = n + 1 pi = pi * np / nn If p Then nn = nn + 2 ' krok parzysty If Not p Then np = np + 2 ' nieparzysty p = Not p Debug.Print n, pi Wend End Sub
i już wiem, że iteracja #99999 daje przybliżenie od dołu 3,14157694550873 a iteracja #100000 przybliża od góry 3,14160836159235. Słabo! Z ciekawości podnoszę poprzeczkę do miliona iteracji i niech sobie mój noterek policzy.
No i policzył. Milionowa iteracja to 3,14159422438652 czyli błąd jest już na 6 pozycji. Cieniarstwo! Może napisze ten program jakoś inaczej, w innym języku, bez użycia arytmetyki rzeczywistej (double) i szybciej dojdę do jakiegoś wyniku jaki inni mieli w XVII w. bez komputerów.
3,1415926535 8979323846 2643383279 5028841971 6939937510 5820974944 592307816...
Czasem wydaje mi się, że żyjemy w epoce, w której wszystko już co można było wymyślić wymyślono. Kiedyś to się męczyli, liczyli π, odkrywali zasady dynamiki i prawa Maxwella a teraz? Czego się nie tknąć to wymyślone, zbadane, opisany, zastosowane a jeżeli chciałoby się poszukać czegoś nowego to jest to tak wyspecjalizowane, tajemne, że praktycznie graniczy gdzieś z magią.
W zasadzie wystarczy jeden: http://pl.wikipedia.org/wiki/Liczba_pi bo od niego można iść dalej w ciekawe miejsca.
Przepisałem sobie to w C aby uruchomić na jakimś on-linowym kompilatorze:
int main() { double pi; long int n; int p; unsigned long int np, nn; n = 1 ; p = 1; np = 2; nn = 1; pi = 2; while (n < 10000) { n = n + 1; pi = pi * np / nn; if (p) nn = nn + 2; // krok parzysty if (!p) np = np + 2; // nieparzysty p = !p; printf ("\n%8d %f", n, pi); } return 0; }
Ale coś mi nie poszło. Efekt dla 1000 kroków to 3.143164. Nie znam się na C. Już się nie znam.
A kompilator jest tu: http://www.compileonline.com/compile_c_online.php1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
שלום ישראל
Ale czy wszystkim się to tak ładnie wyświetli?
Linki:
Mój komputer bardzo, bardzo zwolnił. Właściwie to zwalniał od dawna, coraz bardziej i bardziej, aż w końcu trudno na nim było pracować. Wykonałem więc 6 kroków aby go przyspieszyć. Oto moje przygody z moim laptopem ThinkPad T21. Aby go przyspieszyć musiałem ...
1. Przestać wierzyć w to, że czas się skraca i że z czasem wszystkie komputery działają wolniej (to zajęło mi 3 miesiące).
2. Znaleźć chwilę czasu na poszukiwanie przyczyny dlaczego konkretnie mój komputer chodzi tak wolno (1 miesiąc).
Oczywiście, przez to że komputer chodzi wolno brakuje czasu na poszukiwanie czasu na dalsze poszukiwanie - pilna praca jest ważniejsza.
3. Przeinstalować Windowsy, Office’a i kupę innego softu po czym jeszcze przez miesiąc wierzyć jednak w zwolnienie tempa pracy wszystkich komputerów. (1 tydzień + 3 tygodnie ponownego strojenia własnych ustawień)
4. Poszukać przyczyny poprzez jakąś próbę diagnostyki. Najłatwiej sprawdzić gdzie się podziewa pamięć operacyjna: menadżer zadań wywołany przez Ctrl-Alt-Del podpowie conieco. (1 minuta)
5. Wyłączyć komputer, scyzorykiem odkręcić miejsce gdzie jest dodatkowy RAM, docisnąć płytkę, włączyć komputer (5 minut).
6. Cieszyć się, że ma się takiego szybkiego laptopa i mimo iż jest to najnowszy model... ale z przed 3 lat! Nie warto go jeszcze wymieniać, bo szkoda czasu na instalowanie i strojenie softu (patrz pkt. 3)
Ale się cieszę!
Joł ja mogę pyknąć se z tobą w tekenika napisz na pv na fb
Trzy programy (Yoho, ProTone, Wichita) z tej samej rodziny dyktafonów.
Wady:
Wniosek: nie warto się w to pchać.
http://vitotechnology.com/products/soundexplorer.html
(...) "Panie Boże, tu jestem, chcę się z Tobą zaprzyjaźnić, chcę Cię poznać, chcę żyć bliżej Ciebie a najlepiej w Tobie boś Ty jest Bogiem, Tyś jest moim Stwórcą, Amen ('Amen' nie tłumaczy się na 'Enter' :-) ale na 'niech się stanie')".
Krisper dopisał taki komentarz:
Jak tak się zastanowić to "Amen" i "Enter" to to samo, choć "Amen" jest może nieco bardziej życzeniowy, a "Enter" bardziej sprawczy ;-)
Tak mi się on podoba, że umieszczam go tu.
Ciekawe na co (nie) tłumaczy się Print Screen? A co z F1?
Dopiski:
F1 - Kyrie eleison (Khgr - thx)