Tuesday, February 15, 2011

Some notes on web programming

It seems to be taking forever for my web domain to get registered. After registering for a webhost on Sunday, 2 days have passed and my application to get a web domain is still pending. Not particularly happy about that but there isn't much else I can do except wait, though 2 days seems like an eternity to me.

While doing the waiting, I am looking into the following things:
  • How to setup an Apache server and get CGI includes for Python working
  • How to create interactive applications for webpages
  • How to manage data using a SQL type database
  • How to create web applications on infrastructure on the Google App Engine or Amazon's EC2
  • How to program websites with AJAX (since I don't like web pages reloading on me after doing a query)
  • How to use Python to generate html templates or generate CSS templates through Python
  • How to create menus, buttons and images through programs since I am too lazy to use things like Photoshop to do tasks like these manually
I have a feeling that we are going to see a trend away from desktop data management happening as online servers will be dealing with data management and home computers will become more like clients in the future.

Monday, February 14, 2011

I need to certify myself as fluent in Japanese

Learning a second language is a pain in the ass, especially when you have access to internet in English. It's a terrible habit of mine, that I exist in a bubble of English and use my Japanese only when necessary. For being here for 5 years, I should be able to do better.

I've also been looking at new job opportunities, people that speak both English and Japanese fluently have a leg up, there are lots of interesting opportunities out here to work in a multinational firm or setup new businesses, especially when foreign companies need people that understand the culture and want to setup base here. I have had my nose buried too deep in work and haven't been working on my Japanese as seriously as I should. My bad.

I want to raise my salary by 25~50% by the end of this year by improving my Japanese skills and picking up some marketable skills for use in different environments. One thing I have learned about working in a corporate environment is that you'll get nowhere if you're a bad communicator.

Foray into web publishing

I've finally broken down and bought an account at a webhost today. The site I chose was iPage, which allowed me to register with them, get a free domain name and hosting for a year for $54. Not bad considering that I now want to learn the basics of hosting web content on the net. I've done this kind of stuff before, but on my personal machine in the past. If I am to create more intricate web pages and possibly applications, I should learn how to host them on the internet, which means learning how to use a webhost.

I made one mistake with registering with these guys however, the problem being that they do not have SSH access into their servers, meaning that I cannot run command line related stuff to check the version of the software they have, but they seem to have a large repository of interesting packages to play around with. Later on, I may see about using Google's app engine or Amazon's EC2 frameworks for scalable software. It will take me time to learn things but I think there is interesting work to be done in this field. This blog may or may not move, but I am in the process of registering my own domain name and interested in developing my own web presence.

Contemplating getting a macbook

The last time I was in Canada, I was back home to be the best-man for a friend's wedding. My dad, being a Mac convert had a few Macs lying around the house and I found out that their iMovie software was pretty damn good and made a slideshow movie through using the software. I was thoroughly impressed with the bundle of good media software with the Mac. It is as if the Macs were specifically designed for media kind of work. I never thought twice about getting a Mac since I switched over to Ubuntu-Linux, which is a packaged version of Linux. For free, it's pretty damn good and has nearly all of the basic functionality I need.

I've noticed, recently there are some rough edges that need some smoothing out, mainly in the section of professional software. The great thing about linux software is that it is free and they work pretty well-- I can pretty much do nearly just as much, if not more on a linux machine compared to a windows box, for free and even better. I really like how fast Ubuntu boots up, how quickly I can log in and how responsive the machine is even right after logging in (there isn't very heavy background software loading after you log in). It's pretty tight software. The only thing that is lacking, perhaps is a really good video editing suite or media management editing suite. The one thing that I liked about Apple software is the level of polish that goes into the software available for the Macs-- they simply work and usually are quite cutting edge.

Compared with the Microsoft ecosystem of software, I've found that looking for windows based software on the internet to be rather spammy and sometimes the software sites on the net can sometimes even seem a little dubious. Perhaps it is a result of a smaller and tighter-knit Apple perhaps? I am not entirely sure, but we are starting to see something similar happening to the iPhone/iTouch app store where sometimes dubious software sometimes does pop up (though putting software up there is done through an approval process which has wrought ire from some people).

Anyways, there is a bit of a premium when it comes to buying Mac hardware, but since the base of their software is Linux based, it shouldn't be too hard for me to pick up. The question is if I want to start off with a laptop or just an iMac mini (which I think it kind of pricy at $799!).

Keep a spare keyboard

The keyboard managed to die out on me while doing some administrative stuff on the computer. I've been working on a wireless keyboard and mouse since the summer and have been really enjoying it. Sure the battery dies once every 3 months but it wasn't much of a big deal, until the keyboard died on me that is.

After wondering if the keyboard was in a bad position, the receiver was in a strange location and wondering if the battery was dead, I have pronounced the keyboard dead. Generally, indicator LEDs aren't standard with wireless keyboards because they shorten battery life, making debugging rather tricky. I eventually had to dig out an cabled keyboard to connect to the desktop... only to find that the keys were rather sticky. Then it struck me... I spilled some really sticky liquor on the keyboard since the last time I used it and quickly took it to the shower where I doused it in hot water.

Suffice to say, I won't be able to use my desktop computer today and am currently using the internet through my netbook. I've put an order for a new wireless keyboard online and the total cost for a new one is about $25 bucks, including free shipping. Not bad, it's something that I can live with.

Friday, February 11, 2011

Sometimes, you have to entice people to commit

Working alone is tough, there is only so much memory, attention and knowledge that a single person has. Not to mention that the cutting edge of technology is a moving target-- what you don't release this year might be outdated by the next. If you want to make a killer product of service, you have to make something good and do it quickly. My best analogy to this would be like learning to ski well-- learn to lean forward, even to the point that you think you might do a barrel roll, do that.... and lean forward some more.

I've been in a recruitment phase for finding a community of smart people to work on projects with and eventually turn those into a viable service or product and there are great opportunities out there for data mining/business intelligence type applications. There is so much on the internet that we have just begun to scratch the surface, but people know that the market is there and there are many startups that are moving into this realm.

There is only so much that I can do on my own and that has been one of the biggest realizations for me. Yes, it is true that I could probably learn what I needed to know to do something, but it takes time to be a master at sometime. If you truly want to do something big, you're going to need a team of people to do it, a tight group of smart people.

I've been making some programmer friends recently and I've made several pitches to try and get a project off the ground. Yes, I can convince them that some of my ideas are interesting, I also enjoy bouncing ideas to find new avenues of use. I have some code written and some proof of concept, but I need to learn how to make people to commit. I tend to generally be soft on people, like when I tell them "spare whatever time you have" or "get things done whenever you can," to be honest going easy on people like that is a mistake and you'll get no real commitment from them; unless of course, that the people you are talking to implicitly feel strongly that you are going to succeed with or without them (but still, it is a weak play).

If you want people to commit to working on a project with you, you do have to entice them. Show them that the project has momentum, that you are strong willed and believe that it is a good idea and that if they want to join up that they have a short but reasonable time to do so, because people usually don't do things unless there is a deadline to for decision; it is simply human nature (oddly enough, I think it is similar to dating and that you shouldn't give a person that you really like the opportunity to go out with you whenever they feel like it because you are implicitly saying that you don't value yourself that highly... but I digress).

In short, you have to act with urgency and find ways of making what you do a priority for other people if you want them to join up or else things will happen "whenever," which translates to "never."

Wednesday, February 09, 2011

Now a fan of audio books

I had an American friend when I was back at university in Sendai that loved his audio books. While working in the clean room and processing his devices, he'd be in his own world listening to whatever audio book in his iPod. I never really understood audio books back then because I read much faster compared to then I could listen and I would get irritated by listening at the pace of the speaker.

Fast forward 3 years, I started listening to a few audio books while exercising, riding my bike and while on the train. The lack of having a (sometimes) large, heavy book with me was definitely a good thing, because I had less heavy things to carry around with me and I'd be learning during times when I had nothing else to do, which means time productively spent.

An audio book can take about 6 hours to listen to (about 1 hour/chapter) but it isn't bad considering that for a normal commute to Tokyo takes about 1 hour one way meaning that I can finish 1/3 of a book just on a trip out to Tokyo and that doesn't include the time for me while walking around. The other nice thing about listening to audio books is that I find the information content from books to be much more nourishing as the topics covered in books are covered with greater depth compared to what you generally find on the internet. The only disadvantage for audio books is that books discussing complicated math or needs graphs to explain ideas becomes very hard to comprehend, so topics that do not require a lot of "rigor" are usually good to listen to. Hopefully I'll find some good Japanese audio books to further develop my Japanese skills.

Tuesday, February 08, 2011

Updating the resume

It's been a long while since the last time I updated the resume. The last time I had updated it was nearly 3 years ago, after graduating from my masters program. I am (un)offically in the hunt for a career adventure. I believe that I can earn more and grow faster than what the managers think that the average person can over here.

I mentioned earlier that I wasn't so hot about waiting 4~6 years for a promotion. I think that one of the biggest faults of an organization is limiting the speed at which a person can climb the ranks is a fatal mistake, since no one will have an incentive to take on more responsibility than they have right now. But hey, that's bureaucracy and politics for you.

Interestingly for the past 3~4 months, I have been looking at other opportunities in different organizations, the pay is dramatically better and pretty good for even a young person like me. I've started sending out applications... no real bites for positions just yet.

It's been a long while since I did any real work hunting, preferably, this time in a more "Western" organization as I find my mental capacities are much sharper when I work and communicate in English. Good Japanese skills here are very important and can even improve the value of a worker too and I intend to work on that as well... I just don't have an incentive to do anything at the place where I am currently employed. But I digress...

What I realized after getting into the working world again (since the last time I did any kind of job hunting when I was graduating from my undergrad studies) is that the nature of the resume has changed. I was good at marketing myself as a student with my resume, which was padded with a lot of good academic achievements, what I realize now is that I can't play those up as much any more and have had to chance the format of my resume to reflect the kind of work and my new work interests.

Not in all cases, can one send a cover letter out for each application as for the recruitment sites that I've been working through now only use the resume to evaluate a candidate, to which I realize my resume is too engineering heavy for the positions that I've been looking at.

The other thing about looking at job postings, especially at recruitment sites is that they have concrete job descriptions and approximate salary ranges for the kinds of people they are looking to hire, which is really different compared to the standard Japanese system where you just apply, then they accept you and then figure out where in the company they want to send you. I am far more comfortable with the normal western hiring practices.

I've made the mistake of sending out too poorly tailored resumes to too many job openings that there aren't any new good ones at the moment so I am going to have to slow down and think of strategies of improving my skills set to get a good position elsewhere. It is an interesting experience to be back in the work search world again.