In IT software development the „not invented here syndrome“ is a very well known disease that many software developers succumb to. It basically sais, that in nearly all cases an already existing software library for a given task will not be used but instead a solution for the same problem will be re-implemented again. The solution needs to „be implemented here“ for being considered good.
Knowing this dilemma I always forced myself to first look for existing solutions or libraries, before I ever started my own implementation. But a short while ago, I found out that this opposite approach is also too extreme. The ideal solution depends on some criteria that need to be measured objectively:
- Is there an existing solution for your problem. You need to check. And more often than you might expect, there already is an existing library for your task.
- What is the learning curve for the existing lib? Is it easy to use?
- How close is the existing implementation to your exact needs? Does it need to be customized?
Depending on 2. and 3. it might very well be wise to actually do re-implement your own solution. You will know its internal workings and it will implicitly be exactly tailored to your needs.
So in the future think carefully: Use the existing lib or implement your own one. If you decide to implement your own solution, then please at least publish it as open source, because for what you learned from the existing implementations.
Somehow humans always seem to have some problems to wind their heads around the concept of time itself. For us ‚time‘ is and always has been a topic of longer discussions.
Actually time is something very simple: It is a dimension, that everything constantly travels along in the same direction. We cannot change the speed or direction of our travel along this time axis. It’s just always there.
Now we’ve invented names for certain points in time. But due to our limit thinking of „day and night“, we’ve come up with several systems that assign different names for the same point in time. For example January 1st, 1970 12:00 o’clock GMT (or UTC) is the same as January 1st, 1970, 14:00 o’clock in UTC-02:00 (Brazil). This is actually the same point in time in the universe. But depending in which time zone you currently are, you’d assign this instant a different name.
Computers generally calculate in „milliseconds since the epoc“, ie. the number of milliseconds that have passed since one defined moment in time. This has the advantage, that two of those millis can easily be subtracted from each other, to get the difference between the two points in time. But this format needs to be converted to your local representation, according to your local time zone.
What if there was a scanner, that would be able to able to scan for complexity. Imagine a tool just like an infrared camera that shows a heatmap from dark green for low complexity up to bright red for high complexity. What would this scanner actully show on its display? What would be the brightest red thing? Would it be our brain? Or would it be a computer processor chip?
In terms of complexity per area I think it would be the computer processor. A modern computer processor nowadays is that small, and has so many switches per square milimeter that it surpases the complexity of a human brain.
But be carefull! Do not confuse complexity with intelligence. Complexity is a passive attribute of a system. When a system consinsts of a certain amount of elements that interact with each other, its behaviour cannot be determined, even if the interaction between each individual pair of elements is known. „The sum of all parts is greater than the whole.“
Some very disturbing situations may occure, when someone does not perceive the complexity of a thing. Very often I find myself in the situation that I (metaphorically described) see someone trying to repair a computer processor with a soldering iron. I fell the urge to cry out: „No, please stop! You will destroy your chip! A chip is far to complex. It cannot be repaired with a soldering iron.“ But it doesn’t help.
If you like trecking or biking, you’ll provably have probably already heard of mapping apps for your smartphone. I’d like to present the apps that I use on my iPhone.
The basic version of Ape@Map is for free. It’s killer feature that distinguishes it from other apps is a very detailed topigraphic map (for germany and austria) for free. Of course it also support open maps such as OpenCycleMap and OpenStreetMap. ApeMap also has a 3D view. But its rendering is quite slow compared to the other apps.
Additional licences for professional maps (like the ones from „Kompass“) can be bought via in-app purchase. The app is quite easy to use, once you got used to their icon driven UI. Downloading of maps locally to your device for offline use is only possible with the professional version „ApeMap Pro“ which costs 21.99€
The best iPhone hiking map apps weiterlesen