this is why we can't have nice things.
people dare to ask for help writing software that's sole purpose is to violate workers rights
A couple weeks ago @wmww was over and we talked for a while. He had an idea I'd like to put up here having let it sit for a bit.
The government should give organizations like Mozilla money based on the amount they accomplish, essentially buying free software for the world. The amount provided should be determined by competition amongst the various organizations, to encourage efficiency and effectiveness, but should be adjusted at a limited rate to insulate against political swings.
@sir Does this mean failing to call layer_surface.set_size() is legal if and only if all four edges are anchored?
That seems weird, but it's my best reading.
(Using masto because Matrix<>IRC is down, so I don't have a bouncer)
I've made a mock-up to illustrate my ideas about the next-gen terminal experience!
• the pathbar
• username, hostname and git branch displayed in the UI, shrinking the shell prompt back to just a $
• commands as cards
• syntax highlighting, including graying out the output a bit to differentiate it from commands themselves
• autocompletion (displayed in a native widget)
• built-in error handling options
• the time each command took (on the right)
"I very recently worked on the Edge team, and one of the reasons we decided to end EdgeHTML was because Google kept making changes to its sites that broke other browsers, and we couldn't keep up." https://news.ycombinator.com/item?id=18697824
@aral @Purism @gnome today I was told that google G Suite for education has 70m+ customers and that in the USA, two schools in three are using it. I haven't checked this figure, but if it is even close to being true we are placing the data of millions of children into the hands of the largest dealer in data on earth - before we even give them a choice.
A whole generation sold into data serfdom.
We have to get the technology you are talking about into the hands of educators.
If you were wondering, this is left pad.
Oh shit I forgot the base case.
pad :: ([1^.* 5^.] [2^.* 6^.] :: [1 2] -> pad -> [3^.*] [4^.*] :: [3 5] [4 6]) | ( [1^.* 2^.] ::   -> pad -> [3^.* 4^.*] :: [3 '0'] [4 2]) | ([1^.* 2^.]  ::   -> pad -> [3^.* 4^.*] :: [3 2] [4 '0']) | ( )
Sorry, this had some bugs in it. Corrected version:
pad :: ([1^.* 5^.] [2^.* 6^.] :: [1 2] -> pad -> [3^.*] [4^.*] :: [3 5] [4 6]) | ( [1^.* 2^.] ::   -> pad -> [3^.* 4^.*] :: [3 '0'] [4 2]) | ([1^.* 2^.]  ::   -> pad -> [3^.* 4^.*] :: [3 2] [4 '0'])
I write computer programs. Sometimes they do useful things, but I try to keep that to a minimum.