Articoli con tag how-to

Semplicità di utilizzo di una Pick-gun.

0

Quando ormai la noia ci assale, ed utilizzare i tradizionali picks diventa una perdita di tempo e di energie, potete fare affidamento sulle pick-gun, le famose “pistole grimaldello”, ed alla tecnica del bumping. ;)

Voi stessi potete vedere quanto sia facile:



Un motivo in più per montare serrature blindate.

Bicicletta elettrica con il motore di una lavatrice!

2

I trasporti pubblici sono davvero costosi a Monaco (100 euro al mese). E guidare una macchina, non è certo una buona soluzione dato l’intenso traffico. Guardate dunque cosa si è inventato Valentin:

Questa è una bici elettrica.. o meglio, ADESSO è una bici elettrica, prima era una semplice e comune bicicletta a pedali.
Trasformata totalmete, per raggiungere un perfetto compromesso fra mobilità e costi.

E’ alimentata con 2 batterie da 12V a 12AH.

Il reparto trazione è affidato ad un motore elettrico da 300W (riciclato da una lavatrice ormai non più funzionante). Che assicura una buona rotazione (circa 3000 giri al minuto) con un voltaggio di 24V e un assorbimento contenuto.



E dopo questa serie di foto, ecco un video che la mostra in azione!

Pilotare iTunes con Python – Windows

1

Ben tornati!

In serbo per voi oggi, una manciata di codice Python, per il controllo di iTunes (il software per la gestione e riproduzione di brani, Made by Apple).
Python e iTunes interagiscono via scripting, COM. (iTunes è infatti, fortunatamente dotato di un’interfaccia script).

Il modulo aggiuntivo per Python, necessario, è win32.com (Presente nel pacchetto pywin32).

import win32com.client
 
#Tramite COM interagiamo con l'interfaccia script di iTunes.
 
iTunes = win32com.client.gencache.EnsureDispatch("iTunes.Application")
 
#Mette in play il primo brano della playlist "Classifica".
iTunes.LibrarySource.Playlists.ItemByName('Classifica').PlayFirstTrack()
#Attiva la riproduzione casuale nella playlist specificata.
iTunes.LibrarySource.Playlists.ItemByName('Classifica').Shuffle = True
#Riproduce il file indicato nel percorso, aggiungendolo in libreria se non presente.
iTunes.PlayFile("C:\\Users\\ASS.MUSOLINO\\Documents\\IPOD\\Musica\\8. Beyonce - Halo.mp3")
#Restituisce 1 se c'e qualche brano in riproduzione, altrimenti 0
iTunes.PlayerState
#Mette in pausa il brano.
iTunes.Pause()
#Play
iTunes.Play()
#Stop
iTunes.Stop()
#Brano precedente
iTunes.PreviousTrack()
#Brano successivo
iTunes.NextTrack()
#Stampa a schermo il titolo del brano attualmente in riproduzione
iTunes.CurrentTrack.Name
#Stampa a schermo un numero da 0 a 100 che sta a indicare il volume attuale.
iTunes.SoundVolume
#Setta il volume a 50
iTunes.SoundVolume = 50
#Restituisce True se il volume e' attivo, altrimenti False
iTunes.Mute
#Muto
iTunes.Mute = True
#Toglie il Muto
iTunes.Mute = False
#Minimizza la finestra di iTunes.
iTunes.Windows.Item(1).Minimized = True
#Chiude iTunes
iTunes.Quit()

Assembler – Array di stringhe

0

Nonostante l’assembler sia un linguaggio di basso livello, iniziamo a esplorare una delle strutture dato fondamentali in ogni linguaggio di programmazione, l’array o vettore.

Il seguente frammento di codice stampa un array di stringhe, ogni elemento (stringa) viene stampato su una nuova riga:

.model small
.stack 100h
 
.data
stringhe db 10d, 50 dup('ciao', 10d), '$'  ;  array di 50 elementi (inizializzati alla stringa "ciao" + CR ovvero ritorno a capo), il dollaro è fondamentale perchè indica la fine dell'array di stringhe.
 
.code
 
start:
 
mov ax, @data    ; si passa obbligatoriamente attraverso ax perchè ds (data segment) può ricevere dati solo da registri
mov ds, ax
mov dx, offset stringhe   ; dx conterrà l'indirizzo (comando offset) del nostro array.
 
call puts            ; chiamata della subroutine puts che fa l'output della stringa contenuta in ds : dx / dato : indirizzo
 
mov ax, 4c00h
int 21h
 
    ; inizio della subroutine puts: 
 
puts:
 
mov ah, 9h     ; 9h = output di una stringa
int 21h
ret          ; istruzione di ritorno
 
end start

L’interrupt usato, è il solito 21h per i servizi del DOS.

Assembler – Input e output carattere

0

Piccolo tutorial per Assembly (Masm32) su come fare l’input e l’output di un carattere da tastiera, usando i parametri 1h e 2h dell’interrupt 21h. Lo ricordiamo l’Assembler è un linguaggio di programmazione a basso livello.

; legge un carattere da tastiera e lo stampa a video
.model small ; si parte sempre così...
 
.stack 100h ;è opzionale, e alloca 100 blocchetti di memoria. esadecimali. perchè l'h che segue il numero indica il decimale.
 
.code  ; indica l'inizio del codice.. in generale..
 
start:  ;etichetta start... 
 
mov ah, 1h ;AH è il sottoregistro di AX. parte alta = high. 1h è la funzione dell'interrupt 21h che permette l'input di un carattere con eco.
int 21h ; funzione interrupt che richiama servizi generali del DOS. (21h)
mov dl, al ; copia al in dl perchè l'interrupt 21h salva il carattere ricevuto in al
; in ah si tengono le funzioni (i parametri per gli interrupt), in al i dati.
mov ah, 2h ;mettiamo in ah un altro comando, ovvero 2h che fa l'output a video di un carattere
int 21h ;richiamiamo dunque ancora l'interrupt 21h che segue il comando in ah.
mov ax, 4c00h ;comando per stoppare l'interrupt.
int 21h ;eseguiamo.
 
end start
Torna all'inizio