Assorted replies and acknowledgements


Tomasino wrote about tabs vs spaces[1], and tfurrows weighed in on the

subject too[2]. I am a bit of a heretic about this. I am primarily a

Python programmer (although, at least in principle, I am supposed to

be shifting effort to Lua and/or Go to better prepare myself for

programming in confined spaces. Contrary to what Tomasino said, the

Python language spec doesn't require spaces - the interpreter will

happily accept tabs, and will even let you mix tabs and spaces within

a file, so long as you don't mix them on the same line. However, the

official style guide declares spaces to be the preferred good style,

and the community is pretty fanatical about enforcing this. You will

be a pariah in the Python FOSS community if you insist on using tabs,

and so 99% of code does not.

Personally, I think this is totally backward and if I had the power, I

would convert the entire Python community to using tabs. The main

reason is that it is the default of every sane editor on every

platform from any point in computing history that pressing the "tab"

character (which is, of course, how every sane programmer indents

their code) generates - what else? - a tab? Getting the "correct"

Pythonic behaviour requires configuring your editor to act in a

non-standard way, ideally only for .py files. Now, this is easily

done in any text editor worth using, but it is problematic in that it

is very easy to not set this up everywhere. You can (and I have),

write a Python script on your main development machine, where your

.vimrc is all happily pimped out for producing lovely .py files,

deploy that script on a server somewhere and, later, while ssh'ed into

that machine, quickly and unthinkingly make a small tweak/fix in

default vim, thus introducing tabs amongst the spaces. You can't see

that this has happened, until your code starts acting screwy because

it isn't indented as many characters as you think it is. This can be

a nightmare of a bug. And obviously in a Real Proper Development

Environment with Serious Business apps you don't do this, debugging

directly on the production server with an uncustomised editor. But in

a hobby project environment, everyone does this from time to time. It

shouldn't really be that big a deal. But with Python, it is, and I

hate it.

Any programming convention which results in source files which can be

subtly and invisibly corrupted by editing them with a default install

of either of the two most popular editors in *nixdom is ipso facto a

in its favour. Sorry, Python community, but this is just obviously

true.

tfurrows wondered if one approach was more portable than the other.

I'd be happy to learn otherwise, but I am pretty sure there is no

difference - they are both standard ASCII characters.

yargo[3] and tfurrows[4] wrote about decentralisation of the public

access unix scene, and tfurrows mentioned "SDF gets a lot of

participation, but it's hard to get participation on some of the other

systems out there". This is very true. SDF is, as far as I know, by

far the most active and best-known of all the public access systems,

and I am pretty sure that the imbalance is totally out of proportion

to the quality of the systems. SDF is by no means terrible, but it

has its fair share of problems and I have a hard time believing that

every other system is far worse. Most likely, what is responsible

here is the fact that PAU systems unfortunately tend to share the

"network effect" that drives commecial social media. Things like

BBOARD and COM are only visible to other users of the same system (I

have written about this before[5]). If you join a system with a large

userbase, you can communiate with a lot of people about a lot of

things. If you join a smaller, newer system, you will have nobody to

talk to. This leads to a "rich get richer" effect, where people

preferentially join large, established communities even if arguably

superior smaller communities exist. This is a very powerful effect.

Even Google, with absurd amounts of money and brainpower, couldn't

beat this effect displace Facebook. I think it's unfortunate that our

systems have this effect in common, I think it hampers

decentralisation, but I don't know what to do about it.

Finally, tfurrows wrote[6] about disk encryption, in the context of

imagining "Big Brother" accessing his files. I think it's a genuine

tragedy that these kinds of thought experiments can no longer be

dismissed off the cuff. Once upon a time, if the government wanted to

spy on you, they had to send goons to stealthily break into your house

and plant bugs or cameras. Then men with sunglasses in large white

vans had to sit on the street out your house to receive the signals.

This kind of spying doesn't scale well. You have to buy bugs and

vans, and pay your goons salaries. Spying on twice as many people

costs roughly twice as much. Any intelligence agency with a finite

budget has a limited number of people they can spy on per year. If

the agency is rational, they will target "important" people (according

to some notion of who they "should" be spying on, whether you agree

with that notion or not). Unless you are involved in heavy crimes or

perhaps are an active political dissident, basic economics is enough

to very strongly suggest that you are not being spied upon.

All of this logic is out the window today. Most people voluntarily,

and at their own expense, surround themselves almost constantly with a

significant number of internet-connected devices running closed source

software and equipped with cameras and/or microphones. We are footing

the bill for our own bugs. Yes, the spooks have to find a way to

defeat whatever security these devices come with, and that might be

very hard and expensive. But once it's done for a common enough

device, it can be applied to millions of targets at very little extra

cost. It's actually economically viable to spy on a non-trivial

number of "complete nobodies", just in case. This could be done, so

it probably is.

Whereas once you had to be a little irrational to believe Big Brother

was watching little old you, nowadays you have to be pretty

technologically illiterate to think in the same way. We've ended up

in a world where the more you know about computer security, the

bearing down on you. That's a terribly psychologically unhealthy

world to live in, IMHO.

[1] gopher://gopher.black:70/1/phlog/20180729-tabs-vs-spaces

[2] gopher://sdf.org:70/0/users/tfurrows/phlog/2018/ah6_spacesAndTabs.txt

[3] gopher://circumlunar.space:70/0/~yargo/clog/zn-on-time-flu.txt

[4] gopher://sdf.org:70/0/users/tfurrows/phlog/2018/ah6_redundantPubnix.txt

[5] gopher://circumlunar.space:70/0/~solderpunk/phlog/two-walls-good-four-walls-bad.txt

[6] gopher://sdf.org:70/0/users/tfurrows/phlog/2018/ah9_diskEncryption.txt

Proxy Information
Original URL
gemini://zaibatsu.circumlunar.space/~solderpunk/phlog/assorted-replies-and-acknowldgements-06.txt
Status Code
Success (20)
Meta
text/plain; charset=utf-8
Capsule Response Time
401.740007 milliseconds
Gemini-to-HTML Time
1.550274 milliseconds

This content has been proxied by September (ba2dc).