#DailyBloggingChallenge (151/200)
Lots of websites these days are being first built on the client. This can easily be checked when downloading the #website does not align with the #HTML from the inspector.
This has the benefit for the provider to save transfer cost, though on the flip side, the client will need to have a specific amount of #hardware to successfully render the site.
#DailyBloggingChallenge (150/200)
Designing themes with #Vuetify is fairly straightforward, the difficulty is creating a #design or color palette in the first place.
In this approach the "import full palette" method was chosen. This consists of importing the color palette and assigning each color an unique identifier. The type `ThemeDefinition` exists to help with naming conventions. The addition name to add is `accent` which should fit well with the `primary` and `secondary` colors.
Later when the #theme is being built one can directly choose from the palette.
#DailyBloggingChallenge (149/200)
#TIL that the female #human has on average proportionally shorter legs in respect to their body height compared to their male counterparts.
This could also be the explanation why on average the female human is biologically predisposed to be able to touch their feet with their hands while keeping their legs straight.
#DailyBloggingChallenge (148/200)
Currently just imagining the idea of surpassing #weeklyOSM $w$ blog count with the DailyBloggingChallenge $d$.
To calculate the weeks number $x$, one sets $w(x) = d(x)$ with $w(x) = 700 + x$ and $d(x) = 148 + 7x$. This makes $x = 92$ weeks or 645 days until surpassed.
So just before #weeklyOSM800 (relatively speaking) edition, the DailyBloggingChallenge would overhaul it.
Well before fantasizing of hypothetical goals, I should stick with the current goal of 200.
#DailyBloggingChallenge (147/200)
As an active participant of the @weeklyOSM project which is celebrating its 700th weekly news update, one gets to admire a long lasting community project.
This would put the first edition almost 14a ago, which is only a couple years after the #OpenStreetMap project started.
There are a lot of people working behind the scenes of gathering the news stories, writing up a small summary, translating these into the variously languages, proof reading, and finally publishing at the end of the week.
#DailyBloggingChallenge (146/200)
One downside of #Croatia opening its borders to be part of #Schengen is that when flying into #Zagreb with #RyanAir is that there is a high chance that it will continue its flight outside of Schengen. This means that the plane will park at the international terminal making it more convenient for the upcoming passengers. Though the current passengers get to be conveyed with buses to the terminal.
On the flip side when flying out to Schengen area is similar as before with access to most amenities.
They put border patrol right in front of the gate. Instead of having it right after security which most airports follow.
#DailyBloggingChallenge (145/200)
The `TagTable` has a `photo_ids_list` which contain each photo or video with the specific tag. Further each `id` is either prepended by `thumb` for photo and `video-` for video. The `id` itself is saved as a hexadecimal number.
Once one has the `id`'s as a decimal number, one can use it to search through either the `PhotoTable` or `VideoTable`.
#DailyBloggingChallenge (144/200)
One downside of using #Shotwell as a photo and video manager is that it isn't that straight forward to extract tags from videos as it is with photos. With photos one can grab the data directly with an #exif tool.
After going through the source code and battling with #sqlite and #bash, I got a script that extracts tags from both media formats.
The nice thing is that it is more performant than the previous script I was using only for images.
@mdione in term of tiles.
And the 1m or 5m was done in north Europe. Don't know how valid the 1m is in OsmAnd since one needs to zoom into the max and then hold down on the "zoom in" or "zoom out" button and choose 400%.
#DailyBloggingChallenge (143/200)
TIL how zooming on maps work. The fascinating part is how much data needs to be store to make it feel seamlessly.
In (1) they work with an initial presetation of Earth on a 256px x 256px square for a zoom of 0.
When zooming in by one level the spuare length is doubled and thereby the Earth is being presented on 4 times 256px x 256px square for a zoom of 1.
This can be generalized to $4^{zoom}$ for square count and $squareLength_0 * 2^{zoom}$ for square length.
#LeafletJs states in (1) that tile servers max out at a zoom level of 18, whereas #OpenStreetMap's website goes to zoom 19. At zoom 19 the legend distance is at 5m. On #OsmAnd the max zoom achieves a legend distance of 1m.
One can just imagine how much data is being stored/provided to achieve such a zoom level of detail.
References:
#DailyBloggingChallenge (142/200)
TIL that the #Jenga instructions differ depending on the language.
In English it says that after taking a block from the tower to place it on the top. Whereas in German it adds the additional information that it needs to be perpendicular to the blocks on the layer below it.
That additional info reduces the amount of choices from infinity down to a minimum of three as long as the distance from the center is not considered.
Let the smallest area of sides be denoted front $F$ and back $B$ and the center line as $C$. Then typically the distance of $|F - C| = |B - C| = b/2$ with $b$ as block length. Though, no where in the rules does it say that this equation has to hold up. Let $R := \{<,=,>\}$ be a relation, then $|F - C| R |B - C|$ is still true with $|F - C| \in [0, b]$. Since the distance $|F - C|$ from the center is in a non one element interval, there are infinite solutions. (1)
To get the minimum of three, one needs to count the amount of ways one can place a block, which is three: smallest area side, mid area side, and largest area side.
Additionally to this placement there is a rotation variable $r$ which has to be 90° or $\pi/2$. Otherwise without this restriction $r \in [0, \pi)$ and this would again give infinite solutions.
So going from the English instructions which would create infinite placement options down to German instructions, without (1), would give 3 placement possibilities.
Technically speaking, placing the blocks on the largest area side is a house rule.
#DailyBloggingChallenge (141/200)
#Karlsruhe belongs to one of the best mapped cities in Germany. The amount of amenities is fascinating, the thing that they are lacking is the amount of detail, though this is also secondary.
The challenge with such locations is to find something to add; updating or modifying is much easier. One thing that is lacking, with no surprise, is the taxon details of trees, since this an expert and niche area at the same time. Also seems like partially playground equipment and cigarette vending machines.
#DailyBloggingChallenge (140/200)
TIL that if you are planning to use #botox in the future it is better to start earlier, usually around the age of 30. The issue that usually happens is that people wait until their mid 40s and hope that botox can correct their wrinkles, so it looks quite mask like. This mask like presentation comes from when the wrinkles do not align with the emotions.
At least in Germany, a medical doctor needs to do the procedure, since botox is a nerve poison. Due to this factor any minimal mistake will make one carry around that mistake for about 4-5 months. This is about the time needed for the nerves to recover themselves from the poison.
For those considering the practice the best tactic is to use just enough botox so that one gets the desired look without becoming mask like.
#DailyBloggingChallenge (139/200)
Let `p` be price of cup and `w` be hourly work cost. Then the cost `C` of preparation per cup is
```
C = p + w * t
```
for time `t` in hours.
If we take a look at the three cup example for satiation of a meal `M`.
```
M = 3 * C = 3 * (p + w * 0.083)
```
Let's take a look at various price points `p = {0.8, 1.5, 3.5}` and various hourly wages `w = {20, 50, 100}`. Then this gives us the table `WP`.
| w\p | 0.8 | 1.5 | 3.5 |
| ------ | ------- | ------- | -------- |
| 20 | 7.4 | 9.5 | 15.5 |
| 50 | 14.5 | 17 | 23 |
| 100 | 27.4 | 29.5 | 35.5 |
Now considering that whole food costs a fraction `p_f` of the price of convenience food, though in return needs more prep time `t_f`.
This gives us the new equation of
```
C_f = p_f * p + w * t * t_f
```
and
```
M_f = 3 * C_f = 3 * (p_f * p + w * t * t_f)
```
We will look at `p_f = {0.5, 0.8}` and `t_f = {5, 10}`; only on the last two columns of the previous table `WP`.
First we will multiply `p_f * p` and `t * t_f`, so that we can use the equation `M`.
Let table `P` be
| `p_f\p` | 1.5 | 3.5 |
| ---------------- | ------- | ------- |
| 0.5 | 0.75 | 1.75 |
| 0.8 | 1.2 | 2.8 |
and table `T` be
| `t_f\t` | 0.083 |
| ---------------- | --------- |
| 5 | 0.42 |
| 10 | 0.83 |
This give us the equation
```
M_f = 3 * C_f = 3 * (P + w * T)
```
and the table `WTF`
| `w\t_f` | 0.42 | 0.83 |
| ---------------- | -------- | ------- |
| 20 | 8.4 | 16.6 |
| 50 | 21 | 41.5 |
| 100 | 42 | 83 |
with this we can finally calculate the table `WPF`
| `w*t_f\p_f` | 0.75 | 1.2 | 1.75 | 2.8 |
| ------ | ------- | ------- | -------- |
| 8.4 | 27.45 | 28.8 | 30.45 | 33.6 |
| 16.6 | 52.5 | 53.85 | 55.5 | 58.65 |
| 21 | 65.25 | 66.6 | 68.25 | 71.4 |
| 42 | 130.5 | 131.85 | 133.5 | 136.65 |
| 83 | 251.25 | 252.6 | 254.25 | 257.4 |
since 41.5 and 42 are close, we omitted the prior one.
The table `WPF` shows that considering one's own wage price for food prep, then a meal becomes quite expensive.
So next time one complains how expensive a meal is at the #restaurant, one can compare how expensive it would be if one prepped it oneself.
@Neblib also one needs to have the storage capacity
#DailyBloggingChallenge (138/200)
Over the past two days, I was living off of 5min quick make foods meaning one just needs to add hot water, stir, and wait.
Each meal/cup had a dry weight of about 60g and ca 250g wet weight. And it would take about 3 cups to be satiated.
Considering that the price per cup ranged from 0.80-3.50€ and the convenience factor, it can be quite an expensive luxury, depending on what price tag one puts on one's own working time.
If one's working time cost is 0.00€, then one is looking at 10.50€ per meal. Now considering one would buy the raw ingredients, which would on average cost only a fraction of the price, then one quickly realizes the luxury of such quick convenience foods.
#DailyBloggingChallenge (137/200)
When looking at short term memory, a portion of it is the active working memory.
One way to look at the active working memory is like matrix multiplication.
Let's say one gets a 5 digit number. It is fairly simple to return that number in the same order as given, which would equate to the identity matrix.
If one had to invert the order of number, then the diagonal of the matrix would be flipped compared to the identity matrix, so equating to a negative determinant.
Now imagine if one had to do more complex calculations like ordering the months of the year alphabetically. Creating a matrix that transposes the months vector is initially not that simple, though once instantiated, it becomes quite simple to repeat.
Depending on how many row alterations are needed, starting from the identity matrix could be a way to quantify the complexity of the task.
#ShortTermMemory #ActiveWorkingMemory #memory #matrix #MatrixMultiplication #maths
#DailyBloggingChallenge (136/200)
TIL in psychology that we retain all information up to 0.5s before filtering away the unnecessary data.
This was shown through an experiment where subjects were shown 4 characters for 50ms and asked to recall the information. The active recall is where most of the data transfer was lost.
#DailyBloggingChallenge (135/200)
Some times one questions how the price of an item was decided on. Like take for example pickles, there are multiple options at the store although they all have basically the same ingredients.
One could claim one is paying extra for the brand. That would be fine if the brand was actually good, though lots of times, I have found the no name brand or store brand is better than some specific big name brand.
#DailyBloggingChallenge (134/200)
Today after getting the weekly #OpenStreetMap recap out of the way, I wanted to clean up my personal notes on #OsmAnd. I started with 132 notes and was able to reduce it down to 40. Most of them were single node edits and some were large area edits like between Starnberg and Weßling.
I made the earlier comment of outdated data there and after updating some areas, I realized that a good chunk of the data hasn't been touched since 2011.
While doing this editing I listed to the "Humans of the Trail" podcast and the episode (https://podcasters.spotify.com/pod/show/humansofthetrail/episodes/Humans-of-the-Trail-Episode-36---How-to-become-a-Highlander-with-Ariana-Veoi-e20id1f) that triggered me to continue editing was the one on #highlander (https://www.highlanderadventure.com/). I did a quick sweep of their homepage and notice their adventure routes are hosted via OSM with the option to download the GPX files. The sad part is that some adventures are hosted in map data dead zones, thus I have decided to give those areas a touch up.
The first spot will be #Montana and have noticed previous mappers have used #Strava's heat map for a more concrete path through wooded areas. Sometimes one can tell that a path exists because of a dedicated imprint in the forest cover, though most the time that's not sufficient enough to be quantified as qualitative data.
Thus, if one combines Highlander adventures, which have up to 300 participants and if 5% track the journey with Strava, this gives quite a good notion where a trail should be.
This same process can be used in any combination of events plus Strava, as long as the participants stay on the dedicated paths.
I am a strong proponent of leaving this planet better behind than when I arrived on it. Thus to get the most bang for a lifetime my key focus is #longevity which I attempt to achieve with #nutrition specifically #plantbased.
Longevity is good and all as long as you are not frail and weak. Ideally would be to die young at an old age. Thus I incorporate tactics from #biohacking and #primalfitness. Additionally I am an advocate of #wildcrafting, which is a super set of #herbalism.
Studied many fields of science like maths or statistics, though the constant was always computer science.
Currently working as a fullstack web developer, though prefer to call myself a #SoftwareCrafter.
The goal of my side projects is to practice #GreenDevelopement meaning to create mainly static websites. The way the internet was intended to be.
On the artistic side, to dub all content under the Creative Commons license. Thereby, ideally, only using tools and resources that are #FLOSS #OpenSource. #nobot