25 Random things about me
February 2, 2009 – 7:00 amThis is making the rounds on facebook, at least people in my network, so I thought I would give it a go. Here are the “official” facebook rules.
RULE: Once you’ve been tagged you are supposed to write a note with 25 random things, facts, habits or goals about you. At the end, choose 25 people to be tagged. You have to tag the person who tagged you so they will get your answers. If I tagged you it’s because I want to know more about you, if you don’t want to play along, it’s ok too. To do this, go to “Notes” under tabs on your profile page, paste these instructions in the body of the note, type your 25 random things, tag 25 people(in the right hand corner of the app) then click publish.)
Twenty-five random things:
- I have 4 tattoo’s and one of them is a sleeve.
- I have been telecommuting to work for 2 years now.
- I ran a marathon from start to finish — without walking once.
- My wife and 2 children are very dear to me.
- I enjoy reading all types of materials: books, blogs, and newspapers of all topics; I have not found a writing groove.
- I miss playing saxophone and I am working to rectify that.
- I listen to music at least 8 hours a day; my full collection is 24,986 songs or 11 weeks of music.
- My eyes were LASIK’d about 5 or 6 years ago.
- I love sleeping but do not often have the opportunity.
- The city in which I live, Ann Arbor, is one of my favorite cities.
- I try to meditate daily and identify closest with Kadampa Buddhism.
- I am an Agnostic.
- I have a strong entrepreneurial spirit.
- I am a great cook and love Mark Bittman
and Jack Bishop.
- My hair has been cut, dyed, and manipulated more times than I can count.
- The last time I wore a suit was at my wedding, almost 3 years ago.
- The most expensive thing in my house is a treadmill.
- I have a published paper.
- A Rottweiler named Daphne is my third child.
- I want to see the Sabres or Bills win one championship, just one. Not second place, first place.
- I drink more tea than coffee, but I do love coffee (and espresso).
- I wish I could create a magic potion to allow children to sleep soundly.
- I enjoy photography if the subject is right.
- Sometimes it is fun to ruffle a few feathers.
- I have three pairs of running shoes, made by three different companies.
Passive Income Streams
February 1, 2009 – 9:14 amPassive Income is “earnings an individual derives from a rental property, limited partnership or other enterprise in which he or she is not actively involved.” That sounds like a wonderful way to make money, although perhaps a bit too formal of a description for me.
In my mind, passive income is something that requires an initial act of time and energy. After that time and energy is spent, income than be generated without much to any additional time or energy.
Good examples of passive income streams are:
- Royalties from creative works
- Savings account
- Shrink-wrap Software products
- A restaurant or retail owner who has grown to the point of hiring a trustworthy manager
Some not so terrific passive income streams:
- Rental Properties – I hear these can take a lot of upkeep, management, and sometimes court dates. If you had a trustworthy manager it may make it worth it, but your rental portfolio would have to be significant to justify it.
There are quite a few sites on the net extolling passive income, or residual income, but they all seem to be repeating themselves.
The key to generating passive income is simple: find something you can produce which will fit into the residual income arena, complete the task, repeat.
If you’re feeling particularly intelligent, you can even track how much money your work is generating in order to better target your efforts. If all else fails, at least try to do something you enjoy while you put forth the effort.
Sources:
- http://20smoney.com/2008/05/29/why-a-second-income-stream-should-be-your-top-priority/
- http://www.stevepavlina.com/blog/2006/07/10-reasons-you-should-never-get-a-job/
Greatest Youtube Clip – The Humans are Dead
January 23, 2009 – 8:11 pmThis may be the greatest youtube clip ever.
4 things I dislike about my programming
January 18, 2009 – 9:43 amHere’s a list I have compiled of things that I dislike about programming. Some of these things have happened in the past, some happen currently to me. I feel like I am in control of these, so the fault is simply my own. It can be difficult to break out of the status quo once the ball gets rolling.
- Regression testing through unit tests. It is so easy to skip writing unit tests. If they don’t exist, someone needs to keep testing functionality that has been tested in the past.
This is an expensive endeavor and seemingly violates the whole purpose of using a computer. A computer should be utilized to complete repetitive tasks. To me, there’s nothing more repetitive than testing every case you can think of over and over again.
Other issues occur when things break you wouldn’t expect to break. Who knew that changing A would break something in B? We didn’t, so we didn’t think to test it. It’s not wonderful to find that out after the code is already live and it reflects poorly on you as a company.This type of things is even more pronounced in a smaller environment where time is tight, testing is tough, and a few screw ups are expected.
If unit tests get built as the application is created, you always have a full test suite which guarantees base functionality is not interrupted for your users. More importantly, you have guaranteed peace of mind.
The biggest resistance to dedicating this amount of time to unit tests is a fast approaching deadline. But during the life of a project an automated test can save you a hundred times the cost to create it by finding and guarding against bugs. The harder the test is to write the more you need it because the greater your savings will be. Automated unit tests offer a pay back far greater than the cost of creation. [source]
- Presentation is mixed with logic. Even having separate views, there is still way too much logic in display templates. It seems that logic is inherently part of a view. It would be fantastic if one could simply have a designer perform all of the HTML/templating, and leave the supply of the data sources up to the programmer.
Most great programmers don’t make great designers, hey, they’re programmers. And most designers don’t make decent programmers. I’m sure the exceptions exist, however I certainly haven’t seen them. If we are able to separate something along those two lines, imagine how much better an application could look, while still allowing for updates post design.
There is the MVC, which is probably the best main stream architecture pattern there is, but I want more. - Databases changes are a pain to track. Making changes to the database are hard to track and easy to lose. When did we add that field? Is it on production — we have to look. What if we need to rollback? Yuck.
The best solution I’ve seen is the Ruby on Rails migrations. You can rollback, be database agnostic, keep changing in revision control, etc. - Requirements are not clear. Requirements should be semi-transparent before beginning work. Often times the programmer thinks that the person writing the requirements has thought through every case and has covered all of the important points. They are often very wrong. Not only is it difficult for the writer of the requirements to make things clear, they often are not aware of the underlying software architecture (or at least sub-architecture) that they are requesting be altered.
That means the solution to this problem lies with the programmer. Questioning, planning, and reviewing before beginning the task can save significant grief in the long term.
