Fadeaway Ink

I just saw a old fax printout and realized that the ink on those fade away with time, most would consider this an annoying glitch. But think from a different perspective. Why not use it for our advantage?

In almost all settings today (office or home) people print things out to use only for a very short period of time (maybe a week) just so they don’t have to stare at the computer monitor for long periods of time. If Fading Ink is used, you could simply print it out, use it for the short duration and after a few days the ink will slowly start fading away.

So I call on all your crazy chemists, know of anything that we can use as a ink that with time will start changing colors or simply fade away to transparency (either by a chemical reaction taking time, or simply a reaction with gases in the environment). Even if it changes to a color such cream or light blue, that would be ok… (we can just print on a light blue piece of paper and continue to reuse that).

Of course other than the tree/paper saving advantage, you can do some really nifty tricks with this. You could print a message out using a ink that fades away due to oxidization, and immediately after printing put it in a sealed envelope and send it. This way the recipient only have a short amount of time to read it and the message will effectively self destruct (unless they know what’s coming and quickly make a copy of it, of add some more chemicals to change the color of the ink yet again).

Simple enough?

Rewrite

Looks like it’s high time for me to rewrite my whole website from scratch. Just as a update I am in San Jose working at Cisco, but will be back in College Station in August.

Charging Batteries

Lot of people carry around battery powered electronics such as laptops, camera’s and cellphones. One problem with all of these is that you need to constantly be charging them or replacing the batteries. Another interesting characteristic of all of these items are that they move around a lot. For example a cellphone moves and shakes as the user walks.

Why not have a simple mechanism similar to automatic watches where this motion can be used to charge the phone. This doesn’t need radical design changes either.. rechargeable AA batteries can have something very small like this embedded inside, or in already common cell phone battery designs.

Sure it won’t power the whole unit all the time, but at least extend the battery life considerably. Worse case is that the battery is totally dead and you can shake it until it’s charged enough to use it to make a quick emergency call or take that breathtaking view you just discover right when you run out battery power on the camera.

1. Motion Powered Battery
2. ???
3. Long time Battery life

Picture Organizing

When I finally have a need and I am looking for a tool/system to accomplish that task, I tend to be extremely picky and very demanding of certain features. This happened when I finally made up my mind to consolidate all my photo’s in to one central system and organize them. Pictures started coming out the woodwork, now I have a jumble of hundreds of folders with thousands of pictures.

On the bright side, they are all on a single partition now. This is compared to before where they were spread across many machines, hard drive, backups and whole bunch of flash memory cards laying around.

Now on the hunt for a good program to organize them. So far I have tried F-Spot, Picasa, DigiKam. They were alright, but didn’t fit my needs, and I doubt there is anything out there that would. So the features I need are

  • In Place file access - should not require the program to import the pictures to it’s own backwards folder structure
  • Restructure folder tree - For example all your pictures are a mess, but with this you can tell it to put all the files in folders according to date or category name
  • Categories, Keywords - All the programs I tested did this pretty quick
  • Automatic Categorization according to date and other information

So the automatic categorization is the most important feature I want. Picasa does a good job at this.. but it simply clumps pictures that were taken in the same day together. What I want is for this to happen in a more elegant algorithm that uses the timestamps to figure out and distinguish between different events.. but allow the user to easily merge or split categories.

I think I will put to my work stack to develop such an algorithm, does not seem to hard. I am thinking it would make sense if you graph the amount of pictures taken per day, any grouping of pictures can be thought of as a single event or category. Lets see where it goes…

But for now considering I haven’t had any rest at all for the past few days, I think I will let all my photo’s chill for a while.

The Work Stack

Ok I need a break from my finals studying. Just 5 minutes. Here is my to do list of things.

  • Study for Finals - Just two more days
  • Cisco Systems Internship - Again this summer, need to pack up and go
  • Canon SD1000 - Play with the chdk firmware.
  • WRT350N Bricked - Poor 802.11n router, need to bring it back to life
  • Organize local files - Several TB over about 20 hard drives makes me a sad panda
  • Organize online files - Makes me sick looking at my web hosts root directory
  • VoIP - Put my SPA3102 with my Asterisk box to good use
  • Box of Networking stuff - Need to bring them back to life
  • Bye WordPress - Needs replacement or upgrade
  • Web Photo Album - Any ideas on Flickr, Picasa Web, maybe I will just host my own
  • The list just doesn’t end…

Back to cramming… wish me luck.

Port Multiplexer

The other day I was trying to figure out how much I can do with accessing only one port without tripping IDS before that machine. Hiding a service or two services in one port. Lets take an example, it would make more sense.

You have a server with only port 80 open. How can I rig the server so it would continue to serve web data as normal on port 80 to regular clients, but at the same time allow special access or services through the same port

A way this can be accomplished is by using a port multiplexer. I searched around for this idea and the only thing I can ran across was a 1988 RFC 1078, that kind of does what I want, but not really. My thought on designing a port multiplexer is have it work like a NAT, except instead of IP address translation, it would do service translation.

This would work like this. First need to have the webserver process (apache/IIS) listen on some other port (lets say 81). Now have the Port Mux program listen on port 80. Now how it works from the time a user tries to connect to the server. The second service would be listening on port 10000 for this example.

Client requests connection to port 80
Port MUX creates connection with client
Client sends packet
PortMUX inspects packet
_ if packet has specialheader
_ _ _ router all traffic to port 10000
_ else
_ _ _ route all traffic to port 81

So when a connection comes in, PortMUX will make the connection and accept the first packet and if it has a special string, it not it will forward the traffic from that connection to the web server. If it is a special character, the connection would be to port 10000. Its easy to detect if it’s a HTTP request by looking at the first string in the packet and find “GET” or “POST”. As for the special string, you could put something like “SPAMSPAMSPAM” which is definitely not a HTTP request… and would allow access to the second service.

I will make an implementation of this sometime later and post it, if you have some free time now feel free to make one and test it out.

Standup/Lock

As a habit now, every time I stand up from the computer, I press the hotkey to lock the computer (yes, even when I am the only one around at home). It hit me, why not automate this. A sensor you can have on the chair that would lock the machine when it detects you stand up.

Concept seems simple enough, all I need now is some free time to implement this.

Cleanup Time

Looks like it’s time for me do a total cleanup of my things, both virtual and in the physical world.

  • Room Cleanup (load of empty boxes, anyone want any?)
  • Door-Desk, two of them for the room
  • New Book shelves, having a space issue now
  • 3TB worth of data to be organized, and the countless number of cd and dvd spindles
  • Old cloths, old electronics, old everthing…

Wow.. thats a lot of random stuff. Maybe I should get started as soon as possible when I find some time.

Weakness in Captcha

Captcha is a system widely used in web forms to differentiate between humans and bots. I won’t go into detail how it works but you can read it on Wikipedia. Many people try to defeat this system by writing very advanced character recognition software but there seems to be a very large hole in this system at the moment.

This vulnerability isn’t on all of them, but about half the systems I tried, it works (Yahoo and Google to give two examples). It seems internally, when a new captcha image is generated, the corresponding plaintext is stored in a database. The problem is that this database just stores the plaintext without any connection to the client’s identity (For example IP). So how can this bad?

Well you can refresh the captcha images in this system repeatedly and write down the plaintext values from the image. Now you can store those value’s in a bot and have the bot enter those plaintext value’s in.

Here are the steps for a proof-of-concept.

Go to Computer A, get a captcha image. Write down plaintext
Go to Computer B, go to same page, enter previous plaintext from different session

WRT350N External Serial

I got my hands on a bricked WRT350N router was trying different magic trying to flash a new firmware and get it working. I was trying to connect it to a serial console when I realized that on the WAN port in the back, on the opposite side of the RJ-45 jack there were 4 pins… named UR1 UR2 UR3 UR3… that got me thinking, could those be for a serial connection Linksys started including in their new routers??

Opening the case up and tracing the 4 pins to the internal serial connection terminals proved that they were indeed for a serial connection. Some pictures for your viewing pleasure.


Now I just have to figure out where to get a RJ-45 jack that has the pins on the opposite side so I can hook it up without soldering my own ghetto RJ-45/Serial jack. Let me know if anyone know where to find such a RJ-45 Jack.

Calendar Syncronization Winner

I did not put the effort before to keep a calendar of any sort on the computer before since it was a pain to get it to synchronize between the desktop computer, laptop, and if I am not near those two the calendar is unavailable… until I found a killer combination.

Thunderbird + Lightning + Provider for Google Calendar

This was so good it was enough reason for me to switch from Evolution to Thunderbird… the interface for Lightning seems a little out of place compared to thunderbird and gnome’s default theme… but I can live with that. Now adding a event in my laptop, desktop or google calendar online is all I need to do and the other places are automatically kept up to date. Fabulous!

I had used other calendar synchronization application combinations before, but this is by far the best one I have come across and highly recommend you to take a look. Enjoy!

UPS Social Engineering

I recently ordered something and had it ship through UPS. Once it had already shipped, I decided I want it shipped directly to my College Station address instead of my Houston address. I was not sure if this was possible, oo I was getting ready to go to the UPS store, show some ID and verify that it’s me who is changing the destination address…

But I decide to call them beforehand. A minute later, my local UPS location gives me 1800 number, and two minutes into that call, the customer rep asks me for my tracking number and the new destination address. Thats it… Wait, they didn’t even verify who I was.

Is it me who sees a huge security hole here. It seems anyone with a tracking number can re-route a order to any place they wish.

So that means one should not go through the trash at the UPS store and should not find receipts of recently shipped items, and should not follow their tracking to see if it’s still being shipped, and should not call them and reroute them to your neighbors house. It’s illegal and unethical to tamper with someone else’s shipment so you should never even think about this.

Multi-Factor Authentication on the Cheap

Large enterprises, banks and other places requiring very high security log on systems use multi-factor authentication. Multi-factor authentication is using multiple means of verifying if the person trying to log in to the system is the real person and not someone stealing credentials. For example a conventional single-factor authentication is simply entering the user name and password to log in to check your email. A example in multi-factor authentication in a high security area might be entering a pin number and doing a retinal eye scan. Notice that multi-factor means using two different means to gain access, in this case the pin number and the retinal eye scan.

A really easy way to set up multi-factor authentication for one your systems is to use the conventional username/password as one factor, and then using the SMS technology in your phone as the second factor. An example case will better demonstrate this.

User enter username/password and log in to the System
System sends a SMS message to pre-defined phone number with a code
Enter code in next step in the log in process
Log into website

When you set up the account, you need to set up a phone number to pair up with the given username/password pair. To make things a little more secure, you can change things around

User enter username/password and log in to the System
System sends a SMS message to pre-defined phone number with a code
Unscramble the code manually (reverse the code)
Enter unscrambled code in next step in the log in process
Log into website

This might seem nice and all, but as most cool ideas, you might say the implementation is too much trouble to go through. Wrong, this is extremely easy to implement. Most mobile phone carriers now have email to SMS gateways. For a few of the gateways you can visit my previous post or just google. There are a few services popping up online that allow you to send a email to a single phonenumber@domain which will select correct SMS and send it.

For example to send a SMS to a t-mobile phone number with 123456789 you would send a email to 123456789@tmomail.net and thats just a single php function.

Good luck, this is a very easy mechanism to implement to make it harder for someone to gain illegal access to your systems.

D975XBX2 SATA Controller and Linux

After struggling with the Intel Bad Axe 2 (D975XBX2) motherboard to get the secondary Marvell SATA controller to work with Fedore Core 7 Linux, I finally got it working. The motherboard has two on board SATA controllers, each with 4 ports, totalling 8 SATA ports. The parimary SATA controller is from Intel and it was detected flawlessly. The secondary SATA controller is a Marvell 6145 (88SE61xx), and throughout fedora core’s installation as well as boot up, fedora core tries to load the pata_marvell driver and screw everything up.

The solution is easy. Blacklist the pata_marvell. To do this add the line “blacklist pata_marvell” to the /etc/modprobe.d/blacklist and restart the system. This should speed up the boot process if it was hanging before trying to load the pata_marvell driver.

I wrote this so anyone else who might be having the same issue can resolve it quickly. Good luck!

ThinkPad Beep

If you are IBM Thinkpad user (T60, probably other models too) you know all too well how annoying the system beep can be, specially when you are on headphones (the beep always comes at the highest volume totally stealing my concentration). Usually comes when you press multiple keys at time, but once in a while it beeps randomly. Easy fix.

Go to Device Manager, Show hidden devices, Scroll to the Non Plug and Play Devices and disable the Beep device.

This was the only problem I was having with the laptop, and now it’s gone! Best laptop to date I have used.

Know who you are Scamming

Well not really scamming, but if you are trying to sell something and make a quick buck because you got it through a special promotion, make sure the people you advertise it doesn’t know about the promotion.

Hey interns,

I’m selling a brand new iPod nano silver 4gb for $160 and a brand new Macbook Pro 2.2Ghz (Santa Rosa) for $2000 (no tax on either). FYI the retail price on the iPod is 199+tax and the Macbook Pro is 2000+tax. The Macbook Pro is the 2007 version of it. Both are brand new sealed in box. Please give me a call at 408-???-???? or reply (NOT REPLY ALL) me if youre interested.

Thanks!

This was sent to the Cisco Intern mailing list. Almost everyone here knows that you could get the laptop for 1800 + free iPod if you are student. Talk about looking stupid… Moral of the story: Know who your audience is.

Free Premium Channels

Ever thought that it would be great to get some of those premium cable TV channels for free? For example HBO or Starz. You must be thinking this is going to involve using a legal-shady box or some type of hack, but most of the time just asking works. Well asking in a not so straight way.

First, it’s best if you are ordering a new cable connection your place. If not try to find some problem you are having with your cable connection, maybe quality is bad or lot of disconnects or look into your bill and find some type of mistake. If it’s ordering new cable, when you are talking with them on the phone find something that will not make you happy, usually they take forever to send a technician out to activate your service.

Now that you have something to be upset about cable company, call them up and complain. Try saying you are unhappy and ask them what they can do. Usually they will cut a deal. If they say no, just ask for the manager and say you’re unhappy about the service (in which case you should be now). Most of the time the managers will cut a deal with you. Remember to ask for some premium channels for no extra charge. Other things you might be able to ask is to lower your current service cost. Of course this won’t work 100% of the time.

You have nothing to lose doing this other than a few minutes of your time, and if you are reading this page, thats something you definitely have. Enjoy! I am going to go enjoy some free HBO.

Cisco Internship

I am currently interning with Cisco Systems in San Jose. Just the break I had been hoping from academia as I was this close to snapping. Perfect weather and interesting work with awesome benefits, I don’t think I can ask for any more from a internship this perfect.

The specific group I am working in Cisco for is known as the STG, or the Security Technology Group. This is great as my primary focus lately had been network security. Everyone is very friendly and quite passionate about their projects which I thought was only present in small start up companies. Then again Cisco can be thought of as a grown up start up, so it’s still got the soul of one. The main project I will be working with related to Automated Signature Extraction from worm and virus outbreaks. Other than that I will be working on maintaining security related components in the IOS as thats what the STG is responsible for as well.

Cisco really pampers their employees and interns. I was surprised to find that as interns we are equally treated as full time employees regarding to the type of work we are doing and the benefits we are receiving. All receiving nice ThinkPad laptops, unlimited beverages at work (lots of soda and juices, many flavors tea, coffee, water, hot chocolate…), gym and sports facilities, awesome cafeterias on campus and the list goes on and on. Along with a nice compensation, I can’t think what else to wish for. The free drinks has been my favorite so far. There are about 40 huge buildings in the Cisco campus and their all beautifully landscaped with basketball courts and volleyball courts scattered in between. Ping-pong, pool and foosball games within building helps everyone keep their sanity levels normal during high stress work. Tech related stuff can be quite stressfully and I assume all these are to keep everyone sane, which equals to better productivity and happy employees.

My first few days were all about getting used to the Cisco IOS Source building enviornment. Cisco has a array of their own tools and their own version control system to help the thousands of developers work on the same code base seamlessly which is amazing. In the main source tree, doing a “ls” is a bad idea… imagine so many items it takes a while for it to display. The process of getting even a few lines into the IOS is a very systematic and long process involving many checks, automated checking and testing, peer reviews and more testing. I just committed my few lines of code in to the Cisco IOS last week in the form of a bug fix which I think is insanely awesome!

For those who don’t know what Cisco IOS is, it’s the operating system almost all Cisco Routers use, and almost all internet related networking products that backbones and ISP’s use are Cisco. In simple words, the internet you use is driven in majority part by Cisco IOS running products.

Well It’s getting late, I will post some pictures and more info some other time. Enjoy!

Command Line SMS Fun

Almost all cellphones and carriers support SMS’s now, and bundles of hundreds or unlimited plans are really cheap. One spiffy feature that most major carriers provide is email to SMS relaying. Below are some of the major carriers relaying addresses.

Alltel
1234567890@message.alltel.com

AT&T Wireless / Cingular
1234567890@mmode.com

Boost Mobile
1234567890@myboostmobile.com

Cingular
1234567890@mobile.mycingular.com
1234567890@cingularme.com

Nextel
1234567890@messaging.nextel.com

Sprint PCS
1234567890@messaging.sprintpcs.com

T-Mobile
1234567890@tmomail.net

Verizon
1234567890@vtext.com

Virgin
1234567890@vmobl.com

So if you want to send a SMS, send a email to the above email format. The from and the subject fields will be added to the message body. Check with your carrier about how long a message can be, usually it’s 160 characters (including the from, subject and body together). Now let’s make things fun.

Sendmail Mashup

Sendmail is nice. Most *nix installations will have it already configured, if not it’s not that hard to setup anyway. Sendmail allows you to send emails through the command line directly, for example you can pipe the message body into sendmail to be sent as the message body.

echo moo | sendmail email@email.com

Since SMS’s can now be represented by an email address, you can pipe the output of various commands directly into a SMS message. For example, one of the things I use this daily is to be alerted when builds finish that take a long time.

make something && echo "Make Finished" | sendmail 1234567890@tmomail.net

I made it even simpler by writing a bash script named “sms”.

#!/bin/bash
echo "Finished building at `date +%T` -- `pwd`" | sendmail "1234567890@tmomail.net" &

This way I can simply append the “&& sms” after any command and when ever the previous command finishes, it will alert me with a quick SMS. The above script will include the username and host name in the from field by default, the time it finished and what the current directory it was in.

Other uses might be if you are doing any type of simulations, you can append this to the end so you know the simulations are done. Other uses might be alert you when a hard drive fails using smartd or other types of triggered alerts. Hope you found this useful.

Update for Unix Users
Ok, so on the unix machines at work, I realized sendmail is not available. So if you want this in a Sun Unix enviornment, use the following with mailto command.

#!/bin/bash
echo "Finished building at `date +%T` -- `pwd`" | mailto "1234567890@tmomail.net" -s "nix"

Tea Coffee Mix

It was late at night and I was trying to decide if I should make Tea or Coffee as my caffeine fix. It was a long night of coding, and lot of fuzzy logic was involved. The first thing that popped in to my mind was something in between.

Then I wondered why I had never seen Tea and Coffee mixes anywhere. Does it taste bad? Would the two just cancel each other out? To my surprise it actually tastes really good! I would say if tea was given a score of 10, and coffee a score of 10, the the tea-coffee mixed would get a score of 15. To improve upon this mix, the next morning I decided to add a hint of Raspberry syrup, and the score goes up to 20. So give it a try, the tea-coffee mix. Might seem counter intuitive to mix the two, but they taste awesome!

Now on to trying different combinations of other beverage mixes!

Update: I did find a extreme version of the coffee-tea mix, credits to goon “The Codfather”

I call it my ‘double black magic early morning rocket fuel’. 8 cups of water run through a coffee filter packed with coffeee, then I run it through again, then empty two tea bags (rip open the top and dump the tea in) of mint tea into the nalgene, add 10 tbs of sugar, and the coffee. Shake well, let tea settle, and drink. I usually end up eating the tea at the end. Tastes like minty coffee, but with a serious kick for those cold early mornings on the water.