We did it! We have released our first app!

We have released our first version of our application this morning around 06:30 am EST!

At the time of publishing this blog post, we have already got over 100 downloads!

We are really glad that people have already start using this application and most of them have kept it on their device!

It was a sleepless night for us, but we will not take a break from this. Our next goal would be working on our website and also preparing for our next release of the application. We have already planned a list of new features to roll out soon. We will keep everyone informed on this blog.

Please let us know if you have any questions, bug report, or good suggestions. Even though it is time to celebrate, we will keep an eye in our inbox.

Graphing on Android

Graphing on Android was one of the hardest problem we had to conquer because the Android platform, similar to other platforms, does not have native libraries that support plots like it does for text and images, or tables. And it does not support Java's native graphing libraries that are available online. Furthermore, unlike iPhone and desktop applications, our graph has to occupy a variable amount of space to fit the different screen sizes supported by different devices.

Upon research, I found that there are several options:

  1. Buy a professionally designed library native for Android such as the aiChart. The problem with this is that all the libraries are very expensive, and we don't think it is necessary to spend that much money on those if it is possible for us to do it ourself.
  2. Render the graph using a web view which will redirect the user to a browser, either rendering the graph using javascript or rendering it online using cloud services such as the Google Charts. We decided against we because of that will use a lot more resources (as compare to our last resort) and it does not offer as much flexibility as we may want it to have in the future.
  3. So there is only one option left: writing our own native graphing library for Android (we are not porting a Java graphing library because those do not offer as much flexibility as well).
Building a graphing library only for the line graph came out not that bad. By making all the lines, dots, and text relative to each other and setting the size of the objects from multiplying the current screen spec to a standard one, we finally made our graph.

Here is a prototype of our graph that shows the last ten days of one of our developers' sleep hours:

[caption id="attachment_79" align="alignnone" width="300" caption="A graph that shows my sleep hours for the past ten days"][/caption]

Server Outage...

There was a server outage for some hostmonster's servers today caused by a power outage in one of the server rooms for hostmonster. Thousands of websites were effected, including all my sites. The outage went on about 3 hours, and then everything went back to normal. Now I am thinking about switching to a better host or getting my private server, or even running a machine on Amazon's EC2 cloud.

So...this summer.........

After two weeks of averaging 3 hours of sleep, Cooper is finally out of the way. Comparing to last semester, I did about the same--which is bad. It was a mere result of lack of attendance to the easiest classes and doing bad in them because I overestimated myself. Anyways, hopefully I will get around 3.0 (all I need is A in signals processing, eh, doesn't sound so possible).

Other than the grades, the past semester went great. I managed to meet a lot new friends, learn a lot, and at the same time accomplish a lot. There is just one thing, however, I need to point out here before making a plan for this summer, is that I got through my grad level programming class: distributed computing, with 3 other seniors who pushed through like I did. It was the reason that I did bad in many of my other classes, but I did really enjoy learning such software engineering topics. It gets me excited. My final project was on Distributed Similar Image Search, it worked (see the picture at the end). Basically what it does is that it performs a search with the search term the user provided (e.g. square) and get the results from various search engines including Google, Bing, and Flickr, then the user can choose an image (or even provide an image in future releases, if I ever decide to come back to it) to match the image with the rest of the set. The system uses Hadoop Map-Reduce framework to distribute the image matching job and the search engine querying job to different mappers and reducers so that the job is performed quickly and efficiently (for those who don't know, Google also uses a similar Map-Reduce system to allow us to search the entire internet and return the results in less than half of a second). The program framework that I wrote can be easily extended and be made into a real reverse image search engine provided that there exists a good image hashing algorithm and a large image database for me. I spent about three weeks on it, starting from writing a original Java algorithm, playing with search engine APIs, and then learning how to deploy it with Apache Tomcat and Hadoop within/out of an Eclipse environment. I really learned a lot.

Ok, before I talk another few hours about that project, let me go straight into the real topic of this post: my plan for this summer.

It is much simpler than past:  (TWO INTERNSHIPS + START MY OWN BUSINESS + FOR REAL)

1. Internship with Tidal Labs. -I will be working there three days a week this summer. I would say that this is an engineering startup that aims to help the marketing departments of big companies and the marketing firms to data mining people off social network. I choose to work for them because see potential from the growing social marketing companies. It is also php and python based, so I can learn more about those two and at the same time learn about how to handle different situations for a startup company.

2.Internship with Indorse Technology. -I will be working there two days a week this summer.

This is the company of my professor who taught me distributed computing this semester. I'm looking forward to learn a lot more with him on both managing business and coding. We will see how it goes this summer.

3.Start my own thing with friends.

Information about this will be released in a future post while we are still discussing our business plan. It will be a huge thing (<--no jokes please lol).

After all, this summer will be very fruitful for me and should make me stay away from getting use to leisure so I would get killed in Fall.

4. If time allows, I will be able to push Bmark.Me to the next stage.

A distributed get image job result:

A sample run on finding similar image for a square picture

A distributed compare image job with efforts to find the ones that are similar to the first one

Google's double standard pisses me off. NO POLITCS

During the past few days, the biggest news that hit the online world was the news on Google's withdrawing from China mainland.

To me, this is simply a retarded tragedy thanks to the useless politicians. Yes, I think politicians are the MOST useless people

Well, ok, media were also part of this. (e.g. a very biased NY Times article I've seen)

Let's get it straight: Google is a U.S. based commercial company.

By that I think there are certain rules you have to follow no matter where you are: 1. Follow local rules. Does Google obey Patriot Act? I don't really think it's possible for Google to not follow that rule. If Google FBI information all the time (this is just an assumption, but it is highly possible), why shouldn't Google follow the Laws in China?

2.Your goal is to make money, losing a huge market like China is highly unreasonable for the reasons it gave. It is an action made by politicians, not businessmen. Google has suggested that the Chinese hackers were sponsored by the Chinese government. A company that operates in one country would NEVER have the courage to accuse its local government for such crime. It has to be backed up by something, something stronger that supports it. We all know how big the Chinese market is. Even though it only constitutes a small fraction of its revenue, we all know that Google is going into the cellphone market now. Its stupidity could possibly result in the government blocking all the Andorid based phones (btw, Apple and Microsoft must be very happy).

3. All the media attentions.

What is possibly a goal for the U.S. government to make such acts?

1. It doesn't have to pay. Google is paying the price.

2. China and U.S relation has reached a low point in history after Bush's administration.

3. Look at all the media attentions. All the news sites are citing about the censorship fact (ok, let's get straight on this point again, a country needs stability, the government is oppressing different groups of people that wants to make riots by censoring sites such as Twitter, which can possibly make a huge impact on politics. and By the way, who knows if Twitter is not censored by the U.S. government? There's just no media reports about it? Oh wait, maybe it's the same concept as in China?). On the other hand, all the financial sites are talking about how stupid Google is.

But is google a company or is it a humanity organization? I feel your pain, Eric.

Bmark.me todo list

* Synch with different devices. * Synch with different sites. / Post to different networks. * username as part of it. * facebook tracking * mark as fab * export import in different formats. * link delete * fix tag * fix linkscan * 301 redirect * msg system * link reporting * link commenting * tag cloud * user system. * friend system/ no? * entry shortening * video support * theme and language support * One click add via API as browser plugin. * advertisement. * link suggesting system.

Looking for Alpha Testers

Hi friends,

After over one year of development, I'm happy to announce that Bookmark Me! has finally graduated from my home sever and it's ready for testing. Here I am inviting all of you, whoever is looking at this post right now, to become a tester for my project. The site still lack AJAX implementations, it's still 'plain text', so please excuse its appearance for now.

To become a tester, simply let me know by any means (fb comment/email/text), and registration forms will be sent to your Inbox within 24 hours.

My email is :

FAQ

So what is Bmark.Me?

Project "Bookmark Me !" (Http://www.bmark.me) was an idea I formed at my 19th birthday, when I got inspired by few of my friends. It finally reached it's alpha stage and will be used by NYU's Chinese Mei Society as one of its marketing device (http://yuan10.wordpress.com) It is a link sharing site will have the following features as its top 10:

1. Storing a link and retrieve it with with a customized alias. (Done) 2. Sharing the link with facebook, twitter, etc. (In progress) 3. The owner can track the link's hits and referrers. (In progress) 4. For facebook users, the owner can see specifically who visited this link, and the visitors can choose not to reveal their identity as well. (In progress) 5. Links will be both scanned by anti-virus providers and the community. (In progress) 6. User can add tags, descriptions, and photos to associate the link. Using this feature, we can even suggest you links that you will be interested in!! 7. Users can view top linked sites and top tags by popularity. (Done) 8. Photo search on links. Since photos are tagged on links, one should be able to search using a photo and tag terms to identify which links are associated with the link. (Planned) 9. Private links, the owner can hide and/or password protect individual links.(In Progress) 10. A new business model for ad-clicking sites and marketing firms via new technologies. (Planned)

Why am I doing this while all the other sites are doing a great job?

1. I will offer some functionalities that they don't, for example: facebook tracking and photo searching. 2. When I first had this idea, the only popular site back then was TinyUrl, so this site, if implemented back then, would be a huge success. 3. This is part of my PHP Code portfolio for myself in the future. 4. I learned a lot, and will learn much more through the course of development. The goal is to make this site efficient, able to scale up, and extensible.

Why didn't you use HTTP 301 redirect to make it search engine friendly?

It is search engine friendly, in less efficient but more flexible way. The way I did it is that eventually the user can choose which method they want, either by using 301 or javascript redirect. The reason because of the behavior of the link previews from sites like facebook catches the link only catches whats there without letting the re-director modifying it. By using a javascript redirect in the middle of the page, the re-director can manipulate the information that will catch by facebook. For example, when you do a redirect of some blog you wrote with site like bit.ly and share it via facebook and you didn't write a summary for the blog, facebook will not catch what your blog says. However, by using bmark.me you can add pictures for link preview, etc. just to attract viewers. This could potentially evolve into an advertising method for many different purposes.

Why are you taking down the link scanning feature off after a few month?

To be honest, I didn't want to take it off since it is a very unique thing to do. It might be up again.

Right now, I am looking for two people for help,

1. CSS styler and web-page designers. 2. AJAX and Java-script writers.

I will share the honors.

Thanks for reading to the end, Edison

I think I've found a bug or rather a storage eating monster

First of all, happy birthday to myself!

I got a big birthday present today at 0:00 am of my birthday.

What is it? It's a file that is trying to eat all of the remaining storage space on my iPhone!

I found out that it doesn't really matter how much you have left, it will eat them all.

I freak out at the moment when I saw the message on iTunes: "You need an additional 1kb to synch. your iPhone."

[caption id="attachment_160" align="alignnone" width="610" caption="Notice the "Other""][/caption]

The first thing I did was try rebooting the phone, it does solve the problem, but not inherently since it will start eating again.

So what is it that is eating my iPhone?!

A simple unix command came handy here: "find -size +1000000k" while logged in as mobile on mobile terminal or SSH through putty.

"./Library/RYP/logs/rockapp_2010-03-17.log"   size: 5988MB.

What a huge monster!

Hopefully deleting or making an empty file with all permission 444 will help.

[caption id="attachment_161" align="alignnone" width="634" caption="A peek via WinSCP"][/caption]

  • Update 1: Something weird happened, it still reports to me that disk is full after awhile, so now I'm worried that there's something similar to memory leakage or virus going on in my iPhone OS. find commend did not work this time. I tried to remove the log folder.
  • Update 2:  After removing the file, somehow the Media content gets screwed over. At this moment, if you try sync with iTunes, it will/might report not able to read contents and ask you to restore. After doing some research, this issue is fairly easy to solve as well: simply recursively remove the Media folder using: "rm -r /var/mobile/Media" this will make iTunes able to restore your iphone to a backup you've made before. It might take awhile. Also, reboot is required at the end. It works at the end.
  • Is Cooper preparing me for the real world?

    Yes it is.

    Let's look at a job description at Slate:

    [http://jobs.slate.com/job/software-engineer-with-c++-new-york-ny-new-york-medialets-1be78cee98/?d=1&source=jobroll]

    Software Engineer with C++ Posted Feb 15
    Medialets, New York, NY (New York City)
    About the Job

    This is a key role in our server engineering team. You'll be building both iterative and substantial revisions to our flagship tracking, reporting, and ad-serving tools and will have an integral role in our engineering organization. You'll have the opportunity to interact with, teach and learn from many experienced developers working on emerging mobile, analytics, data processing, and ad serving platforms.

    We are looking for someone to provide innovative solutions to scale and build rock-solid code for reliable server systems. Our clients expect us to lead and we work hard to deliver reliable and timely information and a phenomenal end user experience.

    Performance analysis and tuning will also be a significant responsibility in your job - with our large transactional volume, every last bit of performance counts. You should be able to step back and look at a problem in different light to identify an approach that improves performance.

    About You

    You studied computer science (or another tech-heavy science/engineering field) in school and can proudly claim that you spent more than your share of late nights bathed in the glow of compiler output.

    You have a track record writing multi-threaded code and experience with synchronous and asynchronous code. Algorithms and data structures are your friends.

    You see problems as opportunities and have what it takes to effectively communicate, brainstorm and collaborate to work through them.

    You're more than comfortable with *nix-based operating systems. ***

    Skills •You pose knowledge and experience in at least 3 different languages (i.e. C++,Java, Ruby). We are a 100% Linux shop though if you have Windows experience we would see this as another way you can show us how you tackle and solve problems with your code. •The software you will be building is server side providing the connective interfaces for mobile devices using our SDKs (e.g. Android, iPhone). Our solution is based on Asynchronous Pooling and you must show your knowledge and experience with having done this to provide highly performant and cost effective systems. ** •The systems behind our server side interfaces are focused on large data processing and aggregation. These systems are fundamentally an event processing solution for automated output based on the data feeds we create through the connective interfaces. •Ultimately we utilize SQL once our event processing is complete. Your knowledge and experience with databases (DDL & DML) are a must. If you have used NoSQL systems before that is great but not a requirement.** •Experience with web application development, although stateful experience is much more interesting to us than stateless.* •Experience with data analytics & BI processing and tools - strong statistical background & interest.** •Big bonus points for experience using scalable data processing tools such as Hadoop.

    •Bigger bonus points for experience with building AI or rule engines or other advanced matching algorithms***

    Join Our Team!!!!

    Here are the keys:
    Bold: I will be prepared for this upon graduation!
    **: I will be prepared through self-learning.
    ***: I will be prepared through time spent at Cooper.
    Oh yea...
    Hahahaha ~~

    This is why Flash should not get on mobile too soon

    Today I was watching Saturday Night Live on Hulu.com. And the laptop I was using got a blue screen due to overheating. So I monitored the temperature:

    [caption id="attachment_146" align="alignnone" width="408" caption="GPU: 85 degrees, Both cores of my CPU > 75 on a T9400+Nvidia 9600M"]GPU: 85 degrees, Both cores of my CPU > 75[/caption]

    Normally, this laptop operates with GPU around 60 degrees and CPUs around 50 degrees. When playing low-res videos and local media files. Flash is simply inefficient. I can't imagine the amount of batteries that it will be draining with current algorithms. It will simply kill the battery life.

    Update: The CPU and GPU temperature both reached 90 something degrees, and the laptop rebooted shortly after that.

    Universal iPhone/Itouch Unlock Guide for 3.1.2

    Disclaimer: I do not take any responsibly of聽 possible damage to your device and legal issues during this process.

    All of the steps shown in this posts were tested working for most people. WIFI environment is required for this process.

    This guide will guide you through the jailbreak process and unlock the latest Firmware 3.1.2 (iphone baseband 05.11.07) if you need to. At the end, we will provide you with links to download free softwares.

    The process consists of a few steps:

    1. Preparation: backup your phone and download the necessary tools for it.

    2. Upgrade to 3.1.2. (optional)

    3. Jailbreak 3.1.2.

    4. Unlock 3.1.2. (optional).

    5. Add necessary tools to make your phone/itouch run free apps.

    6. Restore your contacts and finishing up.

    Step 1: Preparing

    ~~~Backup: depending on your device's condition (jailbroken with old firmware, etc..) You want to do a full backup.~~~~~

    ~~Skip this step if you do not want to perform a backup. ~~

    Some of the software that will help you accomplish the backup: (you possibly only need one of them) 1. iTunes: If you can synch with iTunes (there are people that can't ), do a backup now, you will be able to restore easily. Please make sure you are using the latest version. At the moment I post this article, it can be downloaded here: http://www.apple.com/itunes/download/聽聽聽聽聽 (version 9.0.2) 2. 91 Phone/Itouch Assistant: If you can read Chinese, this is perfect for you. It does a full backup for almost everything. To download it, head to: http://dl.sj.91.com/pcsuite/91assistant.exe 3. Any other backup software that can do the job.

    ~~~~~Jailbreak/Unlock Tools~~~~~ At the moment, the best tool would be Blackra1n+Blacksn0w: http://www.blackra1n.com/ both the Mac/Windows versions are there to download.

    ~~~~~Appropriate Firmware~~~~~

    @For iPhone users: 1. Please check your Modem Firmware under Settings->General->About->Firmware 05.11.07. If it is not, you are required to perform a clean install. 2. If you got your 'new' phone recently (about after Sept 2009), it is very likely that your phone cannot be jailbreak perfectly. There are two issues with it though it is possible to get around them with complicated method.聽 To precisely determine if you are phone have such problem with jailbreak, you will need to look at the serial number on the About section. If you have a 3GS with the 4th number greater than 4, you are in bad luck. Or if you brought your phone from a certified retailer lately, you can be sure that you are one of the unfortunate ones. However, the maker of blackra1n might fix this issue soon.

    Firmware downloads for both Itouch and Iphone: http://www.felixbruns.de/iPod/firmware/

    ~~~~Now you are ready~~~~

    ~~~~~Step 2: Clean Upgrade to 3.1.2~~~~ To make sure everyone is at the same step, a clean upgrade is recommended.

    To do it we will first enter your device into recovery mode: 1.Connect it to computer

    Week 5 and 6.....Midterms finished

    Bmark.Me developing will continue after the Physics Exam one..

    Because I have already wasted too much time, all the features that I imagined to have are already implemented....

    So it is time to me to brainstorm some more innovative (atm) ideas again.

    Last time the ideas I had were pretty good, and they are ALL implemented in all the major sites now.

    What else can I do for a bookmark site? .....

    Combining features of different sites wouldn't work too well, so therefore I need new ideas...

    Any suggestions? ....

    Week 4 of School

    Week four of school was nice. Why? Because it is the calm before the storm. Monday, we did the first physics lab, which took Kevin and I a really long time to finish it due to the lighting in the room. The results, as I progress through the report during the weekend, are really bad. The sample was to distinguish 3 different liquids with index of refraction uncertainty within 0.0001, our data came out to be +-0.1, so there is NO WAY that this report can go any further. Then there was the connect workshop, which was surprisingly nice! There was a lot acting and fun in it. The three hour workshop was one of the nicest moments I had in cooper. Well, the down side is that it made me so tired, such that I just went to sleep after I got home.

    And, as usual, I cannot do the physics quiz and the history quiz, just didn't prepare for it due to Monday's tiredness.

    Um........then...it comes FRIDAY! AC GEAR'S GRAND OPENING!

    Jeffery, Ray, Igor and I went there to see if we can get something......the unfaithful Ray and Igor left after an hour. Not long after they left, Jeffery got a free watch! How nice was that...so I believed that I can get something as well! During my faithful waiting there, I met this girl named Jane, who did attract me on first sight by her openness. And what surprised me was that such a nice girl is actually a NYU Stern student ( you know how it is, usually it is very hard to meet a smart and pretty girl randomly). We chatted, and it was nice...She is a very nice conversationalist. At approx. 9:10 AC Gears announced that they will now give out the last price. I think there is almost no chance that it could be me since there are still about 50 people there with at least 100 tickets! So I said to her, " you know what, I give up,I think it's over, but I think the most valuable thing that happened is that we meet each other." Indeed, the fact that meeting a new nice friend is far more important than winning a $100-ish gift. Well, that's not all, after we said good luck to each other.........the ticket number was announced...and ....IT WAS ME!..that was..holy~~~Yea, I believe you were my good luck that day. Thank you Jane~And thank you Jeffery, for waiting there faithfully.

    Ok, enough of the positive stuff, the weekend was as bad as it can get. Chang went to SBU to meet with Jing, and a lot things happened to Jing. I feel bad for Jing, and angry about that dude, whom I won't say here. What can I say to Jing.....you girls are too gullible, seriously. Some guy giving you something that you think is very touchy does not mean that he doesn't treat other girls that way, right? If he really likes you, he will not treat you right, he will not just say the right things, instead, he will use his heart to prove to you. (too 38, let me stop here..-.-)~~anyways, good luck Jing, I wish you the best with Kevin D, don't get fooled by jerks.

    And what else happened...I decided not to participate in the 2009 ACM programming contest, because of a very simple reason: Lab+DFQ test+PHYSICS test are concurrent at the day after! Sorry to myself.

    3/14 of School

    Week 3: 1. Work are not getting done. (However, I have just completed 40% of them in the past 3 days...60% left, still a lot) 2. Feelings are getting worse. (Someone simply doesn't care that much) A staying overnight let me see that it won't work and my answer is no to annie's questions... 3. I care even more now... Yea, I do promise that I will be the best one who treat her (not treat her the best? idunno, I'm a good person, I treat everyone well, lolz). I have way too many 'haorenka' for too many people, so I think I should at least getting something back? idunno...at least a little? My relationship life is pathetic. 4. I have decided that I WILL finish bmark.me...and other projects...that needs to be done asap. 5. I will participate(hopefully) in the 2009 ACM contest again!!! ~~  Very excited ~~  Wish I can solve 2+ problems again. Java/C++ this time, I am not sure.....Java handles a lot stuff better due to its newer existence, but C++ is definitely more powerful, faster, and flexible. 6. ZERO for physics Qz.. yea, I did give up that one, I'm sorry, there was no time for it. I will do well afterwards.

    A change I made to my screen to increase productivity

    Requirement:

    1. Running Windows 7 and no other dock/software lunching bars. 2. A huge wide-screen monitor. (21"+)

    Steps: 1. Move the taskbar to the right-side and dock your most frequently used softwares there.

    Benefits over on the bottom: 1. The icons are relatively horizontal at your eye sight so you don't have to look down. 2a. More practical viewing spaces for programs/web pages.  --For the non-taskbar space. This is because of the ratio adjustment will just make things look nicer. 2b. For the taskbar itself, the icons seem bigger and nicer and aero boxes appears on the right seem to be nicer/more logical.

    Time to do it: 1. 1 second.

    Middle School Math finds the Perfect Strategy

    So, should I use calculus/linear algebra etc..  to find out what is the best strategy for Google Map powered Monopoly City Streets? Note* this is the perfect way to start the game with the most money, not the most score! (scores are calculated differently) No, its not necessary. Here is my guide for making the most money out of your rent: First let me just list some data that I found out: 1. You start with a certain amount of money, 2. Everyday you get paid by a FIXED constant 1million and your rent. 3. Longer streets' houses makes more money. 4. Shorter streets are less offensive. 5. There is a tax system. 6. The way the rent is calculated : Let's use the basic 50,000 one as example,  its equation of rent is: 50,000*x/1,000,000 where x is the street value. lets call it daily housing fee. (DHF) That is, if you build n houses on this street, your next day rent will be : Rent (x, n) = x*.1+n*DHF Because you want the most money, you wanna use up all your money. and the number of houses that you will build is limited by your street money. That is, f_x(n)=3,000,000-n*500000 Then you can substitute x into the Rent equation, and without taking the derivative, the answer is already obvious by the graph: Link: http://www.edisonwang.com/2mj   (wolfram alpha) approx.  30 houses would be the best. by substitute this back to the f_x(n) equation, we get the optimized x is approx. 1,500,000 Wow, isn't this 50% of your money? Yes, it is. Splitting your money into half half for buying long streets and house. Notice that the 50,000 value house occupies more space than some other buildings, but its def the best thing to build at the start. I will not discuss cheating methods here, but I can say....CHEATING JUST GOT MORE EFFICIENT.

    Good luck and Have fun.

    School Starts II (week 2 of 14?)

    The first week of school just passed away. As expected, a few things happened: 1. I noticed that I got so lazy over the summer that I keep making myself away from reading assignments. 2. I have too many similar classes even though I am an engineering major, esp. the following six classes Probability (math) Differential Equations (math) Vector Calculus (math) Circuit Analysis (physics) Physics II E&M (physics) Physics Lab I? (physics) and a few other requirements such as English and computer engineering track elective. 3. I'm somehow getting back with my ex? Would it be possible? Do I want to? I keep telling my friends that it will not work, and it has not work, but why am I still thinking about it? We are still good friends, maybe I am treating her too well. Putting the thoughts here, I really wanna make sure that we do not get back together.. Maybe, I just need a new girlfriend, haha...jk...no, I'm serious. 4. I sleep too late recently with Dota/Google's Monopoly City streets/Sanguo Sha strategy broad game, etc.. not because of school. 5. I have too many unfinished business: Bmark.me and a few other websites and a few other programs I was writing. 6. It is so late now, I should go to sleep.

    Night, and 'add oil' to myself.