Archive
Reklame in procentni račun
Danes sem opazil nekaj reklam za telefone določenega slovenskega mobilnega operaterja:
Razumem da so ljudje, ki pripravljajo reklame, hodili na fakulteto, za katero mnogi pravijo da ni fakulteta, in razumem da jim matematika ni ravno vrlina... vendar vseeno... procenti (odstotki) so snov sedmega ali osmega razreda osnovne šole.
En procent oz. odstotek je (kot ime pove) ena stotina. Torej 10%=10/100.
Vzemimo prvi telefon (LG P500), ki so ga pocenili z 90€ na 40€. 1% od 90-ih € je 1/100*90€ = 0.9€. Če pogledamo koliko stotin stane v novo ceno (torej koliko 0.9€ spravimo v 40€... seveda pri tem mislimo na deljenje), je to približno 44. Torej je nova cena približno 44% stare, kar seveda pomeni, da smo stari ceni odvzeli 56%. Telefon je torej 56% cenejši.
Sedaj poglejmo največji zapis na reklami: "DO 70% NIŽJE CENE TELEFONOV!". Besedica "DO" pomeni mejo intervala. "Do 70%" pomeni torej od 01 DO 70% (z vsem vmes), ali pa drug interval, manj logičen v reklamnem oglasu, ki bi pomenil od neskončno navzdol do 70% (oziroma ker gre za procente od 100% navzdol do 70%). Seveda ne more pomeniti obojega. In če pogledamo prejšnji primer, kjer je cena znižana za 56%, verjetno pomeni znižanje med 0% in 70%.
Podobno velja za telefon "Nokia X2", katerega cena je nižja za 50%2.
Tretji telefon ("Blackberry Curve 8528") je znižan z 50€ na 10€. Če ponovimo vajo, je zatorej 1% (od stare cene, torej od 50€) točno 0.5€ in nova cena je točno 20 odstotkov stare, torej so ceno znižali za kar 80%. In 80% je več kot 70%.
Če pogledamo zadnja dva telefona, ki sta znižana z 10€ na 1€ (torej 1% od 10€ je 0.1€, v novo ceno 1% spravimo 10 krat po 0.1€, nova cena je torej 10% stare, kar pomeni da smo jo znižali za 90%). Tudi 90% je več kot 70%.
Največje znižanje je torej za 90% (ostala so manj), zatorej so vaša znižanja DO 90%, in ne do 70%3.
Se opravičujem za izpad, vendar vseeno upam da bo komu to pomagalo razumeti kako se računajo odstotki, in kaj pomeni besedica "DO".
Bankomati in WINNT ... spet :)
Ravnokar sem se vračal iz centra domov in, kot ponavadi, čim sem zapustil avtobus začne deževati, in nekaj sekund zatem močno zagrmi, ugasne se ulična razsvetljava (semaforji so začuda delali dalje). Hitro sem stekel pod nadstrešek, da dam prevleko z dežnika in ga odprem... pa opazim da je lokalni bankomat ravno na začetku boota, in 'prešteva' ram (nažalost nisem uspel slikati, če se prav spomnim ga je bilo 512MiB :/)
Takoj za tem se prikaže boot menu, kjer se izbira med "Windows NT Workstation Version 4.0" , in isto z VGA ločljivostjo.
In takoj zatem še splash screen...
ki seveda potrjuje da gre res za Windows NT
Ko se windowsi do konca zaženejo se pokaže še Wincor Nixdorf - Simt Cardinfo splash, za katerim pa klasičen NLBjev reklamni prikaz (nisem niti slikal), kot na vseh drugih bankomatih.
Sedaj pa...glede na to da vsake nekaj dni berem o kakem novem vdoru v nek "varen" sistem1,... ima kdo kako idejo kako je s supportom? Imajo banke kak poseben support za Windows NT še toliko časa po izteku uradnega supporta? Ali pa se zanašajo na 'zaprtost' njihovih omrežij in izolacijo od interneta? Ali pa naj ratam še bolj paranoičen, in ne vtikam kartice več v noben bankomat sploh?
ps: bakomat se je resetiral sam (verjetno zaradi izpada elektrike). V njegovo delovanje nisem posegal, vse kar sem naredil je, da sem slikal.
- citibank, psn, rsa,... ↩
Bus Pirate test
Neko noč (neprespan) sem naročil novo igračko, ki nosi ime Bus Pirate, in predstavla povezljivost med računalnikom (USB) in kar precej drugimi protokoli (1-Wire, UART, I2C, SPI, JTAG, raw 2-wire, raw 3-wire, HD44780 LCDs, MIDI)
Ploščica, z kablom škatlico in poštnino, stane cca 30eur pri seeedstudiu.
Za prvi test sem uporabil RFID bralec (125kHz, link), ki podatke pošilja prek UART-a. Povezal sem RX in TX pine, ter napajanje (+5V) 1
Bus Pirate se (po povezavi z USB kablom) računalniku pokaže kot serijski vmesnik, v mojem primeru na /dev/ttyUSB0. Po odprtju porta (screen /dev/ttyUSB0 115200), in nekah pritiskih na tipko Enter, vidimo ukazno vrstico:
HiZ>
ki nam omogoča upravljanje z napravo. Ukazni način, čeprav morda malo neudoben, naredi napravo precej enostavno za uporabo. Če pritisnemo '?' in tipko enter, dobimo pomoč:
General Protocol interaction
---------------------------------------------------------------------------
? This help (0) List current macros
=X/|X Converts X/reverse X (x) Macro x
~ Selftest [ Start
# Reset ] Stop
$ Jump to bootloader { Start with read
&/% Delay 1 us/ms } Stop
a/A/@ AUXPIN (low/HI/READ) "abc" Send string
b Set baudrate 123
c/C AUX assignment (aux/CS) 0x123
d/D Measure ADC (once/CONT.) 0b110 Send value
f Measure frequency r Read
g/S Generate PWM/Servo / CLK hi
h Commandhistory \ CLK lo
i Versioninfo/statusinfo ^ CLK tick
l/L Bitorder (msb/LSB) - DAT hi
m Change mode _ DAT lo
o Set output type . DAT read
p/P Pullup resistors (off/ON) ! Bit read
s Script engine : Repeat e.g. r:10
v Show volts/states . Bits to read/write e.g. 0x55.2
w/W PSU (off/ON) //<0> Usermacro x/assign x/list all
Prvo vključimo napajanje (W), in s tipko 'm', izberemo 3 (UART), 5 (9600), in ostale nastavitve pustimo na privzetih:
HiZ>m 1. HiZ 2. 1-WIRE 3. UART 4. I2C 5. SPI 6. 2WIRE 7. 3WIRE 8. LCD 9. DIO x. exit(without change) (1)>3 Set serial port speed: (bps) 1. 300 2. 1200 3. 2400 4. 4800 5. 9600 6. 19200 7. 38400 8. 57600 9. 115200 10. BRG raw value (1)>5 Data bits and parity: 1. 8, NONE *default 2. 8, EVEN 3. 8, ODD 4. 9, NONE (1)> Stop bits: 1. 1 *default 2. 2 (1)> Receive polarity: 1. Idle 1 *default 2. Idle 0 (1)> Select output type: 1. Open drain (H=Hi-Z, L=GND) 2. Normal (H=3.3V, L=GND) (1)> Ready UART>
Podobno lahko nastavimo katerikoli drugi protokol (seveda nastavitve, ki jih protokol podpira). Sedaj pritisnemo tipko '{', ki začne z branjem, in čitalcu približamo kartico.
UART> READ: 0x02 READ: 0x30 READ: 0x38 READ: 0x30 READ: 0x30 READ: 0x44 READ: 0x42 READ: 0x35 READ: 0x44 READ: 0x46 READ: 0x34 READ: 0x37 READ: 0x41 READ: 0x03 UART>
Tako vidimo na kartici zapisano kodo, ki jo čitalec pošlje. Če bi namesto rfid čitalca uporabil napravo ki tudi kaj 'posluša', bi ji lahko pošiljal poljubne podatke.
Zanimiv feature je tudi preverjanje napetosti na pinih:
Pinstates: 1.(BR) 2.(RD) 3.(OR) 4.(YW) 5.(GN) 6.(BL) 7.(PU) 8.(GR) 9.(WT) 0.(Blk) GND 3.3V 5.0V ADC VPU AUX - TxD - RxD P P P I I I I I I I GND 3.31V 5.15V 0.00V 0.00V L L H L H
Naslednja stvar (tj. eden izmed mnogih TODO-jev) je stestirati SPI na smart kartici!
- Pinouti so v datasheetih ↩
Debian in the sky
Sicer sem prepozno opazil, da bi moral slikati z druge strani... a vseeno...
Ljubljana, 3.12. 2010:
edit (7.12.2010):
Slikano še s prave strani:
Enkripcija celotne particije
Ker so usb ključki vse manjši, in jih je vse lažje izgubiti, je včasih dobro da so podatki na njih kriptirani. Podobno velja za prenosnike, ki jih je sicer težje izgubiti, a so zato toliko bolj privlačni za krajo.
Najbolj primerna metoda enkripcije, je kar uporabiti LUKS, ki zna zakriptirati celo particijo 1, a žal ne podpira skritih particij2. Zanj potrebujemo cryptsetup, ki je ponavadi že del priljubljene linu distribucije3.
Jaz bom v tem primeru formatiral prvo particijo "drugega diska" (/dev/sdb1, torej usb ključ), z ukazom
cryptsetup -s 256 luksFormat /dev/sdb1
Zastavica '-s 256' nastavi velikost ključa na 256 bitov (torej aes256 namesto privzetega aes128). Program nas vpraša za potrditev (vpišemo YES), in dvakrat za geslo. Seveda naš novonarejeni container nima ustvarjenege filesystema4. Pred ustvarjanjem le tega, moramo seveda container odkleniti - z ukazom:
cryptsetup luksOpen /dev/sdb1 mojusb
ki po vpisanem geslu postavi odklenjeno vsebino v /dev/mapper/mojusb5. Sedaj lahko ustvarimo filesystem, in ga mountamo:
mkfs.ext4 /dev/mapper/mojusb mount /dev/mapper/mojusb /mnt/hd/
Sedaj na ključek prenesemo podatke.
Seveda po končanem delu treba ključek odklopiti, in nazaj "zakleniti", kar storimo z:
umount /mnt/hd/ cryptsetup luksClose mojusb
Sedaj lahko ključek odstranimo, in tudi če ga zgubimo, bodo podatki na njem varni6
Torej procedura: luksOpen, mount, delo s podatki, umount, luksClose
Disclaimer: če si ponesreči sformatiraš home particijo, in uničiš edino verzijo doktorata, ki si ga pisal zadnjih pet let, ali pa uničiš pomembne poslovne dokumente, jaz za to ne odgovarjam... in ne, ne vem kako povrniti 1500 izbrisanih txt fajlov, tako da bi se ohranila imena datotek... hvala.
- kar je dobro ker se skrijejo podatki o številu in velikosti datotek na njej ↩
- truecrypt ↩
- na gentoo-ju emergeamo sys-fs/cryptsetup ↩
- datotečnega sistema? ↩
- namesto "mojusb" lahko uporabimo katerokoli besedo, le v /dev/mapper ne sme obstajati naprava z istim imenom ↩
- toliko kolikor je varno geslo... oziroma: xkcd ↩






