Posts tagged with opinion

$PHP = ????;

Simon Yousoufov argues that PHP is going the way of the dodo.

It’s well known that PHP is a dead programming language and that its 22-year-old ecosystem is effectively useless now that we have Node and its fancy new asynchronous frameworks. Node’s superiority is evident because everyone knows that single-threaded, asynchronous, programs are better by default. Faster. Stronger, even.

https://medium.com/fuzz/php-a0d0b1d365d8

Read more

Configuration-driven PHP security advice considered harmful

Scott Arciszewski debunks the commonly given advice on securing your PHP installation by setting some php.ini values.

There have been countless examples posted in various places (Reddit, Hacker News, Twitter, Facebook, Slashdot, and even LinkedIn group discussions), and while a handful occasionally contain one or two tips that might be beneficial towards securing your PHP applications, almost all of the advice they contain is either wrong, a huge waste of time, downright silly, or all of above.

As part of a team that specializes in application security (in particular: securing PHP applications), I feel it's high time someone cleared the air about this advice.

https://paragonie.com/blog/2017/01/configuration-driven-php-security-advice-considered-harmful

Read more

Join thousands of developers

Every two weeks, I share practical tips, tutorials, and behind-the-scenes insights from maintaining 300+ open source packages.

No spam. Unsubscribe anytime. You can also follow me on X.

Methods Are Affordances, Not Abilities

In a new post on his blog Adam Wathan explains his thinking on the meaning of having a method on an object.

The fundamental misunderstanding here is thinking that methods are things an object can do.

If you believe that the methods on an object represent the abilities of that object, then of course an Announcement having a broadcast() method sounds silly.

But what if methods weren't the things an object could do? What if they were the things you could do with that object?

If methods were the actions an object afforded us, then it would make perfect sense to be able to broadcast() an Announcement, wouldn't it?

https://adamwathan.me/2017/01/24/methods-are-affordances-not-abilities/

Read more

Does code need to be perfect?

Andreas Creten explains his view on wether you should always try to write perfect code. Spoiler: no.

The engineers want to write perfect code using the latest techniques, make sure that the code is well documented so they can fully understand how everything works and that it has tests so they can easily update things later. Product owners on the other hand just want things to be done, fast and cheap, so they can ship new features or convince new clients. How can you make these conflicting views work together?

https://medium.com/we-are-madewithlove/does-code-need-to-be-perfect-a53f36ad7163

Read more

Taking PHP Seriously

Keith Adams, Chief Architect at Slack, gives some background on how PHP is used at his company.

Slack uses PHP for most of its server-side application logic, which is an unusual choice these days. Why did we choose to build a new project in this language? Should you?

Most programmers who have only casually used PHP know two things about it: that it is a bad language, which they would never use if given the choice; and that some of the most extraordinarily successful projects in history use it. This is not quite a contradiction, but it should make us curious. Did Facebook, Wikipedia, Wordpress, Etsy, Baidu, Box, and more recently Slack all succeed in spite of using PHP? Would they all have been better off expressing their application in Ruby? Erlang? Haskell?

https://slack.engineering/taking-php-seriously-cf7a60065329

Read more

Laravel LTS is a Trap

A couple of months ago Jason McCreary, creator of Laravel Shift, wrote down his opinion on the Laravel's LTS release. I couldn't agree more with this piece.

The more developers that get trapped by LTS, the more of a drag it creates on the Laravel community. Potentially having adverse affects on its growth. Using LTS as a minimum compatibility line for a Laravel package or other third-party code is understandable. But freezing your apps to an LTS version is not. Your apps should run the latest stable version of Laravel.

https://medium.com/@jasonmccreary/laravel-lts-is-a-trap-97b1d1103961

Read more

On Technical Debt: Shoveling forward

Fred Hébert on his blog:

... sooner or later, people start misinterpreting the original intent and thinking of technical debt the same way you could think about financial debt: a lever to use in order to get something now and then pay the accrued cost progressively over time. This is however not how things feel from the technical person's point of view. ... Rather than focusing on why that is wrong, I want to propose an alternative analogy to describe the reality behind technical debt.

http://ferd.ca/on-technical-debt-shoveling-forward.html

Read more

CSI: PHP

Jeremy Kendall dissects bad PHP code on his site csiphp.com.

It all began with a new gig and an amazingly horrific codebase. I began tweeting the most unbelievable, most frustrating snippets I could find. After quite a few of those tweets, Chris Hartjes replied with, “Looking at your tweets I cannot even fathom what your job is. CSI:PHP?” A concept was born.

Twitter’s 140 characters are rarely enough to share the horrors of bad code, and I don’t want to give short shrift to the nefarious and misguided scripts that I’ve found. Behold the CSI: PHP blog, where I investigate criminally bad codebases and share the evidence with you, my fellow developers.

http://csiphp.com/

Read more

What does it take to be a great developer?

Eric L. Barnes asked this question to people with several backgrounds.

I love questions that can’t be answered with a simple yes or no. One question that I have been thinking about recently is, just what does it take to be a great developer?

I came up with tons of answers but felt like mine are all through my own lens, so I decided to reach out to a few people from different walks of life and just ask them. What follows is the answer by each person and their profession so you can compare and contrast.

https://dotdev.co/what-does-it-take-to-be-a-great-developer-a2eddb0c47e6#.sf8kwd8tv

Read more

Dropping the public keyword

Evert Pot makes some sound arguments in favor of dropping the public keyword.

I think people should be using "var" instead of "public". I realize that this is as controversial as tabs vs. spaces (as in: it doesn’t really matter but conjures heated discusssions), but hear me out!

Over the last year I’ve been going through all my open source projects, and I’ve been removing all the public declarations where this was possible.

...

"public" is completely optional. "public" is the default, so adding it does nothing to your code.

https://evertpot.com/drop-public-not-var/

Read more

The Anti-Turing Test

Facebook has recently launched a limited beta of its ground-breaking AI called M. M’s capabilities far exceed those of any competing AI. Where some AIs would be hard-pressed to tell you the weather conditions for more than one location (god forbid you go on a trip), M will tell you the weather forecast for every point on your route at the time you’re expected to get there, and also provide you with convenient gas station suggestions, account for traffic in its estimations, and provide you with options for food and entertainment at your destination. ... As many people have pointed out, there have been press releases stating that M is human-aided. However, the point of this article is not to figure out whether or not there are humans behind it, but to indisputably prove it.
https://medium.com/@arikaleph/facebook-m-the-anti-turing-test-74c5af19987c

Read more

The Star Wars Holiday Special

Like most geeks out there I'm a big fan of Star Wars. Many will agree that the original trilogy is far superior to the prequel triology. Until yesterday I thought Episode II was the worst movie of the entire series. But then I found out about the holiday special.

The Star Wars Holiday Special was made in 1978, a year after the original movie. The storyline (quoted from Wikipedia) sounds quite good:

... Chewbacca and Han Solo visit Kashyyyk, Chewbacca's home world, to celebrate Life Day. They are pursued by agents of the Galactic Empire, who are searching for members of the Rebel Alliance on the planet. The special introduces three members of Chewbacca's family: his father Itchy, his wife Malla, and his son Lumpy, though these names were later explained to have been nicknames, their full names being Attichitcuk, Mallatobuck, and Lumpawaroo, respectively.

During the special, scenes also take place in outer space and in spacecraft including the Millennium Falcon and an Imperial Star Destroyer. The variety-show segments and cartoon introduce a few other locales, such as a cantina on the desert planet of Tatooine and a gooey, reddish ocean planet known as Panna.

Luke Skywalker, Han Solo, Chewbacca, Princess Leia are all in there. But their presence absolutely doesn't hide the fact that it is a terrible terrible movie. Episode II is a genius work of art compared to this pile of crap. In it's day the movie received mostly very negative reviews. George Lucas agrees. He said this about the christmas special: "If I had the time and a sledgehammer, I would track down every copy of that show and smash it."

See the special for yourself on YouTube. But I recommend you don't.

To restore your faith in Star Wars watch the trailer of episode VII . Very much looking forward to that one.

https://www.youtube.com/watch?v=wCc2v7izk8w

Read more

The taxonomy of terrible programmers

I present you with the taxonomy of terrible software developers, the ecosystem of software critters and creatures who add a whole new meaning to the concept of “defensive programming.”

At one point or another, every programmer exists as at least one of these archetypes – the good ones see these bad habits in themselves and work to fix them over time. The bad ones… simply are.

http://www.aaronstannard.com/the-taxonomy-of-terrible-programmers/

Read more

What would make Laravel Forge even better

by Freek Van der Herten – 2 minute read

A little over a year ago Laravel Forge was launched. At Spatie we currently have 60 servers that are provisioned by and administered using it. I'm assuming we still hold the biggest Forge-account. By this time next year the number of servers will probably be higher. So yeah, I'm a very happy…

Read more

The case for maintainable code

Developers and their employers are often at odds over matters like clean or beautiful code and with good reason: neither ships a product or increases sales. Most end users don’t care what the code looks like, as long as the product works and meets their needs. That means that beautiful code goes out the window when the rubber meets the road and crunch time sets in.

The fact of the matter is that framing code discussions in terms of beauty or attractiveness doesn’t help the case for getting code that’s clean. But there’s another way to frame the discussion that makes more sense, and achieves both the goal of writing clean code and meets the needs of most businesses: the concept of maintainable code.

http://www.brandonsavage.net/the-case-for-maintainable-code/

Read more