Kategorijas 'tech' arhīvs

Jul 25 2010

budžeta GPS review

Publicēts kategorijā tech,

GPS varētu iedalīt n-tajās kategorijās. Protams, pirmais, kas nāk prātā – auto navigācijas, TomTom, utt. Tad nu jau ierasta lieta ir mobilajos telefonos iebūvētie GPS čipi. Foto kamerās arī nu jau liek iekšā un vēlāk jau var skatīties uz kartes, kurā vietā kāda bilde taisīta. Ir atsevišķas mazas iekārtiņas, kuras ar vada vai bluetooth starpniecību var pieslēgt tam pašam telefonam vai datoram. Primārais mērķis – protams navigācija, kartes. No tādiem pēdējā laika hītiem – geocaching. Vārdu sakot GPS ir ieņēmis savu vietu ne pirmās nepieciešamības preču klāstā:)

Man tā vajadzība pēc GPS radās mazliet citā sakarā – diezgan daudz pārvietojos ar velo, gan ar konkrētu mērķi, gan arī kaut kur klīstot. Rezultātā vajadzība ne tik daudz zināt, kur atrodos konkrētā brīdī, cik vēlme ierakstīt maršrutus un vēlāk jau skatīt to visu uz kartes un ģenerēt jaunus maršrutus. Tādām iekārtām ir arī nosaukums – GPS tracker un tos mēdz lietot arī biezās auto signalizācijās, tikai tur vēl papildus GPS čipam nāk arī GSM modulis, kas iegūtos datus ļauj pārsūtīt uz serveri. Man neko nekur sūtīt nevajag, tapēc skatos, kas ta veikalos ir dabūjams. 
Telefona variants jau izmēģināts gadus 5 atpakaļ, īpaši neapmierina tīri dēļ maksimālā laika bez uzlādes – dažas stundas mani galīgi neapmierina. Par iPhone vispār nerunājot – tas ar ieslēgtu ekrānu labi ja 2h nodzīvo. Protams arī ekstremāliem apstākļiem (lietus, dubļi, triecieni) šādi verķi īpaši nav piemēroti.
Tātad paliek specāli šādiem mērķiem taisītas lietas – Garmin,  Magellan. Paskatos ciparus – nu nē… Mani apmierinoši modeļi maksā latus 200 un uz augšu. 
Tad kaut kādā brīdī acīs iekrīt Holux GPSport 245, kuram gan tūlīt būs piejama arī svaigāka un advancētāka versija – Holux GPSort 260, bet tā kā tā vēl nav pieejama pārdošanā, iepērku veco. Aktuālās cenas šeit, mans pirkts par 45Ls.
Principā tas ir tas pats GPS Tracker, taču ar būtisku bonusu – ekrānu, kurā var redzēt visu aktuālo informāciju. Tā nav navigācija, lai arī viens navigācijas elements ir funkcionalitātē iekļauts, bet par to vēlāk. Turpināt lasīt »

6 komentāri

Apr 07 2010

par tendencēm

Publicēts kategorijā IT,beztēma,

Web izstrādes vidē tusēju jau nenormāli sen. Un šobrīd to pieejamo līdzekļu kaut kāda mērķa sasniegšanai ir daudz, daudz vairāk, nekā agrāk. Nemaz jau ne tik daudz patinot filmu atpakaļ atmiņā uzpeld situācija, kad tas vai cits javascript klienta galā vai nu vienkārši neiet, vai pat rada kaut kādas kļūdas. Pēc apmēram nedēļas sarakstes ar klientu nonākam pie softu salīdzināšanas, kas ir viņam un kas ir mums – protams IE (ar ašdesmit toolbāriem, kurus tas draudzīgi ir sagrābies browsējot pa netu), bet tā kā tur vēl dzīvs ir netscape un arī tur ir tie paši gļuki, tas faktors tiek izslēgts. Galu galā pie vainas ir kaut kāds firewall, kurš daļēji izslēdz kaut kādus javascript blokus.
Un kas ta šobrīd nekait kaut ko darīt – javascript visur atļauts (ja neskaita dažus paranoiskus indivīdus), browseri +/- normāli. Pat IE, kurš ir tālu no pilnības arī 8. versijā, var “pieradināt” uzvesties kaut cik normāli. Tiesa gan, bija viena situācija, kur nācās vien izmantot maģisku <meta http-equiv=”X-UA-Compatible” content=”IE=EmulateIE7″ /> hacku, lai ieslēgtu atpakaļ ie7.. Iemesls patiesi nejēdzīgs – <wbr> tega neapstrādāšana. Bet neskatoties uz šādiem un savādākiem”pārsteigumiem” IE pienesums browseru saimē un standartos ir gana liels. Bet tā kā teksts ir par tendencēm, tad vismaz browseru lauciņā iespaidoja viens IE9 video, video kartes resursu izmantošana satura renderēšanā. Ideja gan nav jauna un Nvidia jau labi sen bīda savu Cuda. Šis gan nav gluži no tās sērijas, bet idejiski līdzīgi.

Agriežoties pie web izstrādes – kas mums tagad notiek serveru pusē? Nāk jauni webserveri ar jaunām iespējām un, protams, ātrāki vai kā citādāk labāki par iepriekšējiem – Nginx, Lighttpd, kuri liek pabīdīties Apache, IIS. Nāk jauni datu kešošanas mehānismi – memcache, lai arī nu jau gandrīz vecs, taču jau tiek pielietots un iedzīvināts arvien vairāk citās, kuras izmantojam web projekta darbināšanā. Ja kādam ar memcache key-value mehānismu ir par maz, talkā nāk Redis, Tokyo Cabinet.
Nevar nepieminēt arī vēl vienu lietu – saucamo noSQL risinājumu parādīšanos. Kaut kādā mērā tā tendence ir iepriekš minēto vajadzību segšanai, bet var jau būt ka arī šādam piegājienam ir arī nākotne. Pagaidām grūti spriest par ieguvumiem vai trūkumiem. Par piemēru paņemot kaut vai MongoDB – kaut kas pa vidu starp memcache un klasisku RDBMS. No vienas puses nav vairs primitīvs memcache, no otras, lai arī nevaram pielietot klasisku SQL sintaksi, datus tomēr var paprasīt pēc kaut kādiem parametriem šajā gadījumā izmantojot JSON. Jebkurā gadījumā šādu pazīstamu paņēmienu izmantošana varētu arī palīdzēt MongoDB attīstīties.

Kaut kur visa šī datu apstrādes mehānismu starpā gribētu atrast arī nišu datu indeksētājiem – Sphinx, Lucene/Solr. Ļoti ērts veids panākt performances pieaugumu esošos projektos (kaut gan var izmantot arī topošos, ja ir zināms, ka plika DB nepavilks), īpaši vietās, kur līdz tam izmantotas sarežģītas datu atlases. Pie kam izmantojami ne tikai kā fulltext meklētāji, bet arī kategorizētiem datiem. Es savulaik Sphinx izmantoju dēļ lieliskās iespējas meklēt arī objektus pēc to ģeogrāfiskā attāluma, bet darbu gaitā sphinx tika pielietots daudz plašāk.

Tiesa gan par to visu liela daļa izstrādātāju var tikai pasapņot, jo hostingi defaultā mums nepiedāvās ne mongo, ne sphinx. Labākā gadījumā tur būs memcache atbalsts. Protams visu var sarunāt un vēl viena klienta iegūšanai visticamāk šis hostinga kantoris arī būs gatavs uzlikt nepieciešamo, bet individuāla pieeja arī individuāli maksā. Tā ka šajā sakarā vēl viena tendence, kas iegūst lielāku popularītāti – VPS jeb virtual server hostings. Nav mums gluži izdalīts dzelzis, taču visu instalēt un darīties varam kā uz īsta.

Skatoties tālāk – kas jauns pašā programmēšanas frontē? Šķiet, ka te gan nekas būtisks nemainās pagaidām. Esošās valodas attīstās, bet no jauna nekas baigo popularitātes vilni nav piedzīvojis. Vienu lietu gan gribas pieminēt – flash. Ir zināms par kariem starp Apple un Adobe par flash neesamību iPhone, Ipod Touch, iPad un šī cīņa jau ir apnikusi:) Un te nu seko manuprāt viens no ģeniālākājiem Adobe soļiem – native iPhone aplikācijas flashā. Te viens video par tēmu. Labi, priekš iPhone varbūt arī nedaudz novēloti, taču priekš iPad pašā laikā. Tirgus plašs, iespējas attīstībai vēl jo lielākas nekā iPhone, jo nav visādu tur operatoru ierobežojumu un cenas/kvalitātes/iespēju attiecība pietiekami sakarīga. Flash izstrādātāju arī vairāk, nekā ojective-c. Personīgi es šo iPad attīstību gan saredzu ne tik daudz spēlītēs vai aplikācijās, bet tekstuālā satura – avīžu, žurnālu, grāmatu izplatībai šādā e-saturā.

Un nobeigumā:) Nobeigumā es gribētu pieminēt vārdu “ideja”, jo tas ir tas ar ko viss sākas. Ideja ir visas attīstības pamatā – ir ideja, ir tās materializācija, ir lietas, kuras mēs ikdienā lietojam vai lietosim nākotnē tieši pateicoties kādai senai vai ne tik senai idejai. Un es varu tikai novēlēt tev un arī sev – lai mums ir šī ideja un iespējas to realizēt:)

3 komentāri

Feb 26 2010

nginx triki

Publicēts kategorijā IT,tech,

Tiem, kas tankā – Nginx ir webserveris, līdzīgi kā Apache, Microsoft IIS, Lighttpd utt, bet krietni ātrāks par iepriekšminētajiem un kas pietiekami būtiski – Nginx var darīt arī ko krietni vairāk, nekā parasts webserveris. Bet par to mazliet vēlāk.
Iesākumā gribu pieminēt interesantu lietu, ka lai arī Nginx principā ir zināms pietiekami sen, taču patieso uzvaras gājienu uzsāka pagājušā gadā – http://royal.pingdom.com/2010/01/22/internet-2009-in-numbers/ – popularitātes pieagums par 384.4% ir gana iespaidīgs.
Mana personīgā pieredze ar Nginx ir visai pozitīva. Iepriekšējais favorīts Lighttpd ir nolikts maliņā, kopš tika konstatēts, ka php fast-cgi režīmā uz lighta darbinās 5-10x lēnāk, nekā uz nginx. Nemaz jau nerunājot par visiem pārējiem bonusiem.

Labi, pietiek muldēt, jāķeras pie lietas:)
Bet lieta sekojoša – kādu brīdi atpakaļ gribējās pamēģināt tādu lietu, kā Amazon s3, jeb statisku failu hostēšanu kaut kur citur, nav pat obligāti šis s3, tā vietā varētu būt jebkas cits. Pamatojums? Trafiks. Tieši uz šiem statiskajiem failiem (img, css, js) tas saskrien visvairāk. Amazon tādā ziņā ir labs, ka mani faili tiek izmētāti pa visu pasauli uz n-tajiem serveriem un klients to dabū no sev tuvākā, ātrākā. Mīnuss – tas tomēr ir maksas pasākums. Lai arī ļoti minimālas maksas, taču maksas.
Domāts, darīts – piereģistrējos s3, sakopēju savus failus, salieku webā src=amazon, bet kaut kā nav īsti smuki – visādi sveši url figurē, plus tas viss salīdzinoši notiek diezgan lēni.

Un šajā brīdī atcerējos par nginx un tā iespējām:

location /s3redirect {
   rewrite ^/(s3redirect)/(.*)$ /s3/$2 break;
   proxy_pass http://alxf1lv.s3.amazonaws.com;
   proxy_redirect off;
   proxy_set_header Host alxf1lv.s3.amazonaws.com;
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 }
 

Un vualā – lapā varu atbrīvoties no amazon linkiem, tā vietā lietojot it kā lokālu folderi /s3redirect. Rewrite paredzēts tam, lai pārrakstītu s3redirect par s3, jo tieši tādā folderī mani dati stāv uz amazon servera. Bet otra problēma saglabājas – lēnums. Jo katrs pieprasījums vienalga brien uz amazon. Galarezultātā pat sanāk lēnāk, nekā pa tiešo, jo pieprasījums vēl iziet lokālo stadiju:) Nu ko, turpinam rakt un pieslēdzam cache:

location /s3proxy {
   rewrite ^/(s3proxy)/(.*)$ /s3/$2 break;
   proxy_pass http://alxf1lv.s3.amazonaws.com;
   proxy_redirect off;
   proxy_set_header Host alxf1lv.s3.amazonaws.com;
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

   proxy_cache_key         backend$request_uri;
   proxy_cache_valid       200  1h;
   proxy_cache_use_stale   error timeout invalid_header;
 }
 

+

html {
   ..........
   proxy_temp_path /usr/local/nginx/proxy_temp;
   proxy_cache_path  /usr/local/nginx/cache  levels=1:2   keys_zone=one:180m  max_size=500m;
}

Vēlamais efekts panākts – faili stāv uz amazon, taču servējas jau no lokālā dzelža, kas gan, protams, izklausās stulbi, jo faili jau sākotnēji var stāvēt lokāli, taču domājot plašāk, paveras pietiekami plašas scalability iespējas.

Jāteic gan, ka es neapstājos pie sasniegtā:)  Ideja “a kā būtu servēt no atmiņas” realizējās šādā nginx konfigurācijā:

location /s3 { 
    set $memcached_key $uri;                  
    memcached_pass     127.0.0.1:11211;    
    error_page 404 = @fetch;
}
location @fetch {    
    proxy_pass http://alxf1lv.s3.amazonaws.com;  
    proxy_redirect off;  
    proxy_set_header Host alxf1lv.s3.amazonaws.com;
    proxy_set_header X-Real-IP $remote_addr;  
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;   

   proxy_cache             one;  
   proxy_cache_key         backend$request_uri;
   proxy_cache_valid       200  1h;  
   proxy_cache_use_stale   error timeout invalid_header; 
}

+

html{
   .................
   proxy_temp_path /usr/local/nginx/proxy_temp;
   proxy_cache_path  /usr/local/nginx/cache  levels=1:2    keys_zone=one:180m  max_size=500m;
}

Jeb cilvēciskākā valodā – fails tiek servēts no memcache, ja tur nav – no proxy un ja nav arī tur – no amazon:) Jā, sviestaini, un jā, diez vai es to reāli izmantošu, bet kā neliels ieskats nginx iespējās, domāju, diezgan ok:)


Testi (100 secīgi pieprasījumi 73Kb lielam failam):

Pa tiešo no amazon s3          62.5762 sec
Redirect                       63.1520 sec
Redirect + proxy               1.071 sec
Redirect+ proxy + memcache     0.1760 sec

secinājumus varat izdarīt paši:)


Jāpiebilst gan, ka šādā konfigurācijā memcache māk tikai lasīt – dati pirms tam kaut kādā veidā tur ir jādabū iekšā. PHP piemērs par šo tēmu – kaut vai šeit beigās. Bet, jebkurā gadījumā, tas ir pietiekami būtisks mīnuss.

Bet varētu šo problēmu atrisināt arī savādāk – ar viena cita nginx moduļa palīdzību – NginxHttpMemcModule, kurš memcache māk arī rakstīt.

1 komentārs

Jan 30 2010

atkal jau par iPad

Publicēts kategorijā tech, Tagi:

Vispirms jau – ļoti sen, ļoti, ļoti sen nekas nav rakstīts. Vainīgs, piedodiet, laiks tāds, ka galīgi nekam nav laika – rukā un rukā tik kā tāds “sabraukts ezītis”. 
Un solītā iPhone 3.x LV paka arī joprojām nav izlaista. Par to vēl vairāk vainīgs.. Ir gan pāris alternatīvās versijas, par ko man prieks (tiesa gan cik ātri uzliku pamēģināt, tikpat ātri arī noņēmu).
Mega projekts gada garumā arī nu ir beidzot galā, bet palaist gaisā nevaram pilnīgi triviālu un neprogozētu iemeslu dēļ, kurus neminēšu – nav nozīmes. 
Principā esmu atvērts arī darba piedāvājumiem, ja nu šo pārpratuma pēc lasa kāds darba devējs:) LinkedIn var atrast CV. Freelance projektus pats varu atrast, mani vairāk interesē pastāvīga nodarbe, bet tāda kur tiešām var darboties, kustināt pelēko masu, nevis atsēdēt:)
Labi, tas viss tā kā atkāpei, varētu tā kā pievērsties virsrakstā minētajai tēmai, bet īsi – man ir tikai viena lieta ko teikt:)

iPad. Ir jau daudz visa kā slikta sarakstīts par šo produktu – protams trūkumiem – gan dzelziskiem, gan softiskiem. Atkārtoties nav vēlmes. Bet ziniet, kādus gadus atpakaļ jau sēžot dīvānā bija vīzijas par šāda tipa iekārtu, kuru varētu izmantot kā papildinājumu lielajam kompim – respektīvi – ekrāns man klēpī, bet procesi tiek stumdīti lielajā kompī. Un man šķiet, ka šīs vīzijas varētu arī piepildīties – paņemam kādu no remote display softiem AppStorē (piemēram šo) un darbinam visu ko ienāk prātā. Uzreiz momentā atkrīt nepilnvērtīgā OS mīnusi, tāpat arī multitasking lietas utt. Papildus tam varam arī neslēgties pie lielā kompja un izmantot iPad visos tajos veidos, par ko stāstīja Džobss.
Lūk jums reāls iPad pielietojuma pluss. Ja remote display softs ir gana labi uztaisīts, tad ar darbošanās ērtumu problēmām nevajadzētu rasties.

Visādi citādi, ja man jautātu vai iPad ir revolucionārs produkts? Nē:) Nu vismaz ne tik revolucionārs, kā savulaik bija iPhone.
Vai tas ir tāds, kād gaidīju? Nu, taisnību sakot, man bija vienalga kāds viņš būs. Jāteic, ka visvairāk biju vīlies par OS, lai gan bija jau gaidāms, ka gaidāmo iekārtu darbinās iPhone OS. Pie tehniska rakstura nepilnībām iPhone jau ir pieradinājis un ar iPad nav vairs tas sāpes asums:)
Vai es pirktu? Kamēr nebiju līdz tām remote lietām aizdomājies, likās pilnīgi useless produkts. Tagad tāds 50/50.
Te gan vairāk piestāvētu jautājums – vai man vajag? Pilnīgi un noteikti ne:) 
Un ar šo arī varētu beigt, turpinājums komentāros:)

2 komentāri

Aug 28 2009

10.6

Publicēts kategorijā tech, Tagi:,

zm5tJa man kāds pirms pāris gadiem teiktu, ka es aiztecēšu uz veikalu pēc OS un pie tam tas būs MacOS, viņš laikam izpelnītos kādu žestu deniņu rajonā:) Bet nu jā, tā šodien notika… Jau 5min pirms oficiālā tirgošanas sākuma šī kastīte ar maģisko nosaukumu “Mac OS X Snow Leopard” bija manos nagos. Labi, pietiek muldēt sentimentālus tekstus:) Kas ir pirmais, kas jādara uzliekot jaunu OS? Pareizi – testi:)

Dzelzis – iepriekšējās paaudzes iMac (Early 2008) 24″, 3.06 GHz, 500Gb HDD, 4Gb RAM, NVIDIA GeForce 8800 GS 512Mb

Atskaites punkts – vēl uz 10.5.6 versijas laisti Geekbench testi – 4124 punkti.

Tagad ar 10.6 :
32bitu režīmā (OS palaista uz 64bit) – 4312 punkti.
64bitu režīmā – 4748 (!!!) punkti.

Tātad pieaugums patiešām  ievērojams un kas dīvaini – pat sajūtams:)
Pagaidām ar to arī beigšu, jāskatās tālāk:)

2 komentāri

Nākamie »