Simon blogs

Started by Simon, October 18, 2015, 06:05:44 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

ccexplore

Quote from: Simon on April 25, 2017, 10:17:27 AMThe bottom is a boring stem that tastes like wood.

Perhaps you need better recipes. :P To be fair it does take a little bit of work to get around the woodiness.  You typically need to peel off a bit of the tough outer parts then slice it fairly thinly.  Then you can use it kind of like a carrot in say an Asian-style stir fry or something.

Anyway, broccoli isn't exactly my favorite vegetable regardless of which part.  It's for the most part not too terrible but typically I feel like in most cases you can substitute a better vegetable.  I especially hate eating it raw.

Quote from: Simon on April 25, 2017, 10:17:27 AMPerformance is broccoli. Open source is broccoli. D templates are broccoli.

Not disputing the spirit of the blog post, but if broccoli is a feature, seems like we are stretching the word "feature" a bit to cover something like "performance" or even "open source".

Simon

#61
Yeah, "feature" is stretched by what I wrote. What's a better word? :lix-grin: I already like how "issue" matches the reporter's point of view, where "bug" carries a judgement by the dev. I still use "bug" because the word feels so appropriate.




Calendar

I wrote a PM on how I'll stream the Lix multiplayer on Saturday, April 29, 16:00 UTC. In the PM, I wrote "Saturday, April 30", which is rubbish. I had to send a second PM to fix the date.

I was in a meeting yesterday, they discussed a schedule printed on paper. The schedule designer got a date wrong, but the weekday correct. The meeting spent two minutes agreeing on the right date, fixing it on everybody's printouts.

This happens all around the globe and costs billions of dollars. The poor dinosaurs died so that we can waste energy on the same pattern every time: Relating to the day of the week is easy. Day of the months have no meaning. Months by themselves feel interesting.

The solution is to adopt hexadecimal, then number the days from the beginning of the year. // TODO: is year still a reasonable outermost cycle? Doesn't align with the days

One week doubleweek heek is 0x10 days. The last digit of the date is the day of the heek. You can have 5 or 6 free days in a heek, which is a higher ratio than 2/7. Fix this ratio by removing Easter and other UI sins. Dates go from 0x000 to 0x16E, the first two digits of a date feel month-like. The revolting French didn't get their metric calendar past the church, but this is better anyway. :>

This is not new, I'm sure others have had the exact same idea.




Good image viewers for the command line: They must be dependency-lightweight and cycle between files in the selected dir. Eye of Gnome was good back on Debian 6 when I used the Gnome desktop. Here, on Arch with the xfce4 desktop, I don't want to install half of Gnome merely for an image viewer. Image viewer is now feh. :lix-evil:

DESCRIPTION
     feh
is a mode-based image viewer.  It is especially aimed at command line
     users who need a fast image viewer without huge GUI dependencies, though
     it can also be started by (graphical) file managers to view an image.
:lix-grin:

-- Simon

ccexplore

Hmm, so if the calendar entry is serious and I read it correctly, the heekly cycle abruptly resets at the end of the year going into a new year?  I guess I could live with that (well, as long as it translates to a built-in shortened work week and not an extra-long one).  It is kind of unfortunate that it currently takes approximately 365 days for the earth to revolve around the sun, and 365 only factorizes into 5 x 73, making some sort of irregularity kind of inevitable (even ignoring the need for leap days).

How does one screw up the date anyway nowadays, when even your phone probably has a calendar to check with? ;)

ccexplore

Come to think of it, the 7-day week basically comes out of the Bible.  Kind of makes me wonder how other calendar systems with no biblical influences do weeks.  I'd guess there are probably some (maybe even most?) that only have months with the occasional scattering of holidays here and there? :scared:

This really makes one appreciate the phrase "thank god it's Friday".  Without the week based on Genesis with a church-mandated day of rest, we could well have ended up with a lot less free days.  You can indeed thank (Judeo-Christian) god and religion for having the tradition of weekends.

Colorful Arty

Good luck implementing this change Simon. Also, you can't just get rid of Easter; no Christian is going to accept that. ;P

Nepster

Sorry, but I feel that a lot of the latest arguments are not quite thought through:

Quote from: Colorful Arty on April 27, 2017, 01:49:30 PM
Also, you can't just get rid of Easter; no Christian is going to accept that. ;P
And what about Jews, Muslims, Hindi, Buddhists, ... who get useless work-free days, but have to work on their own religious fests? A much better suggestion is to remove all religious holidays, but give employees some more vacation days. This of course creates other problems of its own, but at least it respects all religions.

Quote from: ccexplore on April 27, 2017, 10:40:26 AM
Come to think of it, the 7-day week basically comes out of the Bible.  Kind of makes me wonder how other calendar systems with no biblical influences do weeks. 
And as current dicture says that the bible are not the words of God directly, this should make you wonder how the 7-day week got to make its appearance in the bible in the first place... I believe the answer lies in the lunar cycle of 28 days. This is a very convenient time measure between single days and years, that can be checked almost every night, and where you can even measure ratios by the moon's appearance. So it makes sense to define weeks as quarters of the lunar cycle.

Quote from: ccexplore on April 27, 2017, 10:40:26 AM
This really makes one appreciate the phrase "thank god it's Friday".  Without the week based on Genesis with a church-mandated day of rest, we could well have ended up with a lot less free days.  You can indeed thank (Judeo-Christian) god and religion for having the tradition of weekends.
I highly doubt your last sentence. If I remember correctly, in Germany we switched from the 6-day work-week to the 5-day one in the 1950s. While Germany was a lot more religious at that time than it is now, barely any change in legislature or every-day life was dictated by religious concerns. Actually I cannot even think of any religious reason for this change, especially as the bible seem to suggest working on 6 days a week. Therefore I conjecture that for any community, there is an inverse relationship between the average working hours and the technical/social development, regardless of any religious concerns.

Quote from: Simon on April 27, 2017, 06:38:01 AM
The solution is to adopt hexadecimal, then number the days from the beginning of the year.

One week doubleweek heek is 0x10 days. The last digit of the date is the day of the heek. You can have 5 or 6 free days in a heek, which is a higher ratio than 2/7. Fix this ratio by removing Easter and other UI sins. Dates go from 0x000 to 0x16E, the first two digits of a date feel month-like. The revolting French didn't get their metric calendar past the church, but this is better anyway. :>
You completely failed to demonstrate why this change would solve any problem at all!
1) You mistakenly wrote "Saturday, April 30", but with your change you would have written "Saturday, 0x78", which is equally wrong. Sure, it is easier to see that the 8th day of the heek is not a Saturday, but what does that help? Did you intend to write "Octaday, 0x78" or perhaps "Saturday, 0x76"? And if you would just have written "0x78" without the day of the week, but meant "0x76", then noone would have realized that something is wrong here.
Note that you got the day of the week correctly, but messed up the date. So adding the day of the week (which is more or less independant of the date) adds a way to check the correctness, similar to checksums of bank accounts IDs.
2) Assume you want to compute the date of 20 days in the future, starting with May 21 or 0x8D. Do you really think that computing this is hex is less error-prone than in the current way? Sure, now you have to know how many days the month May has, but I would say this is pretty common knowledge ;). In any case the errors comes from the change of the month resp. heek.
3) Finally your choice of hex is completely arbitrary: Why not use the base 7 which ties nicely to the current week scheme? Then each day of the year has a 3-digit number, and we only have to take the last three weeks of every year as vacation, because we cannot express the date any more ;P

Simon

#66
Quote from: Colorful Arty on April 27, 2017, 01:49:30 PM
you can't just get rid of Easter; no Christian is going to accept that. ;P

Christians can celebrate that, I don't mind. But mandatory work-free days are not good, especially when they're as irregular as Easter. I am arguing from the standpoint of simplicity, but Nepster's secular argument is equally important.

Quote1) You mistakenly wrote "Saturday, April 30", but with your change you would have written "Saturday, 0x78", which is equally wrong. Sure, it is easier to see that the 8th day of the heek is not a Saturday, but what does that help? Did you intend to write "Octaday, 0x78" or perhaps "Saturday, 0x76"? And if you would just have written "0x78" without the day of the week, but meant "0x76", then noone would have realized that something is wrong here.
Note that you got the day of the week correctly, but messed up the date. So adding the day of the week (which is more or less independant of the date) adds a way to check the correctness, similar to checksums of bank accounts IDs.

I would have written 0x76. The last digit of the date carries all the emotional meaning that "Saturday" carries today. There is no need to annotate the 6 à la "day 6 of the heek, 0x76".

In hex calendar, the mistake would happen so rarely that we don't need the checksum anymore. The mistake happens today because the day of the month carries almost no feelings. I don't care whether it's the 29th or 30th, but I certainly care whether it's Saturday or Sunday. In the hex calendar, we imbue this care into the date.

This is really the heart of the argument. I want to design the error out of existence, not find ways to fix it after it happens.

Quote2) Assume you want to compute the date of 20 days in the future, starting with May 21 or 0x8D. Do you really think that computing this is hex is less error-prone than in the current way? Sure, now you have to know how many days the month May has, but I would say this is pretty common knowledge ;). In any case the errors comes from the change of the month resp. heek.

0x8D + 0x14 = 0xA1. This is straightforward.

May 20 + 20 days = May 31 + 9 days = June 0 + 9 days = June 9. This requires an extra step without any gain. Even though everybody knows that May ends after 31 days, it's a mental dependency. Whenever you can remove the need to think during a computation, you have more time to focus on more interesting things.

Quote3) Finally your choice of hex is completely arbitrary: Why not use the base 7 which ties nicely to the current week scheme? Then each day of the year has a 3-digit number, and we only have to take the last three weeks of every year as vacation, because we cannot express the date any more ;P

Hex has lots of powers of 2 in the base. You rarely want to divide by anything else. The usual counterargument I get here is "But what if you have one cake and 3 children?", to which the answer is "But what if you have one cake and 11 children? Why shouldn't the base be 1*2*3*...*19*20?"

Hex has an integral square root, 4, of the base 16. This makes it much easier to learn by heart the multiplication tables: In base 10, you must memorize everything. But in hex, you can learn the multiplication table for base 4, then split each hex digit into first and second nibblet, and do four multiplications in base 4. After you did this often enough, you'll see the emerging patterns. You'll grow accustomed to multiplication in base-16 in one go, and don't have to split into nibblets anymore.

Base 4 has both properties, too, but it's low. Base 64 is too high. Hex is the perfect base.

-- Simon

Nepster

Quote from: Simon on April 27, 2017, 05:18:16 PM
I would have written 0x76. The last digit of the date carries all the emotional meaning that "Saturday" carries today. There is no need to annotate the 6 à la "day 6 of the heek, 0x76".

In hex calendar, the mistake would happen so rarely that we don't need the checksum anymore. The mistake happens today because the day of the month carries almost no feelings. I don't care whether it's the 29th or 30th, but I certainly care whether it's Saturday or Sunday. In the hex calendar, we imbue this care into the date.
The question is: Is it more important that the person writing the date can check whether the date confirms with the intended day of the week, or is it more important the the audience can check this? As I don't have faith in general people to actually check whether the date they arrive at makes any sense at all, I very much like the ability to make a sensibility-check myself.

Quote from: Simon on April 27, 2017, 05:18:16 PM
0x8D + 0x14 = 0xA1. This is straightforward.
Go out on the streets and ask the first passer-by to compute that...

Quote from: Simon on April 27, 2017, 05:18:16 PM
Hex has lots of powers of 2 in the base. You rarely want to divide by anything else. [...]
Hex has an integral square root, 4, of the base 16. This makes it much easier to learn by heart the multiplication tables: [..]
When was the last time you wanted to divide or multiply the current date?

Simon

Quote from: Nepster on April 27, 2017, 05:32:01 PM
The question is: Is it more important that the person writing the date can check whether the date confirms with the intended day of the week, or is it more important the the audience can check this? As I don't have faith in general people to actually check whether the date they arrive at makes any sense at all, I very much like the ability to make a sensibility-check myself.

You propose that everybody deliver the checksum with the date -- not only when it's super important, but almost every time a date appears. Why do you like this only for dates? Are dates so much more important than anything else?

Would you like it for phone numbers, too? A culturally-encouraged hash whenever you write a reallife address or email address? Do you want the checksums for money, with the bank transferring lottery winnings saying "+1,000,000, one million euros, 11333311 in base-7"?

In the month-week system, you cannot get away from checksumming, and the system is complicated enough that it requires checksumming in the first place. Do you really see no complexity problem in the two misfitting bases running alongside each other, with the month base even changing between months, and the weeks not resetting between years?

Quote
Go out on the streets and ask the first passer-by to compute that...
When was the last time you wanted to divide or multiply the current date?

The assumption is that hex should be used not only for the calendar, but for everything, abolishing decimal. <_< You can certainly use decimal to count days from the beginning of the year, but then you'll have to fix the calendar again two years later when I push for hex-for-everything.

-- Simon

Colorful Arty

This is a very interesting topic. While hexadecimal is very useful, your average joe has never even heard of it, meaning changing it will be very difficult.

Also, I guess I misunderstood your point about Easter; my bad. The problem with adding more vacation days and removing mandatory holidays is that you could run into a situation where your department is so busy at Eastertime, taking Easter off isn't really an option. My solution is just give everyone their religious holidays off, but they don't have to take days off for religious holidays that they don't celebrate.

Simon

Hnn, thanks. :lix-grin:

Most likely, in 50 years, we'll still use the old calendar and teach decimal in elementary school.

I merely got bitten by the same problem with dates twice in succession. I still believe that counting from beginning of year, merging the principles behind weeks and months, reduces 90 % of mistakes. I may have presented the design slightly too provocatively; I've tried to match this topic's tone.

-- Simon

Nepster

Quote from: Simon on April 27, 2017, 05:46:58 PM
You propose that everybody deliver the checksum with the date -- not only when it's super important, but almost every time a date appears. Why do you like this only for dates? Are dates so much more important than anything else?

Would you like it for phone numbers, too? A culturally-encouraged hash whenever you write a reallife address or email address? Do you want the checksums for money, with the bank transferring lottery winnings saying "+1,000,000, one million euros, 11333311 in base-7"?

In the month-week system, you cannot get away from checksumming, and the system is complicated enough that it requires checksumming in the first place. Do you really see no complexity problem in the two misfitting bases running alongside each other, with the month base even changing between months, and the weeks not resetting between years?
Average Joe does mathy computations with dates, but rarely does computations with email addresses or lottery winnings. And if my supermarket cashier regularly gets the return money wrong, I doubt you can make the date system so easy, that our Average Joe reliably gets it right.
Of course, the current system is complex and could be easier. But I still prefer it with its checksum property over a slightly easier system without checksum.

Quote from: Colorful Arty on April 27, 2017, 05:49:10 PM
The problem with adding more vacation days and removing mandatory holidays is that you could run into a situation where your department is so busy at Eastertime, taking Easter off isn't really an option. My solution is just give everyone their religious holidays off, but they don't have to take days off for religious holidays that they don't celebrate.
Only slightly exaggerating: Your system basically amounts to giving all people off the whole year and tell them to report when they want to work. That's basically the inverted version of my own suggestion.

ccexplore

Quote from: Nepster on April 27, 2017, 04:30:47 PM
Quote from: ccexplore on April 27, 2017, 10:40:26 AM
This really makes one appreciate the phrase "thank god it's Friday".<snip>
I highly doubt your last sentence.<snip>

Sorry, I really should clarify.  In terms of religious influences I'm primarily thinking specifically of Sundays only.  I'm aware that how Saturdays are handled wrt work week differs a little from place to place and time to time.  As such maybe it is a bad choice to talk about TGIF which most definitely references a 2-day weekend starting on Saturday.

My main point is more about the possibility that there could've been no weekends at all.  Certainly from point of view of a pre-industrial, primarily agrarian society, it's not like you would stop feeding your chickens and do whatever daily tasks a farmer/rancher needs to do just because it happens to be a certain day of the week.

It is interesting though that you point out the 28-day lunar cycle could form an alternate basis for a 7-day week, I haven't considered that. 8-)

Simon

#73
Root partition

Tips around the internet suggest about 20 GB for the root partition on a typical Linux home system. The root partition hosts the operating system, programs installed for all users, libraries, temporary files, ... almost anything except for your personal data.

20 GB is too little in 2017. Anything with multimedia is fat, even when it doesn't yet output files. A workable system is already 5 GB. The video codec suite ffmpeg together with CUDA and other dependencies easily eats 5 GB. Maybe the OS wants to store old packages for emergency downgrades, etc., another few GB. Latex with common packages is over 1 GB. Interested in programming projects in different languages? Several hundred MB for each environment with libraries and toolchain.

40 GB seems much more adequate. When you can fit a walrus on the root partition, it's adequately sized. I conjecture we need 80 GB in 2030, 160 GB in 2040, doubling every 10 years. When I'll be 85 years old, in 2070, let's check how accurate this guess was.



-- Simon

ccexplore

Not much familiarity with Linux, but the fact that apparently installed programs and libraries has to go to the root partition too sounds like it could be tricky to keep it lean.

Out of curiosity, what are the advantages to separating personal data into its own partition?  It seems quite annoying being forced to make a choice in the allocation of storage for root versus non-root.