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 convention 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 are the best practices for dynamically loading AdSense ads using JavaScript?
It looks like you're working on a JavaScript snippet to dynamically load various advertising and tracking scripts for different ad networks and services. The code includes placeholders for various ad scripts, and other service integrations, but it appears to be incomplete or may contain commented-out sections.
Here are some improvements and refactoring tips for your current script:
1. **Properly Quote Strings**: Ensure that strings passed to functions such as `asyncLoadScript` are properly quoted. For example, replace `asyncLoadScript(')` with the actual URL string.
2. **Comment Consistency**: Since you have several commented-out sections, be consistent in your commenting style. If something is not needed, consider removing it altogether to keep the code clean.
3. **Function Definitions**: You can define common repeated functionalities (like loading scripts) in reusable functions to avoid redundancy.
4. **Error Handling**: It might be worthwhile to include error handling in your `asyncLoadScript` function to deal with scenario when loading fails.
5. **Demarcate Blocks**: Clearly demarcate sections of the code to increase legibility. For instance, separating sections for different services like OneSignal, Disqus, etc.
Here is a refactored and improved version of your scripts:
```javascript
function asyncLoadScript(src) {
const script = document.createElement('script');
script.src = src;
script.async = true;
document.head.appendChild(script);
}
function initOneSignal() {
window.OneSignalDeferred = window.OneSignalDeferred || [];
OneSignalDeferred.push(function(OneSignal) {
OneSignal.init({
appId: "487cc53b-3b66-4f84-8803-3a3a133043ab",
});
});
}
function initDisqus() {
var disqus_config = function() {
this.page.url = window.location.href; // Provide your page's canonical URL variable
this.page.identifier = 1563436; // Provide your page's unique identifier variable
};
setTimeout(function() {
var d = document,
s = d.createElement('script');
s.src = "YOUR_DISQUS_SHORTNAME"; // Add your Disqus shortname
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
}, 3000);
}
// Example of how to load ads based on some condition
if (document.querySelectorAll('.adsense-for-mobile').length) {
document.querySelectorAll('.adsense-for-mobile').forEach(function(e) {
e.querySelector('.adsbygoogle').remove();
});
}
// Load AdSense ads if available
const adSenseSlots = document.querySelectorAll('.adsbygoogle');
if (adSenseSlots.length > 0) {
adSenseSlots.forEach(function(e) {
// Example for loading each ad unit, replace with actual logic
asyncLoadScript('ADSENSE_SCRIPT_URL'); // Provide actual script URL
});
}
// Initialize OneSignal
initOneSignal();
// Initialize Disqus
initDisqus();
// More initializations can go here...
setTimeout(function() {
// Other async script loads for example.
asyncLoadScript('ANOTHER_SCRIPT_URL'); // Provide actual script URL
}, 2000);
```
Make sure to replace placeholder values like `ADSENSE_SCRIPT_URL`, `YOUR_DISQUS_SHORTNAME`, and `ANOTHER_SCRIPT_URL` with the actual URLs of the scripts you want to load.
This structured approach not only improves code readability but also makes maintenance easier in the long run.