At the end of September I travelled to Dresden for the PHP Developer Days 2018. The conference, organized by the Dresden PHP User Group, took place for the fourth time, but for the first time on two days: a workshop day and a conference day. On the day of the conference I was at the International Congress Center, but had already arrived the evening before to stroll through the Neustadt district of Dresden.
Dresden
I had visited the Saxon state capital only once a few years ago and touched the old town and the new town a little bit. This time I was only in the Neustadt, but a little longer. I ate delicious Czech "Knödel" with goulash and enjoyed some delicious beers in the Hopfenkult craft beer store and in the Zapfanstalt before returning to the hotel in the evening.
"PHP Developer Days 2018 in Dresden" vollständig lesen
Introduction
As you may know, I'm co-organizing two user groups, PHP User Group Rheinhessen and RheinMainJS, and although we've fortunately never had any complaints about or problems with abusive behavior or harassment, I would like to establish a Code of Conduct for these user groups.
Others have done this before: AmsterdamPHP has a Code of Conduct (CoC). phpMiNDS in Nottingham has one. Several user groups in Berlin support a CoC. A lot of conferences both in the PHP and JS communities have a Code of Conduct, e.g. phpDay and JSConf Europe among many others.
"User Group Code of Conduct" vollständig lesen
A couple of months ago, I had the chance to spend some days in Europe's youngest country: Kosovo. Depending on whom you ask, of course, it is or isn't a sovereign state. But since Germany recognizes it as independent state, I will treat it as such. It's complicated.
Unfortunately, I did not have as much time to travel the country as I would have liked, but I was keen to learn about local food and drinks, among a million other things (another blog post might follow). Also, as it happens so often, I caught a cold on my first day of travelling. Therefore I could not dive into as many activities as I had planned to.
Nevertheless, upon arriving in Pristina, Kosovo's capital, I was craving good food - and good beer. For I had searched the Internets before I left and I knew there was lots to discover. I even found the website of a craft brewery, yet was unsure how easy it would be to find their beer.
"Craft Beer in Kosovo" vollständig lesen
While preparing the April meetup of the PHP User Group Rheinhessen, Christian came up with an idea: Let's take a look at one of the least used and most "exotic" internal functions of PHP and discuss them. Soon, the question arose, "which functions are only infrequently used?" - A: "Let's take a look at PHP repos on Github!"
After studying Github's Search API, it soon became clear that it's not possible to search all PHP repositories for functions this way. What I had to do was to write a simple crawler that POSTed search queries to the search form on the Github website (while respecting the rate limit, of course).
The results were parsed and saved to a JSON file, and I built a bar chart that visualizes the collected data:
"The most frequently used PHP functions on GitHub" vollständig lesen
Only two days after I pushed the first version of my VersionEyeBundle for Symfony2 to GitHub, Fabien Potencier announced SensioLab's new Security Advisories Checker. This service work quite similar to VersionEye, but instead of uploading your composer.json
file your composer.lock
file is required to figure out which dependencies are really installed - and if there are any known security issues.
SensioLabs have an upload form in the browser, but conveniently offer an API, too. And, of course, the code of their security-checker is on GitHub. So what could be more natural than to add the results of the security check to the Web Profiler Toolbar right next to all the other useful information? Right. I wrote a second bundle, called VulnerabilitiesBundle, that displays security advisories in the toolbar and the profiler view.
Please keep in mind that this is an early development version that is only intended for use in DEV environments (even if it will be stable someday). It just doesn't make sense on production servers. Feel free to fork, test, and report any issues you encounter. Of course, contributions in the form of pull requests, are more than welcome