Perché la programmazione non è cambiata?

Quando un programmatore ha la testa infilata nel proprio editor, se la complessità della porzione di codice sulla quale sta lavorando va un po’ oltre Hello World, può succedere che a causa della concentrazione, dell’isolamento e dell’applicazione nel far funzionare il proprio codice, può venire totalmente astratto dal progetto, perdendo paradossalmente il focus sull’obiettivo finale.

“The problem is that software engineers don’t understand the problem they’re trying to solve, and don’t care to,” says Leveson, the MIT software-safety expert. The reason is that they’re too wrapped up in getting their code to work. “Software engineers like to provide all kinds of tools and stuff for coding errors,” she says, referring to IDEs. “The serious problems that have happened with software have to do with requirements, not coding errors.” When you’re writing code that controls a car’s throttle, for instance, what’s important is the rules about when and how and by how much to open it. But these systems have become so complicated that hardly anyone can keep them straight in their head. “There’s 100 million lines of code in cars now,” Leveson¹ says. “You just cannot anticipate all these things.”

James Somers ha pubblicato su The Atlantic un long-form sull’apocalisse del software. L’articolo attraversa analisi illuminanti sullo stato del lavoro di programmazione: si scrivono milioni di righe di codice che, causa la difficoltà nello scriverle, spesso astraggono lo sviluppatore dal problema per il quale quel codice si sta scrivendo.

I nostri team non hanno mai costruito un software per pilotare un Boeing 747 ma possiamo dire di aver comunque sviluppato software per grosse aziende e, dalla mia esperienza, in ogni progetto ho notato questo problema. Il focus sulla funzionalità del codice – sulle metodologie, sugli approcci, sulle strategie, sulla correzione degli errori e sulle logiche – ha causato qualche volta l’allontanamento dall’obiettivo finale, dal problema per il quale il software era in sviluppo.

La tecnologia si è evoluta, il modo in cui essa viene sviluppata è rimasto pressoché identico.

Il problema è quindi il codice?

The problem is that programmers are having a hard time keeping up with their own creations. Since the 1980s, the way programmers work and the tools they use have changed remarkably little. […] Computers had doubled in power every 18 months for the last 40 years. Why hadn’t programming changed? […] the idea that people were doing important work, like designing adaptive cruise-control systems or trying to understand cancer, by staring at a text editor, was appalling. And it was the proper job of programmers to ensure that someday they wouldn’t have to.

Obstinate, confident and megalomaniac

Mark Zuckerberg is the richest man in the world – or almost – and, like all richest men in the world – or almost – has his own clear objectives: he’s announced that with their wife Priscilla, will be devoted mainly at their charity foundation, Chan Zuckerberg Initiative, and less to his Facebook CEO role.

“Some nights I go to bed and I’m not sure if I made the right decisions.”

Many people bet that his love for humanity can it materialize in a call for the President of the United States of America new role.

The new one: “Give people the power to build community and bring the world closer together.” It’s a mouthful, but Zuckerberg suggests the tweaked focus will allow humanity to tackle “challenges we can only take on together,” such as “curing diseases, and stopping climate change, and spreading freedom and tolerance, and stopping violence.” He continues, “We have to build a world where people come together to take on these big, meaningful efforts.

Max Chafkin and Sarah Frier trace it a profile on Bloomberg, but they seem to paint the picture of an obstinate, confident and megalomaniac boy.

“There’s this myth in the world that business interests are not aligned with people’s interests. And I think more of the time than people want to admit, that’s not true. I think that they are pretty aligned.”

Easiest workflow with Todoist

My favorite app for a productive workflow is Todoist, a cross-platform project management software with awesome features without frivolousness. I use it from years; no competitor.

I delegate it all achievable things to remind. I don’t want to remember, I want reading every day a list, check when I achieve a task and forget it. Stop. To be clear, I’m not talking about the productivity methodologies or the better way to complete the most things in a less time etcetera, I talk about a simple and organized checklist to accomplish: Todoist excels.

Essentially I use my list in a simple way: I split my tasks into two separate sources: function (hosting, billings, managing, sales, and other areas) and customers. My functions are the projects, my customers are the labels. When I add a new task I’ll choose a function and one or more related customers (besides the deadline, priorities and potential notes). That’s all folk.

In this way all days I can easily detect tasks for the customers, for the functions or for a deadline (I prefer a view with next seven days).

Every day I follow my list, prioritize the tasks and challenge the day. If comings unexpected stuff – and it happens – I’ll have the free mind to think about. The rest are in Todoist’s hands.

Apple, FaceID and the mass surveillance

Apple doesn’t currently have access to the faceprint data that it stores on iPhones. But if the government attempted to forced Apple to change its operating system at the government’s behest — a tactic the FBI tried once already in the case of the locked phone of San Bernardino killer Syed Rizwan Farook — it could gain that access. And that could theoretically make Apple an irresistible target for a new type of mass surveillance order. The government could issue an order to Apple with a set of targets and instructions to scan iPhones, iPads, and Macs to search for specific targets based on FaceID, and then provide the government with those targets’ location based on the GPS data of devices that receive a match.

Jake Laperruque explains on Wired how Apple could become the new way to guarantee our¹ recognitions for the US Security Agencies. Theoretically and reasonably Apple built the best way to perform the mass surveillance. Welcome in 1984.

_
1. Not me, I use an Android phone.

I don’t know my passwords

I often read about the correct way to make your own personal password for online services: the algorithm. You must build your password following instructions and use the words, numbers, and symbols regarding your best movie, your favorite song, your birthdate, your football team best player and so on. Long and complex, if possible.

This method has a presupposition: you can’t forget how you have generated your password; you can’t forget your forgettable algorithm. A logical bug: if you forgot your algorithm, you forgot all your passwords (what happened, I know). And, in addition, if someone discovers your words keys, it can steal all your accesses.

Nope, I won’t remember my passwords, thanks.

I use LastPass on my browsers and on my mobile devices: the app generates for me the passwords with random characters. I don’t know my passwords. The software saves the keys and I use the software to sign in. Bye forgettable tricks.

Is it the right choice? Is it the most secure way? I’m sure that in this way the passwords are safe because stronger and, furthermore, I activated the two-factor authentication both for LastPass and all services that offer it.

LastPass it’s a secure platform? For now yes. Nothing is 100% secure, clear, but I trust.

I prefer to remember others useful and cool stuff.

Instapaper is for readers, Pocket for Mozilla

Reading later is usually a habit that I follow every day when I have some minutes of peace. I add articles and posts to my list in Instapaper from my feed reader, by a browser or via Twitter timeline. Sometimes my reading list became like a /dev/null folder, but with a load of patience and much free time, I successfully complete more reads.

Anyway, I said of Instapaper. I used Read it Later for years before it became Pocket, and I used Pocket too. But after a recent update for their Android app (and the Pinterest’s shopping) I’m definitely switched to Instapaper.

I’d like to highlight that I tried to switch back to Pocket several times, especially after the Mozilla acquisition, but each time I capitulate. Instapaper is for reading, Pocket is for sharing.

Instapaper has some features that in Pocket lacks, features that make reading more comfortable: for example the pagination. Yes, I know, even Pocket have the pagination, can be activated by flipping on the page but, in some cases, the results are damn illegible. Instagram has the pagination progress dots in an article and, in the list, a indicator for post length. Sublime for choice what read.

The highlight, oh yes the highlight. Underline parts of an article, share quotes – automatically or manually, as text or image, add notes, collect, search and archive them is a must have for all happy reader. The killing feature for me.

So, Pocket has other cool stuff if you want to share your posts or if you want to create a public collection, but missing reading power features. Mozilla bought Pocket to create a greedy ecosystem of relevant shared contents to suggest in their next browser version, and it’s a great thing, but I think that Mozilla still needs to invest on Pocket under pure reading profile and I hope that this takes place.

If you want mainly read and store your links and quotes, Instapaper wins hand down. For now.

Stay fanatic, stay foolish

I think that Apple will continue to have success until influential, excellent, significant and unfortunately conscious people will legitimize the company’s choices to indulge their religious, fashionista and golden-plated fanaticism.

Big IT corporations or USA Government?

Nick Srnicek is a lecturer in the digital economy at King’s College London and wrote on The Guardian a paper about the idea to nationalizing the ownership of Google, Facebook, Amazon, companies that are building a monopoly in specific industries.

We’ve only begun to grasp the problem, but in the past, natural monopolies like utilities and railways that enjoy huge economies of scale and serve the common good have been prime candidates for public ownership. The solution to our newfangled monopoly problem lies in this sort of age-old fix, updated for our digital age. It would mean taking back control over the internet and our digital infrastructure, instead of allowing them to be run in the pursuit of profit and power.

I haven’t the same authority, but at the bottom, I don’t know if nationalizing ownership for all big IT players that actually are building a monopoly it’s a feasible thing. And I don’t know if it’s a right and reasonable idea. Are a huge quantity of data: is it better than the ownership remain to a private company that profiles us offering advertise or sells us commercial products or that Governments (or USA Federal Security Agencies) comb through on our digital life to increase people control?

It can appear a controversial answer, but for now, I think to prefer that my data are on Google, Facebook or Amazon hands.

Come back to Linux, bye bye Windows 10

I switched from Mac OSX to Windows 10 in July 2016. I found a beautiful OS (better than the predecessors) and efficient at the end of the day. I used Windows 10 every day on a Microsoft Surface Pro 4 and for 14 months I’m satisfied enough. Enough.

Sure, because if I exclude web applications for online services (same UX on every OS) I found all right software for my daily workflow: clipboard manager, text expander, PDF management, screenshot tools, a good terminal and another brief list, but I did not find a simple thing rare to find with an OS: feeling.

No, right, I do not miss just the emotional involvement, I miss know to have the hands on the machine, the possibility to customize the OS as I expect. Windows 10 is a huge platform that works, but as other jumbos it’s hard to customize. If you want to stay with the offer, you can. But if you want to change some UX options, you can’t. Not are me to find out this, obviously, but now I’m slamming my nose against.

Customizing for me it means Linux. I used Linux for years while I attended the university. Slackware first, Debian and Ubuntu after. When I finished studies, since 2008, I believed that the right way to work with a featured notebook was a MacBook (the white) and I abandoned Linux OS for my workstation. How I was wrong.

I’ll keep my Microsoft laptop – for now – but on my new desktop workstation, I’ll install directly a Linux distro, again. I do not know yet if I’ll use Ubuntu Budgie, Ubuntu Gnome or Elementary OS, but just from now, I feel more free and peaceful.

Welcome back, past. Welcome, future.

Web Extensions for coming back to Firefox

From the beautiful and most fascinating CNET Special Report on the Mozilla Firefox rebirth:

But another change in Firefox 57 will break a venerable part of Firefox — the extensions technology that lets you customize the browser. For example, with extensions you can block ads, protect your privacy, download YouTube videos, translate websites and manage passwords. Extensions were a key advantage back when Mozilla first took on IE in 2004, but Mozilla is switching to Web Extensions, a variation of Chrome’s customization technology.

I found that the only reason that keeps me far away to Firefox is the poverty of their universe of extensions. Some are obsoleting, some with missing features and much others absent (comparing with Chrome, obviously). And it’s an absurd because Mozilla was the first browser with a large add-ons store.

Next big Firefox version it will provide the simplest way for developers to build extensions and convert a Chrome Extension to a Web Extension. It could be a comeback revolution and would be meaning a huge exodus to the Mozilla’s browser for all users, like me, that has lived a web diaspora.

Good news on the open side of the web.

Personal and partisan

Welcome to my umpteenth personal blog. The last one. Before I’ll open another one, of course. In English, this time, because I want to learn, because I want to compare myself with international standards, because my newsfeed is mostly in English, because I like it and because of my matters.

The blog hasn’t a predefined topic but orbit in the IT world: software, programming, managing and productivity. The themes which I use all days in office and read all nights on the bed.

Will be all personal and partisan opinions. I’ll write for me: thank you for reading, thank you for patience, for mistakes, for your support and welcome. Let’s start.