The Cloud is a Fun Place to Be

You have heard too much about fun, and most of it is not fun at all – but more like pain. Nevermind, we are told – they are much the same thing!

I am learning programming, again – because it is so entertaining. It’s not hard, great stuff keeps popping into my inbox – and all I have to do is read it, get a good laugh – and if it is really good – pass it on.

I am reading a good, free book now What is Serverless? And it is directing me to – https://charity.wtf/2016/05/31/wtf-is-operations-serverless/ – written by Charity Majors – and published on WordPress – the great blogging service I also use.

Charity is a woman – but a somewhat (shall we say) – unconventional one.

Check it out for yourself.

 

Advertisements

Functions in Psychology and Programming

I am studying Functional Programming, and also William James’ Essays in Radical Empiricism, a basic text in another field: Psychology.

Let me quote from the later:

For twenty years past I have mistrusted ‘consciousness’ as an entity; Let me then immediately explain that I mean only to deny that the word stands for an entity, but to insist most emphatically that it does stand for a function.

There is, I mean, no aboriginal stuff or quality of being, contrasted with that of which material objects are made, out of which our thoughts of them are made; but there is a function in experience which thoughts perform, and for the performance of which this quality of being is invoked. That function is knowing.

I could not find such a clear and succinct definition of function in Functional Programming – and in fact, from my exposure to function in Microsoft’s Azure Cloud – I can see it is something else there (just what, I am not sure). So I have come up with one of my own (using F# terminology):

Problems can be solved by the use of modules of functions. Input data passes through these, and is transformed into output data. The functions themselves must not change – and this restriction is what makes this type of programming so important.

It also makes it applicable to programming only – everything in the real word, that we use to manage things, changes – often radically. Perhaps we should make these more stable – and our world would become more manageable.

Psychology speaks of experiences, Programming speaks of data. Functions, in either case – are what manages this basic stuff.

Upload Instructions for the Sony W800/S

The user manual for this is minimal, and says nothing about how to upload your photos and videos to your computer. I had to figure this out for myself.

The first time you do this, Windows will have to find, and install a USB driver for your camera. You will have to upload all of your photos and videos at the same time, to the same folder. Once they are in your computer, you can rearrange them as you please.

Start off with with the camera turned off. Connect the USB cable to the camera and the computer. Turn on the camera, You will now see three screens on the Windows Explorer. Select the one smallest one, and select Import Pictures and Video on it. Provide a name for the folder they will be uploaded to on your computer. A window will open, showing the contents of this folder in your computer.

Disconnect the USB cable. Turn off the camera.

The Handy SD Card

The SD (Secure Digital) card is pushed into its slot, where it clicks into place. To remove it, you push down on it a little more, and it pops up, so you can grab it. Every digital camera has one, and this where they store the photos and videos that they make. Most laptops have a SD slot you can use also – when you put a card in there, it shows up as another drive on your computer, and you can move the files on the card to your computer – or put files from the computer onto it. Very handy!

The one I am using now had been used in two cameras before it – and they had cluttered it up. I took the SD card out of the camera, plugged it into the front of my computer – and deleted all that crap.

My camera now is a Sony W800/S that seems to be doing the camera-to-computer transfer correctly. When you use the USB cable to connect between them – the camera’s SD card shows up as another drive on the computer. And you can transfer the photos and videos automatically from the camera to your hard drive.

There is even a micro SD version that is so tiny it can be easily hidden.

The Philosophy Behind Functional Programming

The programming paradigm we have always used was Imperative Programming. A series of commands to the computer – do this, do this, and do this. This was enhanced in the Nineties with Object-Oriented Programming (OOP) where software objects were created, with their own internal programming and memory – little minicomputers of their own.

These communicated by sending messages to other objects – including the operating system (such as Microsoft’s Windows) that ran the machine they were on. Large libraries became available (such as Microsoft’s .NET) – that all the little objects could use.

The hardware all this was running also was simplified by the use of Chips (large-scale integrated circuits) that communicated over a data buss and an address buss. Messages were flying back and forth everywhere – and the situation became confusing, because some of these little pieces changed, without the other pieces knowing it.

Keeping everything sorted out became a huge nightmare that doomed many companies. If they fixed one piece of their code – something else broke down.

The solution was simple – all the little pieces had to keep functioning the same way. Mathematically, they had to perform functions, operations that never changed (were immutable). The data could flow through them, from one function to another – and would emerge in the end, as the final result.

This is so different from the usual programming style, most programmers will not use it. They insist on doing things the old way – no matter what. I have worked with these guys (and gals) and I saw this with my own eyes. They want control over their code, to do with as they please – regardless of how this affects others.

I am learning F#, a language Microsoft supports. But to do this I needed a Windows 10 computer. A bought a cheap one, for $180, but it is now in the trash – as I await the shipment of a new one costing $220.

Here I am in rural Costa Rica – but with a new laptop and a fast Internet connection. I get videos every day – giving me the latest software news – some of which are crazy.

I have to discipline myself, to only pay attention to a few of them.

Some things are Much Harder in Windows 10

Install WordPress for Windows

In my Windows 7 laptop, WordPress runs easily inside a Chrome tab. But with Windows 10, it has to be installed as a separate program – able to run on its own. The download for this is the longest I have ever experienced – and I have experienced a few.

It has to have its own database, so the download includes one by Microsoft – and this has to be installed also.

Altogether, a big deal.

How Microsoft Lost its Dominance

Back in the Nineties, Microsoft was a badass company – determined to eliminate all its rivals. Its business practices were so ruthless, practically every state was taking it to court – except the Feds, who talked the states into letting it take on Microsoft. It went through the motions of doing this, but eventually did little.

Other companies, Netscape and Sun Microsystems (both fine companies) tried to take it on – but failed.

But a new batch of companies – Google, Amazon, and Apple – succeeded.

Google led the way, by inventing a new service – Search. That quickly became indispensable, and generated huge revenues for Google when it added Advertising. It was in business to stay – and there was nothing Microsoft could do about that.

It invented its own search, Bing, but Google countered with a browser – Chrome, that soon took over. Google also took advantage of a new movement – Open Source, and provided much of the software (for free) that made AI such a force in the world. In a word, Google was Open, and forward-looking, and Microsoft was Closed. The world took no notice of this – it understands nothing about Software – but it should have.

Microsoft did respond – by becoming more Open with new versions of .NET, and new a new language, C# (using ideas taken from Java) that were cross-platform (that could run anywhere). It was forced to become better – and it did so – claiming it was its own idea all along.

I am now learning a new language, F#, that Microsoft supports – that it invented, in fact. Its documentation for this is excellent – it is now the Good Guy, helping everyone else. Using new versions of Visual Studio, its excellent IDE. It now wants you to get in bed with it.

People often ask me for my opinion about Windows 10, so here it is – Microsoft started by offering free upgrades to Windows 7 and 8 users. This exposed how buggy it was – Microsoft was using them to test its software. Not very ethical.

As Windows 10 improved, Microsoft dropped the free upgrade, and started charging for it. Windows 10 was actually a whole series of products, that kept getting better. But the best way to get it, was to buy a new computer with Windows 10 on it, There are some good laptops for about $200 that have this – but Microsoft wants you to spend $2000 for one. This is the bad old Microsoft again, intent on screwing everyone!