Wednesday, December 29, 2010

Search Engine Optimization and Social Networks

Search engine optimization (SEO) has been a trending buzz word on the sites I've been visiting recently. I generally believe that there is a big market for business intelligence related internet work as there are so many people online today searching for so many different things. The key point is to make sure that your website is the most prominent to drive potential customers to your site and convert them into paying customers. In simple terms:
customers = site visitors * conversion rate

and what people in the internet business industry want to do is increase the number of visitors and conversion rate to make a business profitable. The problem itself is very fascinating as it requires a lot of data mining and profiling to determine where your customers are, drive them to your site and convert them into paying customers.

Consider that Amazon it self had $22 billion dollars in revenue for the year ending in 2009, that the whole total of online sales for 2009 is much bigger then that. Meaning that the business for improving online sales is big money.

For those of you have been on the internet since 2000, some of you might have noticed invisible text hidden away at the bottom of a site or in the html of others. The idea of optimizing one's site to rank higher in the index of internet search engines is an old idea. Google had an interesting take of the practice by both rating the number of external links leading into the site in addition to the content of the site it self when determining the ranking of a site thus improving the quality of sites they returned from their searches. I believe with the rise of social networks and social based information exchange sites, that the nature of search will change in the coming years.

I started thinking of first seed of this idea in a former post in June entitled Friends as Filters, where friends based on their interests will filter and pass along useful information within a circle of friends. With the rise of ease of sharing information through social networks, we find that social networks are having a significant impact on how information is passed along. We now have a new class of "viral" videos or webpages that become massively popular by dissemination through social networks instead of being ranked at the top of a search engine.

I find that Facebook is an interesting avenue for sharing information with friends, whether it be through the sharing of things they do or the interesting links they post. I do admit that I need to organize my contact list and start filtering people for interesting content for to improve the quality of information passed to me. But the basic concept is there, which is similar to social linking sites such as Reddit, (the now waining) Digg and more. Unfortunately as the number of users grow at these social sites, degradation in the quality of posting does occur, resulting in meme posts that are popularly voted up as a result to an appeal to the greatest unified demographic; in these cases, it need not be the majority controlling the "main page," assuming the demographics of a site is sufficiently fragmented enough to allow a minority group to have the most control over the popularity of the links posted. It would be akin to allowing a minority governmental party wielding majority like power inside a parliamentary house.

With this problem at hand, online communities have started reorganizing to support sub-communities where relevant information to sub-groups are passed along or posted only in that sub-group. What we are starting to find now is that things are a little different compared to the times of say Usnet when posted information was publicly available compared to the wall-gardened sites such as Facebook. What many spammers used to do was mine Usnet posts for e-mail address and spam everyone with advertisements. With the advent of more modern social networking sites, stronger linking of information is now possible however that information is not publicly available unless you are an app developer or the administrator of these sites themselves. What people are finding is the information in these sites is valuable when mined and summarized correctly. I think this will lead to a change from SEO related work to Social Network Optimization work in the future.

I think this field is still in it's infancy and to get information worth mining you are either going to get access to data in established social networks or create a killer application to create a network of your own, but I think there is good money to be made jumping into the social networking site for business intelligence applications.

Edit: Some typos and had 22 trillion instead of billion. I have a terrible habit with skimming material too quickly it seems.

Friday, December 24, 2010

Mastercard and Visa shouldn't be controlling who you can do business with

There exists file sharing sites that share that contain copyrighted content, but the idea that financial transaction institutions such as Mastercard and Visa working with the MPAA and the RIAA to preemptively block financial transactions with organizations they don't like sets a chilling standard with regards to the freedom of to whom you are allowed to do business with. We are seeing the same thing happen with Mastercard and Visa blocking financial transactions to Wikileaks because of the inconvenient nature of the material they are publishing online. Supporters from around the world are willing and wanting to donate to Julian Assange and his cause through both financial and technical support.

There is nothing more democratic when it comes to people voting with their money, which is exactly something that the US claims to be a staunch supporter and defender of. Unfortunately this simply isn't a battle of ideals, free markets or rights. It's simply organizations trying to change the game to keep other people out of their political/economic turf.

Facebook and more intrusive ads

I generally use Facebook to keep track and stay in touch with friends. The biggest motivations to get into Facebook was to get reconnected with people that I had lost touch with and be able to keep up with them. I believe that the social graphs of people in today's society is simply much larger compared to what it was before as a result of the internet.

I've recently upgraded to their new profile and was aghast with the prominent display of ads on my profile page. To me, it's a terrible eye sore and I am not very happy about having a personal space being used as an advertisement space. That is a digital line that I would much not like to have crossed. I have since installed and enabled the adblock add into firefox and the ads have since disappeared. For now, using ad-block is a viable solution, but there ought to be better ways of maintaining a social graph, content and access instead of using a closed platform. One of those alternatives is Disapora, which is still under development. It will be interesting to see what happens from there.

On Digital Money Usage in Japan

Of of the interesting thing about about Japan is the use of digital money. I used to think that digital money was close to inconceivable because I much prefer the feel and sight of having cash in hand when making payments. The physical and visual queue of using money is that has greatly helped me in keeping my spending in check. After moving to Tokyo, I've become accustomed to the prevalence of using digital money.

The cafeteria at my office operates on a digital money system. We have several thousand employees at the research center so the lunch lines can get pretty long if you get to the cafeteria right at noon. When I was a university student, it would take a while to get your food and then take another long while as everyone fumbles with coins and bills to pay for the food. Credit cards are one solution to that problem, but I believe that digital cash cards are superior compared to credit cards.

One electronic cash card system being used here is called Edy, which is a wireless rechargeable cash card that are also integrated into some cell phones in Japan. These cash cards can be charged using recharge kiosks where you can place your card or cell phone on to and deposit money into the card. Another interesting feature for cell phones is that you can log into your bank account from the cell phone and have money wired into the chip in phone. One point of risk for the system however is hacking of the cards to digitally manipulate the amount of money stored. I am not entirely sure about the security features used in the card to prevent people from tampering with the device, however.

The Edy cards are currently accepted at nearly all convenience stores and some retail chains, so I would not say that market penetration of the cards for consumer usage is not that deep. However for mass transit usage (trains, buses and etc.) pretty everyone uses these cards as you do not need to look up train fairs and pay for it every time you go through the gates. Throughput of people in Japan through the train gates in Tokyo is quite amazing as a result of this.

The one nice thing about these digital money cards, is that they are not necessarily tied to the identity of the user, for example in the case of a credit card. The loss of a credit card usually incurs the headache of contacting the credit card company, deactivating the card and waiting for a new card to be made and sent to you. Without having this identity connection, a card loss is simply equivalent of physical loss of the money, meaning that you could just buy a new card (which is about $10 ish), reload it and start using it immediately.

One of those things I've been getting annoyed about recently is the size of my wallet with the number of cards I carry. Women, in particular, I notice have huge wallets to carry all the point and membership cards they use for shopping. As of recent, I've been thinking about how nice it would be to be able to carry a much less boated wallet with me.

The financial incentives for managing a digital money system is obviously there as money charged into these cards can be placed in a holdings account where the institution can make 1~2% interest in very low risk investments. When it comes to creating digital consumer ID cards, I am not entirely sure that there is sufficient incentive yet to make that jump yet, though I believe that work is trivial.

I would expect that ID information will eventually all become digital and embedded within an ubiquitous device like a cell phone. The interesting thing to ask is what are the risks of digitizing all ID and monetary data? Furthermore, I would wonder what kind of system would manage it? For it to be socially acceptable, I would be willing to venture a guess that the management system would have to be a decentralized one. Maybe we will see that transition in the next 5~10 years after the first "killer application" that drives this transition is created.

Sunday, December 19, 2010

Intangibles

I am oft known as a frugal person, in that I don't generally like spending money if I have to. Optimizing/reducing cost is one of those things that I've been good at doing; however there are things that do go missing from the equations, the intangibles.

Tell me that you need a hammer and I'll tell you where you can get a sufficiently cheap and good one. Tell me that you need an affordable computer and I'll set you up with the specs for a system and where to get the parts for the right price.

It has been mentioned to me recently (and repetitively) that apparently, I need to "improve my fashion." Like in this XKCD comic, "my normal approach is useless here." I was dragged out this weekend to shopping in search of new threads. Why is it that one piece of paper scribbled by Vincent Van Gogh is far more valuable than something scribbled upon by a random person? Art, unfortunately is one of those strange realms that numerical analysis is rather useless upon.

The one thing I know is that I spent a lot for shoes, pants, shirts and a jacket. The other interesting question is, what interesting intangible benefits of "looking sharply presentable" have? Apparently, I have feeling that the answer would simply be best described by as "a lot."

Friday, December 17, 2010

Friendship map of the world

I've always been a fan of finding interesting ways of mashing up data from the internet. One project I did was downloading performance ratings of CPUs and combining them with pricing data to calculate price/performance ratios before selecting a part.

Recently, an intern at facebook stripped out friendship data from their servers and made a map of connections between cities, by mapping what city they were from into geological coordinates and drawing lines between the points. After some artistic manipulations of the lines, his work resulted in this.


A very cool map indeed. Some interesting notable dark spots are South America, Russia, Mongolia and China, parts of Japan and along the Canadian and US border. If you're interested in the details of this map, a link to the original facebook article is available here.

Wednesday, December 15, 2010

What would you pay for a set of games?

The band Radiohead once did this and this is the second time that an indie game developer is doing this. It's the humble indie game bundle, where you get to choose how much you would pay for a set of 5 games and they are posting live information on the how much people are paying and by what platform. The trend seems to be the average "donation" is Linux > Mac > Windows. Where Linux users pay 2.5x more than what people pay on the Windows platform. Ironic that people that use a free OS would pay more for software.

Tuesday, December 14, 2010

An interesting article on if you should get a PHD

The link to the article is here. It's a good read and I haven't finished reading all of it yet (not that it's long).

Thursday, December 09, 2010

Web based programming is the next big thing

Programs used to work in isolation on a single PC somewhere before the internet became prolific. Computer science classes at university used to be all about programming in C or C++ or something like scheme. But now with the advent of the internet, most of the programming skills we learn at universities are obsolete.

The thing I remember the most about my time in programming classes was dealing with how to store data, how to process it and then how to display it to the user. I still think that these things are fundamental to the core of programming, but I think there is a big demand gap when it comes to finding skilled people that are able to get data to feed their programs, process large data sets and come out with meaningful results. This is the stuff that business intelligence is made out of.

Over the last few years, there has been a big transformation in the world of programming, databases and languages have now been developed with the paradigm that given certain data, there are specific functions calculations that you want to run on all the data and summarize them into a single result. This thinking framework is otherwise known as MapReduce. The great benefit of this methodology is that is is also functional programming friendly, meaning that you can define compound functions that you want to run on a specific data set instead of dealing with loops, counters and how you are going to save the data. The basic idea is that you make a list of data, process it and out comes a list of data. Then after that, you reduce that list into a single value or something.

Modern languages languages like Python, Erlang, Lisp and more are designed to handle programming like this (in additional to dealing with the usual procedural type programming and object oriented programming). Older languages like C or C++ can do the same thing, but you have to build the functions and the scaffolding to do this on your own or call libraries to do this kind of programming which make C based programs longer and more error prone to write.

One of the reasons why I was surprised in an earlier post to find some large corporations doing data processing still wanting C++ programmers. The other added benefit of using more recent languages is that they also have libraries to access web based data built in, making it easier to feed applications with more data to process. The of the most famous startup companies are the direct result of this effect. You won't learn most of this stuff from your ordinary university class, the only way to get into this stuff is probably on your own.

Wednesday, December 08, 2010

Learning how to work with open software projects

I've seen some interview questions and job postings that mentioned that working on open software projects is a nice to have skill over the last few years. I never understood how much of an impact that working on an open software project might have on a person's ability to code until just recently.

I have been following the programming scene in sort of a cursory manner, mainly through reading at hacker news, which is a good site for programming and web development kind of information. What has been coming up repeatedly is the development of a program project hosting site called github, where the collaborative projects are hosted. The ability to code well parallels with learning to write well; in that reading good code helps one write good code.

I have cursory looked at sites like source forge in the past to download code to look at, but one of my biggest problems is trying to figure out how large projects are structured and what code is where, doing what. I used to do most of my coding through a simple text editor before because configuring and trying to figure out these modern fanged integrated development environments (IDEs) would get on my nerves when I wanted to learn and compile something simple. I've used to code through a simple text editor for the last 2.5 years until realizing that the debugging facilities and managing large chunks of code became time consuming and brutal.

I have since switched over to the freely available Eclipse IDE with an integrated debugger and the ability to read locally created libraries and allows for auto code completion. It is a godsend compared to what I was doing before. Commercial packages like Microsoft's Visual Studio probably has functionality like these built in, but learning coding and figuring out IDEs on your own at the same time is a little much. The great thing about Eclipse and some of the new open source IDEs is that they are starting to add functionality to connect and download projects from code repositories from places like github. I have just finished configuring IDE to do just that and downloaded the libraries to a data-mining spider called scrapy. There are other libraries available that does the same thing but I have the intentions of learning how the program was coded, the programming styles used and possibly using the project itself for my own data-mining projects. After looking at some of the code, I can understand how some people would look highly upon people that participate with open source projects as they are exposed to working in an environment with many people, many lines of code and looking at a lot of good and bad code. I will be spending time at looking at more programming projects to further hone my own skills. The idea that companies look at people with open software experience brings up the interesting concept of profiling people and their skills through secondary activities and traits. It's an old idea however, but it would be interesting to see the correlation of coding skills to open source project participation or say a person's affinity to knitting and a (negative correlation) to say, sky diving. Unfortunately, statistics when applied like this is like opening a can of worms.

Monday, December 06, 2010

Can't make heads or tails of silver

Apparently there seems to be a campaign on the way to crash J.P. Morgan via the purchase of silver as they supposedly hold a short position of 3.3 billion ounces of silver and are currently under investigation of silver price manipulation. In the last few months, silver has been trending upwards for the last 3 months with a 47% gain. Gold hasn't seen that much of a price increase.

Silver ETF price for the last 3 month

When it comes to financial information on the internet, there is a lot of garbage out there, especially for a hot topic like gold and silver. The leading argument to buy silver comes from a guy by the name of Max Keiser, in general, I don't trust financial pundits and whatever they start talking about, I generally tend to ignore but make a note to look into on my own.

The burning question that needs to be answered is, "is silver relatively cheap or expensive right now?" I've added to snap shots for the last 10 years on gold and silver prices from kitko.com.

Price of Gold

Price of Silver

Metal prices have gone up significantly over the last 10 years, but I'll skip the commentary on that:

Gold in 2000: $300 (approx), Silver in 2000: $5 (approx) Ratio: 60:1
Gold in 2010: $1414, Silver in 2010: 29.58 (Dec 6 prices) Ratio: 47.8 :1

Historically, it seems that the price of silver has been much lower compared to gold in recent times and I find it hard to believe that this ratio should suddenly change. I've also been looking at the relative production rates and total produced numbers of silver and gold and get wildly different ratios compared to the prices (of course the numbers themselves might not be reliable too).

From gold-eagle.com: I calculate that by 323,476 Tons (by 1999) have been extracted. I guestimate that about 450,000 tons have been mined by 2010.
From wikipedia: They mention that 165,000 Tons have been mined by 2009.

Meaning that there is a 1 : 2.77 availability ratio of gold to silver. I've also looked at the production ratios and the numbers work out to be 1 : 4.8 for gold and silver. I think that stockpile availability might be the key factor and the difference between supply and demand might be causing the price differentials between gold and silver, but I still can't figure out the reason why gold is that much more expensive than silver, presently and historically, unless the numbers I've been looking at are bad (which is a possibility). Personally, for the bigger price differential between gold and silver to be supported, there ought to be a greater differential in availability between the 2 metals.

The other forward looking argument to be made is, suppose that people are buying silver to crash J.P. Morgan and that it does happen. And then what? I would say that eventually everyone would have to sell their stocks of silver to get their money back out of it thus dropping down the price of silver. The question is, when do you start selling? If you can't figure that out then you shouldn't be buying in the first place.

It'll be interesting to see what happens, but I have a feeling that there is a bubble in silver happening right now.

Addendum:

I'll add supply data from kitco.com here since I think the data from here seems a little more reliable and up to date.

Gold supply (2009): 117 Million Ounces, Silver Supply: 810 million Ounces Ratio: 6.9
The ratio is still fairly small compared to price ratio between gold and silver. What is the pricing mechanism for gold and silver? I still don't know.

Saturday, December 04, 2010

Reducing distractions and the 10,000 hour rule

I am in the middle of a transition period in life; I've got another 6 months till I turn 30 and the big question of "where do I go from here" that I need to figure out. One of my colleagues turned 40 a few months ago and the only thing he was muttering the whole time was "I just can't believe I'm an old man." The interesting thing about my life is that I get along well with people that are older than I am; it's always been that way when I was young and the best part of having friends that are older than you is that you get a glimpse of the future so I can prepare for it now.

As of recent, I've been thinking much about my future; or at least, a strategy for one. Getting prepared for the future isn't like getting prepared for a trip or a disaster, where you just spend a few days going out and buying what you need. Preparing with skills, knowledge and experience is a different game, where you pay for it in the currency of time.

The sub-prime crisis and the following recession/depression fiasco has wreaked indiscriminate financial catastrophe to all walks of life; the young, the middle aged and the old. What was interesting was how each group was affected by the economic downturn. For example, the young cannot find jobs, the middle aged are have debts to deal with, and the old had their savings hit. What this economic downturn has taught me is that you need to keep a good backup plan to protect yourself from being stuck between a rock and a hard place, especially if you've become old (or transitioning to being old) and had your savings wiped out (naturally, you would have been investing in "secure" investments).

So where does this all fit in with me? At this point in life, I've come to realize that with growing age, the number of options I will have available will start to shrink in then next decade-- the number of new fields I will be able to jump into and get really good at will dramatically shrink. So it is now that I should start looking into explicit skills that I can enjoy and be really good at to make a good living. It has been oft quoted from by Malcom Gladwell's book "Outliers," that the number of hours it takes for a person to become an expert at something is 10,000 hours.

Doing the math, to become a master it will take:
  • 27.4 years at 1 hour/day of practice
  • 13.7 years at 2 hours/day of practice
  • or 6.8 years at 4 hours/day of practice
This calculation also puts a lower bound on how long it takes to be really good at something and also the number of skilled expertise that a person can have over the course of a life time. The other thing is the earlier you have more skills, the more they will pay off in the long run. Meaning, if you start training hard by the time you are 50 years old, you might finally become an expert by the time you are 60, however that doesn't leave a lot of time to put those skills to use.

The other interesting thing about skill sets is that they also come outdated as time goes on. Someone that might have been a really good switchboard operator/manager in the early 50's would find their skills useless in today's modern world. Or perhaps a little differently, some computer gamers might find their skills in Starcraft 1 be outdated by the release of Starcraft 2. You might have some transferable skills, but you won't be an expert off the bat. This brings up the interesting point that transferable skill erosion occurs with every new generation of technology, the further along we go in generation, the number of skills we can transfer will negatively compound. Though it might be a little early for me to start thinking about this, it is something that I should keep on mind.

So here is the thing, suppose that I do practice something at 4 hours/day, it will still probably take me 7 years to be really good at it. What it also means is that if you want to be good at something in a reasonably good time, you really don't have a lot of time to waste.

After coming to this realization. I have decided that I am going to institute a system to reduce the number of unproductive distractions so I can spend more time learning. Mainly less checking of news sites, less youtube, less computer games and etc. This doesn't mean that I will be aiming to live a boring life, far from it actually. What it means is that I should more effectively use my time by doing things that brings me memorable value; which could include picking up skills or spending time traveling to somewhere exotic, learning more about wine or whatnot.

I think there was an Indian saying that went like this:
When you are young, you make your habits.
When you are old, your habits make you.
Time to make some productive habits while I still can.

Wednesday, December 01, 2010

People still use C++!?

I find it amusing that people still use C++. I am a big python programmer, which was a transition for me from C++. The python programming language is just far more extensible, easy to program and dynamic variable typing is so easy to deal with that I just can't fathom that many people still program in C++. Many of the best startups on the internet don't touch C++ at all. Do I brush up on old skills or keep moving with the new stuff, a bit of a dilemma.

The problem with disclosing income

I've been doing some reading recently about the issue about disclosing one's income during an interview. The problem is that it give the employer an incentive to underpay you knowing your payment threshold. I've been on both sides of fence recently, knowing what pay looks like in the finance world thanks to a few contacts I was able to target for price at par with other people in the industry. Unfortunately things didn't work out as they had someone without a job that was willing to take the job, but that was OK. I would much rather not take a job if I knew I was going to be underpaid -- because one of the reasons for moving to a new position is to leverage your skills for a higher salary.

Since that deal had just recently fell through, I've just been introduced to some recruitment agencies and in the process of sending out applications for new jobs. I decided this time, that I would see what happens if I put something close to my real salary. I was soon contacted by a representative that would pass my resume to a few other positions. The guy quickly asked about my salary inspirations and I gave him my ball park number, he immediately balked at the idea of me looking for a 40%~50% salary increase, citing that I had a much lower salary listed. The moral of the story here is to not disclose your salary or put down a higher number.

I had qualms at first about inflating my salary before, but after seeing this reaction, it is an unfortunate necessity of the negotiation process.

Tuesday, November 30, 2010

Time to pick up some database skills

I've been dabbling on and off about some data mining work for sometime now. The one thing I am kind of surprised about myself is that I haven't picked up any decent database skills. Some IT related work came by my way, the guys are looking for someone with C++ skills and and database related stuff.

I haven't touched a low level language like that in ages, the last time I did something with C++ was try to write my own poker bot. I actually had a clever system setup as I made a hack into the RAM to find out where the card data was stored and figured how the card data was stored.

I haven't done any sort of enterprise kind of programming before; most of the work I do with programming is scripting and numerical analysis kind of work; I run pretty much everything through the command line to get at data. But IT work for banks and getting into analysis kind of work seems kind of interesting. The problem is that the firms are Japanese and I sort of have doubts on the amount of money they would be paying. I've worked in one Japanese corporation already and I believe that I should be fetching a higher salary, oddly not being paid enough seems to be strong negative incentive to me-- there were times I worked harder as a student than I work in the company.

There are a lot of skills I need/want to pick up right now. I just have to hunker down and pursue a few things with great intensity. I intend to make programming one of my fortes.

Monday, November 29, 2010

JLPT Level 1

The JLPT is the Japanese Language Proficiency Test, basically a bench mark for the language ability of foreign people to comprehend the Japanese language. I don't have any qualifications as I have just picked up everything I needed along the way, but I have since come to the realization that it may come in handy for future employment opportunities. I am debating on picking up a few other qualifications on my own depending on the availability of my time.

I have decided to prepare myself for a move for a new career to better leverage my skills and improve income compared to the work I am doing now; even if it involves me picking up some new skills. The job market in Japan is interesting for people with international skills and I intend on breaking into that market career wise. There are probably other interesting opportunities in other Asian countries like Singapore, Taiwan and Hong Kong for international talent. One of those requirements to break into this field is a necessity for good multi-lingual skills in addition to either business or technical skills.

The need for international recognition as a baseline for certain skills may play an important role here. I will be looking into at least getting my JLPT level 1 certificate within the next year. I've lived here for 5 years now and I should at least get that certification.

Saturday, November 20, 2010

Career planning is tricky

I am now in the process of looking for a new job. People might call me crazy to consider looking for new work with the economic down turn and all, but some how I am confident that I can find something better, that also pays more than what I am getting right now.

The job that I do isn't all that bad, and the working environment compared to other Japanese companies is pretty good, but I believe that I can do better and that I can pick up the skills needed to advance faster.

I finished reading a nook earlier this month called "kitchen confidential" written by Anthony Bourdain, a first hand biographical look into the nitty gritty of the culinary world. One interesting note that he made was that he could have been a better chef if he hadn't spent so much time chasing money, where as another talented chef went from Italian to pastries and through other fields of cooking, starting from close to nothing to learn everything he could. The fusion of knowledge would eventually make him a renowned cook.

Right know, I can admit that I am chasing the money, wanting to pick up the skills to advance into better paid positions. Raising one's income isn't a necessarily a bad thing, but what is it that one unwittingly gives up in this conquest?

Modeled numbers are easy to predict, this is the realm of accountants and mathematicians, but there is also a hidden lie beneath it all, we assume that the model doesn't change.

Accountants cannot account for the power of a technological or cultural vision becoming a reality. Like poker, predicting or creating the future isn't just about a numbers game, though knowing how to crunch the number does help. Are there intangible things that I am neglecting?

And so, I will probably come to a crossroad, there will be jobs that I can pick up skills for that may take me away from my world of research and development that I believe that I want to remain in or do I go into the world of finance or other uncharted territory that may pay better.

There will be more job offers coming my way in the coming months and more skills I will need to pick up to position my self for better opportunities. The question is, to which direction do I walk and why? Assuming that this is the right question to ask in the right place, sometimes it is just nice to just walk in the first place.

If there is a time to do it, it is now; I hear from other people it does get a little harder to find new work the older you get. BlogBooster-The most productive way for mobile blogging. BlogBooster is a multi-service blog editor for iPhone, Android, WebOs and your desktop

Tuesday, November 16, 2010

The Search for a New Apartment Begins

As mentioned in the previous post, I've been living in the company
dorm for the past 3 years and it's time for me to go. In Japan the
moving season is in March-April because the university year starts and
new hires start work at this period of time.

I've been looking on and off for places to for the past month through
the internet and after living in the dorms for a while, I am ready for
a nicer place to live. Somewhere with at least 2 rooms and a kitchen,
and relatively closer to the city in a nice building. It is going to
be much more expensive to the dorms that I've been living in, but I
will be able to invite friends over and host events, which should cut
down on my entertainment costs significantly.

The added benefit is that I'll be able to dedicate a room to a
study/work out area, meaning that I'll be able to do more activities
at home. I would like to see if the partition between having a study
versus having a bedroom + study will have an impact on my working
habits. Either way, having a new environment will be mentally
stimulating and I am quite certain that the change in environment will
have a positive impact.

At the same time, having increased associated living costs will force
me to keep myself to sharpen my skills, advance and look for new
opportunities. I believe that it's easy to stagnate if one gets too
comfortable-- because if things are pretty secure already, why try
harder? This is a habit that I am going to work on breaking, but I
believe that it requires some external "stress" to be applied to
myself.

Fortunately, I've still been tracking my personal expenses so I have a
general idea of what I can afford. In Japan, compared to North
America, there is a wider selection of places and prices of places to
live in. Where as in Vancouver, the cheapest place that you will be
lucky to find will be in the $800 range, going upwards. Living about 1
hour out of the city by train, you can probably get away with
something in the $500-$600 range if you wanted to save money. I'll be
aiming for something nicer and closer to the city. It'll be more
expensive, but I will be aiming to shoot for a career upgrade within
1.5 years for a respectable increase in salary. I have a general idea
of what other companies might be looking for in an international
candidate now so I will be pushing to get certified in the level 1
Japanese Language Proficiency Test and one other certification.

To accomplish these goals, I will be looking to reduce the number of
hours to focus on personal development. The idea is to invest in
myself and reap compounding rewards the more skilled I get. I think
this is a far better solution compared to working longer hours-- as I
loathe to think of myself as a monkey. Other commitments I'll need to
make is to cut down on the number of hours that I spend unproductively
and I am in the process of setting up a timer system where I focus on
a task for a specific amount of time before giving myself a break to
do whatever. I'll also be looking to find a way to tabulate what I
learned or accomplished during these times to determine if I was
working effectively.

Sunday, November 14, 2010

Time to move out of the company dorm

Living in a dorm of international students was great, living in a dorm with co-workers is pretty damn boring. I exist in a different world, even when in Japan with international expats, Japanese people that have lived abroad and came back, I even really like the country folk here as well. The thing is that I just can't connect with the ordinary traditional salary-people here. The just don't jive with me, not that I don't like them; I am just bored around them. I generally do my best to fit in and I am usually pretty good at fitting in, but there are times when you simply just need to put your foot down and get out.

Yeah the rent for the company dorm is really cheap, they charge about $250/month in fees with utilities included. Dirt cheap and thanks to that price, I've saved up a good chunk of money that would have otherwise gone to the landlord. But at the same time, you also pay a price, that you can't invite outside friends and the other thing is that I live away from Tokyo, from where all the cool stuff is happening. I've just started to meet many interesting people and decided that I need to get closer to Tokyo and make more free time to do interesting work and meet interesting people-- the surrounding environment plays a very important influencing factor. You can tell that things are different when you listen to people with interesting ideas and trying to startup a new business, whether it is in silicon valley or in Singapore; you think depending on your environment.

So I've decided that I need to get out and get myself into a more happening place. I'll probably have to deal with a commute to get to work, but it is one of those things I'll probably have to live with. In ideal circumstances, I'll find a new venue of work where it is close to where I live, somewhere happening. I've been living too "defensively" for the last few years by making decisions based on how much it I can "financially save." I want to from "saving" to "making".

Sunday, November 07, 2010

A weekend of relaxation

After a wild Halloween and more weekend events (one of which included me dancing in a museum and the curators getting mad at me), I've decided to spend this weekend at home for a change. Most of my friends would have a hard time imagining me spending time at home instead of going out, but yes there are times when it is really nice to just not go out; in this case I had a lot of errands that needed catching up on and I figured that it would be now or never to get them done.

Stuff like cleaning the room a little, changing the battery on my scooter, hitting the hardware store to look for a can of rust remover and finding spray can of grease (interestingly) for my bicycle and such, I remind my self that there are probably a lot of small little maintenance things that I ought to be doing but just haven't really been finding the time to do recently. So sometimes, it is necessary to put time aside to get things done and time to just chill out as well too.

The last week has been marked by a string of food indulgence, as not many people might know, I live without a kitchen so I've created my own little kitchen with a table and a hot plate that lets me fry meats and make all sorts of other dishes. Having good food waiting for me at home is a great incentive to come home early; I often have a hard time staying late at work when given the choice of eating at the company cafeteria (which isn't bad, by the way) versus something home cooked.

It's been a while since I've done any real picture posting-- I still remember that I have more photos of Hakodate that I should have posted and other things that I should have done but haven't gotten around to doing yet. Slacking isn't a really good habit, but there are only so many productive hours in a day that a person has (or so I believe).

So first off, since February of this year, I bought a new cross bike and have been riding it from time to time to the beach on the weekends. Round trip of 30 km makes for great riding. The entire distance can be covered in about 1.5 hours but I like to take a breather at the beach, where I like to buy a can of orange juice and watch the beach goers play volleyball and surf over there. With autumn dawning upon us, the sun sets much earlier and the sky much clearer compared to the hazy humid sky that one would typically see.

The setting sun

The beach center

The other nice thing about autumn in Japan is that it is still relatively warm-- I can still venture out in a t-shirt on a sunny day, which makes doing exercising in warm but cool weather perfect.

I've also been doing a lot of youtube watching recently. My favorite videos to watch on youtube are of the cooking variety. I've already posted recently about one of my favorite youtube chef at foodwishes but in addition I also really enjoy watching Anthony Bourdain's series called No Reservations; a show that I highly recommend for anyone that enjoys both travel and good food. One of his shows aired way back was a "Techniques Special" from which I used as a base to replicate a beef stew.

The recipe is rather simple:

Take a hunk of shoulder cut beef, chop it up, season with salt and pepper.

Fry until brown


Add onions and cook until semi-translucent

Add some red wine.

Simmer for about 1.5 hours

Add carrots and cook until tender

Serve with a side of rice, bread or whatever you have lying around.

I did all this while cleaning the room and gave up on cleaning after the stew was ready. An incredibly easy but tasty dish. Would probably be nice to add some potatoes as well. I've got enough food in the fridge to last several days. Eating leftovers for 1 might get a little repetitious sometimes, but with enough variety it beats eating expensive take out any day.

Thursday, October 28, 2010

Stay on your toes

I'll be writing some more later on but for now, there will be a short lull in writing. Work is busy at the moment and a lot of things are going on. Will be back later!

Saturday, October 23, 2010

forget the limiting, focus on the enabling

I've posted plenty about my gripes on working in a corporation and doing research in an institution. I've decided that it's time to stop worrying about all the annoying things that bug me about these establishments and free myself of the "me versus them mindset" and become more fluid in dealing with roadblocks.

Perhaps I was naive when I was younger, when I saw a system or an organization that I thought was ineffective, that it would be easy to encourage change. After trying with little real results, I have come to the realization that change is hard and not worth the time. It's more effective to create a pocket in an organization where you can work effectively and if things are not optimal, then it's time to go. When finally getting into the real world, the scale that you deal with things changes, dramatically.

Before, life would revolve around the academic environment, going to elementary school or high school with 1,200 students and only interacting with mostly people in the same grade (say several hundred people) means that you have a really small point of reference. Going to a university of 40,000 people is a little different. When you finally get out of university and into the real world of millions of people the scale of what you deal with changes. When you're dealing with just a few hundred people and you're stuck with them for many years, that was the environment that you're stuck in and it's rather hard to change. You had to live with the things that you liked and didn't like. After getting out of school, the world is a big place and you don't have to put the effort into changing an environment to make it more palatable. If it's something that you don't like then you can easily move on.

And that's the thing when it comes to attracting smart people, keeping them and creating the right environment to getting good work done. I don't have time to fight the system, to convince people that doing things a different way is better and then doing it. Life is too short for that and I just want to find the right people and environment to be successful, because at the end of it, it takes way less effort to fight within a system and do something than to disengage and do it yourself. The strategy is to find the right way to be successful on your own. If the only taught that at school...

Performance review

I just had my performance review yesterday. In 6 months, I did a decent amount of work and at the same time, I also reduced the number of over time hours I've been putting in at work. I was pulling about 55 hours of overtime/month last year and this year, I've brought it down to about 30 hours/month. Having an extra 24 hours/month to yourself does make a difference in quality of life. Don't underestimate the value of time. I'm going off on a tangent however...

After my performance review, I asked my boss what does it take to get a promotion. How things work in a corporation is that you get raises based on the number of years you've been around, on top of that, after a certain number of years you can be recommended for a grade promotion. His response was that I need to take more of a leadership role and that I could be considered to get a promotion after my 4th year. Hearing something like that was shocking and disappointing. Why does it have to take at least 4 years to get considered for a promotion? I believe that promotions should be performance based, depending on the capacity of the person to handle responsibility and their ability to do good work. To be stuck in a position for 4 years and then take say another 5~6 years for another promotion is pretty much career advancement at a snail's pace.

I don't want to be half-way dead by the time I get into middle-upper management.

There has to be a better way at being successful instead of lining up in the seniority queue for a promotion. That way of thinking has to die and if you want to have a successful company, "promotions" shouldn't be limited to the number of upper level vacancies that need to be filled with someone. Instead, I argue that everyone should have a salary that scales with the level of their performance. I would rather have an environment where everyone can be rewarded for excellent performance instead of people waiting for someone to leave to get upgraded.

Real talent can't be kept waiting, because they will find other places to move upwards into and the company will be at a net loss in talent.

When it comes to making a successful company, having the right people is everything. More important than the amount of money that's bankrolled into the company. Smart, resourceful people will usually find a way to succeed. When your most talented members are gone, companies that were once great will be doomed.

Sunday, October 17, 2010

Having a backup computer is important

I've had previous experiences with computer hardware failure, namely having a laptop computer dying on me, leaving me without a PC to do any sort work or connection to the internet. Having a single point of failure for tools or equipment I use on a very regular basis can be a severe vulnerability and it is necessary to have a backup.

I learned this lesson through experience, after my first jaunt where my primary computing device was a laptop. It was great for about the first 1.5 years, then it died on me after expiry of my warranty, the extended care package also did not cover additional repairs at 100% and every time that something would fail, it would always be diagnosed as a motherboard "failure" which would cost just enough so I would seriously consider getting a new laptop instead.

After having enough of that experience, I decided that laptops had a too high cost of failure in terms of time (as repairs had a 1 month turn around time) and financial cost (ie. $700~$1000 for a motherboard replacement) to repair. Being experienced with the assembly of desktop computers, I know that I can generally replace damaged computer parts for far, far cheaper. I decided to switch back to having a desktop as my primary working system 3 years ago and put together my own system. The machine was working great until today when the computer started acting up when the power started cutting itself out during use. I am highly suspicious that the power supply needs to be replaced and I just put an order for a new part online for about $40 for a new unit.

The difference between $40 and $700~$1000 is staggering, and in addition, instead of having to wait 3~4 weeks for the repair, I'll have the parts arriving in the next few days to make the replacement.

When it comes to mobile computing, I have opted to have a cheap $400 netbook for use when I am on the road. Equipped with 160 GB in hard drive space and an atom processor with 7~8 hours of battery life, the machine has sufficient enough kick for me to watch movies on the go, digitally enhance and store travel photos, and the usual net browsing and e-mail applications. Should anything should happen to my little netbook, I would be far more comfortable with discarding it and getting a new once for about the same price. I am very happy with the decision to change my computing setup years ago, because it is finally paying off.

The beginnings of a bookmark list

I incredibly happy about the news aggregator sites like slashdot, reddit and now hacker news. With so many articles being posted everyday, and sometimes, degradation of communities with growing number of people, I have decided that I would like to create a bookmark list of good articles that I have read to share with other people. It may simply be a page on this site for now, but I would like to more functionality to create feeds with other peoples bookmark lists to enrich breadth of reading topics and material.
BlogBooster-The most productive way for mobile blogging. BlogBooster is a multi-service blog editor for iPhone, Android, WebOs and your desktop

Being with the right peoole is rejuvinating

Yesterday, I had the pleasure of going to a small gathering of Tokyo based programmers working or interested in start ups. Though interaction with everyone wasn't technical in nature, it was great to meet people working to starting their own businesses.

The great part of everyone was how supportive to each other they were. I would have thought that the world of startups be all about competition but it isn't, it is also about people helping each other out. I sense of altruism and community resonates well with me and I want to work in an environment like that.

I talked about being in a place with the right kind of culture in an earlier post, that community is the kind of place where I want to be.BlogBooster-The most productive way for mobile blogging. BlogBooster is a multi-service blog editor for iPhone, Android, WebOs and your desktop

Saturday, October 16, 2010

Know your tier 1 friends

Life is short and the things is that you should you know in life is know who you can depend on. When push cones to shove, there aren't a whole lot of people in life that you can depend on in life.

There are people in life that will call upon in you when they need you, and there are people that won't come to help you when it comes time when you need help. Maybe when a person grows up is becomes necessary to separate the wheat from the chaff. It is necessary to know who you can depend on. Those that you can depend on, treasure them. The rest, is a decision call. But if you can't depend on them then there isn't a point to being friends with them, but that us the cold truth. You might as well know who you can depend on now then waste your time on useless people later.

If this sounds cold, then realize that the truth is equally cold, because this is what you must answer to everyday. If you want to have real friends then find real people that you can depend on. BlogBooster-The most productive way for mobile blogging. BlogBooster is a multi-service blog editor for iPhone, Android, WebOs and your desktop

Friday, October 15, 2010

Company culture is important

I went to a company seminar for junior employees of the company I work for today. I was throttled with disappointment and have reservations about the future direction of the corporation that I work at. The environment and the kind of people you hire are essential to create the right kind of culture/atmosphere that makes a successful company. We face a creativity and innovation crisis and I am starting to see that part of the problem is a result of the culture of the company -- there aren't a lot of people with the right kind of creative flare, follow through and leadership to pull off innovative and visionary projects. Hell, I don't even think that there is a real vision at work.

You know when you are in trouble when the executives are telling employees that "we have to be more creative," thinking that just telling people to be a certain way will enact change. When you have executives that can't lead, set good examples or communicate inspirationally throughout the company then there are very fundamental problems. The problem is even worse when there are superiors that don't listen or are stubborn and you have weak subordinates that know when it's time to push against the grain to get things done. We lost 6 months on one project because people weren't able to speak up. But back to the seminar I went to today.

The seminar I attended is a career planning seminar for junior employees (though I would not like to consider myself one). The idea that over the next few years, we are supposed to be preparing a general vision of ourselves, the kind of person that we are to evolve to be and present that vision to our project managers and eventually to the division executives when we get to our 4th year at the company. Feels like being back in high school by the sound of it.

I feel that many managers are in search of an answer for the next big thing. What many of them can do to a certain degree is identify them when they squeeze ideas out of their employees. I also find that so few of them have true visionary ideas of their own. The only difference between them and their employees is that they're subjected to more ideas and can pretend that they know more-- there is know easier way to stick out your chest and look like you are an "alpha" by appearing to know more than your colleagues. It is by nature of their profession that managers act this way. Dilbert comics make a good point about this with the pointy haired boss, know much about buzz words but little behind their meanings. To be a good manager, I believe that there is more to just knowing, but the ability to get things done on your own. If you want to inspire and attract the right kind of people, you have to start off as being the right kind of person.

Changing corporate culture, or culture in general is a tough process. I've tried it to little avail once before when I was a student at a Japanese lab while doing my masters. I've seen and experienced different things as a westerner and people are afraid of trying new things as old habits are hard to break. I talked about how we how it would be a good idea to start having better ways of exchanging ideas between members of the lab, (the lab I was a part of was really big, with 50 researchers) and better initial training to bring new members up to speed instead of fending for themselves. I eventually ran into a brick wall, with insufficient support and with looming deadlines coming up, I gritted my teeth and decided that I wanted to be the best possible person that I could be instead of changing my environment and did my own things.

Sometimes there isn't time to fight the fight and other times, it just isn't worth it. One of the things I learned over the years is to not waste time fighting over small things. If the effort it too much for some small return, then it isn't worth it to waste time over it-- simply moving on and finding better people to deal with is far more rewarding. I think that a lot of smart people are aware of this and when it become too much of a pain to do interesting work, you will start to lose your smartest people. Google, Microsoft and other technology companies know how valuable smart people are that they even had an agreement to not poach each other's company. If you want to be successful, part of it is knowing how to attract and keep the right kind of people to work with. When it comes to success, people and culture is crucial.

Tuesday, October 12, 2010

Financial Report Aggregation

Started reading some financial reports from Amazon and Apple today. What was interesting about the both of these companies is how they've deployed their capital in international markets to hedge against the declining USD. Amazon, in their 2010 Annual report would stand to lose money if the USD appreciated. Apple seems to be hedging against the declining USD as noted in their July annual report.

It would be interesting to see what kind of economic sentiment one can pickup from aggregating information by reading financial reports to figure out how businesses are positioning themselves for the future. So a question I've started mulling is how does one aggregate financial information from many sources well? The amount of information that I can process is limited, is there a collaborative strategy or a digital processing techniques?

Will need to do more reading to figure out a strategy.

Sunday, October 10, 2010

The "Life goes on" Stance

Maybe it's because I think too much, but I am the kind of person that likes making optimal decisions. I wonder if I am using the most optical technique for math problems, I wonder if the data structures and the functional relations are setup to write clean code, and I wonder if moving out to a more lively place, while costing more is better than living cheaper further way from the city.

Decisions, decisions, decisions. The problem is that one doesn't really know the end effects of a decision until having made them. For whatever known or unknown circumstances things may or may not go as according as planned. The question, is it really worth it worrying about all that stuff?

It's been ages since I played any Texas Hold'em poker, but I took away some very important lessons in life from this game. Texas hold'em poker is an incomplete information game, that is the beauty of this game-- the idea that you have to make decisions without knowing every piece of information available. You could still make the "best" decision given the information available and still lose and that is where the "risk management" aspects of the game kicks in. Sure you can have a 90% to win probability, but if you're playing all-in all the time then you are going to have your ass handed to you eventually. The moral of the story is that for whatever decision you make, even if it goes terribly wrong, you ought to be able to take the hits and keep on going (Rocky 6 reference).

An that's sort of the thing with life-- you do things, somethings fail some of them work out. Unforeseen circumstances kick you in the rear and sometimes pleasant unexpected surprises fall from the sky. But that's really all there is to it, no matter what happens, for better or worse, life simply goes on and there isn't much that you worrying can solve.

Being robust is more important than being optimal

There are too many things in life to worry about and worrying takes up precious time. It would be nice to reduce the amount of time worrying and increase productive time and state of mind. The simple solution is to make robust decisions, where the expected value if positive and failure is not catastrophic. That is not to say that one shouldn't make bold decisions; but for the bold decisions that you do make, you ought to be able to take the hit and still be able to stand if things don't work out. The interesting thing though about a lot of optimization mechanics is that risk/robustness analysis is often forgotten and left as a hidden variable-- things work out nicely unless something fails.

Being robust also means that you can set yourself up for some high yield/high risk (relative) situations since you could have a fall back setup should things don't work out. I'll say it here, but knowing how to be robust and knowing how to take chances and succeeding at them is a key ingredient when it comes to being successful (and even sexy).

The point is to not let failures be hangups or crippling and keep moving on. Oddly enough, this almost sounds like an investment strategy.

Tuesday, October 05, 2010

Goofing off pays off

Richard Feynman, the famous physicist, had mentioned that he had lost the inspiration to find new and useful ideas in physics. He also apparently was in a rut for it, where upon he just gave up on thinking hard about it and decided to let his mind meander to do whatever it felt like. The ends result was that he ended up winning a Nobel prize for his mind meandering when he came across a student in the Cornell cafeteria spinning plates and noticed that the plate had a 2:1 wobble to spin ratio. After performing the physical calculations and being chided by one of his colleagues that the analysis he was doing was "useless," Feynman would go on to win a Nobel Prize for a derivative work from the calculations he did from the wobbling place as it was related to electron spins in quantum electro-dynamics. For those that are interested, a small part of the story can be found here, and if you do have a chance, I highly recommend Feynman's book, "Surely You're Joking, Mr. Feynman!" as a great read.

I too would run into a similar problem these last few weeks after being thrown into the flame of writing simulation scripts using a terrible scripting language. The syntax is strict, variable names are strange and the compiler doesn't accept lowercase letters in the code. The code looks like Perl on bad crack and it's surprising how people can get work done in this language.

I have a colleague working on the simulation project and he's build up a code base over the last 2 years, he's resigned to bashing through this programming language to run simulations. I've tried to read the code and fell asleep multiple times and got several headaches as a result of trying to follow a convoluted path of variables. split across several files to figure out what it going on.

Traumatized, I gave up trying to write code in this language. After 2 days of trying to understand the code, I was pretty much in a rut with this terrible code and resigned myself to clearing my head by working on other projects and taking really long breaks. Nearly a week later, after getting a handle on the fundamentals, I was struck with an idea-- basically, I would write a program to writes the simulation script and I would by pass all the terrible variable handling by natively managing variables in a different language. I managed to clean up the interface considerably, write a main processing loop where I just throw cleanly designed data sets to generate complicated physical structures with simple commands.

What my colleague would need nearly a week to testing and debugging, I could do the same thing in an afternoon. After joining my colleague in the simulation team, we're going to throw out all the old code and redesign everything using my framework.

Perhaps it is an inherent trait in me, that I hate using an inelegant system to do something and my natural instinct is to run away from the problem until I find an elegant way of dealing with the problem. Sure, I may have been goofing off for the past week, but I've figured out to nearly multiply my productivity by a factor of 4~5 over my colleague and will be bringing him up to my speed after I teach him how to my code. Increasing the productivity of 2 people by a factor of 4~5 is huge when it comes to the amount of cost savings the company yields. I will be writing about this in my winter evaluation report no doubt.

Though this story may sound like that it serves a didactic anecdote, that running away from hard problems is a good idea, I assure you that it doesn't and there are times when it is necessary to roll up the sleeves and to the heavy duty grunt work. The question is knowing when to run and look for better solutions vs getting on with it is key. Maybe I'm just lazy, but I generally like attacking problems when I have an idea to make it easy to solve, otherwise, I'll be doing other things.

Thursday, September 30, 2010

You can't Schedule Productivity

I tested, debugged and coded for most of the the day, by the afternoon, I was just too mentally tired to do anything else-- the afternoon was somewhat of a write off as I could not bring myself to learn a language for a light simulation program that I need to learn. I am coming to the conclusion that I have a limited attention span for certain activities, so why push it when you aren't going to be able to get any productive work done?

With that idea in mind, I have second thoughts about the 9-5 pm work day. Thing is that we aren't necessarily at our mental peak during this time period and hammering at a problem when not mentally prepared could be a waste of time. Just because a set time is designated to do something does not necessarily mean that it is the best time to do it. The human mind and emotions can be so fickle, unfortunately that it is just beyond the comprehension of logic-- it would be nice to be able to do something exactly when one decides to, but it doesn't work that way.

So I am here, stuck at the office, tired after programming and not in the mood to more work. It's 5 pm right now and it's just a matter of time before I can pack up shop and head home. The question I repeatedly ask myself, is time spent really the right metric to measure how much a company should pay a person?
Many of the brightest people I know do not follow the 9-5 syndrome. These people are writers, artists, engineers and hackers. Ideas come to them where ever they are and they work as long as they have to do whatever they have in mind. I've worked on projects well into the night because I thought it was something interesting to so, I've done the same for writing when an interesting idea hits. One of the things that I enjoy is having my iPhone where I am able to write immediately when a thought is fresh in my head instead of it becoming dulled after getting home.

Though it is important to have a form of daily rhythm/schedule, there are somethings that can't be scheduled for; and one of those things is setting a time when you are going to be mentally productive. Perhaps there are mental exercises to improve one's concentration and memory, but I have yet to find something that helps one to get into that "productivity zone." Some reading into human psychology might be something interesting to look into, but for now, I am going to give up on the notion that I am going to get a lot of productive coding work done and focus on other things instead.

Charging for what would usually be free software

I've started getting to simulation for a project that I am doing at work. Long story short is that the language for the simulation program is pretty bad and I have decided to use python in between to use the simulator to work with. The problem is that the $30,000 simulator (which is only 104 MB large) is rather buggy and requires me to use a specific version of python. They recommended that I use a prepackaged version of python that comes from a company called active state.

The thing about python is that there are many optional free libraries that can be used together. In general you should have no problem using the libraries as they have installers to get the thing working. The product/service that active-state provides is sort of a automatic version management system to keep track of the different libraries installed and automates the update process and provides a repository that you can download modules for different programming languages. Their module tracking software for python is called pypm (or Python Manager).

Community Edition vs Business Edition

The distinction between the two version is sketchy at best. On their website they trumpet the use of Financial Modules, Database modules and more. I downloaded the community version since I was recommended by the developer of the simulation software to use it. I then tried to install the usual free numerical calculation modules (numpy, scipy, and matplotlib) for python from their repository and was prompted that I needed a business license to get it; the price for that license is $999, to get access to that package and other packages that required a business license to use. I can't tell if this is a great business idea or a total scam.

I instead went online to download the numerical calculation packages and install them. For the version of python I had before, it worked perfectly. After installing the Active state version of python and installing the packages I regularly use, the plotting package I usually use can't be imported because of a missing library. This doesn't instill a lot of confidence in their software: suppose that I download the libraries from them and it didn't work, I'd be short $999 and very unhappy. The difference between the community edition vs the business edition is "whatever software package they have available, except for some well used ones that we want you to pay for."

On the Linux front, software package management is all done via the freely available repositories available on the internet. I am generally informed automatically of the updates and updating is done automatically. Management of the python libraries is also done automatically and for free. Though I am quite certain that adoption of Linux based systems is still fairly low, should adoption of software repositories and management of installed software be done through these packages be done on Windows, a business like the one ActiveState runs would be killed off fairly quickly.

Tuesday, September 28, 2010

Maintaining code for other people sucks

Perhaps I might not be the best programmer in the world, but I can do enough to get things done. Last month, I managed to write a macro that does fitting for measurement curves to extract system parameters for some devices we are making.

We've got a production line going making devices that needed some assistance for device characterization, so I decided to pitch in and write a program that does the fitting for them. It took about a week to write, test, debug and install into the factory line and things were going great until I got an e-mail this week saying that the program wasn't working well. It turns out that the new batch of devices that are being fabricated have characteristics that make it hard to fit nicely and the mathematical functions that is used to fit the data against is somewhat unstable under certain conditions that causes it to blow up, meaning that the solver that comes pre-equipped in Microsoft Excel runs into a brick wall when the function blows up on it.

I've decided to write a new solver to deal with the problem and I need to go through the entire writing, testing and debugging phase again to add in this new module. As a result, I am not particularly happy with this predicament as it sucks up time from me doing anything else.

So I'll say that I've learned a valuable lesson here: I've written useful code for someone else that doesn't know how to maintain it, resulting in me having to keep track of things when conditions change or when things go wrong. The code doesn't benefit me and it costs me time in after care. Perhaps learning about code after care is important as well, but I would much rather maintain code that is a direct benefit to me; like dealing with 2 birds with one stone. In this case, it's my stone being used to hunt for someone else's bird.

Monday, September 27, 2010

The blurring line between amateurs and professionals

Back from Nikko, will have photos up later on. It's a Monday and I've also took the liberty of having the day off, it's great to be away from work. Anyways...

I am amazed at how many "ordinary" people that are capable of putting out great works on the Internet. It wasn't long ago when the most polished media always came from TV or the radio. What was once expensive to film, compose and broadcast has become much more accessible to the ordinary person, that we are starting to see a wealth of impressively polished and professional productions being uploaded to youtube (note, if you do have the bandwidth to spare, up the resolution on the videos).


Aimbot from reddiew's channel

I still remember a while back that the media heads (unfortunately I can't find the source) were arguing that youtube would only be a source of videos that nobody would want to see and that its primary popularity was from uploaded copyrighted material. Perhaps that was the case, 2~3 years ago, but now with readily available HD cameras and video editing software, times are changing.

It isn't the necessary case with entertaining videos, but also for music as well. I find that youtube is also a great source for budding musicians with a flare for video.


Pomplamoose - Another Day from PomplamooseMusic

This is the kind of high quality material user submitted material that we are stating to find on the net. I expect to find more of them as users become more educated and talented as time progresses. As an anecdotal note, even I've had the chance to make a video for a friend's wedding using Apple's iMovie which turned out significantly better that what you might have gotten from just using a powerpoint slide show and music slapped on.

Though I don't think that we will see user submitted material displacing TV shows just yet, we are starting to see the nascent seeds being sewn. A while back kevJumba on youtube produced a miniseries with a friend from wongfu productions called funEmployed on the net:


FunEmployed Ep1 by JumbaFund (or kevJumba) and WongFuProductions

I would argue that making full out 20~30 min episodes on the net probably beyond the time and resource constraints of an youtube "amateur," perhaps we may start to see some experimentation into this medium in the future. Though we are not seeing direct competition against mainstream media just yet, the line between the quality of work between professionals and amateur video productions is most definitely becoming blurred. This is a classic case of a new disruptive technology going for the low end of an incumbent market. If you do have a chance, the book The Innovator's Dilemma is a great read.

As a bonus I'll post my favorite cooking channel, which is the foodwishes cooking channel with great video recipes. The recipes are great and short. Chef John that runs the channel, also won a youtube video competition and will be also hosting a cooking show on the food network. The lines have been blurred indeed.


Super Bowl Chicken Wings by Foodwishes

Thursday, September 23, 2010

Off to Nikko

Today is a Thursday and a national holiday in Japan. I have decided to head off into the countryside to get away from the city and home- a change if scenery and getting away from the computer is something that I've been looking forward to; no more computer games and time wasters for me. In terms computing devices, I've only got this iPhone and a netbook to keep me company for this trip. I'll be gone for 3 nights and 4 days.

As usual, I've booked myself into some hostels while traveling. The hostels in japan are comparatively cheap, usually have interesting guests and the people that run them are very knowledgable of the area. Once you get used to staying in these establishments, it gets hard to go back to staying at ordinary hotels-- hotels are so socially sterile and expensive. I would only stay at one when I'm feeling that I need some time alone.

The region Of Nikko is located north of Tokyo, about an hour and a half by train. The region is well known for its hot springs, national parks and nature. There are also a variety of historical sites in the area worth checking out. I've only taken a cursory look at the information available online and expect to get more details after arriving in the area.

I've also broken-down and bought some new software for the iPhone that will allow me to post while on the go. I probably will have the netbook to post from as well but posting directly from the iPhone with pictures is now an option. The G3 network might not be able to handle large numbers of high resolution photos bit I'll see how this turns out. BlogBooster-The most productive way for mobile blogging. BlogBooster is a multi-service blog editor for iPhone, Android, WebOs and your desktop

Tuesday, September 21, 2010

Dealing with the paper filing problem

It's odd to think that there is still so much paper work is still flying around. Manuals, contracts, proofs of purchase, bank account statements, bill and what not. I just spent the afternoon cleaning the room to come to the realization that I have a lot of documents filed away that are just taking sitting around and taking up space. I've been slowly trying to de-clutter the room and I've decided that excess paper documents are the next on the chopping block to go.

I've installed Google desktop onto my computer recently and have found that searching for things within the computer has gotten a little easier as all I would need to enter are a few key works and the document I am looking for comes up. Apparently, there it a "keyword" field for most files that you can put metadata into a file for tracking. So what I've decided to do is buy a scanner and scan as many paper documents as possible and keep them in the computer instead. Meaning I have less things to worry about keeping track of.

Saturday, September 18, 2010

Setting daily objectives, keeping the environment fresh

Saturday; for all intensive purposes I've survived until for the weekend. Assuming that I have nothing planned for the day, the day is basically equated to a day of goofing off. I nearly spent the entire day simulating new Starcraft 2 battle strategies and have really thrown off some players today. I did end up losing a bunch if games, meaning that the strategy needs some fine tuning. By the time I've realized this it is nearly evening and i have an evening dinner appointment with a friend. The question is, should I have spent this time doing something more productive? The answer is most likely a resounding "yes".

So I need to cut down on the amount of time gone to non productive actives, actually, I mean time that I don't regret wasting.

There have been times where I have been exceptionally productive working on a variety of projects. I really don't know why, but it generally was me wanting to do something. Motivation is a strange that way, sometimes it is there and others it just isn't. What are the origins of motivation, really? I've probably mused about this before but it one of those things that I "get", when I get it.

In order to reduce the number of motivational dry spells, I am going to instigate a system to keep a small lots of tasks that must be completed each day, barring extraordinary circumstances. The tasks don't necessarily have to be big, just a series of small things to do as I have a terrible memory for keeping track of things I "want" to do in addition to the things that I "need" to do, because things that "need" to be done usually have some kind of pressing deadline which makes scheduling easier.

Actually thinking about it, I need to find a way to make it a habit to hold myself accountable to getting something done, which makes it a little too easy for me to let things slide. I think I need some friendly competition to do things. Or even some friends to bet against, like say 'html'>Saturday; for all intensive purposes I've survived until for the weekend. Assuming that I have nothing planned for the day, the day is basically equated to a day of goofing off. I nearly spent the entire day simulating new Starcraft 2 battle strategies and have really thrown off some players today. I did end up losing a bunch if games, meaning that the strategy needs some fine tuning. By the time I've realized this it is nearly evening and i have an evening dinner appointment with a friend. The question is, should I have spent this time doing something more productive? The answer is most likely a resounding "yes".<br /><br />So I need to cut down on the amount of time gone to non productive actives, actually, I mean time that I don't regret wasting. <br /><br />There have been times where I have been exceptionally productive working on a variety of projects. I really don't know why, but it generally was me wanting to do something. Motivation is a strange that way, sometimes it is there and others it just isn't. What are the origins of motivation, really? I've probably mused about this before but it one of those things that I "get", when I get it. <br /><br />In order to reduce the number of motivational dry spells, I am going to instigate a system to keep a small lost of tasks that must be completed each day, barring extraordinary circumstances. The tasks don't necessarily have to be big, just a series of small things to do as I have a terrible memory for keeping track of things I "want" to do in addition to the things that I "need" to do, because things that "need" to be done usually have some kind of pressing deadline which makes scheduling easier. <br /><br />Actually thinking about it, I need to fond a way to make it a habit to hold myself accountable to getting something done, which makes it a little too easy for me to let things slide. I think I need some friendly competition to do things. Or even some friends to bet against, like say $100 to whoever gets the best score on something or other. Just need to find the right people to do this with. <br />00 to whoever gets the best score on something or other. Just need to find the right people to do this with.
BlogBooster-The most productive way for mobile blogging. BlogBooster is a multi-service blog editor for iPhone, Android, WebOs and your desktop

Finding customers

I think that the hardest part or business is getting getting paying customers. You could make or do anything that you wanted, but if no one is willing to pay for it, then you are going to end up as a non profit organization.

Coming up with solution to problems is easy, the real trick is finding problems that people are wiling to pay to have solved for them. I was fortunate to have that opportunity once as a tutor. Teaching was a trivial problem, I was just simply good at it. People caught on and starting thawing wads of cash at me for that service. I mainly taught math and physics but demand grew into other demands and I even ended up teaching easy writing and programming. Filling a demand is the easy part, so long thar you have the background to solve it. Everyone has skills to do something, the challenge is to find a demand ghat is easy for you to fill. Get that equation down and you'll be on the way to being rich.