Monday, December 31, 2012

A Quick Reflection of 2012

2012 draws to a close and as of this writing, we've got another few hours to go. 

A Short Tribute to Mr. Aoyama

The last 2 days have reminded me of the preciousness of life. I've had the opportunity to meet a wonderfully kind man in late September for the first time while at my girlfriend's family home. He had recently been released from the hospital from cancer treatments and was in good spirits and shared a bowl of home made chicken stew and wine. 

We would not meet again until yesterday and he had just been bed ridden while at his home. Despite not being able to get out of bed and under a lot of pain medication, he thanked us for coming by to visit and with the strength he had, he smiled and gave us the the "ok" sign and said that he was all right. It was late afternoon by the time we arrived and evening by the time we left. I wouldn't have expected it, but my girlfriend and I would be his last visitors. By the morning he was gone, but the day before he was still able to eat and walk. The last evening would be the second and final time that I would meet him.

Just after being bed ridden we learned through his family that was in attendance that he was wistful that he wished he was able to finish off a few more letters and messages before the worsening of his condition; no one thought that he would deteriorate that quickly. The idea of New Years Resolutions felt shallow because life is short, unpredictable and we've only one to live.

A Transition from Sony

2012 marks the ending of my career as an Engineer at Sony. It was a privilege working with the team where we would show off a break through flat panel display, the world's first 55 inch LED HDTV. Together as a team, we've gone through and solve a number of incredibly challenging engineering problems that would simply be impossible for any other firm to solve on their own. 

I have elected to transition from an R&D position into an IT position in a finance company to get closer to dealing with users, because in the years that I have been working in at Sony before, the biggest missing piece in my working career is getting closer to customers and figuring out what they really want. To me, this is the place where a business is born and money is to be made. I've seen a lot of research projects from academia and industry that would probably not see the light of day as most of them started off as an intellectual curiosity and remained just like that. Attaining success is about finding high impact ideas and executing on them.

Moving to the Big City

As of Jan 19th, I'll be moving into the heart of Tokyo for 2 reasons. The first is to cut down on my commute. Since 2 months ago, I've started working the early morning shift and that means that I need to be at the office by 7:30 am daily to run system checks and then getting on with the day. I've also been hard at work running a variety of other projects and taking on new responsibilities at my new job that I've been pulling 12~14 hour days. Doing the math, 2 hours transport, 12 hours of work, 6 hours of sleep (if I am lucky) leaves me with 4 hours of personal time during the week. If I throw in dinner, getting ready for bed and chores into the mix, I simply means that I don't have a lot of time to do anything else. Time is important and I'll be upping my cash burn rate to recoup time and reinvest that into myself (and so far, reinvesting into myself has had the biggest 

The price I'll pay for this move will be steep, but I hope to recoup the costs through better networking with entrepreneurs in Tokyo and more time to myself to exercise and study. One thing that I am quite certain of, living too far away from Tokyo was a bad thing because it severely limited my ability to network and spend time meeting people that I would like to build working relations with. 

Move Quickly Upwards and Onwards

I'm upping my ante on what I can get out of my career. The good thing about working in finance is good workers get promoted quickly. From what I've heard from my peers is that I've been doing a pretty good job so far, the next thing is that my successes are visible to management and that I'm also personally grow while cranking out hits and growing my own networks while I am at it. 

Sunday, December 16, 2012

Will the yen eventually go down?

The yen has to go down and it looks like that it is finally starting to do so with a big drop in the last month. Will it continue or bounce back up? Not so sure and when one is not sure, it's not a good idea to make bets.

Tuesday, November 13, 2012

Dealing with difficult people

Dealing with difficult people is a pain in the ass. I am sure that everyone has to deal something like this in some point in life.

How does on deal with an incompetent person? Let them sink and take the project with them? Cover for them? Replace them (ideally?)

Or what about people that are just plain assholes? Push back? Tolerate and minimize contact? Be indifferent?

One thing I've noticed so far is that the people that get paid the big bucks are the aggressive but likeable people. How does one become like that? I have much observing to do and the finance industry is the right place to do that.

Saturday, October 13, 2012

The impact of social networks on blogging

The last post on this blog was nearly 2 months ago, a lot has occurred since the summer and I've once in a while wondered why have I not been writing as much as I had used to.

I started writing a blog nearly 10 years ago, I still remember the motivation that had me begin writing so many years ago; an essayist by the name of Paul Graham had inspired me by his written articulation to explore the world well written expression of thought. Those writings would inspire me to become a better debater and writer where I would receive top grade in an APSC 261 course entitled "Technology and Society." I would also learn that good writing is paramount for writing good project proposals and application letters, a skill that would also help me get accepted into the Japanese Government Mombusho Scholarship program and find my way to Japan and other students that I helped in writing their application forms for international scholarships and I would end up help sending 2 students to study in foreign countries.

This was all before the era of Facebook and the rise of social networking and the nature of online communication has changed.

I have found myself spending more time on Facebook as a medium communication, it's where most of my friends are and how I keep track of friends around the world. I have about 800 connections, of which, I can say about a few hundred are people that I would like to stay in close contact with, but even with those numbers, it is hard to stay in contact with that many friends. I only have so much memory capacity and it is much easier to have an automatic system that shows me a series of posts from a variety of friends on what they're up to.

But the issue is the shift in online medium, from blog posts to short "status updates," captioned photos and albums or tweets-- the online medium of online communication has changed from paragraph form to short one liners. I am not sure if this is for better or worse, but I have realized that my posting frequency here has dramatically declined compared to the times of before (that and the new work place blocks access to blogger).

But I do wonder, if the medium of current social working sites is somehow dumbing down the level of discourse or whether if it had made posting more accessible to people with to short one line thoughts (or a reduction in original thought through posting of links to articles instead of personal essays).

But there is more, no doubt.

With the advent of Facebook and the lack of portability of data does have me somewhat concerned on my ability to backup content and the ability to consolidate my online presence into a single site instead of simply using a provided platform. People have blogs, their Facebook page, a twitter account and more and we are limited to posting content formatted to the type of medium that we are posting to. I sometimes wonder if that is the right approach, but the way we communicate is obviously impacted by the popularity of the medium (even with all of its flaws). And on an interesting note, this also applies to financial trading too as people like to trade on the largest markets and the design of those platforms can impact the way people do transactions.

Will there be a way to consolidate one's online presence to Facebook, Twitter, Youtube, Linked in and etc into a single page? I am not sure, but even if it is only some of those services together, it would seem like something useful to me and it would stop the exodus of people from blogging.

Saturday, July 21, 2012

We don't truly understand food

I left Vancouver some 7 years ago (I can't believe that it's been that long) and flew across the ocean to pursue a masters in Japan. One thing led to another and it seems that I am still here. I would tell my friends in Japan that the only other place in the world where people had a longer life span was the place were I was from. Everyone was healthy. In the summers, people would bike, job and roller blade and we have a wonderful selection of food to try out. I would say that west coast food is up there, so long as you know the right places. When I was back home, I knew those places.

No, it didn't have to be super posh, but if it was a small funky little outfit that knew what to knew. I made a point of knowing about it. Ever since I was young, good food was important to me. If it was good, I wanted to eat it and know how to make it.

I don't think of myself as getting older, but if you were to compare me 5 years ago and now, there is a difference. 5 years ago, even people the same age as I wouldn't be able to keep up with me. I still have my spurts of energy, but a good time to me now is sitting down with a few good friends having a good conversation or going out for a long jog or reading a good book on something is something that I enjoy. I still do know a lot of people and I meet a lot too, but there are too few that I would consider wanting to spend quality time with,  but that is for another story. I'm here to talk about getting older and with that, a slowing metabolism.

The nice thing about Facebook is that it's useful to keep up with people and the one thing that I've noticed about friends back in Canada is that many old friends have put on significant weight. Compared to what I see in Japan, where people are generally  thin, many of my friends have simply gotten bigger. I still would like to boast Vancouver as the most healthy city in the world, some how, right now I can't bring myself to do that. This isn't a new topic. It's been well documented. Jamie Oliver does a good job of talking about it.

About 2 years ago, I started actively tracking my weight, wanting to bring down body fat and increase the amount of muscle mass on my body. I can tell you, it is a hard feat to accomplish. Though many of my friends say that I do look like that I've lost weight, my body has changed enough that my old clothing doesn't fit me anymore and I've become much more sensitive about clothing fit when buying new clothes.

Knowing how to eat healthy isn't hard

One thing that I've learned from this project is of what my dietary requirements are and how a variety of foods fit in to accomplishing that goal. I look at food differently now compared to before. Before it was a matter of buying whatever I felt like, now it has become more about "strategic eating" instead of "dieting" and I am glad for it.

What I have learned from this process is that the average person knows too little about food and nutrition; our health is suffering too much from this lack of education. Do you know what your daily caloric requirements are? If you are trying to grow muscle, do you know how much protein you should be taking? If you're trying to gain muscle and lose fast, do you know what kinds of foods should you be eating and avoiding?

I've made charts and gone through plenty of nutritional data on different foods to figure out what to eat and avoid. I know how many calories and fat is in a bag of potato chips, that cola is bad and I've gotten to the point that I've given up drinking much juice for water. I've reduced the frequency of times I eat deep fried and fatty foods and I am conscious about how food is flavored. I avoid excessive butter and oil. I also avoid creamy sauces. But I still have them from time to time.

I know herbs, vinegar and lemon are great and healthy ways of seasoning foods. I also know how to pick flavorful cheeses over processed ones knowing that I'll use less in quantity and make something just as delicious. I also am aware of how chain restaurants and lunch sets have been increasing the amount of cheap carbohydrates to fill people up and cutting down vegetables and meats because those ingredients are more expensive. I avoid some lunch sets because there is too much rice.

But the problem is that too few people understand this. The older we get, the more our metabolism slows down and with the lack of understanding the average person has about dietary requirements, the fatter and unhealither they'll get.

It is unfortunate, I've already seen a person get sent to the hospital because of poor nutrition. The man is 60 but his idea of a good meal is deep fried chicken. There is more to food than strong flavoring, because if that is all that you do know, you will miss out on the more subtle nuanced flavors.

How good is your sense of taste?

 I can tell the difference between a good bag of rice and a normal one. The same goes for vegetables. If you've lived in Vancouver, you'll know what good corn from Abbortsford tastes like, much in the same way I know what good vegetables from the countryside in Japan tastes like.

The average person doesn't understand this, unfortunately. There's too much sugar in candies, too much salt and other flavoring in the usual cooking, but if you know your ingredients, you'll know what is good food. I've been to the seafood markets and some of the best food in Japan and even as a foreigner, I know of the existence of the good stuff and can tell the difference between the regular.

There is a lot of food out there cooked to crap. There's also a lot of hidden flavor hidden stuck to the pan that many people unwittingly wash away. The point is to know how to bring out the best flavors with minimal additives and to few of us understand this. Most of us are addicted to the processed artificial strong flavors in foods produced by companies looking to turn a profit. They really don't care about your health and you as a consumer need to be educated enough to be able to walk away from this faustian bargain.But too few people know about what good food is all about and that to me is unfortunate.


An ounce of prevention...

Is plenty worth more than me pounding some sense in to your head. Too many people die prematurely because of dietary issues. Much of America is obese and more friends in Vancouver are getting fatter as they age. It's sad really. I've already seen one relative in Japan get hospitalized in Japan because of poor nutrition. Less and less people in Japan know how to cook and I believe that health will deteriorate in the next few generations. Men generally don't know how to cook and there is a growing population of girls that don't know how either, especially in the cities.

Perhaps I sound like a nag, reiterating that too few people understand food, but I really mean it. People don't understand. The price of good foods are getting expensive and cheap unhealthy foods are becoming more prevalent. But there is an upside to all this, the more you learn about food the more conscious about the good stuff you'll be. You'll eat more delicious foods, become healthier and look better as a result of it. I guarantee it.

But if you're looking for more nobler reasons; it's a great tool to impress the opposite sex.

Nuff said. I have some vodka-kiwi-honey punch to drink.


Sunday, July 01, 2012

Task lists, notes and tickets

Since jumping into the world of back-end IT support for office and financial systems, I've found it interesting that in the IT world that issues/incidents/requests are tracked using a ticketing system. When something needs to get done, a ticket is generated and passed around the appropriate groups/departments and then a person is then assigned to complete the task.

In theory, it looks like a queued system of tasks and a pool of processors (people) working away to keep the queue empty-- a programming esque way of dealing with tasks. Unfortunately, theory and reality diverge in this case.

The particular IT department I work in has the server guys and application/data guys in different teams (and this is still a gross simplification). There are divisions with business analysts and programmers as well... long story short, with many different departments (even located in different regions) things "naturally" take a long time to complete.

When something simple takes 4~6 days to complete:

Since starting the new job, one of the biggest pain in the rear is keeping track of open issues. The longer it takes for an open issue to get done, the more open issues that one needs to keep track of. The process of getting folder access permission between 2 groups and then automatically sending data to folders would generally be as simple task as all you would need to do is setup a share and then allow people with certain class access to the folder.

The problem in this case, a formal e-mail needs to be sent out to get permission to  grant access, then the request needs to be forwarded to the network team where they'll setup the access and then another group needs to be contacted to setup the daily file transfer process. Since each step is dependent on each other, it can take easily 3~4 days if everything goes well. If there are problems along the way or if the request is a little exotic, things can end up taking longer.

Suppose next that requests come in at 4 per day and the turn around time for a single request is 4 days. At any one point, you'll have 16 open requests to deal with on a given day since it takes time to have each case resolved.

When I was working as a researcher, each person might only have 3~4 projects on the go at the most over a 2~3 month period. The number of open projects/tasks that one needs to keep in mind is very different.

I've since started keeping daily logs of what I've been doing to keep up with everything I've been doing and even that has it's limitations.

The perfect todo list is a holy grail:

 Traditional task lists are very primitive devices, but it has been the backbone of semi-structured human being since forever. Either you keep a list of things that needs to be done or you don't and do whatever you feel like. As much as I value unstructured time, keeping a list of things that needs to be done, or even things that I want to get done and executing on them is equally important.

If you've heard that taking notes or jotting down ideas down in a notebook is good for you, the most important thing about keeping track of ideas is that you're hashing out a list of things that you've thought about and want to do.

I value the paraphrased words of Richard Hamming when he said that "you'll travel much further if your steps are planned rather than taking a random walk." The difference in distance travelled is quadratic (and this assumes that you get to the furthest point of your random walk and *stay* there).

Humans are bad at context switching:

The human mind works in a similar way to computers when it comes to context switching (a fancy word for changing tasks). In generally, when a context switch occurs, what was loaded in the CPU get swapped out and the state of the new task gets loaded in and the processed. This is great when the state and knowledge of the task in progress can be accurately stored. For the case of computers, this works fairly decently, for humans, unfortunately, this isn't the case.

The easiest way of mitigating performance hits for context switching in humans is quite simple: reduce the amount of data that needs to be swapped out so that the "loading" and "unloading" of information into the mind is reduced. People serving specialized functions is the obvious reason why many people are given "jobs."

I believe that there are 2 ways of improve one's ability to context switch. The first is to work on a set of inter-related tasks (ie a project) such that you're not need to remember and forget information when you do a new task. The second is to create a "remembering" infrastructure that allows you to store information about a task the last time that you left it.

Assistants:

Powerful people had assistants, whether they were secretaries or otherwise. The point of having assistants is to create an infrastructure where information was automatically catalogued, packaged and available on demand. We are starting to see some great work going in that direction with platforms such as Evernote. As a note taking platform, it is fairly useful, but there needs to be a better link between the gathering of information and correlating that into actionable tasks and the management of those tasks.

I've been reading on and off on productivity and task management, it is an interesting field.

Monday, June 18, 2012

A bet on volatility for Monday

Been following the Greek situation for the last 'x' months, where x is a value I can't remember any more. I've been only keeping mild positions in equities (that haven't been faring so well) and had a position against the Euro for a reasonable profit. Sold EUR/USD at 1.32 and bought back at 1.26, which isn't too bad. I do think that the Euro will continue to decline however.

As of Friday, I've decided on taking a short-term volatility bet since either the ND wins by a small margin and the political landscape remains the same or Syriza wins and the market is going to get a little wild for the coming week. Will be interesting to see where things go and as of this post. The Greek election will close in 4 minutes.

Tuesday, June 12, 2012

The New Job

Time flies; a month has gone by since starting the new job. All that I can say that it is far less technically challenging compared to my last job in R&D and ironically it pays far better and I work less hours. One of those strange things about life.

I now exist in the finance industry now, mainly providing IT support for their back end and back office systems. Interestingly enough the back end technologies that many financial institutions in Japan are so low tech that it is really surprising. If the real IT professionals and the brilliant coders from the places like Google and Facebook came into the IT world, I have no doubt that they could make a killing (and there are probably people that have already done so).

I have been fortunate so far to learn that my boss' attitude to retaining people is "pay them lots of money." So long that I kick some serious butt right now, I can hopefully look forward to some good pay in the future and hopefully a fast tracked promotion at the rate that I am going from first few months.

One thing I do miss, however are the technical challenges of R&D but what I also realized, is that having a good set of technical skills and soft skills are a killer combination for progressing in a large organization. I am now working with people in a new kind of way and I find it fascinating no less.

Maintaining servers can be a little boring but there will be some projects that I will be taking on since my superiors have decided that it might be fun for me to setup some new offices and work with the equipment vendors. Developing business relations too, are just as interesting.

Thursday, May 03, 2012

Farewell Sony

As of April 30th, 2012 I have resigned from my R&D position with Sony and will be pursuing a new career opportunity (more on that another time). It's been 4 years since joining Sony and doing R&D related work with them. I'd say more about my work but some of it is still confidential stuff and I would rather not want to get myself in to hot water for saying more than what's publicly available. I've learned a lot through this project (especially in my most recent years).

I've spent a lot of time thinking about what I would want to say about me leaving. I've had many thoughts recently and the problem I face is turning it into a "from there to here" kind of story. As with many things in life, decisions are the result of multiple factors.

Before resignation, I have had held several posts within my R&D department, the interesting thing about my work is that I am one of the most versatile member of my research teams. I've done semiconductor processing, some process automation (and equipment automation), programming (which was later used for optical simulation) and then went on to write software that would slash one of their defect detection processes from 7 days down to 2 days.

I practically held 2 offices, one in Tokyo and another at a factory in Kagoshima where I flew out a few times a month to check on how things are going, see if there have been any design changes and reworked my software to deal with those changes. Considering the amount of value I was providing to the company of doing things in house (and out of my own initiative) it was easy to for me to justify nearly $3000 worth of flights and travel fees per month to make sure that everything was running smoothly. The second that everyone knows that you're the person that produces results wherever they send you, getting access to financial resources becomes easier and easier.

I managed to clear a new laptop purchase through what was once a rather stingy manager and another manager decided to buy me a new monitor so I could to code better.

I also had plenty of freedom as so long as I was producing results, I had practically free reign to do as I wished, which included spending copious amounts of time studying interesting programming problems and making applications for other users within the research group that needed help crunching data. You know you are important when people are coming to you to help them get things done. There were times when work was incredibly busy, where I would be going in really early in the mornings or working really late at night. But the thrill of hitting milestones and seeing a project get closer to a finished product is exciting. I thoroughly enjoyed it and the engineers that I've collaborated with are a pleasure to work with. To be honest, I've seen challenges and technical problems that would be close to impossible for other companies to solve. Even with the economic rise of power house technology companies in China and Korea, I am quite certain that it would be nearly impossible for those companies to come close to mimicking the technology that we've been working on... though their technical prowess is growing quickly (which I will discuss later on in this post).

Suffice to say, I had a great time working Sony, working on challenging technical problems and seen the future of several technologies.

Understanding Non Technical Problems is Important


I've been working for the last 4 years, tirelessly on technical problems. How do we make something better, with less defects and in a shorter time? What is the best process to make it? Does the process actually work and if now, what exactly do we need to tune to make it work? I've been running through this loop for quite some time. Despite the pace of technology, the semiconductor world is high technology with a low tech development process-- in that so much man power and time is required to create new processes. There are lot of things that would lend themselves to automation but most process engineers don't have those skills.

The other challenge is the past pace of the technological market. Trends change relatively quickly and getting a process line up and running takes a considerable amount of time. If you wanted to build a new factory, develop a new process and then have a product out of the door, it will takes years of research and if the nature of the market changes within that time frame, you could end up developing something that no-one might want. Understanding market risks are very important.

Just as it is important to understand market risks, it is also important to understand the non technical aspects of technology. I've been working on the technical side of things for so long that it was not until we got close to commercialization running demos that there were many "non-technical" things that we needed to consider-- like product design, user interfaces and understand the fuzzy parts of specifications. Suppose that you wanted to build a new smart-phone. Where do you draw the line at the speed of the CPU? At 900 MHz or at 1 GHz? How much memory should it have? What should the resolution of the display be and what about pixel densities be?

There are also important things that can't be quantitatively defined by specifications like the impact of the color of the device or user interface design. Non-quantitative factors like these can either make or break a product and unfortunately they cannot be represented neatly as simple numbers or decision matrices that management of large companies seem to like so much.

Just today, actually, I was out shopping for a new keyboard and while I was considering how nice a keyboard felt to my hands as I was hitting the keys, the girl beside me was more interested in getting the "cutest" one instead. The same goes for a whole variety of other products, especially brand name products that have been so fascinating as brand name items may have the same functionality of another product but they command such high prices. This in itself is a very fascinating topic and I have started looking into it which could make for an interesting post, but suffice to say, understanding non-technical problems are important.

So what does this have to do with me heading to leaving? I've spent 4 years dealing with technical problems and I've come to the realization that there are more things that I need to understand and consider.

Don't wait forever for a promotion


I don't know if this is common for western companies but for Japan, some companies divide up their employees into "Grades" where a upper and lower bound for pay is defined. Only during a promotion can you make a jump into a new pay grade. One problem that I faced during my time is hitting the upper bound of my pay grade really quickly and unfortunately I've been pulled in so many different research teams that I've really never had the same supervisor for more than a year. This also made it rather tricky for my supervisors of short terms to recommend me for a full promotion though I consistently got good reviews.

The other problem is that the review process for a promotion is done once a year... I was never aware of that and I had just missed the opportunity to ask for a promotion. I also made the mistake of expecting that getting a promotion would be a top down kind of thing, though that it partly true, it is just as important to ask bottom up so they keep you in mind. The other thing is that I doubt that managers have access to salary information, meaning that they also probably don't know at what timing to arrange for a promotion.

As of last year, resulting from a short-turned long stint in Kagoshima after writing some software that produced huge results. My colleague over there told me that it would have easily cost them $80k to write that software, not to mention the human costs I managed to save. My rough estimates come to about a $250k savings for the company as a result of the company. Unfortunately, my bonus for that term was only +$500 to what I would usually get. That was rather unfortunate, but at the same time I came to the realization that if you want to be paid for what you're worth then you're going to have to work for an organization where value creation is more easily recognized.

The problem with getting setting bonus amounts for large corporations is that human resources is also involved in the evaluation process. Unfortunately, they can be fairly poor at evaluating high impact results. Which was another important thing I learned, if you don't properly compensate your A-players or they will eventually get hired off or find new opportunities.

A New Job Comes my Way


As luck would have it, I have a headhunter friend in Tokyo whom I had a serendipitous meeting with years ago before he was a headhunter and through him, I was introduced into an IT related position that needed someone with a background in programming and could speak both Japanese and English. The person that this company would eventually choose as their final candidate would end up being me and I'll be doing backend application support for a foreign financial firm, something that I've been fascinated about for a long while. The other great thing is that I'll be closer to users and understanding their needs which is sort of the perfect break that I needed to get away from the R&D world.

I am not 100% sure exactly what I will learn though my experiences at my next job, but I have some ideas on what I'll be looking out for. How will it all play out to the long term development of my career? I am not sure yet but I am certain that there will be some interesting things to learn (while getting a decent raise at the same time :).

Monday, April 02, 2012

Change

I haven't had much time to write as I've been quite busy. So many ideas, lots of business trips and there will be some change coming up for me in the near future. I've also been trying hard to stay in touch with people as I've been really busy flying around and recharging my batteries on the weekends (not to mention, doing self study and exercise).

Of an interesting note, I've started using Evernote. It's great for keeping track of ideas as I have so much stuff popping into my head on certain days. It's a great utility to jot things down to look at later on (especially when bored and I need something to do). More on that later. Once things cool down I'll get back into writing some more...

Tuesday, March 20, 2012

Dreaming Bigger

I've been in the interesting position of giving talks to job talks to international students recently. I spoke at my old university in Sendai when the guys at HR asked me to help them out. They would tell me that it was one of the most energetic talks in terms of speaking and student responses he's ever seen.

To me, this was all normal. I used to be an international student and I know that people that leave their countries to live in other places are different. I used to be one and I know beyond a doubt that people like these aren't ordinary. Living in a different country, especially where language and culture can be so different isn't easy. But yet at the same time, differences like these aren't seen as challenges, they're more like experiences.

I don't watch TV, nor have I owned one in the last 6 years. I have long since forgotten the trivialities of the news, sitcoms, dramas and "reality TV." Once you flip it on, for the most part, you are none the wiser, none healthier, none more intelligent or more motivated, but only you are briefly entertained. The hidden costs are high and I would ask, how much do you value your time? What is it in life that you wish to accomplish? And how much closer to your goals today compared to yesterday?

I've started planning, making schedules and lists of things to do recently. I have unending lists of things to learn, interesting ideas to pursue, personal goals and exercise to do. I also work and the only time I have is on the weekends to tackle personal interests. Time is limited which also bounds what I may accomplish. Perhaps in a year, I may only be able to accomplish 2~3 medium goals and where as bigger targets may take a number of years. Once realizing that and estimating the number of "able-bodied" years one has remaining, the number of big targets you can expect to hit are countable. This also assumes that nothing bad happens and you actually try. Time is finite and life is short.

What then, are noble goals? For when you become old and look back and be without doubt be satisfied with what you've done? I have yet to figure this out and have turned to a study of motivation.

There exists a wonderful video compilation of Neil deGrasse Tyson entitled We Stopped Dreaming. I would recommend those who have time to watch it because it talks of the motivations of the space program, its impacts and a sense of beauty. Pursuing daunting technological feats is no easy task, yet the outcomes of noble projects is both emotionally moving and socially meaningful. Seeing this video was mentally refreshing so I started to search for more and came across a series called the Carl Sagan Series which is also worth watching.

These videos bring a sense of inspiration, yet it is the fleeting concept of inspiration that I wish to better define because I wish to make it concrete, meaningful and actionable. If I were to define inspiration, it would be about finding non-trivial goals and meaning, which I think is a better definition than one would find in a dictionary. And the more I think about it, the more this definition fits the idea of inspiration and dreaming bigger.

This answer still begs the question "what are non-trivial goal?" to which I have no answer yet, but at least I have a better idea of what to look for.

Monday, March 19, 2012

Keyboards and accesible technology

Of all the pieces of high technology I interact with, I interact with the keyboard the most. If I didn't have to, I wouldn't be using a mouse-- my hands have memorized most of all the shortcuts I'll ever need to know for Windows, Ubuntu and the Mac... not to mention shortcuts for all sorts of applications; the mouse, actually slows me down.

Then I've realized, out of all the hardware I've used, the one piece that hasn't improved at the breakneck speed of technology is the lowly keyboard. Computers crunch numbers faster than ever and after we've hit the mhz barrier, we've promptly started adding more cores to our CPUs, I have no idea what is next after that. Monitors have gotten bigger and so have hard drives. Despite all the money being thrown to making our hardware go faster, our systems are still input limited. Humans, interacting with their machines is the the biggest bottleneck.

I've always found it funny, coming from a semiconductor background, seeing the billions of dollars and the extreme high tech being used in the field to make ever finer patterns and faster circuits. It is no easy feat, I know for sure, but yet we march on to create cities of circuits on the equivalent of a pin head.

Technological breakthrough is really about solving important problems. There are infinitely many hard problems in the world, but what are the most important? I suggest, if you have time to read the writings of R. W. Hamming, especially that of his essay, you and your research. There are few writers in the world that I enjoy reading, Hamming is one of them. I would recommend reading Hamming's book The Art of Doing Science and Engineering: Learning How to Learn because he presents many important and interesting ideas, especially one about finding important problems to work on and the second which I like is to act with a sense of direction, because the furthest you will ever go on a random walk is approximately equal to the square root of all steps you've ever taken. Such is the difference of excellence and mediocrity.

When it comes to important problems, I really do think it is a matter of making technology accessible to people. There are too few people that truly understand how to harness the power of technology. With a few thousand dollars and a couple of computers, I can easily crush my competition at crunching data. The same goes for putting simple robots together and automating repetitious tasks. People that know how to command technology, have a force multiplier advantage. Literally, they can have the power of an army of brains at their command. Unfortunately, for those that are unequipped with these skills, they are defenseless.

It has been thought that technology would be a great equalizer, unfortunately this isn't the case. The more correct saying is that technology is a great enabler for those that understand how to wield it, yet too few understand how to do so. As I push further to look for better input mechanisms to write programs better, I come to realize that I am fighting the input bottleneck barrier harder and harder. Am I look for great frameworks? Am I looking for a great text editor? What more is there that would allow me to interface more naturally to the guts of a program I wonder? I imagined using voice command to like Apple's Siri to write programs and then it struck me, they're on to something with human computer interaction, but they're not quite there yet, but I can see the direction where things could be going.

Technology needs to be more accessible; companies that understand this and know how to empower their users will eventually become as profitable as Apple.

Tuesday, March 13, 2012

Downloading tons of cooking videos to watch offline

I get complicated work done by writing software and thanks to that work I've managed to generate $200k of savings using "spare time" to write an application to automate analysis work at one of the research facilities. Considering the value I provide them, it's cheap for them to spend $3000/month to fly me out of Tokyo 3-4 times a month to get things done during the week and I fly back to life in the big city on the weekends in Tokyo. That's how I roll.

The other great thing is that I have managed to get myself a lot of free time from the software I've written. All of this time gets plowed back into reading and studying more about code to help me speed up the software development process further. There are even times where it is possible for me to get away with out having to do any "real" work since I've got a lot of things automated and it's just a matter of waiting for the data to become available after long data crunching runs. It basically means that I've got lots of time to pour back into study and become even better at coding.

The fun thing about having a server at home: downloading cooking videos

Over the last year, I put a lot of thought debating between getting a computer in the cloud or something at home. I opted to shell out about $600 for a decent home server and I don't regret it. I don't need the reliability of a cloud computing setup and I've got plenty of computing power instead. To get something comparable on Amazon's AWS, I'd have to pay $2800 for a similar dedicated system. Since I have no need for a cluster just yet, I'm more than content to have a home server. The skills I pick up now could possibly be transferred over to a cloud computing platform later on. But the basics of say, knowing how to control computers remotely through a terminal remains the same.

One thing I've been having issues with recently is that I have a terrible internet connection at the hotel I stay at. I even have to set youtube to play videos at the lowest quality to just barely not get the videos to skip. So after getting quite fed up about the terrible speeds, I've opted to spend the evenings hacking on code through a terminal and telling my server at home to download packages to add functionality to the server.

I started on an automated youtube video downloading program just yesterday. Me, being a fan of such cooking shows as Anthony Bourdain's "No Reservations" and a variety of Jamie Oliver's shows, I've found a few users with a huge repository of uploaded videos. All I needed was something to query youtube to get back a list of videos and a module to download the video files. I started hacking the 2 together last night and finished it this afternoon. I have 800 files queued up for download and the process will keep running even after logging off. I can only imagine what other content I would be interested in getting access to offline.

What other interesting projects I could do with a server at home? I am not sure yet but another idea would be to scrape for good books to read. I'm starting to enjoy reading books far more than reading on the internet.

Monday, March 12, 2012

A multi-billion dollar product?

Imagine the following: "a stupid + asshole filter".

Yup, that's it. Need I say more?

Part of the work is done here already with the stupid filter. Now we just need an asshole filter.

And finally, just for fun, throw in this video somewhere:


There is probably a nobel-prize sitting in here somewhere too I bet.

Saturday, March 03, 2012

Diversification out of the Yen

Been still flying between Kagoshima and Tokyo. A few nice things about the business trips is that I rack up miles and the second is that I get a small stipend for travel expenses. The amount has added up to a nice little allowance over the salary.

In other news, since approximately November, I've been diversifying myself out of the yen since the yen has skyrocketed after financial crisis and the earthquake last year. The elder Japanese were great savers and have a lot of forex based assets and which may have returned among other things. Personally, I had a feeling that with the YEN-USD trading at about 75 at one point, I thought it would be prudent to start converting yen into other currencies, mainly AUD and CAD. I sold yen about 78 to the AUD and about 79 to CAD. The AUD has rocketed upwards recently which has been a nice upside.

Economically wise, I am not sure at all where the market will be in the next 2~3 months. The Greek debt payment is coming up on a few weeks and the economic conditions in Europe doesn't look really good. There is also a lot of money printing going on driving up the price of the stock market

Semiconductor consumption in China is growing like crazy right now and I think that domestic consumption will increase as affluence increases. Labor in China is still fairly cheap but they are growing fast in terms of technology. Both China and Korea are putting a lot of pressure on Japan since the expensive yen is hampering exports from here.

Japan will have to diversify out their manufacturing, but I think their biggest weakness is that they're not very good at dealing with international business. LG and Samsung are growing like crazy right now and their investment into R&D is huge (easily in the billion dollar range). I think that both China and Korea are going to have some pretty huge growth potential in the future.

As for the US, I think the only thing they really have going for them right now is Silicon Valley as their manufacturing is pretty weak compared to the capacity in Asia. Once Asia has figured out to climb the value chain and get into software, the US is pretty much doomed.

Wednesday, February 15, 2012

Learning how to programmatically generate webpages

Over the course of my life, I've worked with a variety of scripting languages to automate tedious processes. I generally detest tedious work because it is both a waste of time and not intellectually stimulating so I've written engines on top of AutoCAD and 3D modeling tools to automate the generation of complex objects using simple commands which are easy to represent in code and gets translated nicely into commands for interpretation... and so I am back at it again with trying to programmatically generate html sites and content.

The difference between generating scripts and html

Generating dynamic html pages is a very old problem on the internet, one that was first tacked by CGI scrips by the likes of PHP. I never got into the world of PHP scripts because I've always felt that the languages were so limited and ugly looking that I abhorred looking html code. Even the html code for many modern websites can look pretty nasty. The number of attributes per tag and more and the incredible amount of parameters that ones needs to jiggle about is a pain in the rear. Many of those problems have been solved with the advent of Cascading Style Sheets (CSS) which are used to maintain style and formatting through out a website.

I've started looking at templating engines online to learn the frameworks people use to generate html pages and have been pouring through lots and lots of documentation. Most documentation will describe basic syntax and provide a few examples to get you on your way. The biggest thing I generally think about is if doing something a certain way is the most efficient way of doing it.
Since Python has become my mainstay language, I've been looking into templating libraries for Python (for which there are many) and have seen that many of these languages like to embed Python code into content, which is a similar track to what PHP does by embedding PHP code using commented out html and writing code into content. The biggest difference between writing script generating code is different because one generally does needs not worry about "content" and simply needs to worry about generating sequential commands with different parameters. The highly structured nature of writing scripts makes code to generate scripts very easy, where as html content follows no such rule.

To give an example, perhaps I might define commands to generate a 3D object using the following commands:

def boat(width, length, height, location):
hull(width, length, height)
anchor()
motor()
mast()
shift(location)

and then I would simply call the boat function a few times to create a fleet of boats at different locations with varying sizes.

Using code in this manner is great to generate results with small permutations with respect to a general form. The same thing, unfortunately, does not transfer well to text content because text content is not easily generalized to a simple form with small permutations. Most text content is unique and writing a function to generate each and every paragraph is rather meaningless since the main purpose of writing functions is to shrink repetitious tasks into short commands to make life easier.

Since using code to generate text is unfeasible, the best place to use code in a website is to aim for the most structured portions of a website, which are the database components and formatting of content where the application of code is most likely to shine. There still is the ugly part of dealing with html. Should html be 1) completely generated by external functions or 2) should code be embedded into html to generate content? I still haven't figured which is the best way of tackling this problem just yet, but I think embedding python code into websites is ugly and I would much rather have structured data generated outside of an html template and injected later on.

It just means that I have some experimenting to do before adopting a templating framework.

When cash stops being your limiting factor

I once said at work that we should automate our boring experiments and one of my superiors said we didn't have the budget to do that. Hah! Little did they know what I could do on a shoe-string budget, spare computers and parts.

I still have the blood of a scrappy university student in me, but it bugs me that despite being surrounded by researchers and engineers, no one here really knows how to build their own stuff. And then it dawned upon me, the limiting factor to my success isn't funding, but time because eventually I'll just be able to find the resources I need to put whatever I need together. After that, many things about what makes a successful business, a booming economy or knowing how to become rich started to make sense.

Creating Value (and knowing where to find it)

It sounds obvious, but it's a subtle problem. Hell, I work for a megacorp and despite being surrounded with smart engineers, the company has been posting losses for years. If it were an easy problem to tackle, then every business out there would be profitable. But if you do investing, then you'd learn fairly quickly that many companies do lose money. Being able to create value and knowing how to find it is hard enough, then there is also the funding, timing and competition challenges too.

Creating a successful business requires many successful factors; should any one component be deficient, the business will either be impossible to start or will eventually fail. A successful business requires the logical "and" of all important factors, meaning that running a successful business is an exponentially hard problem.

When exponentially hard problems work in your favor

Suppose every business requires a set of factors to pass. A business will need a market, a product, a talented team, the financial resources, a supply chain and more to pull things off. I've already listed 5 different factors that all must pass before succeeding. But dealing with a hard business problem is a good thing because competitors have to have to deal with similar issues, meaning that it is just as likely for them to fail. The difference is that the more pieces of the business puzzle that you're able to understand and solve, it's one less step to getting a successful business online and creating value for your customers and yourself.

My limiting factor isn't funding

I've got a scrappy side as a result of being a born optimizer and generally frugal. I never had an allowance until after my younger brother started getting one before I did. I used to save up money through money packets at Chinese new years and visits with relatives. With a very uneven lump sum cash flows as a kid, I've been able to stretch those funds far enough that I'd be able to save money from year to year. Despite being adverse to spending money, I still was able to have a good time and learned a lot of about doing thing without the need for spending exuberant amounts of money.

That trait would carry me through university; looking for parts through dumpster diving and building parts through scrap metal at the machine shop turned out to be great skills. I've also seen small businesses put together by students that weren't capital intensive and produced significant returns. It just became apparent to me that huge amounts of capital isn't necessary to create successful businesses or to get things done. I would eventually do the same as well and I once had the Engineering Physics Student Society president come at me a little worried that "we were supposed to be a non-profit organization." I made good money for those guys :)

I remember a time after graduating where my main laptop broke down and the cost to repair one was about 70% of a new one and would take over a month to  get back. After being fed up with high repair prices and the risk of being without a computer for a long period of time, I would eventually buy a cheap EEE pc and put together a 1 GHz computer from salvaged parts from the university junk yard. I started learning how to code in Python because it was 1) free and 2) the computer didn't have enough memory to handle a full out install of Windows XP and Matlab running on top of it.

After starting work, I didn't need to ask for permission to buy expensive software like Matlab or Labview to do number crunching and managed to run under the radar, getting things done for nearly nothing. 4 years later, I managed to automate 2 of their machines and slashed a 7 day process down to 2 with my programming experience. The guys at work were floored and started ramping up prototype production thanks to the work I did. It became easy for me to talk my supervisors into buying me a new laptop and nice monitors to work on.

My limiting factor isn't funding; given time, I'll pretty much make it work. And then it hit me-- once you're not cash bound, you're just time bound.

The Time Constraint Problem

Time constraint problem is under appreciated because time as a resource is often taken for granted. Unfortunately time isn't plentiful and opportunities are moving targets-- what might have been a business chance today, may have been filled/saturated by the time you've made preparations to do something about it and then the process repeats. Time over time lost is a terrible situation to be in. Time constraints for smart people is poorly understood and I've found that I don't tackle this problem well because 1) Given time, I am smart enough to learn new things on my own and 2) finding people with the exact knowledge I need is sometimes hard.

The knowledge surface area to solving problems is broad and requires expertise in different areas which is hard for an individual to do alone. The process of discovering important things to know in each field of knowledge is also time expensive. In short, it's hard to be very successful as a lone wolf because you can do only so much within finite time. With smart people however, the price of learning and creating a function immediately drops and a team can get more done in less time making it easier to strike time sensitive opportunities. The challenge is to then bring together smart people, build quickly and leverage knowledge to create profitable business units.
This is exactly what I feel is happening in places like Silicon Valley, where serendipitous meetings of smart people and resources are bumping and reacting to create all sorts of interesting and profitable startups. There aren't a lot of places in the world that has the environment that makes silicon valley unique.

The first part of the question to first solve is to create a critical mass of smart, scrappy people together, where the exchange of skills and knowledge can occur to allow startups to be created. I think there needs to be tool for people to meet and exchange skills or share resources and form partnerships into great business ventures.

All I want right now is a bunch of scrappy but brilliant people to work with to churn out crazy projects lightening fast.

Tuesday, February 14, 2012

Saying goodbye to iPage

My webhosting service finally expired today, I paid about $50 for a year's subscription at www.ipage.com. It was fun to start off with, but in the end, the server that I would eventually try out putting on wordpress installations onto were way too slow for my liking. Considering that my renewal fees would jump to $100 after the first year, I decided against renewing my account.

In addition, I thought that iPage's renewal e-mail messages were sleazy, warning that my payments were "overdue" and warned that my account would be shut down; you guys have it wrong, I didn't like your slow servers and decided not to renew. As a saving grace, your customer support was decent. That's all that I could day.

I've since moved the one domain I had to a different registrar which I am happy with and have switched to using a headless computer that I bought for my serving needs. The computer is equipped with a i5 Core CPU from Intel and 8GB of ram. I had the whole thing put together for about $500. Compared to running a cloud server setup, having my own server is far more cheaper and easier to learn on.

I have since migrated some test installations of wordpress to the new server and playing around with mapping the domain name to my home computer, in addition to having scripts to automatically update my home address since I've got a dynamic IP. I've also finally figured out how to get the webserver to speak with back end code, meaning that I will be able to start putting together server side code to generate websites, which I am looking forward to doing.

There are some back end stacks that I'll be needing to learn, but with the advent of html5, there are a lot of cool things that I can do programatically do instead of doing things in a graphics editor, one of which is automatically generating beautiful buttons, tables and themes for websites. With the advent of webGL as well, making interesting web based interactive applications would be quite interesting as well.

One other thing, I've noticed how important learning good terminal based text editors since I've found myself interacting with code on the server while on the go. I've been picking up emacs recently and though learning new keybindings and how things work was a little annoying at first, I am starting to get a hang of it. Eventually, I'll have some applications out for the web in the coming months and if I have enough traffic to warrant it, I may consider moving to a cloud solution.

Wednesday, February 01, 2012

Some web hosts aren't all that good

A while back, I tried out iPage for some web hosting to see what it was like to run a site from a remote server. I was pretty dissatisfied with the result since the sight was really slow all the time. I didn't do much with it other than just use the site to keep online notes. Sort of a like a Dropbox on the go. Expiration for the service ends this month for me and with the cost to keep them as a host, I decided that it was better off ending my contract and moving on.

I have since started playing around with running my own little box as a host. It's rather cheap and fast on the local net. Still working with pointing domain names around and learning how to access the site from outside my LAN as I am playing around with nginx instead of the standard Apache.

Learning Linux administration stuff is kind of fun too.. couple that with some web programming it could possibly be an interesting adventure. Perhaps I could launch a service in the future? We shall see.