Posterous theme by Cory Watilo

Arduino

Img_2365

After seeing lots of cool Arduino based projects on Engadget and Gizmodo, I decided to get one myself to get into hardware programming. I bought this off sgbotic.com. The kit cost $136.90. 
The best thing about the Arduino is its straightforward development environment. The Java based IDE, is very clean and simple, totally idiot proof. There is only one row of buttons on top, compile, stop, new file, open file, save file, upload to Arduino and serial monitor. The language used is actually C/C++. Arduino's standard library is very useful and easy to use.

Screen_shot_2010-12-12_at_pm_11

After going through some of the tutorial exercises in the booklet that was bundled in the package, I felt confident enough to start building something rudimentary but original. I ended up building a row of LED controlled by 2 buttons. Although there's enough digital pins on Arduino for 8 LED's, I thought it would be more challenging to use a shift register to control 8 LED by using just 3 input pins on Arduino. 
Img_2362
Just 3 pins to...
Img_2364
8 pins! The shift register is kinda like a demultiplexer. It receives serial data and converts it into parallel outputs which drives these LEDs.
Img_2358
Each of these LEDs are connected to one of the output leg of the 74hc595 shift register. So for example if the shift register receives a binary byte 10101010 (which is equivalent to 170 decimal), the first, third, fifth and so on... LED will light up. Anyway, to light up individual LED means some calculation is required, not as straightforward  as turning it on directly from Arduino. So turning on the 4th LED from the left means 0001000 (16 decimal) have be sent to the shift register and turning on the 3rd means 00100000 (32 decimal) needs to be sent to the shift register. See a pattern? So to switch on the left LED and switch off the right LED just have to x2.

Img_2366

 

(download)

Akamai State of the Internet Report

Going through Akamai's 2010 State of the Internet report on this chilly Sunday morning. I've noticed some rather interesting points in the report.

  1. Port 445 (Microsoft-DS) is the most attacked port
  2. Singapore's average network speed is 2722 Kbps


Screen_shot_2010-12-07_at_pm_09

In reviewing observed attack traffic originating in known mobile networks, Port 445 was, for most network providers, far and away the most targeted port, likely indicating user populations with insufficiently patched systems running Microsoft Windows OS variants that are connecting to mobile networks, as opposed to malware running on smart- phones and similar mobile devices.

This reminds me of 2001 - 2003 days where broadband internet was starting to gain popularity in Singapore and blaster worm was going crazy. Most families only had 1 PC that was connected directly to the internet via the modem. But as time passed, households started to have more computers more people needed to be connected to the internet so "home routers" started to come into the picture. Network Address Translation (NAT) function of these routers provided good protection against attacks as attacker can't try to access any port on your PC anymore (unless they are explicitly port forwarded). Because of the protection NAT offered at home, most users don't bother about firewalls on their machines. Fast forward to today. Today with cheap mobile internet plans (yay!), more people are connecting directly to the internet again, this time its via USB 3G modem. 

Screen_shot_2010-12-07_at_pm_09

This is from 2 years back (2008). Even then when RPC DCOM exploit was all the rage, attack traffic targeting it was just 29.96%

Screen_shot_2010-12-07_at_pm_09

So our average network speed is just 2722Kbps? Just 11% have 5 meg+ connections? Makes me wonder who is buying 100 meg. NVM, we are on the verge of complete fiber rollout. I guess we'll have to wait for OpenNET to finish installing FTTH and then we'll see how much improvement it makes.