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.

Friday, September 17, 2010

3G: an expensive poor man's Internet

Friday night and on the way out to Tokyo to meet up with some friends that I haven't seen in a while. To the left of me, there are two guys talking about stuff that I couldn't possibly care about to be honest, I wish they'd shut up. But alas what am I to do, I'll have to turn up the music I am listening to instead.

So what was I going to talk about? Oh yeah, 3G internet is pretty damn slow. I have taken to reading on the train to pass time and maybe it's just today, but the Internet is really damn slow. If I were to compare it to something, imagine a 28.8k baud modem connected to your phone downloading content heavy webpages.

Going to content light webpages is real blessing because the wait can get rather long. Doing specialized searches like for train timetables seems to take longer than expected. Maybe because it's a friday but I don't have enough experience to make that judgment yet.

Wireless communication with decent bandwidth is still a limiting factor when it comes to the utility of the a smart phone. The interesting thing is that I am paying nearly just as much for this wireless connection compared to my broadband connection at home.

If I had 1/100 th of the speed I have at home (assuming a 2 MB/sec) broadband connection I'd be really happy right now. There has to be a way of making a highspeed wireless cellular network. There has been attempts using meshed wifi routers but I remember that idea getting sued out of existence by an internet carrier once, but if I were to do it then that would be the route that I would go.

What the hell would you want to do with the internet while on the go? Location based search is probably the biggest thing. I can bet you that Apple is working on that. There has been several ventures out there that are doing location based applications. I believe that the field is still immature because the technology still wireless data communication speeds still need improvement. When that happens, expect to see some killer applications to come out-- we are still in the mid early adopter phase.

I've written this much and the guys beside me still won't shut up.

Wednesday, September 15, 2010

Setting time to do things

I've been finding it hard to do things that "I know I should, but never get around to," its like eating vegetables that you don't like, you know that you should but don't want to (though I never really had that kind of problem as a kid). Though I have been finding that there are many things that I should be doing periodically that I don't. Some of them include, studying Japanese, working out, cleaning the room (more frequently), throwing out things that I don't need and working on small projects. The biggest culprit when it comes to not getting around to what I should is distractions: mainly keeping up on news, games and watching online videos to name a few.

One thing I started doing is putting myself on a timer and setting a block of time to do something productive. The productive activity of today was working out, as I set up a timer to work out for 45 minutes before doing anything else. Attending to any distraction during this period of time was strictly forbidden.

The interesting result was that the usual upper body exercise that would take 1 hour to complete, was done in under 45 minutes, a 25% savings in time. I do believe that there are many places over the course of the day where distractions kick in and whittle away precious productive time where I should be getting things done. As an added bonus, I also managed to get the laundry done, ordered some music to send to Canada for a friend and made time to catch up with 2~3 people that contacted me that I didn't get back to this evening. Forcing myself to be productive during a specific period of time has been quite fruitful this time.

I think this effect is the result of committing to being productive during a period of time or outlining what exactly what you want to do during a specific period of time that improves productivity. There have been times back in high school where I've been really productive when classes were based around the period system-- I used to strive to get as much work done at school so I'd have less homework when the day was over. Perhaps I am seeing a similar effect here.

Monday, September 13, 2010

On the train on the way home

So this is the first weekend that I had with the opportunity to go traveling with the iPhone. Long story short, it makes a great traveling companion. I generally carry a DSLR camera to take nice photos of events and currently lack the gear to take videos. The iPhone equipped with a very nice camera and decent microphone is well equipped to take great videos. I'll post a few later on after getting home. The one other great thing is that the phone makes for a great tool for taking quick photos what I wouldn't be able to do with a big camera without looking uncivilized. I just was able to whip out the phone and took a few pictures at a nice French restaurant during dinner with a friend.

The other great thing that I am developing a liking for is access to the internet and good reading material that I wouldn't usually be able to look at while on the go. I have so far read several good articles from the comfort of my seat while on a 1 hour train ride back home from Tokyo. Actually I was out much further but I spent most of my time sleeping on the bullet train on the way back from a business trip.

I do wish the screen was a little larger for reading, but with a device that fits in my pocket and has a very, high resolution screen, I'll make do. But I can understand why the iPad might be a popular device.

The other great thing about having the iPhone is rhat I am able to write and post when an idea is fresh in the mind instead of having to wait utility I get home to type things out, by then sometimes the thought degenerates to the point that I can't write about it anymore. Something attributable to my inherent bad memory.

Oh and the one other thing that I really like is that I can were out complete sentences as opposed to the butchered version of English that comes out of most texting on cell phones. It called being civilized, bitches :). And that is how I roll.

Saturday, September 11, 2010

From the iPhone on the train

It is a Saturday and as luck would have it, I was able to line up a business trip to Sendai while there is a jazz festival happening this weekend.

Given that I had some time to play around with the phone on the train I decided to see what would it be like to majestic a blog post from the phone. Accessing blogger from the phone turned out to be too slow so I opted to install an application that would let me post offline. Though I won't have much of the nicer text editing features like the bulleted list and font control, just posting text only seems sufficient to me.

Another potential feature that may end up shelling out done cash for is to add functionality to post pictures. The iPhone has a pretty nice camera and it might be fun to post pictures while on the go. Say like pictures of food.

The one thing about these smart phones and ultra portable devices is that you really don't know their real capabilities until you try them. So far I am pretty happy with the device though I have yet to find the killer application for me. I do feel that there is plenty of potential.

Thursday, September 09, 2010

iPhone 4

Going to be a quick update, hard to find time to write at the moment. Got the new iPhone last weekend, finally starting to get used to it.
  • Touch QWERTY keyboard is really nice-- I find my self typing much faster compared to the normal keypad.
  • Tried to use Skype on the 3G wireless network, had lag and poor quality -> you really need WiFi
  • Caller ID for Skype in Japan does not work, even with a number through a provider in Japan
  • No contact groups in standard iPhone contact book, bought a $5 contact manager
  • Business model for softbank, (provider) is to provide data, charge on voice, limited discount for the first 2 years. Charge is currently $40/month, up to about $60 in 2 years (not counting voice)
  • Being able to send international text and e-mail from phone is nice
  • Having google maps on the go is good
  • Battery life, kind of short. 3 days with no usage, down to about 1.5~2 with medium usage
  • Browsing the internet is decent
  • Having a camera, video recorder, internet device, music player and cell phone in one is nice. Reduces the number of things in my pocket
  • Would be nice to have direct access to the device to edit contact in formation. I can't seem to figure out how to do a custom import into the device
That's it for now. Still week one with the thing.

Friday, September 03, 2010

The scrapbook

There are many things I think about during the day and I haven't the time to do in depth writing about them. The other thing is that many ideas of recent, have been self explanatory and don't usually warrant me writing about them, but they are good food for thought (for me at least).

For those that might be interested, I've started a scrapbook. Feel free to check it out, it'll not be organized and full of what ever I am thinking. Consider it like a thoughtful twitter on crack.

Thursday, September 02, 2010

Attended a software design lecture

Three are the hackers and there are the regular guys. Unfortunately for me, I am not much of a hacker, I don't write incredibly beautiful code, but I like what I do. I ended up attending a talk on software design a few days ago hosted by an Ivar Jacobson. Whom seems to be working on a software design frame work called Software Engineering Method and Theory (SEMAT). Unfortunately, the talk was light on the details, but the claims are grandiose -- the next swiss army knife for all programming architecture, whose goal is to help people/organization write code that is useful, extensible and reliable.

The lecture was carried out in English, and I've forgotten how fast my brain works at absorbing information and coming up with interesting questions/problems to ask on the fly. It's something that I've missed for a while now. I just haven't had a high level of discourse in a while, meaning that I think I am just itching to find some really smart people to work with... but I digress...

I will admit that writing software can be an incredibly complicated process, especially when the requirements) or even the challenges) are not well understood. I would argue that "you don't understand the true nature of the problem until you try to solve it," and after a few (or many) false starts, does the gravity of the problem starts to sink in.

The unfortunate (or fortunate) thing for me about programming is that I am self taught. I don't have a whole lot of exposure to code written by other people, so I have very little of a reference point of comparison when it comes to comparing the work I've done to other people. I generally start getting a bit of a headache when the project I work on starts to get pretty large there is a big code base to keep track of and keeping it organized is rather tricky.

The interesting thing about the talk, however is the state of software design in large software firms, and it appears that the state of programming is somewhat abysmal. From what I've heard, Microsoft spends about 75% of its development costs testing code and it can still be really buggy at times.

Interestingly, we are starting to see the tide turning against large software corporations when it comes to startups. Teams of approximately 5~10 people have been able to develop quite popular internet sites and bringing in significant revenue when they were able to develop their software on a shoe string budget. For the project that I am working on right now, we have a budget of many tens of millions of dollars and we still haven't seen any big returns on that investment yet.

I believe in being small and effective with money and it seems like big corporations are really crappy at doing that.