lunedì 4 settembre 2023

XCode, SWIFT e MIDI (il disastro)

Dopo anni di abbandono della programmazione (dai tempi del G4, mitico) dopo che anni come fornitore per grosse cooperative mi ha portato ad odiare questo lavoro (anche se mi occupo principalmente di sql/oracle, ma ho invaso anche VB6 e Java), mi è veuta la malsana idea di provare a fare una app per iOS che leggesse un file MIDI e inviasse il segnale ad hardware esterno. A dirla così sembrerebbe una cosa piuttosto standard. Purtroppo per iOS/OSX non si trova praticamente niente (forse sono troppo ben abituato con Oracle?) se non un paio di articoli/progettini di cui uno vuole venderti il sorgente della sua app che legge i tasti premuti da una tastiera midi (e vista la penuria di materiale fa bene) ed uno è del codice per osx che in teoria dovrebbe far leggere un file, ma lui stesso raccomanda di non usarlo com'è perché non adatto alla produzione. Poi ci si mette il fatto che di swift, che è il nuovo linguaggio di elezione per le app ed in pratica è l'ennesima versione ad oggetti di C (compresi i maledetti puntatori!!), non so nulla e che anche di xcode non ricordo nulla, farò un bel passo (balzo?) indietro e intanto cercherò di creare una app che non faccia niente se non compilarsi ed offrire una interfaccia grafica dei desiderata. Questi post saranno le note personali del percorso che spero porti alla realizzazione della piccola app, sempre se ne avrò la costanza.

martedì 22 maggio 2007

Scheda madre EFIKA a € 75!

Una buona notizia, la scheda EFIKA subisce un netto taglio di prezzo e da € 160 passa a € 75 ($ 99)!!
Le altre configurazioni restano invariate come si può vedere nel negozio on line.

giovedì 17 maggio 2007

Rilasciato GCC 4.2

Finalmente arriva GCC 4.2, che presenta importanti novità, su tutte l' uso di OpenMP per C, C++ e Fortran. Questa tecnologia permette di scrivere codice per sistemi multithread o multiprocessore con poche istruzioni, prendendosi carico di gran parte del lavoro; un esempio di "hello word" tratto dalla pagina inglese di wikipedia
#include
#include

int main (int argc, char *argv[]) {
int id, nthreads;
#pragma omp parallel private(id)
{
id = omp_get_thread_num();
printf("Hello World from thread %d\n", id);
#pragma omp barrier
if ( id == 0 ) {
nthreads = omp_get_num_threads();
printf("There are %d threads\n",nthreads);
}
}
return 0;
}

il resto delle novità é consultabile on-line alla pagina dei cambiamenti

mercoledì 16 maggio 2007

Il ritorno di Amiga?

Per chi si ricorda dei primi anni '90, Amiga sta per tornare!
la società ha infatti annunciato due modelli della serie Power System: il primo dal prezzo di 489 $ è basato sul MPC8349E di Freescale della stessa famiglia del MPC5200B usato dall' Efika, il secondo da 1.498 $ è basato sul PA6T di P.A.SEMI, le specifiche più dettagliate sono a questa pagina.
L' OS dovrebbe essere Amiga OS 4.

martedì 15 maggio 2007

AMD (ex ATI) aprirà il codice dei suoi driver?

Henri Richard, vicepresidente per il marketing e le vendite di AMD, ha dichiarato a San Diego, durante una conferenza di Red Hat, che la società ha intenzione di rilasciare il codice sorgente dei driver delle sue schede video.
Ovviamente se dovesse accadere davvero, si spera il prima possibile, non sarebbe solo linux a beneficiarne, ma tutti gli os "alternativi", come i BSD, solaris, Haiku,Aros e tanti altri.
Sempre restando in casa AMD, oggi sono state annunciate le nuove schede video Radeon 2000, basate sul chip R600.

PA6T-1682M un nuovo PowerPC

Fondata dallo stesso gruppo che diede vita al processore Alpha P.A. Semi, è una compagnia che sviluppa PowerPC, in particolare ha rilasciato il PA6T, prendendo in licenza il ppc970 (G5) da IBM.
Il punto di forza di questo nuovo processore sono i consumi ridotti: grazie alla tecnologia PWRficient vengono dissipati 7 W per core (ce ne possono essere fino ad otto) a 2GHz, considerando il processore nel suo insieme (con un controller per la memoria DDR2 ECC per core e per PCIe e gigabit ethernet) un biprocessore (sempre a 2 GHz) consuma al massimo 25 W contro i 100 del vecchio 970MP i 93 degli Athlon64 e gli 80 dei Core 2 Duo; considerando inoltre che la sua capacità di calcolo è di 4.400 MIPS, direi che si tratta di un ottimo processore.
Inoltre dispone di un' unità crittografica, che permette di facilitare gli algoritmi come CRC, RSA, etc...
A questo link trovate alcuni pdf con tutti i dettagli.

lunedì 14 maggio 2007

Compilare OpenSSL su Darwin 8 / Mac OS X 10.4 Tiger

OpenSSL é una libreria molto importante in un sistema operativo, infatti permette connessioni cifrate (e quindi protette) tra due computer, ad esempio viene usata dai browser ogni volta che si usa il protocollo https.
Per installare una nuova versione su Darwin 8 (o Mac OS X Tiger) si deve prima scaricare i sorgenti arrivatoi ad oggi alla versione 0.9.8e.
Lavorando come sempre da terminale scrivere:
./configure --prefix=/usr --openssldir=${prefix}/etc/openssl threads no-shared zlib no-asm no-krb5 darwin-ppc-cc

poi aprire makefile e fae le seguenti correzioni
CFLAGS -mcpu=7400 -mtune=7400 -fstrict-aliasing -fsched-interblock -freorder-blocks -fmodulo-sched -funroll-loops -floop-optimize2 -fpeel-loops -faltivec -ftree-vectorize

come al solito in caso non siate sicuri che il vostro G4 sia un 7400 scrivete G4, oppure G5 nel caso abbiate questo processore.
continuate sostituendo
CC= /usr/bin/gcc-4.0

e
MANDIR=/usr/share/man

dopodiché date il comando make e successivamente sudo make install.

Per problemi, suggerimenti ed altro usate i commenti.

sabato 28 aprile 2007

Compilare SQLite su Mac OS X 10.4 (Tiger)

SQLite, come suggerisce il nome stesso, è un database SQL (Structued Query Language) leggero, ma molto efficace.
Apple lo usa nel suo sistema operativo sia per gestire l' indice di spotlight, la sua teconologia di ricrca dei contenuti su disco, che come fondamento del framework coredata.
Se siete interessati ad aggiornare la versione a corredo o semplicemente volete effettuare una ottimizzazione più aggressiva. scaricate l' ultima versione disponibile dal sito (ad oggi la 3.3.17), scompattatela ed aprie il terminale potandovi all' interno della directory.
Quindi scrivete
./configure --prefix=/usr --mandir=/usr/share/man --build=powerpc-apple-darwin8.9.0 --host=powerpc-apple-darwin8.9.0 --target=powerpc-apple-darwin8.9.0 --enable-shared --enable-threadsafe --enable-cross-thread-connections --enable-threads-override-locks --enable-releasemode --enable-tempstore always --with-tcl=/System/Library/Frameworks/Tcl.framework --with-tclinclude=/System/Library/Frameworks/Tcl.framework/headers CFLAGS="-O3 -mcpu=7400 -mtune=7400 -fstrict-aliasing -fsched-interblock -freorder-blocks -funroll-loops -floop-optimize2 -fpeel-loops -fmodulo-sched -fno-branch-count-reg -faltivec -ftree-vectorize" FFLAGS="-O5 -mcpu=7400 -mtune=7400 -funroll-loops" LDFLAGS =" -arch ppc -L/usr/local/lib -L/usr/lib -L/System/Library/Frameworks/Tcl.framework/headers -mmacosxmin=10.4"

e date invio.
Nota: -mcpu e -mtune sono seguite dl valore 7400 nel mi esempio, perché si riferiscono ai miei G4, quelli fino a 500MHz, se non avete questo sostituiltelo con G4 o G5 a seconda del vostro tipo di mac, invece se avete un G3 oltre a cambiare adeguatamente il valore di -mcpu ed mtune dovete cancellare anche -faltivec -ftree-vectorize.
quindi scrivete make seguito da invio, poi make test per verificare che sia tutto a posto ed infine sudo make install, seguito dalla vostra password di amministratore.
una volta finito, riavviate la macchia ed è fatta.

Per critiche, suggerimenti e quant'atro, usate i commenti: sono aperti a tutti.

P.S.: per far sì che spotlight crei un nuovo indice è necessario cancellare il vecchio indice col seguente comando da terminale
sudo mdutil -E /