Become a Patron!

My Amazon wishlist can be found here.

Life Line

Walking: Southall to Uxbridge

There were strikes on this weekend, so instead of taking a train out of London for a walk, I decided to do a few urban Slow Ways routes, from Southall via Hounslow, Harlington, and Iver, to Uxbridge.

Southall has a brand new station, built for the Elizabeth Line, to replace the slightly dingy one just to the south. From here, I walked a short stretch along a few residential roads, although there was a nice cycle path along the road to the Grand Union Canal.

Fences :-(

Instead of going through Wolf Fields Park, the route took me around it with fences on both side. I don't know what. After a few more residential roads, I crossed under the M4 although the route's surroundings stayed the same. After crossing the A4 the route briefly goes through Lampton Park, where my planned route was blocked due to a new development. The detour through the park was probably more pleasant though. As it seems like a temporary blockage, I don't think the route needs adjusting.

A Road

From Hounslow Central I returned back towards Lampton Park, where a fun fair was just breaking up. This caused a few annoyances are trucks and cars where on the footpath in the park. Although the route tries to avoid main roads as much as possible, the slog along the A4 towards Heathrow was particularly unpleasant.

After crossing the River Crane, the walk finally moved away from a busy road, first along Cranford Park for a little, and then along a lane (with pavement) towards Harlington.

Cranford Park

After Harlington, the route continued much as before, by going along a lane. It was not busy with traffic, and there was a fair amount of open space so it wasn't that bad in the end. After going through the little village of Harmondsworth, the walk became actually pleasant, even though it started through a graveyard.

Blossom Snow

It was a little muddy going around Saxon Lake, but it was quiet and green with a white dusting of fallen blossom. The crossing underneath the M4 had some graffiti on it. Mostly the annoying kind.

Too Tall for the Tunnel

The route continued following the River Colne, through some nice green woods. There was then a short (but safe) section without pavement, and a very narrow footpath towards Thorney. Here the route went alongside a golf course, and it some points crossed it. Crossing underneath the Great Western Main Line was haphazard, as the tunnel was not quite high enough for me!

The route then followed the Colne Valley trail/footpath for a bit all the way towards the Grand Union Canal's Slough Arm. I always liked walking alongside it and this weekend was no exception.

The Slough Arm

After leaving the canal, the walk into Iver is again along a main road, as bridge across the canal had collapsed a few years ago.

Butterfly

Beyond Iver, my walk followed a section of the Beeches Way which I walked at the end of 2021.

After a lovely walk here, I crossed the M25 into London again. After a short stretch along Iver Lane, my walk joined the London LOOP along the lovely River Colne, with a fair amount of butterflies, to finally end up at some residential streets in Uxbridge, which brought me to the station, and then home (and the pub!).

Shortlink

This article has a short URL available: https://drck.me/sou-uxb-hwi

Comments

No comments yet

Xdebug at 21

Today Xdebug turned 21.

Over these last twenty-one years Xdebug grew from a little hack to make sure PHP wouldn't segfault when having infinite recursion, to a tool that is used by tens of thousands, if not hundreds of thousands, PHP developers.

This has mostly been the work by myself, with very few external contributions. That makes sense, as it hard to both understand the PHP engine well enough, as well as programming in C. Especially because lots of PHP internals are not actually documented.

Xdebug was developed on a mostly voluntary basis, with more recently through some sponsorship via Patreon and GitHub Sponsors, and through funding from Pro and Business supporters.

Beyond a brief period in early 2020 when I was rewriting Xdebug to version 3, this amounts to funding for about 25 hours a month, with a steady decline.

Twenty-five hours a month is about the minimum needed to maintain Xdebug for newer versions of PHP, including support for new features, as well as triaging and fixing bugs.

If you have been following my monthly reports, you probably have noticed that there is less activity, including in creating the reports and work logs.

But there are plenty of things that should be done, and several that would make Xdebug even more powerful in streamlining debugging and improving your applications. These are also things I would like to work on.

Current features that (in my opinion) need improvement are:

Profiling

The profiler is old code, and fairly messy. It is only possible to start the profiler for the whole of the request, and not only a part of it.

There are also bugs with cycle detection (function A calls function B calls function A) that need investigating.

It should be rewritten, which is luckily easier to do after Xdebug's new modes architecture.

Code Coverage

The current code coverage feature keeps static information about which functions have lines and paths in the same data structure as the dynamic data collection that is recorded when the script runs. This causes problems.

I have a fix, but it slows down coverage by 50%. Before I can merge it, that needs addressing.

Among the new features that I like to contribute to Xdebug are:

Native Path Mappings

Currently Xdebug does not map paths between local files, and remote and/or generated files. There are some frameworks which rewrite developer-written-classes to a new version with additional functionality, but as a different file name.

Similarly Xdebug can not translate between local and remote paths, which causes confusion such as in this PhpStorm ticket.

Introducing native path mapping would address both these issues.

An implementation could also make it possible to debug generated PHP files, say from templates. Although PhpStorm has some capabilities for this for Twig and Blade templates, it is not supported for other template systems.

A native implementation in Xdebug also could make this working better and faster for what PhpStorm already does.

Time Travel Debugging

My tongue-in-cheek April Fools' post hinted at this already.

Time Travel Debugging would allow somebody that runs a PHP request (either you as developer, or a customer running your on-premise application) to record its whole execution, including all intermediate states (variable contents, etc.), and source files.

By having this available in one file, a wrapper could then play this back pretending it was running a live request, through already existing debugging front-ends, such as the one in PhpStorm, the PHP Debug Adapter for Visual Studio Code, and many others.

Besides being able to step forwards, it would also support stepping back, and even seeking to every possible state in the request.

All four of these ideas require a large amount of work, and hence, time. I can not currently dedicate that time as there is not enough support for me to work on Xdebug.

I am highly appreciative of my Patreon patrons and GitHub sponsors, but I feel that support for Xdebug (and other Open Source) should come from companies who's developers make use it, and not the individual developers themselves.

Xdebug currently has a few Pro, and eight Business supporters. But there are currently only eight, where the ideal number would be around forty.

If you, or ideally your company, uses Xdebug often, or would like to see the above mentioned features in Xdebug, then I would implore to ask your company to sign up for Business support. I will gladly sit down with you and your team for an hour as well to discuss problems and answer questions. Feel free to contact me with any questions.

In the past 21 years I have enjoyed working on Xdebug immensely, and I hope to be able to do this for another 21 years. Happy Birthday!

Shortlink

This article has a short URL available: https://drck.me/xdebug21-hw7

Comments

No comments yet

Walking: Horsley to Guildford

I had a lovely walk last week, from East Horsley to Guildford via Gomshall, but didn't find the time to write up an article about it then, so here I am catching up.

I started my walk at Horsley station, which isn't exactly the start of the Slow Ways route. I didn't walk to the starting point along a busy road, so I found myself some footpaths instead. They were fairly muddy, and there was a steepish climb involved.

Sun in the Woods

When the real route started, the walk was delightful. So much green, with very little mud. The chalky nature of the North Downs, which I walked some years ago kept the paths easy going.

There were many woods, and even a sawmill. At some point the Sun came out which made this walk even nicer. There a few steep ascents, and the descent towards Gomshall was also steep, and very muddy. There was however no alternative.

Baaah!

In Gomshall, the second route starts, and I got a little lost as to where the path was. Instead of where my map showed it to be, it was well hidden at the back of a village hall car park!

After leaving Gomshall along some sports fields, much of the route followed the Pilgrim's Way, a sort of alternative to the parallel North Downs Way, but then on the other side of the valley. Although it had rained, there was very little mud, which I much appreciated.

The village of Shere was really nice, and apparently very interesting, as there was a whole bus of Asian tourists to come and have a look at the church. If they had gone slightly passed it, they would also have seen a whole bunch of newly born lambs.

View of the North Downs

Further west of Shere, the views of the North Downs were stunning, and I had a really lovely time walking here.

Mile Path

There were empty fields, old oak trees, and rolling clouds. One of the woodlands also had many patches with blue bells. I took some time to explore and attempt some photos. I was fairly pleased that I did not "have" to go up to the top of Martha's Hill though.

The walk into Guildford was through a fairly steep ascent along the Mile Path. The ground was dry, and again, all the colours were so fresh and green.

Buzzz!

It was fairly busy here, with it being so close to Guildford, and especially on a nice warm sunny day as it was, I can't blame them, or this lovely bumble bee from having a great day out!

After crossing Pewley Down it was then a steepish descent into Guildford, and the train home.

Shortlink

This article has a short URL available: https://drck.me/hor-gui-hvo

Comments

No comments yet