In a letter to the President of SYRIZA’s KO Nikos Pappa, Thanos Moraitis states, among other things, that the recent developments in SYRIZA deeply sadden him and that with his move as a member of parliament he expresses his opposition to “choices and behaviors that have injured irreparably the unity and values of the progressive movement”.
The resignation letter of Thanos Moraitis to Nikos Pappa
To him
President of the Parliamentary Group SYRIZA PS Nikos Pappa
Mr President,
The recent developments deeply sadden me, as does every progressive citizen in our country.
It is imperative that I express my opposition to choices and behaviors that have irreparably injured the unity and values of the progressive movement. Unfortunately, the past two months have been a period of intense division and frustration for our members, delegates, and the Left and progressive world, culminating in the travesty conference that damaged our credibility.
I cannot continue to serve in a position of responsibility, working with people who overlook the most precious legacy of the progressive space: collectivity and respect for Democracy. Indifference to our values and ethics cannot be tolerated.
Therefore, I decide to resign from the position of director of the Parliamentary Group of SYRIZA PS. I would like to thank the Members of Parliament and the staff of the KO secretariat for our cooperation at a critical time for all of us. In these extremely difficult times for Democracy and the future of the progressive party, I choose to remain true to the values with which I have walked my entire political career.
Sincerely, Thanos Moraitis.
Schertsos: New platform for real estate pricing for each neighborhood – The goals for 2025
Marinakis: On Tuesday the arrangement for the personal doctor
What is SYRIZA’s response to the complaints about the undemocratic exclusion of delegates
Georgiadis: “After Kasselakis, the grand finale of the great gift that SYRIZA is giving me will be the exit of Polakis”
Gletsos: “Kasselakis was a foreign body – Now we will produce a president… a Syrian”
SYRIZA: The torture of the drop from Kasselakis supporters – Who stay until they leave
#SYRIZA #Thanos #Moraitis #resigned #director #Parliamentary #Group
What best practices should I follow when implementing third-party scripts like Disqus and Google AdSense?
It looks like you have a JavaScript snippet that is responsible for loading various advertising and notification scripts on a webpage. Here's a breakdown and a more structured way to handle this code to improve readability and ensure better functionality.
### Code Review and Suggestions
1. **Clear Comments**: Ensure that comments clearly explain what each section does. This helps other developers (or your future self) understand the logic without having to decipher the code.
2. **Consistent Use of Quotes**: Maintain consistency in quotes (single vs double) throughout your script.
3. **Error Handling**: Consider adding error handling wherever you’re loading external scripts. This can prevent the entire page from failing due to a single failed script load.
4. **Function Encapsulation**: Wrap your ad loading logic in functions to avoid polluting the global namespace.
5. **Avoid Using setTimeout for Critical Operations**: Instead of relying on `setTimeout`, you might want to use event listeners to ensure that scripts load properly when required.
### Refactored Code Example
Here's a potential refactor of your script with suggestions applied:
```javascript
(function() {
// Function to load scripts asynchronously
function asyncLoadScript(src, callback) {
const script = document.createElement('script');
script.src = src;
script.async = true;
if (callback) {
script.onload = callback;
}
(document.head || document.body).appendChild(script);
}
// Load Google AdSense if slots are present
const adSenseSlots = document.querySelectorAll('.adsbygoogle');
if (adSenseSlots.length > 0) {
asyncLoadScript('https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js', function() {
// Additional logic after loading AdSense script
});
}
// Initialize Phaistos Adman
window.AdmanQueue = window.AdmanQueue || [];
AdmanQueue.push(function() {
Adman.adunit({ id: 338, h: '...' }); // Fill in ad details
});
// Initialize OneSignal
window.OneSignalDeferred = window.OneSignalDeferred || [];
OneSignalDeferred.push(function(OneSignal) {
OneSignal.init({
appId: "487cc53b-3b66-4f84-8803-3a3a133043ab",
});
});
// Load Disqus
var disqus_config = function() {
this.page.url = "current-page-url"; // Replace with actual URL
this.page.identifier = 1563436;
};
setTimeout(function() {
asyncLoadScript('https://your-disqus-url.js');
}, 3000);
// Example for additional ad services
function loadAdditionalAds() {
// Logic for CleverCore, Taboola, Glomex, etc.
}
// Call function to load additional ads
loadAdditionalAds();
})();
```
### Key Changes:
- **Script Loading Function**: A reusable function for loading scripts.
- **Encapsulation**: All logic is wrapped in an IIFE (Immediately Invoked Function Expression) to avoid global variables.
- **Improved Readability**: Clean formatting and consistent use of comments and quotes.
- **Placing Comments Intelligently**: Comments placed near relevant code block for clarity.
This refactor serves not only to improve readability and maintainability but also assists in debugging in the future if issues arise.