During a Laravel meetup last night the issue of timezones came up; I had seen this video before but it’s still entertaining and very poignant. This is why you do not want to deal with timezones when programming.
For what it’s worth, I have been lean on UTC unix timestamp and leave the timezone adjustments to the client when displaying the date and time. It’s not perfect but it covers the majority of cases.
Also, you should subscribe to the Computerphile’s Youtube channel.
It happens to all of us. We get a awesome idea, a world changer, an industry changer even. We plan it out, using some fancy or not so fancy tech; months go by, we make good progress, we near the end; we can see the light at the end of the tunnel…then, nothing. Knowing we could do it was enough, the project never reachs release.
Over the years I personally have gotten better about completing projects I start. One of the best ways was to clearly, and strongly define what ‘done’ means. Then pick half of that to be the target ‘done’. Applying the Scotty Principle but in reverse we can work backwards and figure out how much time and effort would be needed. Gauge that against how much time and effort you’re willing to devote, then divide in 1/2. What can you accomplish in that time frame? That is your ‘done’.
Using this process I have been able to release a number of small projects. None of them were meant to be big, granted, but they got finished and I am happy with the state they are in.
How do you keep motivation to complete projects? Let me know in the comments.
Blaine Osepchuk over on dev.to has an interesting counterpoint to Uncle Bob’s rip on the Atlantic’s article concerning software in safety critical usages. It is a good read and makes valid points (as does Uncle Bob typically, check him out as well).
Sometime we take the most basic of things for granted. Stable dependable internet, phone system, traffic control, having more than 50cents a day for food. Even with a mountain of obstacles Alvaro Videla persevered.