Hi Internals, If anyone is looking for help either developing extensions or work on internals/PHP core then the PHP chat room ('Room 11' aka R11) on StackOverflow quite often has some internals contributors lurking around, waiting for interesting conversations to take part in: https://chat.stackoverflow.com/rooms/11/php
There are guidelines for do's and don'ts here https://room-11.github.io/ but the main thing I would strongly recommend is that asking questions is a way more effective of gaining knowledge than "declaring solutions to a problem", particularly when not everyone agrees what the problem is. Unfortunately being able to write in StackOverflow chat does require 20 fake internet points (aka reputation). If anyone is desperate to join with a specific question and doesn't currently have enough reputation, feel free to contact me on Twitter (@MrDanack) and something can be arranged/manipulated. ## Thoughts on English + communication problems I realise I am lucky to be a native speaker of the language that happened to be the one most widely used for international communication, and so I've never had to endure having to ask technical questions in a language other than my own. Having said that ... ### Most people seem to underestimate their English skills Non-native English speaker: I am awfully sorry at the terrible state of my English abilities, as for the English language is not my mother tongue. I hope you forgive me for every foolish mistake I make. Native English speaker: lol, it okei. Most of the time, I am only reminded that someone is not a native English speaker, when they explicitly say it. ### There is no standard English There is 'quite' a bit of diversity in how English speakers talk. Even amongst native English speakers, there may be a small amount of effort needed by the recipient to understand what is being said. https://www.youtube.com/watch?v=bzDtmMXJ1B4 https://www.youtube.com/watch?v=WjTIFkWJctY * https://www.youtube.com/watch?v=G8LeDANQ7UE In Britain, it's always on the recipient to put the effort into understanding, or apologise for not understanding with something like "sorry, I don't quite get what you mean." Anyone who thinks less of someone else for not being fluent in English, probably isn't someone you would want to interact with anyway. ### There are more fundamental problems There's a couple of patterns I see, that seem to get in the way of having productive conversations. Some people write like this all the time not writing fully formed thoughts just typing as they think putting words in the chat room without forming long sentences into comprehensible thoughts Other people seem fundamentally unable to actually ask a question. i.e. they will describe a problem they have (sometimes with some code attached) and they expect someone to be able to read their mind, to see what precise question they want help with. Even when someone says "what is your exact question?", they don't seem to understand that a question needs to be asked, before it can be answered. There are other patterns, but this email is long enough already. But if anyone wants advice on how to communicate better, particularly if you're feeling frustrated about not feeling able to get your point across, feel free to ask me on twitter or Room11 (I check those more frequently than email). ## Other resources for internals development. At https://heap.space/ there is an instance of OpenGrok setup for PHP. OpenGrok is a search tool for code, and this site allows searching and navigating through various versions of PHP. The PHP Internals Book (http://www.phpinternalsbook.com/) is the most comprehensive resource for learning how PHP works internally, and how the functionality can be updated. I'd recommend reading all of it, but here are a few choice articles which are pretty vital to read. * Learning the PHP lifecycle: https://www.phpinternalsbook.com/php7/extensions_design/php_lifecycle.html * Zvals: https://www.phpinternalsbook.com/php7/zvals.html * Zend Memory Manager: https://www.phpinternalsbook.com/php7/memory_management/zend_memory_manager.htm Zend have a guide to 'Writing PHP Extensions' here: https://www.zend.com/resources/writing-php-extensions which apparently might be more up-to-date on some parts of PHP's internals. Thomas Weinert has a comprehensive set of examples (https://github.com/ThomasWeinert/php-extension-sample) of how to implement features in PHP internals, where each branch implements a single feature. The way to use this set of examples is to find the branch that contains what you want to implement, check it out, and then look at the commits in that branch to see what was done. cheers Dan Ack * the gentlemen in the second video were from less than 50 miles away from me. I am reasonably certain I understand spoken Dutch more than I understand them. I do not speak Dutch. -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: https://www.php.net/unsub.php