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.

Monday, December 26, 2011

Optimize for investments or salary

My time is limited and in my spare hours, I've been trying to write code to better understand the stock market. My current work involves understanding stock options, which are quite the beast. I've so far gotten as far as writing parsers to get information form the internet and have gone as far as running monte-carlo simulations based on a variety of models but the problem is that I really don't know if these these models are correct and the more I code to create models,  the more I realize the less I know about modelling the stock market.

There is just so much on my own that I will be able to figure out on my own... then I thought about buying some advanced books to read. Then it hit me, I've got a lot of learning to do and I started to wonder if my efforts in this field would be worthwhile.

It is now also the end of 2011, meaning that my expenses spreadsheet for the year is nearly complete and I have a good idea of how much I've spent and saved for the year. Since moving out of the company dorms and into my own apartment, housing costs for me have skyrocketed and the amount saved dropped by about 33% compared to last year. This is even accounting for increases in salary. But the thing is that doing more research in stock picking may increase my investment returns by a few more percentage points. This begs the question, would I be better off investing that time in developing better skills to raise my salary?

Thus, I've started doing more research into engineering salaries and pay for jobs that I could possibly do and for jobs around the world. Thanks to the exchange rate between the yen and the dollar, the numbers look pretty good, but this is after a lot of overtime pay and travel pay that I got this year. On a dollars/hour basis, I don't think that the hourly salary was all that good.

Tuesday, December 20, 2011

Been Busy

Been really busy the last month and a bit to do any real writing, but a lot has been going on and I haven't had much of a chance to do much writing as of late. I've been flying between Tokyo and Kagoshima nearly weekly to help out with setting up an inspection machine and writing code to speed up the processes. Also, getting paid travel expenses and a small stipend is marginally nice.

On another note, I got a better than usual work review...after all was said and done, however, the better review led to only about a $600 increase in my winter bonus. The software I wrote cut down processing time by about 5 days and gave us more time to analyze data to improve the success rate of the process. If ouput and pay were plotted, the graph would be very sub-linear for the place where I work.

More notes to follow at a later time.

Tuesday, November 15, 2011

Defining the problem actually takes up a lot of time

I've been flying between Tokyo and Kagoshima for the last month and a half after doing my first 2 month stint in west Japan. I've already manage to take a 1 week process down to 3 days and while allowing 2x more samples to be processed simultaneously, meaning 4x throughput.

By the time I got to Kagoshima, some of  the engineers have been working on figuring out how to get the process to work and determine an algorithm for sample inspection. Armed with the basic information from these guys, I started writing software through the night shift and my work spawned into a project of it's own.

I've already finished writing an application and trained a technician to take over the job. I've started working on the next version of the program to try and have the entire process automated since my program doesn't work in some special cases. Classic example of the 20-80 rule, where 20% of the effort gets 80% of the output.

I am treading into territory where other people haven't gone into with the data analysis and I've noticed that I am spending less and less time writing code and more time trying to better define the problem and the exceptions that my code needs to deal with before writing any code. It's somewhat frustrating to not be writing code to get things done but I guess it's part of the process.


It's odd how the motion of "doing" something is so closely related to progress, though planning and preparation is also a very important part of solving any sort of problem. Being busy for the sake of being busy is detrimental. I generally like disappearing from the office when working on a tough problem that I haven't managed to wrap my head around and go for a coffee. I find that I understand a problem well, I work infinitely faster because everything is in my head and laid out.

There is something called the "drunken sailor's walk" which is a classic problem that nearly all probability courses covers at some point. After n random steps, the furthest you've traveled away from the origin is related to the root on n. If you walk with direction, the distance traveled is n.

In other words, if you plan things out properly and minimize mistakes, you'd be better off by the factor of a square. If you wonder why there can be such a gap in skill or level in the world sometimes, I think that it is the expression of this phenomenon.

For those that have the time, I suggest reading Richard Hamming's book The Art of Doing Science and Engineering: Learning to Learn, which is a fairly ok read. There are some interesting notes from a well known researcher, from which I gleaned this idea from.

Monday, November 14, 2011

A disappointing experience at a computer store

I did some more thinking about putting together a server recently and came to the conclusion that even though I would be paying a little more money to run my own server at home, I could get close to 4x more performance and unlimited hard drive space instead of renting one. I also though it would be a good experience to learn to set one up should I need to set one up online using one of the services like Amazon's AWS.

I put down the cash for server parts last Friday and so far, the CPU, motherboard, case and memory arrived. Since I was going for a server system, I didn't need a monitor or a fancy video card for the system which brought the price of the computer down considerably. When going for the slim computer case, I made the mistake of purchasing one without a built in power supply. Thinking that getting a power supply wouldn't be hard enough, I dropped by the closest physical computer store  I could find online only to be incredibly disappointed-- all the power supplies were really expensive and the cheap ones that they were selling were "sold out".

Obviously, I wasn't happy with spending the 20 minute (one way) commute on my scooter to get to the store, spend time looking around to find out that they didn't have what I wanted at a more expensive price.

After getting home, the first thing I did was go online to the Japanese equivalent of "pricegrabber.com" to source a part and I was done with making the order in about 10 minutes. The only difference is that the part will probably arrive in 2 days instead of me having it immediately, but when it comes to being busy, waiting isn't a terrible thing.

Over the past few years, I have been doing more and more online shopping instead of going to stores to buy things instead. It's simply more convenient. I really wonder how much has internet shopping had impacted the retail business and the number of old school stores that have gone out of business as a result of it.

I also move around every 2~3 years making finding new places to buy things fairly important to me somewhat time consuming. Ordering online never ceases to fail me since I get what I want delivered to me quick enough. But back to the computer stores, I really don't understand how they can keep up a business where people have to spend time to go to a place to buy over priced product. The only one possible answer that I can think of is for people that aren't as computer literate to talk to people to get what they need. If that information, too, can be accessed in a manner easy enough online, I think we can kiss the big box computer retail stores goodbye.

Thursday, November 10, 2011

If this then that

An interesting automation site, I thought that the idea was interesting when they went into open beta after Sept. I checked after 2 months to see how they were doing and found that they hadn't updated the blog in 2 months. I think they're dead in the water right now and the people that worked on the site are off working on other things.

From the stock market, business and life. Things take time to happen and you should make it a habit of checking old news. So many thing that were at the front of our mind one day become totally forgotten later. I don't know why the time span for ideas is so short, but it would be wise to periodically check old news from time to time instead of just watching the latest headlines; because just tracking the new and not tracking how things go is meaningless.

Tuesday, November 08, 2011

The Autobiography of Steve Jobs

I haven't read a book in a real long time. Importing books is expensive and I generally abhor having more things to clutter up my room. Then came my desire to tinker with the kindle for the PC and I found reading incredibly refreshing.

After about 3.5 days of reading on both the computer and mainly on my iPhone, I've finished the book. I read of the life of a great man. For once history will have something positive to put among heroes because there just haven't all that many in recent history.

As a person to emulate, I doubt that many people would want to be like him; but to every great man, there are key ingredients. I've turned 30 this year and work life practically ends at about 65. If you really want to make a bang at something, have kids and do everything else, there really isn't a whole lot of time. Every moment is precious and I am reminded of that after reading this book.

Never have I been so consumed with putting my mind to doing something in a long while. After reading the autobiography, you can tell it was put together with care, with countless interviews and decent writing. After finding myself so consumed with reading for the past few days, I just came to the realization at how much the internet sucks; as in "holy shit, it really sucks," because there is so much garbage out there.

Maybe I haven't been going to the right places for content but, I've gotten tired of fishing through the needles in the hay stacks of social sites looking for something good; just simply having a good read was so amazingly refreshing. Yes, I will admit there are some good reads on the internet. Some great essays out there even, but nothing as cohesive as a good book. I missed that, I really did.

The other great thing about reading about Steve Jobs is that he was incredibly intolerant of things that bothered him. I found myself to be quite the opposite recently, being as accommodating and accepting as possible that I noticed that I lost a bit of an edge to life. When you get to the point of accommodating to the sub optimal it just turns into a slippery slope of accepting worse and worse. Sometimes you just need to draw the line even if it means you might have to be an ass.

There is a lot about the book that I really enjoyed, but I feel that I would do no justice to even talk about the story because what really is the point about just saying if something was interesting or not? The act of simply talking about something just feels like it has no value to me and in it's own way is what was the story of Steve Jobs about-- making things happen.

Tuesday, November 01, 2011

To get good at the stock market, spend time away from it

The stock market right now is one big drama and generally it is usually the people that spend the most time watching dramas are the ones that get the most emotionally involved and start losing money. I made that mistake once before in 2008, just waiting for the perfect time to catch the bottom and doubled up on it because every motion up and down seemed huge to me and when the stock market dropped once in October, I thought "this is it" and it really was "it" for me with a gaping hole in my trading account.

Gone are those days and I've gotten better. To be honest, I think the market in general is on tilt, to use a poker term and it is probably best to leave the table as it is and take a drink while the players sort themselves out. Because really, when everyone is playing weird, you just simply can't control risk (even if you are making logical plays).

I'll admit that I had a few of the equities that I held before the crash over the summer drop by 50% percent. There were people out there talking about being glad that they got out and them going on about how much better it was for them to get out early. Some of those tragically massacred equities I held came back to nearly their original prices and I somewhat regretted not putting some more cash into the market. I can't expect to trade with 20/20 foresight and I'll take the bad with the good.

Sure I am a bit down from the market haywire but I am happy to bide my time, earn money from work and wait. More importantly, instead of waiting, have other things to do :)