PHP devs, if you havenโt tried @phpstan yet, youโre missing out. Think of it as TypeScript for PHPโsuper handy. I just published a video explaining why you need it in your workflow!
(video bellow)
@Boulanger Bonjour, jโai achetรฉ un four chez vous le 15/07/2025. Depuis, il est hors service malgrรฉ 6 interventions techniques en 2 mois. SAV inefficace : je suis sans four et toujours relancรฉ pour piรจces. Puis-je espรฉrer un remboursement rapide?Merci. #Rรฉclamation#ServiceClient
Last week, I delivered my State of Drupal keynote at DrupalCon Europe. I demoed 17 key innovations in Drupal Starshot, including AI for site building, the experience builder, recipes, and more. Watch the demo at https://t.co/bMUOyOjNK2! #DrupalCon#Drupal
If you want to use the single file components You need to listen to this episode: Single File Components and Static Drupal Websites with @drupalsam
https://t.co/L9cYBfKUv9
nobody will remember:
- your salary
- how โbusy you wereโ
- how many hours you worked
people will remember:
- that PR with 14,276 changes
- the time you force pushed to main
โจ Photo AI is now 2x to 3x faster at generating images because of speed up hack by @philz1337x and @anotherjesse (at @Replicate) which downloads AI model weights files in parallel instead of sync
Before it took 70 seconds to download a 4GB file
Now it takes 4 seconds
The worst was that those 70 seconds ran on the GPU so that cost me GPU time which was about $12,000/month without even using the GPU
Now avg gen time of 40-50 seconds for one image at high resolution
Thanks to everyone who attended my @varnishcache for #kubernetes talk at @k8sug#singapore ๐ธ๐ฌ tonight.
I promised to share the slides, so here they are: https://t.co/WPC0ZDiGrs
๐๐ฒ๐ฎ๐ฟ๐ป ๐ณ๐๐ป๐ฑ๐ฎ๐บ๐ฒ๐ป๐๐ฎ๐น๐ ๐ป๐ผ๐ ๐ณ๐ฟ๐ฎ๐บ๐ฒ๐๐ผ๐ฟ๐ธ๐
We, as developers, like to learn new stuff and try it ASAP. That stuff consists mainly of new frameworks and tools (such as React, Angular, Spring, Web Forms, etc.). Yet, those frameworks usually have ๐ฎ ๐๐ต๐ผ๐ฟ๐ ๐น๐ถ๐ณ๐ฒ, ๐ฎ ๐๐ผ ๐ฑ ๐๐ฒ๐ฎ๐ฟ๐ ๐ฎ๐ ๐๐ต๐ฒ๐ถ๐ฟ ๐ฏ๐ฒ๐๐. Instead of learning frameworks, which are needed to some extent, we should focus more on learning fundamentals.
๐๐ฒ๐ฎ๐ฟ๐ป๐ถ๐ป๐ด ๐๐ต๐ฒ ๐ณ๐๐ป๐ฑ๐ฎ๐บ๐ฒ๐ป๐๐ฎ๐น๐ ๐ผ๐ณ ๐๐ผ๐ณ๐๐๐ฎ๐ฟ๐ฒ ๐ฑ๐ฒ๐๐ฒ๐น๐ผ๐ฝ๐บ๐ฒ๐ป๐ allows a developer to understand the underlying principles and concepts common across different frameworks and programming languages. This understanding allows for more flexibility and adaptability when working with new technologies or facing problems that a specific framework may not quickly solve.
Additionally, a strong understanding of the fundamentals can lead to ๐บ๐ผ๐ฟ๐ฒ ๐ฒ๐ณ๐ณ๐ถ๐ฐ๐ถ๐ฒ๐ป๐ ๐ฎ๐ป๐ฑ ๐ฒ๐ณ๐ณ๐ฒ๐ฐ๐๐ถ๐๐ฒ ๐๐๐ฒ ๐ผ๐ณ ๐ณ๐ฟ๐ฎ๐บ๐ฒ๐๐ผ๐ฟ๐ธ๐, as the developer can better understand how to customize and extend them to meet specific needs.
Take an example of a web application that allows users to upload and share images, e.g., Ruby on Rails, and its functionalities for image processing. If the number of users increases, we could struggle with performance issues if we know only the framework well. Yet, if we understand the fundamentals of web development, we could identify bottlenecks and try different solutions, such as using CDN-s, optimizing image sizes, using various storage solutions, etc.
So, which fundamentals to learn:
๐น ๐๐น๐ด๐ผ๐ฟ๐ถ๐๐ต๐บ๐
๐น ๐๐ฎ๐๐ฎ ๐๐ผ๐๐ฟ๐ฐ๐ฒ๐
๐น ๐๐น๐ฒ๐ฎ๐ป ๐ฐ๐ผ๐ฑ๐ฒ
๐น ๐๐ฒ๐๐ถ๐ด๐ป ๐ฝ๐ฎ๐๐๐ฒ๐ฟ๐ป๐
๐น ๐๐ถ๐๐๐ฟ๐ถ๐ฏ๐๐๐ฒ๐ฑ ๐๐ผ๐บ๐ฝ๐๐๐ถ๐ป๐ด ๐ฃ๐ฎ๐๐๐ฒ๐ฟ๐ป๐
๐น ๐ง๐ฒ๐๐๐ถ๐ป๐ด
๐น ๐ฆ๐๐๐๐ฒ๐บ ๐๐ฒ๐๐ถ๐ด๐ป
Try to learn those fundamentals, buy and read these books:
๐ธ ๐๐น๐ฒ๐ฎ๐ป ๐๐ผ๐ฑ๐ฒ
๐ธ ๐ง๐ต๐ฒ ๐ฃ๐ฟ๐ฎ๐ด๐บ๐ฎ๐๐ถ๐ฐ ๐ฃ๐ฟ๐ผ๐ด๐ฟ๐ฎ๐บ๐บ๐ฒ๐ฟ
๐ธ ๐๐ผ๐ฑ๐ฒ ๐๐ผ๐บ๐ฝ๐น๐ฒ๐๐ฒ
๐ธ ๐๐ฒ๐๐ถ๐ด๐ป ๐ฃ๐ฎ๐๐๐ฒ๐ฟ๐ป๐: ๐๐น๐ฒ๐บ๐ฒ๐ป๐๐ ๐ผ๐ณ ๐ฅ๐ฒ๐๐๐ฎ๐ฏ๐น๐ฒ ๐ข๐ฏ๐ท๐ฒ๐ฐ๐-๐ข๐ฟ๐ถ๐ฒ๐ป๐๐ฒ๐ฑ ๐ฆ๐ผ๐ณ๐๐๐ฎ๐ฟ๐ฒ
๐ธ ๐๐ป๐๐ฟ๐ผ๐ฑ๐๐ฐ๐๐ถ๐ผ๐ป ๐๐ผ ๐๐น๐ด๐ผ๐ฟ๐ถ๐๐ต๐บ๐
#softwareengineering #programming #developers #softwaredesign #techworldwithmilan
Very exciting news from the #DrupalConPortland Driesnote - introducing Drupal Starshot, a new version of #Drupal! ๐ซ Read the full announcement now in the official press release: https://t.co/O1zCoIownz
Drupal's Webform is a powerful, versatile module. But you need to do something with those form submissions. Here's an easy way to automate that process without writing any code.
https://t.co/Rux31A2rgV
Drupal 11 development has reached a point where the system requirements are being raised in the development branch. To prepare core developers for this and to inform the community at large, we are announcing the following requirements for Drupal 11. https://t.co/eov2jsT6pT
The Drupal Gin Admin Theme reached a pretty remarkable milestone with exceeding 50,000 Drupal site installs, which is incredible! ๐๐๐ #OpenSource#Drupal#GinAdminTheme#DrupalThanks
๐ง๐ผ๐ฝ ๐ฎ๐ฌ ๐ฆ๐ค๐ ๐พ๐๐ฒ๐ฟ๐ ๐ผ๐ฝ๐๐ถ๐บ๐ถ๐๐ฎ๐๐ถ๐ผ๐ป ๐๐ฒ๐ฐ๐ต๐ป๐ถ๐พ๐๐ฒ๐
Here is the list of the top 20 SQL query optimization techniques I found noteworthy:
1. Create an index on huge tables (>1.000.000) rows
2. Use EXIST() instead of COUNT() to find an element in the table
3. SELECT fields instead of using SELECT *
4. Avoid Subqueries in WHERE Clause
5. Avoid SELECT DISTINCT where possible
6. Use WHERE Clause instead of HAVING
7. Create joins with INNER JOIN (not WHERE)
8. Use LIMIT to sample query results
9. Use UNION ALL instead of UNION wherever possible
10. Use UNION where instead of WHERE ... or ... query.
11. Run your query during off-peak hours
12. Avoid using OR in join queries
14. Choose GROUP BY over window functions
15. Use derived and temporary tables
16. Drop the index before loading bulk data
16. Use materialized views instead of views
17. Avoid != or <> (not equal) operator
18. Minimize the number of subqueries
19. Use INNER join as little as possible when you can get the same output using LEFT/RIGHT join.
20. Frequently try to use temporary sources to retrieve the same dataset.
Do you know what is ๐ค๐๐ฒ๐ฟ๐ ๐ข๐ฝ๐๐ถ๐บ๐ถ๐๐ฒ๐ฟ? Its primary function is to determine ๐๐ต๐ฒ ๐บ๐ผ๐๐ ๐ฒ๐ณ๐ณ๐ถ๐ฐ๐ถ๐ฒ๐ป๐ ๐๐ฎ๐ to execute a given SQL query by finding the best execution plan. The query optimizer takes the SQL query as input and analyzes it to determine how best to execute it. The first step is to parse the SQL query and create a syntax tree. The optimizer then analyzes the syntax tree to determine how to run the query.
Next, the optimizer generates ๐ฎ๐น๐๐ฒ๐ฟ๐ป๐ฎ๐๐ถ๐๐ฒ ๐ฒ๐ ๐ฒ๐ฐ๐๐๐ถ๐ผ๐ป ๐ฝ๐น๐ฎ๐ป๐, which are different ways of executing the same query. Each execution plan specifies the order in which the tables should be accessed, the join methods, and any filtering or sorting operations. The optimizer then assigns a ๐ฐ๐ผ๐๐ to each execution plan based on the number of disk reads and the CPU time required to execute the query.
Finally, the optimizer ๐ฐ๐ต๐ผ๐ผ๐๐ฒ๐ ๐๐ต๐ฒ ๐ฒ๐ ๐ฒ๐ฐ๐๐๐ถ๐ผ๐ป ๐ฝ๐น๐ฎ๐ป with the lowest cost as the optimal execution plan for the query. This plan is then used to execute the query.
Check in the image the ๐ผ๐ฟ๐ฑ๐ฒ๐ฟ ๐ถ๐ป ๐๐ต๐ถ๐ฐ๐ต ๐ฆ๐ค๐ ๐พ๐๐ฒ๐ฟ๐ถ๐ฒ๐ ๐ฟ๐๐ป.
#technology #softwareengineering #programming #techworldwithmilan #sql
Really interesting idea from the #drupal Association about using contribution credits as a form of currency for issue bounties.
https://t.co/AaVBX3S2mA
I look forward to @morenodotnet future blog post with the results!
Today at @fosdem, the Open Website Alliance is announced by @drupal, @joomla, @typo3 and @WordPress with the message that we have more in common than different. The Alliance represents the open source CMSs powering more than 50% of websites online today. https://t.co/EhyMfxEmPb