Preparing for WordCamp

I will be speaking on upcoming WordCamp Niš next week, on the topic of Content Security Policy and how CSP can be used to improve WordPress website security.

You can see the detailed schedule for the WordCamp on the official website, and I am scheduled to talk at noon. And, in preparation for the talk, I have released the free plugin on WordPress.org for implementing CSP and various other security headers called GD Security Headers.

GD Security Headers: Dashboard

So, if you are coming to WordCamp Niš, stop by to hear more about WordPress and CSP. In the meantime, check out the plugin.

Saying goodbye to NetBeans

I have been using NetBeans as my main development environment for all my WordPress projects since 2011, and today, I am saddened that that is no longer the case and that I have removed NetBeans from my PC.

When I first started with WordPress development back in 2008 I used Nusphere phpED, but due to high licensing price, I started going through different editors.

NetBeans 7: Big step forward

And, in 2011 I found NetBeans version 7.0 that made it possible to use a single editor for PHP code and for the JS, CSS and HTML. On top of that, it was completely free and with a very vibrant development community, considering it was first and foremost made for Java development.

NetBeans IDE 10.0 – WordPress Project

At the time, I was more than impressed with what NetBeans can do, even if it was Java application that tends to be large and slow, but compared to other solution, that was not really a problem for me. There were issues with version 7.0, but, it was updated very often, and none of the bugs really caused major problems for me.

When I started using the NetBeans, I usually had one or two websites added as development projects, with a smaller number of plugins I was working on. When developing a new plugin, I used a new project to keep things cleaner. But, over time, that changed, and in one time I had over 40 plugins in active development and maintenance, across 10 or more development projects, all loaded in NetBeans.

NetBeans 8: first major problems

When NetBeans 8 was released in 2014, and at the time, I had a lot of projects I worked on, and NetBeans 8 was much better in handling projects then version 7 was, and even higher memory use was not a big deal.

But, the problems started when more complex JavaScript or PHP code with a lot of shared dependencies was used. NetBeans had trouble tracking what comes from where, and since I used shared library of code in all my plugins, this started causing problems:

  • Scanning for changes on startup could take 5 or more minutes
  • Random crashes during the various lookup procedures
  • Scanning JavaScript for changes could freeze the IDE, making typing impossible, code navigation and auto-complete disabled.

And, the only way to resolve all these issues was to kill the NetBeans process and run it again. And, for a while it would work fine (even for days), and again, would start acting up. There were some updates that made things better, but none of the problems were really resolved, and the whole core engine that deals with code scanning felt completely broken, that I had to disable background scanning for changes, making manual refreshes very problematic at time.

NetBeans 9: Apache Takeover, The Last Hope

I learned to work with all the NetBeans quirks, because I was hoping that Apache takeover would solve some very deep issues NetBeans has. So, I delayed switch to some other IDE, and I stick with NetBeans for few more years.

And, NetBeans 9 was released, that I had to skip, because there was no PHP support yet.

NetBeans 10: Nothing really changed

In December 2018, NetBeans 10, with PHP 7 support was released, and I was happy to switch and see how much better it was. And, to my huge disappointment, somehow, it has gotten worse.

Previous problems where the scanning for changes was freezing the IDE are causing more problems even the option for that is disabled (!) and auto complete in CSS and JS often doesn’t work at all. Sometimes when I start the IDE it freezes while checking projects, with high CPU usage, and only killing the NetBeans process and starting again works (and even then, I might need to do this few times before NetBeans can be used).

And, not that these are new problems, they have been reported as bugs way back when NetBeans 8 was first released, and yet, there is no bug fix that works properly.

On top of that, there are other things that should be working, and yet don’t, like no support for newer SCSS versions. Currently only Ruby version works directly, and that is no longer developed. Some addons made for older NetBeans versions don’t work with new one, and authors have abandoned them.

I understand that Apache transition will take time, and so far a lot has been done, but other then some small changes, NetBeans 10 is 95% the same as NetBeans 8, and with all the change in technologies in use today, that is simply not good enough.

Goodbye NetBeans

And, in February 2019, I started looking for the replacement IDE. I tried few things and landed finally on JetBrains PHPStorm. I will write about it in a separate post soon.

For now, I hope that Apache will make NetBeans into great IDE, but with the current development being done, I don’t see much changing in the next few years.

Have you used (or still use) NetBeans? What is your experience with it?

On development and more

Welcome to my new blog!

For the past 10 years, I posted a lot on my main website Dev4Press.com, and it was all related to WordPress development or my Dev4Press plugins for WordPress and bbPress.

Now, I want to write about some other things, still, mostly development related, and other things that I feel don’t belong on the Dev4Press main blog.