Tuesday, December 31, 2013

Review: Curry King (Union City)


  • Curry chicken lunch special
  • Lamb Tikka Masala
  • Chai Tea (free)
  • Wheat based dessert
Curry chicken was good which also comes with rice and curry mixed vegetables. Great price for $6 with naan. The naan was excellent. They had very nice crisp on the outside yet chewy in the inside that goes very well with the curry sauce.

My friend had the lamb tikka masala which I really liked the sauce more than the lamb. The lamb was good, but I think I still preferred the chicken.

Chai tea is unsweetend which was nice since I do not particularly enjoy over-sweetened tea. You can add sugar to your taste.

There was also dessert made of wheat. Unfortunately, I did not catch what it was called. It was a nice sweet treat for the end of the meal.

We were the only ones there at an odd hour. People were nice, service was good. Portions and price are reasonable. I would definitely like to go back just for the naan (there were also other naans with garlic, onion, etc.) and try some other dishes (perhaps the chicken tikka masala).


Reference

http://www.yelp.com/biz/curry-king-union-city

Life: Stanford University (tour)

Spent a couple hours walking around Stanford University. The campus is really large. There are definitely a lot of nice areas to just tour around and take pictures even though almost all the buildings were closed for the holidays. The architecture of the buildings were definitely more interesting.

I stopped by the Packard Electrical Engineering building and the Gates Computer Science building. I would have loved to go in to see their labs. Too bad there weren't anyone going in or out of those buildings.

Life: Google Plex (Mountain View) - Drive-by tour

I had a driving tour of the Google campus in Sunnyvale. I always imagined that it was one large complex so I was surprised that it was just a typical commercial area with some Google themes sprinkled around. For a holiday weekend, there were still a few people around. I also got to see the Google bikes. Unfortunately, I do not know any Google employees in the area so I can tour inside.

Spent the afternoon at the Shoreline Lake at Mountain View Park. I saw a lot of people playing golf, kayaking, canoeing, stand boarding, biking, walking, and other park-like activities. The park is right next to the campus area.

Monday, December 30, 2013

Review: Casa La Dona (Downtown LA)

I had the tacos baja as a "snack" before dinner. This was my first time having fish tacos and it was great. The salsa bar was nice. The diablo sauce was very spicy. The mango flavored (I think it was mango cilantro) was very refreshing. The service was also great. I would definitely like to come back here again especially for Taco Tuesdays.

Address

800 S Main St
Los Angeles, CA 90014

Reference

http://www.yelp.com/biz/casa-la-do%C3%B1a-los-angeles-2#query:tacos

Review: Fish (Sausalito, CA)

Crab Roll 

Excellent. I would order this again. Although, I'm not sure how this would taste if it was not crab season. Nothing special with the steak fries except it was a bit salty.

True Cod (Special) 

I heard this was pretty good from a couple of friends that do not generally rave about food, so I assume that it is decent.

BBQ Oyster on the Half Shell

I liked the oyster. I am not a huge fan of oysters but these are definitely at the top. My friend who is not a fan of raw oysters prefers these over the oysters at Scoma's. I think these are different than the ones from Scoma. 

I am not sure if it is worth $3 per oyster though, but worth a try if you like oysters because you won't find it cheaper in the area.

Red Chowder

This was good but nothing particularly special.

Sunday, December 29, 2013

Life: Still frustrated with Google Hangout

Over four months, Hangout (in gmail) still unable to see if a user is online although I can now through the Hangout application (desktop and mobile). Unfortunately, I use the service in gmail more often because I use it for Google Voice. Also, the apps do not provide the status so I cannot tell if they are available or not.

I primarily use IM to send actual "instant" messaging. I do not care for the idea that it is more conversation related. My typical situation is that I have an urgent personal matter where I need to find someone at that moment. I used to just scan through my list and see who are most available and best at answering my questions.

With the new hangout, I am forced to message a group of people that may or may not be online (or available) then wait for a response. Depending on the group because some are not always online, I may not get a response which then I have just wasted 5-10 minutes that I could have used searching for other resources.

I have recently been quite disappointed in Google's rollout of new features where I am forced to use certain solutions that overrides other features that I used to be able to use (i.e. Hangout replacing Chat, Google Maps) when it does not have the same features. At least allow me to use both Hangout and Chat. Or perhaps this is just a sign of my age.

Reference

I did come across the blog below which has some interesting info and updates quite frequently for the last few years.
http://googlesystem.blogspot.com

Review: Muir Woods - First visit


  • 3 Short paths for casual tourists (30 - 90 minutes)
    • Kids friendly
    • Descriptions provided along the paths
  • Extended paths (unpaved)
  • $7 / person, free after 5pm
    • Free for under 17

Path

We went in thinking the park closed at 5pm. We also did not have a plan on which paths to take.

We ended up taking the bridge 4 path which is approximately 2 miles. We finished this within 45 minutes. We didn't stop much to look at the scenery. I am more of a hiker than an nature observer, so I didn't mind this much. Although most of the path is either paved or boarded on flat ground, there is a short path after bridge 4 that is more natural ground and slightly inclined. I would imagine that this would take about 1.5 hours if we spent more time on the trail.

Hiking

The look trails were not much of a path for hiking. There are a lot of other tourists taking many pictures. Few people were on the bridge 4 path. We did stumble across a couple of the other paths (one was closed) which appeared more hiking like material.

The main loops are basically level ground so was very simple to walk through. The other trails appeared more interesting but we did not take those paths due to time. Looking on the map, there did not seem like there was a nice loop for the other paths. They appeared that you would eventually have to backtrack or be hiking for a rather long distance.

Scenery

The scenery was filled with a lot of redwood trees. There were a lot of information provided along the main loop paths for any casual tourists. On a few of the stops that we had, I thought the experience was unique to be surrounded by so many very tall trees. A few of the fallen trees were also interesting to look at. Some of the trees were amazingly huge. I really wanted to climb a couple of them but you are not allowed to step off the paved paths in the main loops.

Cost

The entrance is $7 per person, free after 5pm. We arrived shortly before 5 pm and thought that the park closed at 5pm but on our way out, there was a sign that entrance was free.


Reference

http://www.nps.gov/muwo/index.htm

Saturday, December 28, 2013

Review: Shao Mountain

Fish Fillet with Dual Flavour

This dish is rather large with two fillets. One covered with red chili peppers but was surprisingly milder than the other half which was topped with a green chili peppers. Both were really good. This dish does take a while for the restaurant to prepare. We basically finished the other two dishes before this came out.

Braised Pork Slices with Bean Sprouts

This was ok but a little disappointing. This was about 10 slices of thick bacon. After a couple slices this tasted rather heavy. I wish they could have made the skin more crispy. The bean sprouts were more enjoyable. Tastes better with rice and with another dish that is lighter like Melon with Garlic.

Squash / Melon with Garlic

This is basically squash with a lot of diced garlic on top. This dish nicely balances with the Braised Pork that we ordered (even though I would have liked to have ordered another braised pork dish). Beware for anyone that is not particularly fond of garlic or people on dates, there is a lot of garlic in this dish.

Overall

The spiciness is a nice change. I have not eaten at other places with a high degree of spiciness as this place especially for chinese restaurants. There are quite a few interesting dishes that I would like to return to try. As usual, I also find this place a bit salty for my palate.


Review: Cosmopolitan @ Las Vegas

I stayed with some great friends at the Cosmopolitan on the Las Vegas strip.

Location / View

The location was great being in the middle of the strip. Walgreens is right across the street to pick up any supplies like bottled water. There are plenty of things within walking distance.

The gyms are nice with your typical workout equipment. I prefer the east wing gym because it has a great view of the fountain in front of the Bellagio. It is slightly smaller than the west wing gym. There was also a great view of the ice skating rink.

Look

The building looks really nice from the outside. A modern looking building with blue highlights. It is easy to pick out from the surrounding hotels.

Parking

Parking was easy to find and park. We didn't have much trouble with this. It was interesting that they had signs on number of spaces are available in each section. It would have been neat if the signs also provided information on number of open spots there are.

Food

Wicked Spoon was great. The freshly squeezed passion fruit was the best. Other items that I enjoyed: smoked salmon, handmade sausage, horse-radish, fried chicken, angry mac-n-cheese, the sauce to the meatballs, and yogurt parfait. My friends really loved the Chai Tea gelato. 

Non-Cosmo Foods


Noodles at the Bellagio was ok. We had XO string beans, Chinese eggplant with fried tofu, and a couple other dishes.

Harbor Palace had slow service. We were there for about 15 minutes with no carts come by our table, so we ended up leaving.

Mr Sandwich (at least I think that was the name of the restaurant) was a nice Taiwanese place. Unfortunately, I am not able to translate a bunch of the dishes ordered. The beef sandwich (ge bao) is good. The "meat ball" (ma wan / ba wan / rou yuan) was ok. I've had better. Rice noodles were good. I heard the bubble tea (not on menu) is good.



References:

Wednesday, December 25, 2013

Life: My First XP Celebrating Christmas in the Warmer Climate

Celebrating Christmas in warmer weather is quite interesting to me. I have always celebrated in cold, frigid-like weather although very limited snowing Christmas's.

To walk around in shorts, not shivering to the core of your bones, we traveled around town to view Christmas decorations. There are some neighborhoods that really put a lot of effort into their displays. I liked the one where they used decorations that made the house look like the head of Santa Claus. Another interesting one is the house that had a lights show in sync with music. Although I've seen this on YouTube, what I found interested (or at least new) was that they broadcasted the music over FM (most likely a short distance transmitter). I would have liked to be able to see how they wired some of the lights. To be able to do some of the patterns, most of the lights must have been connected separately but then that would be a lot of extra cables. I wonder if there are new lights that the circuits already embedded into the wiring because I would think that there would be a lot of extra extension cords just to switch them on and off.

This was also the first time that I traveled to three different locations with different groups of friends and/or family within the holiday break. Although I try to hang out with different groups of friends, I always seem to end up with the same primary group. This time, I was able to split from them and hang out with another group. It was much refreshing to hang out with them in a different sort of environment. Previously, we've always just met for a meal to catch-up. Now because we are spending a couple days together and planning additional activities, there are other down-times where you go beyond just idle chatter.

The most difficult part is handling the mortgage papers while being away. I just do not understand why they are so dependent on faxing forms. Somehow, I have been able to find ways to print and/or fax.

Merry Christmas, Happy Holidays! And Happy New Year if I do not have a chance to post something before then.

Tuesday, December 24, 2013

Life: Learning How to Tie a Bow Tie

This was quite an experience. I'm not sure how many videos I have watched to understand this. I spent a good amount of the day to figure this out without any success. I can get all the way to the point of making the second bow to tie it all together. You will understand which step that is when you try.

I have to admit, this was much easier to have someone else actually show you how it should be done at least once. Locating exactly where the hole is and how to push the bow tie through it saves a lot of guesswork.

Fortunately, I was able to get mine tied the day of the wedding with my cousins. It was slightly loose around the neck because I made it too long with intentions that it would be easier to see how to tie. But because I already invested so much energy into it, I left it as is.

There is one hint in the case the bow tie is too loose around the neck without redoing the bow tie is to have someone detach and reattach at the proper position. This can be slightly tricky but still much easier (in my opinion). Also, it is much easier for someone else to adjust the bow tie.

In conclusion, I think the bow tie was invented by women to keep men busy while they prepare for events. It probably took us about the same amount of time. And with the frequency of these events, we are likely to forget again by the time the next one comes around. :D

Reference

http://www.youtube.com/watch?v=afx1l0MITO4 - On-screen step-by-step instructions

Review: Buying Cheap Spiral Notebooks

When buying very cheap spiral notebooks, 3 things to check that I should be checking for from experience:
  1. If the notebook has perforation, make sure that it is not too close to the spiral and not too close to the holes for binders.
  2. Make sure there is a margin line if you need it and that it is in the correction location on BOTH sides of the page.
  3. Pages can turned all the way around

#1 is not much of a problem if you do not plan on taking out any pages. But if you do, it can be a problem especially when the perforation is near the holes for binders. It makes it easier to fall out or in my case, the hole runs off the edge so cannot even be put in a binder. Some pages are have a sliver which makes it more difficult to tear off.

#2 makes it kind of difficult to keep a consistent margin especially when you need to tear out the page. When you right, you will either not have a margin to reference from or the holes for binders are on the other side.

#3 makes it less portable without "closing" the notebook. It can also be annoying if you have little desk space because you can only keep the notebook open like a book thus making it take twice as much space.

Saturday, December 21, 2013

Review: LAX traffic, downtown LA traffic, and SF driving... In-N-Out

It is evening 8:30pm and there is still a lot of traffic. Sepulveda Blvd was jammed, even when we circled around again around 10:00pm. It is not as bad as the NYC metro traffic during a work rush hour. Possibly comparable to a busy weekend traffic through the Holland Tunnel. There were so many cars on 110 and 105. It was still flowing around speed limit but it still rather packed. I cannot imagine what traffic is like during actual rush hour.

Typical drivers in SF and LA seem very different from the midwest or east coast. Many drives merge, turn, or change lanes first then turn on their blinkers. Most drivers I see on the street typically either use their blinkers before they turn or they do not use them at all.

There was one instant where there were just our car on a two lane street. It was late evening and there were no other cars. Eventually, there was a car they came up from behind, changed lanes, and passed us on the second lane but not completely. We drove side-by-side for a couple minutes, then suddenly the car wanted to merge back to the right lane with us still next to them. They were also slowing down so was practically side-by-side with us. It was like the other driver completely forgot that they were attempting to pass us.There were also several instances of drivers taking wrong exists and still attempt to return back to the highway.

To make it all worth it, we did get some In-N-Out before returning. I do not know if it was because we were extra hungry, but I thought In-N-Out was better than 5 Guys.

Friday, December 20, 2013

Quote: Linux vs Windows

Linux is to chopsticks as Windows is to fork
Linux : chopsticks :: Windows : fork

I came up with this to describe my experience with Linux and Windows. I am primarily a Windows user and only started using Linux about a week ago. I can see where there are some potentials to Linux that I can make use of but the learning curve is just much higher (in my opinion). Sure Windows crashes more often, but a simple reboot fixes most problems. When Linux crashes, I have absolutely no idea what is going on without figuring out all the inter-dependencies of the application, drivers, and OS. Sure you can eventually fix it permanently, but that's somehow more annoying especially when you're new to the application.

My views on Linux will likely change as I use it more often, but I feel this analogy best describes my experience so far. Starve if you cannot figure out how to use chopsticks, perhaps stab the food if possible. While the fork is easy to use, and you can easily scoop up the food if you cannot figure how to stab it.

Thursday, December 19, 2013

Ubuntu: Day 7 - Hello World! with Python, Django, and Eclipse Completed

I still do not have a full grasp of Eclipse, but I finally got to start programming in Python and publishing a Python Django site. A very simple "Hello World" page but this should basically be the last major barrier to starting the web application. Although it took me about a week, I probably put in about 16 hours of reading, preparing, installing, and learning some very basic stuff including Linux so I think I did a decent job of getting started.

Ubuntu Eclipse

My experience with the install was a little disappointing. I am still not quite sure what I did wrong the first time through. It may have to do with Django not being compatible with Python 3, but the article I read was rather old. I figured it would be by now. I could probably read up on that, but this just adds more complexity to the users who just wants to get something up and running.

Microsoft Visual Studio builds practically all the starting files so that you could run the application right after creating the project. I thought it was much easier to figure out which files I had to update without watching tutorials.

Keyboard Shortcuts

I am also having issues with the keyboard shortcuts. I dislike that I have to go to the bottom window to end the virtual web server, then go back to the top to restart. I found a keyboard shortcut, CTRL+F2, that should end when debugging. I am not quite sure what it means by debugging but I couldn't find option that says to just stop whenever. I am assuming that setting is what is preventing it to work even when I tried to run in debug mode (at least I think I was from clicking on the bug button). I can change the shortcut key to other key combinations and CTRL+F2, so it is not another application has some sort of higher priority to the key binding.

Intellisense

This feature is always nice. I probably need to spend some more time familiarizing myself with libraries but there are a lot of functions that I do not think I always need to see. There's a lot of properties or functions that are surrounded by sub-scores like '__someName__' which from what I understand so far are more internal use (but technically available). I think this makes it more difficult to learn some of these classes.

There are also some nuisances in getting the intellisense to pop-up. I still need a bit more experience in how the import portion works. I am not quite sure why I have to reference a library then import a "class" or is it a library(?). Anyhow, I figure I will get more exposure to this as I program a bit more.

Conclusion

I am happy that I've gotten to this point. I do not enjoy having to learn all the little nuances just to get this up and running, but then if this was exactly like VS then I suppose there wouldn't be a need to have Eclipse. I wonder at what point when I feel comfortable to put this on my resume.

I also have noticed that for some reason when I want to type python, I sometimes type pythong instead. I am wondering if this is because it is similar to 'anything.' Anyways, I may occasionally misspell this word in my post so just know that I mean python. Hopefully my muscle memory will correct this soon.

There is at least one big obstacle that I still need to work on which is publish the website to Apache. Currently, running out of Eclipse is sufficient for hobby purposes. I definitely will not be looking into the till later in January at the earliest. I need to give my brain some time to connect a bunch of the new dots.

Interview: How many cows are in Canada? Alternative solutions

I had posted my answer a while back. Since then, there have been quite a few comments (thanks readers). During that time, I have also been thinking why someone should prefer a certain answer over another. As the comments suggest, there are alternatives that are simpler, wittier, and/or thought provoking. I figured I spend a little time to explain what I would think about certain alternatives.

I answered as an engineer to demonstrate my ability to troubleshoot problems. Problems oftentimes are missing a lot of critical information (typically the reason it is a problem). This is an important skill for most engineering positions because this demonstrates my ability to breakdown a problem and find a place to start. The rest of the answer is just to complete the thought and maybe to show my attention to certain details.

Perhaps for an interview in accounting, finance, or data science, I could use an answer that was based on probability and statistics. Or an interview in waste management, I could base my answer on number of garbage. Or for an acting role, I could use the number of actual windows in a set then the special effects would replicate

In conclusion, I would think about what kind of person you want to present. This could be very dependent on what you have already demonstrated so far. For example, I could have answered a bunch of questions showing my troubleshooting abilities prior to this question. I could use this opportunity to change the flow of the interview like a witty response to lighten the mood or use probability to demonstrate my math abilities or quantum physics to show some math and humor (because I am not actually good with quantum physics). Or perhaps pull out some program to have a car drive around the city and count the number of windows, describe an algorithm to recognize a window, etc.

Reference

http://douglastclee.blogspot.com/2013/01/interview-how-many-cows-are-in-canada.html?showComment=1387158073286#c1041510031441338241

Wednesday, December 18, 2013

Ubuntu: Day 6 - Reinstalling Ubuntu, Python, Eclipse, Django, MySql

Spent most of day 6 reinstalling Ubuntu 13.10, then Python 3.2.3, Eclipse 4.3, and Django. I was finally was able to create a project with Django within Eclipse with Python 2.7 but not Python 3.2. I spent some time trying to get that to work but to no avail.

I've been tired the last couple days and have not progressed further in my Linux project yet. I am currently in the process of install MySql which seems to take quite some time to install. (Edited 12/19 - In the middle of the install, it requests for a password for root. For some reason this dialog box does not appear on top of the software center window. Look for the extra icon in the left tray.)

I'm not sure I'll have time tomorrow either to do some shopping and other chores before the holidays. I may have one last evening to work on something before year end. Otherwise, I'll pick this back up in January. I did start reading a book on graph databases in hopes of perhaps looking into MongoDb.



http://community.linuxmint.com/tutorial/view/864

Tuesday, December 17, 2013

Life: How much of what we do just to be accepted?

I just read the article, "It's easier than you think to get people to commit bad deeds." This got me thinking on how many little things that I've accepted to do just to appease someone, get them out of my hair, or wanting to belong.

I think it is interesting how easily we can be swayed in one aspect in life while trying to maintain another aspect in life. Even in work where I did a task something someone was supposed to do. I only did it because it was faster for me to do the work than to explain who should do it, why they should do it, and still risk that person will come to me anyways. Or in general life where I follow other jay-walkers but wouldn't jay-walk if I was the only one at the intersection. Or watching others speed because "everyone else is doing it."

Another interesting facet is how there are some people who take advantage of this social behavior. I think this should be an important lesson to learn in school because this would bring awareness how we can be easily swayed to do things we would normally not do or morally/ethically wrong to do. I think awareness will help me rethink the situation or even help someone else rethink their decisions.

Reference:
http://bps-research-digest.blogspot.com/2013/12/its-easier-than-you-think-to-get-other.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+BpsResearchDigest+%28BPS+Research+Digest%29

Monday, December 16, 2013

Review: TD Bank - Remote Deposit

Error Message: "Exceeded Deposit Limit - You have exceeded the mobile deposit limit."
Options

  • Deposit a Smaller Check
  • Find a TD Bank or ATM
  • Contact Us
  • Main Menu

The cheapest option is to mail to the following address (check the link below for current address):
TD Bank, N.A.
ME2-001-033
P.O. Box Number 1190
Lewiston, Maine 04243

Another option suggested was to wire the check from another bank. I am not familiar with this process. I would imagine you would need an account with that bank.

Experience

I received a check while being out of town for a while. I figured I could deposit check from my phone not realizing there was a limit to the amount I can deposit through the mobile app. Then I realized that there are no branches in my area.

So I used the Contact Us option which dialed the number 888-751-9000. I waited about 6-8 minutes (the machine said it was around 4-6 minutes) on hold. Soon I was speaking with Roberta who was able to assist me immediately and provide the address quickly. I have a lot of experience waiting on call a long period of time and working with people who has too look up information for everything, but not with Roberta. She enunciated very well; I had no trouble understanding her. I did not chat at all but she seemed pleasant. The overall experience was very good.

The only unfortunate thing was having to mail the check which is not a problem as time is not a huge factor, but that I am always wary about mailing anything. Although greatly exaggerated, I feel like half the snail mail seem to get lost (except for spam mail). It is kind of a hassle to get 1 envelope and 1 stamp when out-of-town.

Although I had no problem with TD Bank service, I think this could have easily be resolved if they just had an option that gives me the address to mail the check to when the app realizes that I am depositing more than the daily limit. 

1/8/2014 - They deposited the check after the end of the year. I am little upset about that but not a huge deal... at least it worked. 17 total days, 12 business days, cross country mail.

Locations

Error Message: "There doesn't seem to be a TD Bank near where you are looking. Please try entering the info again."

One last thing was finding a branch very far from their region. I think it would still have been nice to return the closest branch even though it would have been several states away. The reason is I thought maybe I entered in the location incorrectly or maybe I had to look farther.

Reference

Review: Oasis Grill, CA

This was a nice hole-in-the-wall-like place. There isn't any place to sit but who needs to sit inside while in SF? Although, it is a little cold for local residents.

I enjoyed the beef shawarma (spicy) for the first time. I did not find it spicy. It was a nice refreshing burrito-like meal. It is a bit pricey in my opinion, around $11. Definitely more preferable than Chipotle (which I also enjoy) even though a couple dollars more.

I think I may have preferred the chicken. Also, I opened the wrap from the wrong side. So, look for the side that has a slight opening otherwise it could be quite messy. I opened it on the side where the bag opened, but fortunately, I caught it somewhat early so able to control the leaking.

Saturday, December 14, 2013

Ubuntu: Day 4 & 5 - Broke Ubuntu by Uninstalling Python

Yesterday, I installed Eclipse 3.8 and PyDev.

This morning, I was trying to create a new Django project in Eclipse but kept running into an error, "Django not found." There were several sites that fixed this issue but none fixed mine. I checked that Django was indeed installed and that it was installed in Python 2.7.1. I added the Django folder to Interpreter's PYTHONPATH. None seemed to have fixed the problem.

After a couple hours of resolving the issue, I uninstalled Python and all applications dependent on Python. Of course, I did not realize how many applications were dependent on Python. I reinstalled Python in hopes that it will at least fix the problem with Eclipse (which it did not). I noticed some apps were not working properly like the Software Center, so I rebooted Linux. After I logged in, I just had a blank screen.

I am not exactly sure how to revert back, so I am considering to reinstall Ubuntu. I could use more practice in the installing applications. There were also some questions whether Python was installed in a virtual environment which I was not sure if mine was or not. I do not believe so as I did not install any virtual machines, but perhaps Python has its own method of installing in a contained environment? This is all new so I am only speculating.

Worse comes to worse, I could just start developing a Java application.

Life: Getting a Haircut, Experience with Medium Length Hair

I've let my hair grow out for the last few months. I have about a medium length hair now where the front reaches my eye brows, hair just barely over my ears, and no more prickly feeling in the back. I've always gone to a large chain barber like super cuts, until more recently which I found that China town does a much better, more consistent and faster job at a much cheaper cost. I typically just walk into the barber and let them do whatever which typically is a #2 on the sides and back, tapered/faded, and some random length on top depending on the barber.

Because I have been working remotely more often, I figured I could let my hair grow out a bit longer past the embarrassing transition between short and a longer hairstyle. My hair starts to look a bit like Wolverine or Einstein but an uncooler version.

Now that my hair is longer, there has been some differences that I did not expect. Sitting in high-backed chairs, there used to be some pressure when leaning my head back due to the short cut but now it is flatter and moves around more easily. The hair reaches over ear which took me a while to get used. It was a bit distracting because it felt like something was itching my ear.

With a friend's wedding coming up soon, I have to get at least get my hair trimmed. I figured it was worth investigating how to ask a barber to cut my hair. I had once asked the barber that I wanted to keep the current length so that I could grow out the hair. I thought I was asking for a trim by asking them to just evening out my hair but it ended up to be short again. Another time, a barber asked if I wanted to cut the top which I declined. She said she'll just make it even yet somehow I ended up with my normal cut. Fortunately, I found the site below and hopefully to make use of it by going to a more traditional barber.


Reference:
http://www.artofmanliness.com/2010/08/25/get-the-perfect-haircut-how-to-talk-to-your-barber/

Ubuntu: Day 3 - Crashes, Django, Apache

Continuing to watch videos. Ubuntu appears to crash whenever I leave the videos on overnight. This was the second night that this has happened. After the first night, I was able to use the mouse and click on other windows but was unable to type anything in. Also, I could not click anything on the top so I could not shutdown or restart. I was able to close windows and open whatever was in the left panel. After the second night, I had left the youtube video on full screen. I was not able to click on anything at this point although the mouse moved. Clicked on videos, replay button, full screen button, and keyboard shortcuts do not seem to do anything. Both times I had to hard reboot. Everything seems to function after rebooting.

Yesterday, I installed Apache while I was watching videos on Python. I came across Google's Python 2 day class which I thought was very informative while I was cooking. The day 2 part 1 on regular expression was worth skipping. It was more on RE than on python programming. If you are watching for RE, it may be worth it. I did hear much of it as I was washing dishes while that section played. Afterwards, I tried to find some more tutorials and came across Django.

Django seems interesting. It is a web application framework. So far it seems analogous to ASP.NET for C# (and other .NET languages). I am hoping to get some time to install and actually start playing around with all the different apps that I've installed.

Friday, December 13, 2013

Ubuntu: Day 2 - MySql, Python, Keyboard Only XP

Keyboard Only

Since I am working off a pc mounted to my friend's tv and didn't have access to a mouse, I tried to navigate around with just a keyboard. I was able to get around quite a bit with just the keyboard. Linux has a bunch more keyboard shortcuts which I learned quite easily, although some of them I have to consciously think about because the key patterns are different from windows.

For example, navigating webpages uses the alt plus arrow keys. You'll see me just hacking away at the backspace like your standard ID10T. Also does not help that my friend's keyboard also has foreign keys so the layout is just slightly different enough to mess with my fingers. There is an extra key between alt and space. I learned that I find the alt key by referencing the space key. Also the right shift is much smaller to fit in the up arrow which is probably the most frustrating lesson for my fingers to learn.

What I found most interesting was navigating YouTube. I cannot find a way to get the "cursor" to activate on the video. So, I cannot rewind, fastforward, stop, full-screen, and worst of all skip super long commercials. Fortunately, the video auto-starts because if it didn't I'd be stuck for a while. I was using YouTube to test the video because there is quite a bit of lag with the TV.

Disabling Screen Saver or Monitor Power Off

While watching some of the tutorials, the TV would turn off after 5 minutes of inactivity. So whenever I forgot to press a button or doing some chores while watching, the TV would just turn off. Because I am such a sucker for punishment, I wanted to just figure this out without looking online. The more I couldn't find it, the more I didn't want to look it up. I looked under power, monitor display, and even the TV menu (thinking perhaps there is off-chance that it was the TV... although it was obvious since it would say that it loses data connection). But seriously... who would look under brightness and lock? 

Installing Applications

My Ubuntu life became much easier when I familiarized myself with the Ubuntu Software Center. It works similar to the Google store. And works quite while with just the keyboard.

The first app was Chromium. A nice small lightweight application to test out the install process. I found that this is much easier tool for first-time users. After getting the hang of Linux a bit, I can see how the command prompt could be slightly faster once someone is familiar with it.

Next, I installed MySQL. I find it interesting that I say "my-S-Q-L" for MySQL when I use "sequel" for SQL. I wish I kind of knew why I do that. Anyways...

At first, I thought Linux crashed because it stayed at the same point in the install for a very long time. I am still quite not sure what happened. The PC is somewhat slow but it took a few hours. Fortunately, I was doing chores so I didn't just sit there the whole time.

After that, I installed the MySQL Workbench which appeared to be an developer environment somewhat similar to Microsoft's Management Studio. This time it installed at a much more normal rate that I expected.

I watched a couple quick tutorial while it downloaded and installed. It has some functionality similar to Management Studio like the ability to create tables and databases, but very different overall. The naming schema is not the same. The structure of schema, database, and tables are not exactly the same, but not difficult to learn.

Python

My friend was talking about how he had to learn Python to use a certain library that did what the manager needed. So, I (being the easily distracted person that I am) started to look into Python. Python is already installed in Ubuntu so that part is super easy.

You can start writing commands write in the terminal and see results of what happens. It being a scripting language and with the interpreter engine, there is no need to build a project and compile to see something happen. This is very similar to VBScript and JavaScript but even easier.

I stumbled across a tutorial on string manipulation, and I was impressed to how easy it was to manipulate a string variable. Very intuitive, simple, and still elegant to read even for someone that hasn't even written Python code before. In C# or Java, it would still be quite a bit more verbose to do the same functionality. Of course, Python may not be as perfectly efficient in execution in the highest tier of efficiency but most applications and developers do not have to think at that level anymore. I could even argue that traditional languages could be inefficient if designed incorrectly.

Conclusions

I still have a long ways to go. For some reason, work has been very busy so I have not been able to put as much time and energy into getting my Linux project going. But I have been able to put a couple hours into it so far. I hope I can at least have a simple web application up and running by next week.

Wednesday, December 11, 2013

Ubuntu: Terminal Basics

I think this is rather self-explanatory with Windows command prompt experience.

pwd - displays your current directory [cd]
ls - list files [dir]
cd - change directory [cd]
clear - clear terminal screen, clear buffer [cls]
mkdir - create a directory
cp - copy file [copy]
mv - move file [move]

~ - home directory
/ - root directory


home directory - this is equivalent to Window's user directory
root directory - this is the base directory, the closest equivalent would be like Window's C drive but not exactly.

Work Life: Ubuntu - First Impression

I finally got around to installing Ubuntu. I have never really used Linux although I did have some exposure over a decade ago. Unfortunately, I installed the server version so there was absolutely nothing there except for the terminal. The only command that I knew how to use was [ls] which just provides me the list of directories and files.

A friend then work his magic while I tried to follow what he was doing. Eventually ended up with a gui interface (I think it was called X Windows) with nothing there. He then just recommended to use the GUI version of Ubuntu.

Since he's out, I tried to play around with the flash drive and found that I could run Ubuntu right off the drive. This was much easier to use with the interface. It is much easier to navigate directories and open files which are very similar to Windows. I was able to open Firefox and watch YouTube videos on Linux tutorials.

I started by searching for how to install files from Ubuntu although I kind of figured how to do so in the terminal. From the GUI, I would just get a folder-like directory when I clicked on the files that I downloaded. I also did not know what the difference was between YUM and RPM. So... I have much to learn.

One minor thing that I have to get used to is that the icons to close, minimum, maximize, etc. are on the top left corner. Also what takes me a while to adjust is that the icons do not appear in max size unless the mouse hovers in the upper regions of the screen. This seems to throw me off for some reason.

In conclusion, I was not able to do much with my working knowledge of Windows except to navigate the directories and configure the wireless. My goal was try to get to installing a web server and database, so there may be other basic functions that I could figure out for regular use.

Sunday, December 8, 2013

Work Life: Software Versioning - Understanding the basics

The main reasons that someone would be interested in the versions is when they need to identify which features are in a particular version or identify which code to update for remedy a defect. Otherwise, version id is rather useless except for maybe as a marketing gimmick which really does not serve any functional purpose to software development.

At the most fundamental level, version id allows the developer know exactly which code base to identify or modify. In other words, the version id does not have to follow any sort of schema, rules, or process. You can use numbers (version 1), groups of numbers (Version 1.2.3.4), letters (version A), mixed (version 1.2.a.3.b), pictures, names (Windows XP, Vista, Google Jellybean, Ice Cream Sandwich). Basically anything you want it to be as long as you know how the version id goes with which code base.

To expand on the numbers and letters, you will commonly see that there is some incremental process. This is also not required on the fundamental level. You can jump from (v3 to v1.1 to v2.0.4 to vA to vB) like how Microsoft jumped from (v3.1 to 95 to 2000 to ME to XP to Vista to Win 8). No rhyme, no reason needed for version id except that it should at least be unique. I use 'should' because you could technically use the same version id but then that really complicates the matter which I won't cover here because who knows why some people do that (but it really does exist).

But because our memory with versions work well in chronological order, many companies use an incremental pattern type. Not only is it easier to remember, it is also easier to automate. Every time you have an update, you increment by 1 (version 1, then 2, then 3). 

Eventually, you'll find it cumbersome to remember difference between version 15 and version 32 and version 75. So many companies compartmentalize the changes by adding a sub-group (Version 1.1, then 1.2, then 1.3, etc). When you reach a arbitrarily major update, you will increment the super-group from 1.X to 2.0 (or 2.1 depending on your preferences or even 3.X if you want people to go slightly insane). Here, I use X because it can be any number. You can find that you go from 1.9 to 1.10 which does not seem to make mathematical sense, primarily because it is not a mathematical number (technically two numbers thus 1.10 is not the same as 1.1). This can be understood more easily if another sub-group is added like 1.10.20 which completely breaks any relationship to a mathematical number.

You'll find that 2 to 3 level system works for most groups and companies. But for software managed by many people (20-100 developers), you'll notice that there are more levels and that they do not increment in the normal fashion. The reason for this is because of branching of code. Because there are so many people developing at the same time, there is a root application that they all work off of. So everyone could be working off of code version 1.2.1. Developer A will be writing code version 1.2.1.5 while another developer B will be writing code version 1.2.1.8 (maybe he has an intern working on 1.2.1.8.2). Someone will eventually decide that it is time to bring some of the changes together to create version 1.2.1.22. If they find that to work, they could publish version 1.2.1.22. Of course, you could also have a policy that just increments the third-level whenever you merge which then should have been version 1.2.2.

But let's say we kept with 1.2.1.22 because it is a patch update and not really an application update. While testing, this version did not work and deemed to difficult to troubleshoot. Version 1.2.1.22 can be discarded. After the major items are addressed, eventually someone will merge a different set of versions to create Version 1.2.1.45. Then, repeat until they have a working version. If 1.2.1.45 works, they may just publish that so the public will never see version 1.2.1.22. If you use the other policy, you wouldn't see 1.2.2 but a 1.2.3.

At this point, you can also see from the end-user (i.e. customer) that may concern them especially for new vendors. Why did they skip a number if they always had an incremental system? This is why larger corporations that invest in PR develop their own version schema. Company A may say that we don't want to confuse the users with an update from 1.2.1 to 1.2.3. They are going to stick with version 1.2.2.

But on the development side, you cannot simply rename 1.2.3 to marketing's 1.2.2 because it was already used. Thus a cross-reference table needs to be maintained to tracking marketing's version to the development's version.

On a higher level, you can easily see where development and marketing would deviate in version id when there are impacts to technology versus usage. For example, the development major version (level 1) needs to be incremented because of a new software design that does not impact function. To marketing this is not a major change. So development could move to version 2.0.1 while marketing may choose to remain in version 1.x.x format. On the other hand, marketing may see one of the new features that will change how they sell the product but was not a major change to code (like backup and restore, or moving to SSO). For this marketing will sell it as version 3.0.1 while development keeps their 2.x.x format.

After some time, marketing will then start to simplify or complicate the version id towards their market research. That is why you see so many odd versions in today's world. You can have Google's candy theme that increments by the first letter. Apple's animal theme with the same incremental scheme. Or Windows random scheme. Primarily, their versions are easier to remember maybe because we can relate more things to it than just numbers which we see everyday. Also it makes it easier to search because all applications use numbers so searching for version 1.1 will return several results while version Vista is more unique. Or you can complicate it which then many people will not remember the older versions.

So in conclusion, version ids can be anything. Best practices are good guidelines. Choose and/or adapt one that fits your business model. I do not recommend random version id for development as there is little value to that, but who knows perhaps it has value if you are trying to make it difficult for other people the chronological progression of your software development (like for a spy-world tv show).  

Complaint: Flash player volume on Google Chrome - Perma-mute issue

If a stream uses flash player and has a mute option, I've noticed that if you leave the mute on for too long the video will not unmute although the icon changes to the unmute icon. The shortest I've noticed this is about 30 minutes but is not consistent. I have had run a stream for a couple hours without a problem. At first, I thought this was only with Twitch.tv but I've noticed this on other video streaming sites like CBS.com, The Daily Show with Jon Stewart (also Colbert Report), and Hulu.

I've only been using Chrome so I am not sure if this also occurs on other browsers. Not a major problem as refreshing the page resolves this issue all the time but is quite frustrating when the player restarts from the beginning (thus watching commercials before jumping back, then watching another set of commercials).

Friday, December 6, 2013

Life: Swatting? Blackstone "scam"? Ignorance of the Law? Why is it so hard to be a good citizen?

How does anyone even keep up with everything these days? I am in the middle of writing a blog on "Ignorance of the Law" about how can the law expect average citizens to know all the laws while judges cannot even agree if a car is legally parked depending on parking signs. 

Since I started, I read about the insurance "scam" that Blackstone committed (not including losing whatever trust I have left in our public news journalists with the lack of coverage or rather their priorities). In what I think is a scam yet somehow legal, a company can basically buy insurance to protect the car, mark the car with an erasable marker, then collect the insurance. How does an average citizen feel like the government is against them when they cannot even collect their insurance on legitimate claims or legal technicalities (plenty of articles from Superstorm Sandy)?

Then I came across "swatting" a new prank that can get any random person with internet access get in a lot of trouble. This does not only impact internet subscribers if the prankster has access to your phone number or address. Ever wonder how easy it is to order pizza? Then wonder if you used someone else's address? Now just imagine that on a much grander scale. Average citizens have to worry about this even if the law is not ready for it. How does the law expect citizens to be perfect? We can barely do one think perfectly, yet expected to know perfectly everything with perfect knowledge? 

Then I read about our representatives working on new legislation. Isn't there like a common sense law somewhere? Something like, you cannot get rewards by committing a negative action? Should law enforcement have ways to track people who put in false calls or false orders?

On top of all that, the most frustrating part is figuring where to put my attention to. I believe there are plenty of good people, not just good citizens. I meet them all the time and more frequently than bad people. We all work towards good things, but I feel that "bad people" have split our focus so that they can divide and conquer our efforts. 

Either that or we need to find a better way to fundamentally change the laws for the better. I am terrible with following what laws are passed (is there anyone that does... doesn't seem like even politicians know what they pass either... yet we're still accountable to it), but I feel that the laws we pass are just patches. 

In software development, patches do not fix the underlying problem. Eventually, the product cannot support all the demands added to it effectively. Either the product needs to be refactored or be replaced by another product. The latter would be a revolution in government terms.

Shouldn't a citizen who has good intentions be automatically good citizens? I think good people are frustrated because they must consider so many immoral, unethical factors while bad people just continue to exploit loopholes. To deflate some of my reader's egos, this includes just people who speed above the speed limit all the time while on a random select get speeding tickets. I just wanted to muddy our belief that "I am good" while "others are bad" mentality. In this scenario, should we all just be driving the speed limit? Yet in today's world driving the speed limit causes a lot of ire from the majority of drivers. Then there's the unfortunate person who maintains the new norm but gets ticketed just because of some factor not in his control like officer happened to look up at that moment, easy to identify, didn't have a trailer truck to reduce visibility, etc. Do we really want to that kind of system? The police surely does not but they can only follow the rules that have passed by the representatives that we elected. Perhaps, we need the ability to elect someone that does not want to be elected. Of course one of their traits would have to be that they have social responsibility if it is placed upon them. I have definitely across a couple people who I thought would make great politicians, choose not to be one, but would do it if called upon... like jury duty. Perhaps being in jury duty should be one prerequisite to being a public officer. 

I apologize again for just spewing ideas again. I find each topic important to put down. I want to reword and restructure but I know myself better than putting this on the shelf until I get around to fixing this like many other unfinished posts (at least this is more complete than most of the other random thoughts). On the bright side, I do learn a bit more about myself as I write more. Each month I do notice that there are some values that I find easier to define than before.

Reference

Swatting

Police Visit - Swatting

Blackstone Insurance "Scam"

Threads

Sunday, December 1, 2013

Life: Decoupling Economic Dependencies on Government Laws

I was going through some articles about parking ticket scams where people were given parking tickets where most have never been in the state before or was clearly not there during the time of the violation. Although there were so many things wrong with the system, what really got me thinking was when did our justice system put the burden of proof upon the victims when all they have is the hearsay of a traffic officer. Somehow, the victims now have to provide documents, lawyer fees, etc., for something they did not commit in the first place yet the law does not even produce a picture of the violation even especially after dispute. 

On a similar note... if a sign was missing or a meter was broken, the burden is on the victim to prove that it was missing or broken, yet not the burden of the government to prove that the meter was working and the sign was there. On top of that, even if you pay the fine because it is cheaper than proving your innocence a $2 convenience fee is added for paying online. 

Where did our society go wrong? Yet when come to changing the laws, some of the arguments is on how the government will compensate for the lost revenue if the law changes. What does that even have to do with the justice system? Then to kick the average citizen while they're down, they let many criminals free because of technicalities that average citizens cannot exercise due to severity of crime or too poor.

This is not an easy task for the government to balance but I think there are benefits to directing our budget to segregate where the revenue is used. Economically, I believe the problem is because they pay for programs using revenue from another program. In this case, parking tickets and violations produce a lot of revenue for the government (local, state, or federal) to pay for many programs.

To simplify the laws, I think it would be wiser to start to focus the penalties of laws towards the costs of misdemeanor crimes. Revenue produced from parking tickets can only be used towards the cost of parking issues. Taxes on tobacco or other illegal substances should only be used on programs that deal with anti-substance abuse.

This is not necessarily simpler but possible as insurance companies are able to make profit on similar type disasters. Parking issues should include some of the cost of the chance that the parking may cause the building to burn down. For example, the car parked in front of the fire hydrant so the fire engine could not effectively save the house. Part of the revenue from that parking ticket should pay for the damages on the burning house scenario. Thus inversely, the proportional percentage of the cost should be built into the ticket fine. Thus if the damages was $500k and car caused $10k of the damage, then $10k divided by number of expected fire hydrant parking violations should be the minimum to the ticket. Of course there are several other variables that needs to be included but that should be the gist of the concept.

By this same concept, income tax should be used towards our universal programs that impacts all citizens, like National Security, Social Security, National Healthcare (if it continues to exist), public education, all the court fees for defending the constitution, etc. Property tax used on programs for the property.

If we ever reach a point where one of the programs "makes a profit" then that should be saved in the government "bank" that can be "borrowed" for other programs when a disaster does occur but there is not enough funds for that program yet. If there was an unexpected hiccup, like Superstorm Sandy, recovery programs can borrow money from the "bank" to pay for the costs now. But eventually, that "debt" needs to be repaid. In the case of Sandy, since it is the welfare of East Coast residents, that should at least come out of the state income tax of the states impacted. If the US citizens want to assist, a part of the federal tax revenue can also be used. By doing this, it sets our expectations that our income tax is used to protect our welfare.

By not meeting expectations. this puts a lot of burden on the government for many things like PR, managing risks, and handling a very complex system. For example, the $2 convenience fee. We all know that online payments save the government money over hiring processors to receive mail, open mail, manually enter data, send check to bank, and all the other exceptions like overdrafting, canceled checks. Why leave such a sour taste in their own citizens by stating that it is for their convenience when most people know it is not for our convenience? The government can probably get less gripe by just by saying "because we want to fee" instead of convenience fee.

The purpose of all this is to decouple the dependencies between programs due to economic reasons. We should not be prevented in correcting a particular social issue just because it impacts the revenue, thus preventing ourselves from passing a law that is more justified.

Side Note

First, I'd like to apologize if the ideas do not flow together. I started with one idea then it morphed into something a bit bigger and just wanted to type it down as the thoughts came to me. I figured I will still go ahead and publish in-case someone happens to stumble upon this article and has some additional thoughts or reading material. I would like to revisit this thought again sometime in the future.

Another interesting thought that came to mind was my use of a software engineering term, decoupling. This got me into thinking how the government should be structured similar to a large application with a controller (federal government) with maybe something like interfaces (for state government). Basically, I think we need a plan that would refactor the code (laws) so that it is more effective. 

If there are any PhD candidates looking for a thesis (probably in Political Science or maybe Computer Science or Software Engineering), I would definitely be interested in such a topic.

Very last thought, isn't it a very terrible way to learn (or get clarifications) on certain laws by accidentally breaking them? Seriously... blocking the box, no right turns in the city proper violations, are not common knowledge nor is it common for people to check on all the laws on everything. I tell that to anyone visiting to nyc. Or not having to come to a complete stop for right turns in California. How about a warning system that fines people the minimum amount for the time of the officer to give me the warning? Instead of having your average citizens more afraid of the law than criminals. http://www.dmv.org/fun-stuff/bizarre-driving-laws.php

As if to prove that traffic laws in themselves are confusing, most areas do not allow U-turns yet I have encountered intersections with No U-Turn signs even when it is already a violation but still have random intersections without the sign within eye-sight of the previous intersection. If you do not read up on the laws, you may be tricked into thinking that it is legal to make a U-Turn at an intersection that does not have the sign. So make sure to remember that even though there may be a sign explicitly stating that violation, that does not necessarily mean that it is not a violation when a sign does not exist.


Reference

Parking Ticket Scams - People receiving parking tickets at locations they've never been to

http://charlottejhsu.wordpress.com/2011/10/25/the-896-80-parking-ticket-i-received-while-2000-miles-away/ - Not exactly never there but clearly not during the time frame of the ticket

Parking Ticket Discount (I only found NYC to have this. I thought this was interested and as stated by the article was not a lot of people are aware of this)


Convenience Fee