Adio stres la parcat! Bucuraţi-vă de parcarea automată cu valet!
James Bond nu pierde timpul căutând un loc de parcare. În toate filmele îl vedeţi ieşind din maşină chiar în faţa hotelului sau a aeroportului înainte de a arunca cheile maşinii unui valet continuându-şi apoi misiunea. Parcarea e treaba altora. Majoritatea şoferilor a trebuit să se descurce şi fără valet - dar acum, lucrurile sunt pe cale să se schimbe.
În calitate de pionier al mobilităţii automate, Bosch a dezvoltat un sistem fără şofer care utilizează tehnologia conectată pentru a scuti şoferii nu doar de căutarea stresantă a unui loc de parcare, ci şi de manevra de parcare în sine.
Rutina software citește-modifică-scrie în sisteme multicore
În cartea intitulată “Expert C Programming Deep Secrets”, Peter Van Der Linde descrie o serie de greșeli și probleme cauzate de folosirea limbajului de programare ANSI C fără o înțelegere deplină a acestuia. Autorul descrie felul în care au fost descoperite diverse probleme și rezolvarea lor, atenția lui orientându-se către probleme generate de folosirea greșită a compilatorului sau a unor erori de sintaxă ANSI C.
În acest articol, voi descrie un astfel de scenariu, dar axându-mă asupra părții hardware a arhitecturii unui microcontroler pe care are loc execuția codului sursă. Problemele care pot să apară sunt cauzate nu de sintaxa folosită pentru a scrie rutina software, ci de modul în care secvența software folosește resursa hardware în sistemele multicore.
Procesul de asigurare a calității restricțiilor din hartă utilizând query-uri SQL
Există mai multe tipuri de sisteme integrate pentru automobile, dintre care menționăm sistemul de navigație auto prin GPS. Aplicațiile de navigare GPS bazate pe OSM sunt utilizate din ce în ce mai mult deoarece reprezintă singura hartă globală îmbunătățită permanent de comunitate și gratuită. OSM este în permanență îmbunătățit de utilizatorii OSM din întreaga lume și de către analiștii de la Telenav.
Introducere în programarea .Net Multithreading (II)
În articolul precedent am explicat ce este execuția multithreading și am descris elementele esențiale ale programării asincrone în .Net, anume interfața IAsyncResult. Am prezentat și o scurtă istorie a evoluției abstractizării programelor multithreading în mediul .Net, începând cu clasa Thread și sfârșind cu designul async-await (async și await ajungând chiar cuvinte rezervate în limbajul C#).
În acest articol vom oferi exemple de sincronizare a firelor de execuție (numite de acum în engleza originală „thread”) din mediul .Net axate pe cele două moduri în care procesorul funcționează pentru orice sistem de operare: modul Utilizator și modul Kernel. Ca de obicei, începem cu definițiile.
Algorithmic Trading și Machine Learning. O vedere de ansamblu (II)
Algoritmii folosiți cel mai des în sistemele de trading sunt cei de regresie (logistică pentru clasificare de uptick / downtick, least squares, local curve fitting, robust regressions sau, când există constrângeri legate de viteză, algoritmi de online regression, KWIK sau Locally weighted projection). În comunitatea machine learning există o oarecare reticență în a folosi metode "clasice" precum regresia liniară, fiind privită ca "elementară", însă este o unealtă foarte importantă și cu potențial foarte mare.
Una din obiecțiile aduse folosirii acestei regresii este că nu detectează decât combinații liniare ale datelor de intrare, însă adăugând metrici derivate din înmulțiri între features, ridicări la putere sau aplicarea de funcții periodice sau de altă natură, pot fi detectate interacțiuni între variabilele de intrare sau se poate chiar face fitting la funcții complexe (de menționat că și rețelele neuronale au nevoie de cel puțin 2 nivele ascunse pentru a putea detecta interacțiuni între input features).
Aplicaţii moderne folosind Akka
Periodic, în industria software apare un nou set de caracteristici sau calităţi pe care ar trebui să le aibă o aplicaţie modernă şi noi reguli despre cum ar trebui abordată dezvoltarea acestor aplicaţii. Exemple recente fiind: Reactive manifesto (figura 1), aplicaţii 12factors sau multitudinea de articole din sfera micro-serviciilor.
Protocolul FIX
Protocolul Financial Information eXchange (FIX) este un tipar de mesaje utilizat pentru schimbul de informație financiară. A fost creat pentru schimbul de informație în tranzacții și pe piețe, schimb efectuat în timp real.
Când a fost creat inițial, era destinat automatizării comunicării prin telefon. Prima comunicare via FIX s-a realizat între Fidelity Investments și Salomon Brothers. Una din motivațiile din spatele comunicării automate de mașini a fost reducerea numărului de erori cauzate de factorii umani.
Azi, este utilizat intensiv de lumea financiară, de la companiile de brokerage la instituțiile de schimb și vânzări.
Algorithmic Trading și Machine Learning. O vedere de ansamblu (I)
Tranzacțiile datorate tradingului automat au crescut semnificativ în ultimii ani, ajungând să fie majoritare pe toate bursele importante. De exemplu, pe Tokyo Stock Exchange volumul de tranzacții generate din co-location (sisteme prezente fizic în proximitatea bursei) a crescut de la 10% în 2010 la peste 50% în 2016. Apare natural întrebarea de ce există atât de mult trading automat?
Performanța liniară în epoca scalării orizontale
Trăim în timpuri exponențiale – după cum spunea unul dintre acele filmulețe populare pe YouTube și Facebook. Și poate nici unul dintre aspectele vieții noastre nu se conformează acestui dicton la fel de mult ca și cantitatea mereu crescândă de putere de procesare pe care o avem la îndemână. Legea lui Moore și mai ales cei care trudesc neostenit pentru a o menține în vigoare sunt în parte, de vină pentru acest lucru, dar cauza principală este fascinația noastră pentru mai mult, mai repede, mai mare - concepte pe care, în general, le asociem cu mai bine. Însă în această evoluție monoton crescătoare apar probleme atunci când ne lovim de un zid de netrecut, când trebuie să decidem dacă mai bine înseamnă mai repede sau înseamnă mai mult.
Regula # 1: “Distrează-te!”
Potrivit lui Knuth, Computer Programming as an Art (1974) “optimizarea prematură este cauza tuturor relelor (sau a majorității relelor) în programare.” Oare s-a schimbat realitatea din spatele acestor vorbe în ultimii 40 de ani? Să ne uităm la C++ care a rămas un sinonim pentru performanță și în ziua de azi. Să începem cu o funcție simplă: împărțirea la patru.
NUMĂRUL 153 - Generative AI
Design contribution