lunedì 20 maggio 2013

Problema di Eulero 1


Non so se avro' la costanza di continuare ... intanto per imparare un po' meglio C/C++ mi sono messo a cercare di risolvere i problemi di Eulero proposti dal sito http://projecteuler.net

Il problema e' cosi' formulato


If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.
Find the sum of all the multiples of 3 or 5 below 1000.


Il programma per la soluzione del primo problema e' banalmente il seguente
---------------------------------------------------------------
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    int quanti = 0;
    for (int i=1;i<1000;i++)
    {
        if ((i%3 == 0) || (i%5 == 0)) quanti=quanti+i;
        }
    
    cout << quanti << endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}
----------------------------------------------------------------------------------------------

La soluzione e'  233168

C'e' anche una soluzione non ricorsiva ma, visto che lo scopo e' usare il calcolatore, non credo sia corretto usarla

sabato 18 maggio 2013

Android Studio su Linux





A differenza della versione per Windows, l'installazione di Android Studio su Debian e' nettamente piu' lineare. L'aspetto da sottolineare e' la richiesta di avere installato Oracle JDK e non OpenJDK

Android Studio su Windows

E' stato rilasciato da Google il nuovo ambiente di sviluppo Android basato da IntellJidea al posto di Eclipse.

L'nstallazione su Windows non e' proprio banalissima perche' devono essere configurata alcuni parametri altrimenti Android Studio si installa ma non parte senza neanche dare particolare messaggi di debug

La prima cosa da fare e' verificare (e se non esiste deve essere creata) la presenza della variabile di ambiente JAVA_HOME che punta alla directory di installazione di Java (in questo caso C:\Programmi\Java\jkd-1.7.0_09. Dopo si deve verificare che sia inclusa nella Path la directory di Java bin nel mio caso C:\Programmi\Java\jkd-1.7.0_09\bin


Fatto cio' il programma parte


ma alla prima creazione di un progetto si deve essere necessariamente collegati ad Internet perche' viene scaricato ulteriore software (Gradle) che non e' incluso nel pacchetto di installazione


mercoledì 15 maggio 2013

Avvio Automatico di applicazione in LXDE

Utilizzando il file del post  precedente si puo' mandare in esecuzione una applicazione in LXDE in modo automatico.

Si puo' copiare il file .desktop ed inserirlo in /myhome/.config/autostart

Al successivo login il programma puntato andra' in esecuzione

martedì 14 maggio 2013

Icona per applicazione sul desktop di LXDE

Creare una icona per lanciare una applicazione in LXDE non e' cosi' banale come in GNOME o KDE ma sostanzialmente e' abbastanza semplice



si deve creare un file .desktop che deve essere inserito nella cartella Desktop della propria Home secondo il modello sotto riportato

Si puo' specificare il testo dell'icona, il file immagine dell'icona e dove e' ubicato l'eseguibile da lanciare


nome.desktop
------------------------------------------------------
[Desktop Entry] 
Name=Race Control
Type=Application
Exec=/usr/bin/Race_control
Icon=/home/luca/cronometro.jpg
------------------------------------------------------

per creare un lanciatore alla directory di home di puo' invece usare
------------------------------------------------------

#!/usr/bin/env xdg-open
[Desktop Entry]
Name=MyHome
Type=Application
Comment=Show home directory
Terminal=false
Exec=pcmanfm ~
Icon=folder_home.png
Encoding=UTF-8

Ripristinare firmware Samsung su GT-S7500 Ace Plus

Un amico ha cercato di effettuare un aggiornamento del firmware originale del telefono Samsung Ace Plus via OTA (over the air) con la classica conseguenza che il download non e' andato a buon fine ed il telefono, una volta riavviato, presentava solo il bootloader

La versione di Android montata era quella stock della Samsung con la sola differenza che io avevo proceduto a fare l'unrooting ed a modificare la recovery mettendo la ClockWorkMod

Per riprendere il controllo ho scaricato Odin (all'ultima versione disponibile ovvero la 3.07) ed il software originale non-brandizzato(S7500XXLJ3_S7500SERLJ3_SER)

Una volta fatto partire il telefono in Download Mode con la combinazione Vol meno- Home -.Accensione, ho selezionato come PDA il file di ripristino ed ho atteso

Al termine con mia grande sorpresa non solo il telefono e' ripartito (questa era auspicabile e prevedibile) ma si presentava con tutti i programmi e le impostazioni presenti in precedenza al

mercoledì 8 maggio 2013

Samsung ML-2160 e Debian

In generale ho imparato che se si usa Linux e Debian in particolare non si deve comprare hardware di recente produzione perche' non e' garantito il supporto ... pero' visto il costo e visto che il sito Samsung garantisce i driver per Linux (mediante il Samsung Unified Driver) ho deciso di acquistare una stampante laser Samsung ML-2160

La stampante e' come al solito priva del cavetto USB (chissa' perche' non lo danno in dotazione)



L'installazione del Samsung Unified Driver e' tutta gestita mediante interfaccia grafica e si vedono i primi problemi. Mi viene richiesta l'installazione di Sane (che avevo gia' installato) e piu' in generale si vede che l'installer non gestisce le piattaforme a 64 bit


Alla fine dell'installazione viene installata una stampante CLP-300 ed ovviamente la stampante non funziona.
Dal programma di configurazione ho cercato di aggiungere una nuova stampante (i driver della MK-2160 sono in elenco) ma l'operazione risulta impossibile


La soluzione, come spesso accade in Debian, arriva grazie alla buona volonta' di qualche sviluppatore
Dopo aver disinstallato il Samsung Unified Driver si puo' procedere come segue

deb http://www.bchemnet.com/suldr/ debian extra
wget -O - http://www.bchemnet.com/suldr/suldr.gpg | sudo apt-key add -
apt-get update
apt-get install samsungmfp-driver
apt-get install samsungmfp-scanner 
alla fine andando in Preferenze/Stampa si trova la stampante pronta e configurata



Debugger integrato ESP32S3

Aggiornamento In realta' il Jtag USB funziona anche sui moduli cinesi Il problema risiede  nell'ID USB della porta Jtag. Nel modulo...