Thursday, May 7, 2026
a8c57cf8-2d3a-41bb-baa6-cd2d7609ef62
| Summary | ⛅️ Clear until afternoon, returning overnight. |
|---|---|
| Temperature Range | 11°C to 22°C (52°F to 71°F) |
| Feels Like | Low: 49°F | High: 76°F |
| Humidity | 68% |
| Wind | 10 km/h (6 mph), Direction: 273° |
| Precipitation | Probability: 16%, Type: No precipitation expected |
| Sunrise / Sunset | 🌅 05:52 AM / 🌇 07:37 PM |
| Moon Phase | Waning Gibbous (68%) |
| Cloud Cover | 13% |
| Pressure | 1018.74 hPa |
| Dew Point | 51.55°F |
| Visibility | 6.12 miles |
Cyprus will mark Europe Day on May 9 with events across the island aimed at promoting European values and strengthening awareness of the European Union, organisers said on Wednesday.
The European Parliament Office in Nicosia said the occasion highlights cooperation and shared identity among EU member states.
Events will begin on Friday at 12.30pm with a reception at Europe House, co-organised by the European Parliament Office and the European Commission Representation in Cyprus.
The event will bring together members of the diplomatic corps, state officials and partner organisations.
Deputy Minister for European Affairs Marilena Raouna will address the gathering on behalf of President Nikos Christodoulides.
Remarks will also be delivered by European Commissioner for Fisheries and Oceans Costas Kadis, as well as representatives of EU institutions in Cyprus.
A musical performance will be presented by students from the GC School of Careers, part of the European Parliament’s Ambassador School programme.
On Saturday morning, the EU flag will be raised at Eleftheria Square in Nicosia, in the courtyard of the old city hall at Davila Bastion, following an initiative by the municipality.
The ceremony will include addresses by Christodoulides, Nicosia mayor Charalambos Prountzos and EU representatives.
Later the same day, celebrations will continue in Larnaca with an event organised by the European Parliament Office and the European Commission Representation, in cooperation with the municipality and the European Information Centre of Larnaca.
The event, starting at 5pm, will feature information stands showcasing EU programmes, organisations and participating embassies.
At 6pm, the Larnaca Municipality Children’s Philharmonic Orchestra will parade, followed by the opening of a photo exhibition titled Below the Surface: A Dive into Marine Sciences.
A video message from European Parliament President Roberta Metsola will be screened at around 7.30pm, followed by a performance by the Larnaca Municipality Children’s Choir and a concert inspired by Mediterranean and European music.
Organisers said the events are open to the public and aim to bring citizens closer to the work and values of the European Union.
The number of children at risk of poverty or social exclusion in Cyprus has fallen in recent years, although key social indicators continue to highlight significant inequalities, according to a European Commission report.
Overall, the picture for Cyprus points to progress in some areas, but also persistent weaknesses, particularly in energy poverty, equal access to services and the depth of social inequalities.
Based on the latest available data, the number of children at risk dropped from around 37,000 in 2019 to 26,000 in 2024, a development attributed to targeted social policy interventions.
According to the document titled “Breaking the cycle of child poverty – strengthening the European Child Guarantee”, published following Wednesday’s College of Commissioners meeting, “Cyprus has achieved its national target, although this is considered of low ambition”, indicating room for further policy strengthening.
Particularly concerning is the situation in housing and energy poverty.
The report notes that 62.6 per cent of children at risk live in households unable to keep their homes adequately warm – the highest rate in the European Union.
At the same time, “the gap between children at risk of poverty and others reaches 55.1 per cent”, underlining the scale of inequality.
In education, early school leaving in Cyprus remains above the EU average, standing at 11.3 per cent compared to 9.3 per cent.
“Despite interventions, challenges remain in keeping students in the education system,” the report states.
Participation in early childhood education has increased, mainly through subsidised programmes. However, the system remains almost entirely privatised, with “only 2.6 per cent of facilities being public”.
Differences in access between children at risk of poverty and others persist, although these gaps are narrowing.
The report also identifies significant disparities in access to essential services.
“In some cases, differences in participation in childcare services exceed 20 per cent,” it notes, warning that this affects equality of opportunity from an early age.
In healthcare, while no extreme outcomes are recorded, “structural difficulties in access remain, particularly in mental health services for vulnerable groups”.
Finally, the Commission highlights the need for stronger evidence-based policymaking.
“Limited availability of data for specific vulnerable groups makes it difficult to monitor and evaluate measures,” the report states, describing this as a key issue in designing effective interventions.
The findings suggest that while Cyprus has made measurable progress in reducing child poverty risks, further efforts are needed to address underlying inequalities and improve access to services.
The main directions of the European Union’s upcoming strategy for coastal communities were discussed on Wednesday during a meeting between EU Commissioner for Fisheries and Oceans Costas Kadis and Interior Minister Constantinos Ioannou, according to an official announcement.
The strategy forms part of the European Ocean Pact, adopted in June 2025, and aims to support coastal and island regions across the EU.
During the meeting, Ioannou stressed the importance of a comprehensive and coherent European approach that takes into account the specific needs of coastal and island communities such as Cyprus.
He placed particular emphasis on sustainable development, strengthening resilience and improving the public’s quality of life.
Discussions also highlighted the need to boost the economic competitiveness of coastal areas through the promotion of the blue economy, innovation and improved access to funding, as well as the importance of diversifying local economies.
At the same time, both sides outlined the need to strengthen resilience to climate change impacts, including coastal protection and helping communities adapt to environmental and socio-economic challenges.
The meeting also covered ways to promote inclusive and dynamic coastal communities, focusing on attracting and retaining young people, improving access to essential services and enhancing connectivity.
The importance of preserving and promoting local identity and cultural heritage was also raised.
Both sides discussed the need for a common strategic framework at EU level that would help member states better utilise existing European tools and policies, while reducing administrative burdens and improving the effectiveness of interventions.
Ioannou reaffirmed Cyprus’ commitment to actively contribute to shaping the new strategy, stressing the importance of close cooperation with the European Commission and other member states.
For his part, Kadis highlighted the importance of the initiative in strengthening cohesion and sustainable development in Europe’s coastal regions, noting that the new strategy would help create a more coordinated and effective policy framework.
Cyprus, Greece and Jordan on Wednesday reaffirmed their commitment to deepening cooperation and addressing regional challenges, following the conclusion of their fifth trilateral summit in Amman.
In a joint declaration issued after the meeting, President Nikos Christodoulides, King Abdullah II and Prime Minister Kyriakos Mitsotakis highlighted the need to strengthen coordination in the face of what they described as a rapidly evolving international and regional landscape.
The declaration reaffirmed plans to expand collaboration in key sectors such as trade, energy, investment and culture, while placing renewed emphasis on supply chain resilience, secure trade routes and transport infrastructure.
The leaders said these efforts aim to position the Eastern Mediterranean as a “vital hub linking Europe and the Arab region”, while also stressing the importance of cooperation on food and water security.
All three countries reiterated their commitment to international law, the UN Charter and the principles of sovereignty and territorial integrity.
They also stressed the importance of peaceful dispute resolution and the prohibition of acquiring territory by force.
The declaration expressed “deep concern over the dangerous escalation in the Middle East” and its humanitarian, economic and security consequences.
The leaders called for intensified international efforts to de-escalate tensions and address the root causes of conflict, while also underlining the importance of maintaining the ceasefire between the United States and Iran and ensuring freedom of navigation in the Strait of Hormuz in line with international law.
On Lebanon, the three sides stressed the need to sustain the ceasefire, support the government in exercising full sovereignty and ensure implementation of relevant UN Security Council resolutions, including Resolution 1701. They also highlighted the role of the UN peacekeeping force UNIFIL in maintaining stability.
They further called for a strong humanitarian response to the crisis in Lebanon, noting the displacement of over one million people, and commended Jordan’s efforts in delivering aid, alongside support provided by Cyprus and Greece.
On the Palestinian issue, the leaders reiterated that the two-state solution remains “the only path to a just and lasting peace”, condemning illegal settlement activity and rejecting any attempts to annex occupied territories or displace Palestinians.
They also stressed the need to uphold the historic status quo at holy sites in Jerusalem, with Cyprus and Greece reaffirming support for Jordan’s custodial role.
The declaration urged the full implementation of US President Donald Trump’s comprehensive plan for Gaza and relevant UN resolutions, calling for the unhindered delivery of humanitarian aid and the creation of conditions for reconstruction and Palestinian statehood.
The leaders also underlined the “indispensable role” of UNRWA and called for sustained funding to enable it to continue its work.
On Syria, they stressed support for the country’s sovereignty and reconstruction, while rejecting separatist agendas and foreign interference. They also warned of the consequences of declining international support for Syrian refugees and highlighted Jordan’s role in hosting them.
The declaration reaffirmed support for a comprehensive settlement of the Cyprus problem based on a bizonal, bicommunal federation, in line with UN resolutions, and stressed the importance of the UN peacekeeping force UNFICYP.
The leaders also welcomed Cyprus’ assumption of the presidency of the Council of the EU as of January 2026, expressing confidence in its role in advancing regional stability, managing migration challenges and promoting cooperation with neighbouring regions.
They further welcomed the Pact for the Mediterranean and the launch of the Cyprus Regional Aerial Firefighting Station (CRAFS) in Paphos as a step towards strengthening regional disaster response.
Highlighting progress since the launch of the trilateral format in 2018, the three leaders described the mechanism as a “flexible and dynamic framework” for long-term strategic cooperation. The sixth trilateral summit will be held in Greece next year.
The 6th Nostalgia Quiz Night fast approaches this week, signalling a weekend of fun. Co-organised by Nostalgia Parties and Antonakis Music Hall, where it takes place, the evening promises a quiz full of pop culture trivia that defined the decades from the 50s to the 00s.
This Friday night, the historic Antonakis Music Hall, the oldest music hall in Cyprus, which opened in its current location in 1948, will fill with teams that will compete for the first prize. Who knows the most about the music, films, TV shows and pop culture moments of the past decades?
In a fun night out in Nicosia’s old town, quiz-goers will be treated to a unique evening, led by its host, Chris Papadopoulos. Plus, it is in English!
So, get ready to reminisce, from the golden oldies to the classics. Previous events were fully booked, so those interested are advised to book a table with their team soon.
6th Nostalgia Quiz Night
Pop culture quiz on films, music, tv shows and more from the 50s, 60s, 70s, 80s, 90s the 00s. May 8. Antonakis Music Hall, Nicosia. Doors 8.30pm. Starts 9.30pm. In English. Tickets: Ticketmaster website. Tel: 99-566485
Environmental group ‘Friends of Akamas’ has reacted strongly to a recent special ecological assessment report concerning planned improvements to the road linking the Baths of Aphrodite with Kakoskali in the Akamas National Forest Park, calling for the decision to be immediately withdrawn.
In a statement issued on Wednesday, the organisation alleged that the report violates legally binding conditions set out in previous assessments and disregards recommendations made by a competent ad hoc committee.
According to the group, the forest road connecting the Baths of Aphrodite to Fontana Amorosa should already have been closed to private vehicles, in line with provisions under the park’s sustainable development plan.
Instead, they said, the findings of the latest report effectively favour increased traffic by private vehicles, including safari jeeps, raising concerns over environmental degradation and visitor safety.
The organisation argued that banning private vehicles would reduce the environmental footprint caused by traffic, lower the risk of wildfires and cut maintenance costs, while also promoting sustainable mobility and improving safety for pedestrians and cyclists.
It also dismissed as “misplaced” the argument by the departments of forests and environment that upgrading the road would support firefighting efforts, warning that easier vehicle access could, in fact, heighten the risk of fires.
‘Friends of Akamas’ called on the competent authorities to review the decision and proceed with measures that ensure the effective protection of the area.
Meanwhile in an earlier joint statement,Terra Cypria, BirdLife Cyprus and the Cyprus Federation of Environmental Organisations accused the government of sidestepping legally binding conditions for the protection of the Akamas peninsula, warning that planned works risk further environmental damage. The groups raised concerns over the ministry’s response to recent recommendations by the Audit Office regarding the controversial road linking the Baths of Aphrodite with Fontana Amorosa.
The statement adds to growing tensions over the management of Akamas, as authorities face increasing scrutiny over how the protected area is being developed and regulated.
The Avakas gorge trail remains closed to visitors due to safety concerns, the forestry department said on Wednesday.
The site has been closed since December 6, 2025, due to extreme weather, increased water flow, slippery ground, falling rocks and landslides.
Officials have placed warning signs and a chain at the entrance to block access.
However, some visitors continue to ignore the restrictions and attempt to enter, which the department said they do at their own risk.
The department stressed it bears no responsibility for any incidents.
A further update will be issued when the gorge is safe to reopen.
Former Turkish Cypriot ‘health minister’ Izlem Gurcag Altugra on Thursday left the north’s ruling coalition’s largest political party, the UBP, announcing her intention to join centrist, anti-corruption party the HP, which is led by former Turkish Cypriot chief negotiator Kudret Ozersay.
“I had long questioned whether the UBP still held any hope regarding its own values. Seeing what happened, I believed that the party had seriously distanced itself from its founding values and the understanding of the state. The ground for clean and honest politics had completely disappeared,” she told a press conference.
She added that “there is now no longer any hope of the party recovering”, and that “therefore, I am leaving the UBP, of which I have been a proud member for many years”.
At present, she remains a member of the Turkish Cypriot legislature, where members are not allowed to join existing political parties while retaining their seats. As such, she will now sit as an independent until the next election, which will take place at some point before next February.
On this matter, she said that “I will continue my duties as an independent MP until the election, and during the election campaign I will continue my political journey with the HP”, adding that “the necessary discussions have been held” to facilitate her joining the party.
She then said that “the recent series of events has seriously shaken the state’s administration”, in a likely reference to the ruling coalition’s attempted changes to the payment of the cost-of-living allowance to public sector workers which saw thousands demonstrate both outside and inside the legislature.
“Distrust has been created within society. The greatest responsibility for the resulting situation lies with the UBP. The party has lost its credibility in society. The UBP has transformed into an organisation which disregards the public’s sensitivities,” she said.
She added that “I entered politics not for a seat or an office, but to always speak the truth as I see it”.
While Altugra’s departure from the UBP does technically mean that the ruling coalition’s majority in the Turkish Cypriot legislature has fallen to eight – the coalition now commands the support of 23 representatives of the UBP, two apiece from the DP and the YDP, and one independent in the 49-seat chamber – she has not caucused with the coalition for some time.
After Ersin Tatar, the candidate the party had endorsed at last year’s Turkish Cypriot leadership election, fell to a chastening defeat, she began to openly call for ‘prime minister’ Unal Ustel to resign, and declared that if he offered her a place in his cabinet, having dismissed her in 2024, she would refuse that offer.
She also embarked on an effective boycott of sessions at the Turkish Cypriot legislature, refusing to attend Monday sessions, during which the legislature typically votes on coalition-sponsored legislation.
“I had already severed ties because he is unqualified and unlawful, and because he had shattered party unity … I will not attend plenary sessions, especially on Mondays,” she told newspaper Yeniduzen last year.
Since then, her perspective joining of the HP has been an open secret in Turkish Cypriot politics.
She had served as ‘health minister’ under Ustel between 2022 and 2024, being appointed to his first cabinet when he replaced Faiz Sucuoglu as ‘prime minister’, and being replaced by Hakan Dincyurek in Ustel’s 2023 reshuffle.
Exactly 753 people filed candidacies for the forthcoming parliamentary elections on Wednesday, as official registrations for those vying to win one of the 56 seats in the House took place.
Those candidates belong to no fewer than 19 political parties, with a number of candidates also sitting as independents.
Chief returning officer Elikkos Elia said that the number of candidates and parties is the highest in history, with the previous high for both – 651 candidates and 15 parties – having been set last time around in 2021.
He added that 529 of the candidates are men, while 224 are women, with women therefore accounting for just shy of 30 per cent of the candidates.
Of those candidates, 261 were registered in the Nicosia district, belonging to a total of 18 parties. A total of 180 candidates in Nicosia are men, while 81 are women.
In the Limassol district, 167 people filed candidacies, with 17 parties to be represented on the Limassol ballot paper. There, 120 candidates are men and 47 are women.
The Famagusta district had the third-highest number of candidates file, with 141, of whom 100 are men and 41 are women. Like in Nicosia, 18 different parties will be on the ballot paper.
A total of 76 people filed candidacies in the Larnaca district, of whom 50 are men and 26 are women, with those candidates belonging to 16 different partes.
In the Paphos district, exactly 67 people – 50 men and 17 women – belonging to 16 parties filed candidacies, while the district with the fewest number of candidates is the Kyrenia district, where 41 people filed candidacies, of whom 29 are men and 12 are women.
However, a total of 17 parties will be represented on the ballot paper in Kyrenia – more than in Larnaca or in Paphos.
Elia said on Wednesday that ballot papers will begin to be printed on Saturday, and that with the high number of candidates and parties “various alternatives” are being discussed regarding how a ballot paper can be printed to ensure that all candidates appear on it.
“It seems that in Nicosia, with 19 [seats], and so many parties, we will go with the option of printing the front and the back,” he said.
Regarding the day’s registrations, he said that the government is “particularly happy about the civilised climate we had today in all districts and the way the nominations were submitted”.
“This honours our democracy itself,” he said.
A total of 56 seats will be up for election later this month, of which 19 will belong to MPs from the Nicosia district, 12 to MPs from the Limassol district, 11 to MPs from the Famagusta district, six to MPs from the Larnaca district, five to MPs from the Paphos district, and three to MPs from the Kyrenia district.
The Paphos district gained an extra seat ahead of May’s election due to the growth in its voting population, with that gain coming at the Nicosia district’s expense.
The Republic of Cyprus’ constitution initially foresaw a parliament with 50 voting members, of whom 35 would be Greek Cypriots and 15 would be Turkish Cypriots, as well as non-voting observers belonging to the Armenian, Latin, and Maronite communities.
Following the breakdown of constitutional order and the outbreak of intercommunal violence in 1963, the Turkish Cypriots were unable to return to their seats in parliament, leaving just 35 voting members.
That figure was raised to 56 Greek Cypriots ahead of the 1985 parliamentary elections after the constitution was altered using the doctrine of necessity. The amendment foresees 24 Turkish Cypriots also being elected, but with the Cyprus problem remaining unsolved, this has not yet happened.
Leaders of Cyprus, Greece and Jordan on Wednesday reaffirmed their commitment to deeper regional cooperation and stability, as they wrapped up their fifth trilateral summit in Amman.
President Nikos Christodoulides joined Jordan’s King Abdullah II and Greek Prime Minister Kyriakos Mitsotakis for the talks, which took place against the backdrop of heightened geopolitical tensions in the eastern Mediterranean and the Middle East.
The summit “comes at a time when regional developments are directly impacting security, energy, migration, maritime routes and economic resilience”, according to government spokesman Konstantinos Letymbiotis.
The three leaders stressed that closer cooperation between like-minded countries is essential in addressing shared challenges, underlining the need for coordination, mutual trust and adherence to international law.
Discussions reviewed progress achieved since the launch of the trilateral framework in 2018 and explored ways to deepen practical cooperation, with an emphasis on delivering tangible results.
Particular attention was paid to relations between the European Union and Jordan, following recent high-level engagements involving regional leaders. Cyprus reiterated its role as the EU member state geographically closest to Jordan and the wider region, pledging to continue supporting stronger EU-Jordan ties.
Christodoulides highlighted that the summit coincided with Cyprus’ presidency of the Council of the EU, stating that the “trilateral partnership is not only vital for our region, but also an important bridge to the European Union”. He added that cooperation is key in tackling migration, climate change and energy transition.
Leaders exchanged views on ongoing developments across the region, including Iran, Gaza, the West Bank, Jerusalem, Lebanon, Syria and Iraq.
All sides stressed the importance of de-escalation and the need to avoid further spillover of crises, while reaffirming their commitment to peace, stability and respect for sovereignty.
King Abdullah warned of the risks posed by continued conflict, stating that Jordan “stands firm in rejecting Israeli measures aimed at exploiting the situation to create new facts on the ground in Jerusalem, the West Bank and Gaza”. He furthermore called for sustained humanitarian access to Gaza.
On his part, the Greek prime minister described the meeting as sending a “clear and timely message” of cooperation and commitment to peaceful coexistence, emphasising the broader economic and security implications of regional instability and stating that when it comes to the Straits of Hormuz, “we need to return to the previous status quo. We have been strong advocates of defending the concept of the freedom of navigation”.
The summit also highlighted the importance of strengthening regional preparedness and civil protection cooperation. Reference was made to the Cyprus Regional Aerial Firefighting Station (CRAFS) as a practical example of joint initiatives with regional value.
Leaders further discussed enhancing connectivity, including prospects linked to the India-Middle East-Europe Economic Corridor (IMEC), pointing out the strategic position of Cyprus, Greece and Jordan as a natural bridge between Europe and the Middle East.
The meeting concluded with the adoption of a joint declaration reaffirming shared principles and priorities, including commitment to peace, security and regional stability.
Officials said the trilateral mechanism continues to serve as a platform for dialogue and coordinated action, at a time when the region requires “more credibility, preparedness and cooperation”.
The next steps will focus on implementing agreed initiatives and further strengthening collaboration across key sectors, such as energy, investment, tourism and climate action.
Firefighters rescued a dog from an eight-metre deep water pit in Ergates, Nicosia on Wednesday.
The fire service said they used specialised equipment, including a tripod and rescue gear, to reach and lift the animal safely.
The dog was delivered alive to its owner after the successful rescue operation.
A compensation package for livestock farmers resuming operations after foot-and-mouth disease outbreaks has been agreed and will be submitted to the Council of Ministers for approval, the head of the Pan-Agricultural Association, Kyriakos Kailas, said on Wednesday.
The agreement sets out financial support for farmers restarting their units and follows earlier compensation measures linked to the culling of animals during the outbreak.
Kailas said the new framework defines the payments for reactivation and is intended to support the recovery of affected livestock producers.
Once approved by cabinet, farmers will be able to receive the agreed compensation and proceed with declaring the restart of their operations without delay.
The package also includes continued payment of lost income for up to 12 months, with the option of an extension if required.
Kailas said the process for returning to full production will be gradual.
Farmers will first be allowed to introduce a small number of animals, around three to four, on a pilot basis.
This will allow monitoring to ensure no further infections occur.
If successful, they will then be permitted to rebuild their herds fully.
He stressed that vaccinations will continue as part of disease control efforts.
He said vaccination reduces the viral load and helps animals develop antibodies, lowering the risk of further transmission.
He described the measures agreed as “in the right direction” and said they provide a workable path for recovery.
An advisory committee that includes representatives from cattle, sheep, and wider agricultural organisations contributed to shaping the compensation figures.
The Agricultural Research Institute also participated and, according to Kailas, helped correct earlier compensation levels that farmers had considered unfair.
The agreement follows extended negotiations between farmer groups and authorities over the financial consequences of disease control measures, including large-scale culling in affected areas.
Kailas said livestock farmers are broadly satisfied with the outcome and that the new framework provides clarity for those planning to restart production.
He added that the aim is to restore normal operations in a controlled way while maintaining strict disease safeguards.
He also raised additional concerns about restricted zones affected by the outbreak.
Discussions on pig farming and grain use in three-kilometre restriction areas are expected next week.
Kailas said farmers in these zones are struggling to use their land effectively after animal populations were removed and questioned how local grain production should now be managed.
He said a settlement is needed to address these issues.
In a separate development, the agricultural organisation Euroagrotikos backed the compensation amounts agreed by the Foot-and-Mouth Disease Management Committee.
In a letter to President Nikos Christodoulides, it said the figures should proceed to cabinet without further changes and that no additional action was needed.
The organisation urged farmers and stakeholders to prioritise disease prevention over protests or road closures, warning that such actions would escalate tension and hinder crisis management.
Euroagrotikos also called for stricter enforcement against illegal trade from the north and tighter monitoring along the buffer zone to prevent unauthorised transactions.
It emphasised that better enforcement is essential to safeguard the agricultural sector.
While recognising differing opinions within the farming community regarding the government’s response to the outbreak, it noted a shared concern over animal losses and the difficulties faced by livestock farmers.
It reiterated that Cyprus, as an EU member, must adhere to established disease control protocols, highlighting that EU officials have ruled out any changes to these rules.
The cabinet is set to review the compensation package at its next meeting.
If approved, payments will commence, and the reactivation of affected livestock units will proceed as planned.
The health insurance organisation (HIO) and the police, issued a joint warning on Wednesday about fake SMS messages impersonating the general health system (Gesy).
These messages are part of a new wave of online fraud aimed at tricking the public into revealing bank details and transferring money.
Police noted that the scam messages often mimic legitimate Gesy notifications, making them harder to identify and increasing the risk of deception.
In a recent case, investigators are looking into the theft of funds after a victim followed instructions from such a message.
Authorities urged the public to be cautious and avoid clicking links or providing personal or banking information in SMS messages claiming to be from Gesy.
They emphasised that official Gesy communications will never ask for passwords, payment details, or banking information via text.
Beneficiaries should verify any suspicious messages through official channels and report suspected fraud immediately to the police or their bank.
Eighty-nine-year-old Christakis Rotsides will be the oldest candidate at the forthcoming parliamentary elections, having registered as an independent candidate in the Limassol district on Wednesday.
A retired musician, Rotsides said that “I want to be elected with my own strength and not with foreign support”.
“As far as the Cyprus problem is concerned, it is a matter of invasion and occupation and not between Greek Cypriots and Turkish Cypriots,” he said.
At 89, he was born before seven of the 13 people who have served as House president, with Annita Demetriou, Adamos Adamou, Demetris Syllouris, Yiannakis Omirou, Marios Garoyian, and Demetris Christofias all having been born after him.
The late president Spyros Kyprianou, who died in 2002 and served as House president during two separate terms and as president between 1977 and 1988, was born just five years before Rotsides.
Disy leader Annita Demetriou, who served as House president during the last parliament, filed her candidacy for the forthcoming parliamentary election at the top of her party’s ballot in the Larnaca district on Wednesday morning.
“Along with our Larnaca ballot, I am also putting forward my own candidacy. Larnaca and our homeland deserve the best,” she said.
The 40-year-old native of the Larnaca district village of Troulloi said that Disy has “the right candidates in every district”, before urging the public to get out and vote on May 24.
“People should go to the polls, choosing the best candidates so that we can move forward. People want simplicity, feasible solutions, and a response to the demands of their everyday lives. Disy has proven that it is always there,” she said.
A total of six of the 56 MPs elected will be from the Larnaca district.
Later in the day, she joined her party’s candidates in the Nicosia district, and invoked the party’s founder, late president Glafcos Clerides, in urging the public to vote for it.
“With seriousness and responsibility, as we learned to do in Disy, away from toxicity and populism, this is the party of Glafcos Clerides which is not afraid of responsibility, but assumes it. With realism, with hope, with optimism. We are moving forward responsibly,” she said.
She also said that “in a period of crisis and complex challenges, seriousness is required, a plan is required, clear positions are required”.
To this end, she said that her party “does not make easy promises” to the electorate, but that it instead has a “very strong” list of candidates “who have the knowledge, experience, and political consistency to come forward and work hard for the future of the country”.
Disy leader Annita Demetriou with the party candidates from Nicosia (Christos Theodorides)
Independent candidate Marios Tenizis on Wednesday morning filed his candidacy for the parliamentary elections in the Nicosia district, demanding improvements to Gesy.
“There is a major problem in the service and efficiency of emergency cases. Our proposal, after consulting with partner doctors, is that, like other medical centres which are part of Gesy, [private hospitals] should be required to have an accident and emergency unit,” he said.
He acknowledged that “many will say there will be a high cost to implement it”, but said that he is “working on it with our partners”, and added that if he is elected, he will also consult doctors’ unions “so that this project can be implemented without particularly elevated costs”.
Polling suggests that he will not win a seat at the election.
A bag containing 0.96 grams of cannabis was found on the internal stairs of the Limassol district court, authorities said on Wednesday.
The substance was collected by the Ykan unit for scientific examination, while investigations are ongoing.
Social media influencer Fidias Panayiotou on Wednesday submitted his candidacy for the forthcoming parliamentary elections in the Nicosia district, at the top of the ballot of Direct Democracy Cyprus, the party he founded and now leads.
Having arrived late at the registration centre, he missed his initial slot to file his candidacy, but eventually successfully handed in his paperwork.
“We are tired of hearing politicians speak in a wooden language,” he said.
“We are tired of hearing politicians fight. The fatigue we feel unites Direct Democracy’s 56 [candidates],” he said.
He then declared that “Einstein once said that insanity is doing the same thing over and over again” – although Einstein in fact never said that.
“Those of you who are happy, vote for the four major parties,” he said, urging “those who are not” to vote for his own party.
“Direct Democracy does not serve the system. We have shown it in practice, with the Direct Democracy app. The world is changing rapidly and the coming years will determine the future. Artificial intelligence can determine the future. Technology is advancing and politics must do the same,” he said.
“The best way to predict the future is to create it yourself.”
Panayiotou founded Direct Democracy Cyprus last year, on the premise that party members would, through a mobile application, be able to directly decide on matters of policy by voting on each issue in app-based polls.
He had shocked the Cypriot political scene a year prior by being elected as a member of the European Parliament as an independent candidate, and the party looks set to enter parliament at this election, consistently polling between fourth and sixth place.
Were he to be elected, he would have to choose whether to continue as an MEP or vacate the position to sit as an MP.
Volt’s co-leaders Andromachi Sophocleous and Panos Loizou Parras on Wednesday filed their candidacies for the forthcoming parliamentary elections in the Nicosia and Limassol districts respectively.
In Nicosia, Sophocleous said that her party is “proud of each of the 56” candidates the party is fielding.
“Volt did not come as a coincidence, but as a political necessity. It is a party which emerges from the problems of the 21st century. We are a modern voice. We prioritise the cost of living. We will not remain silent. We are ready to confront corruption and present a vision for the public,” she said.
She added that the pan-European party “will be in parliament”, with polling suggesting that the party is on the rise, and that “what it must clarify is its participation”.
Parras, meanwhile, said that Wednesday was “a historic day” for his party, and that “56 very capable candidates and thousands of voters” are joining him in the election campaign.
“We are demanding an effective state – a functional, fair state which will serve everyone,” he said, before adding that “we will be in the new parliament with a strong list of candidates, and we believe that the time has come for each political party to prove its political usefulness for the country”.
A total of 19 of the 56 MPs elected will be from the Nicosia district, while 12 will be elected from the Limassol district.
Alma founder and leader Odysseas Michaelides on Wednesday filed his candidacy for the forthcoming parliamentary elections at the top of his party’s list in the Nicosia’s district, and declared the elections to be “a celebration of democracy”.
He said that his party’s candidates are “clean individuals with experience in their field”, and that “we want to change Cyprus with boldness and a plan”.
“Our policies do not limit the highlighting of problems,” he said, before adding that his party has formed its policy platform based on “32 thematic issues”.
“Let us hope that in the next 18 days until the elections, we will maintain a good level of political culture,” he said.
Michaelides, who had previously served as auditor-general until he was relieved of his duties by the Supreme Constitutional in September 2024, established the party last year.
Since then, it has typically polled between fourth and sixth place, finding itself neck-and-neck with social media influencer Fidias Panayiotou’s Direct Democracy Cyprus, which was also established last year.
Among the party’s most high-profile candidates is Irene Charalambides, who had served in parliament as a member of Akel between 2011 and February this year, but defected to Alma after party regulations prevented her from seeking a fourth term on Akel’s ballot.
It is not uncommon to meet people in real life who know this blog. Just the other day I got to talking to someone who had overheard me discussing some compiler thing with a colleague and asked if they knew mcyoung.xyz, and when they said the recent Go articles were pretty cool, I mentioned it was my blog.
I also know I have a pretty big audience because I see some of my more popular articles mentioned in low-level programming discussions, and because I record anonymized, public analytics at <varz.mcyoung.xyz>.
I can pretty fairly call myself a published author and noted compiler writer, so I find myself needing to write a note on a relevant life update.
Starting from today, I would like to be referred to as Sunny. I am queer and non-binary, and in gradually transitioning to this name in my personal life I find it feels much more like me than my old one. Sunny has been my fursona’s name for many years so adopting it has felt natural.
Unless you know me personally, I ask that you use they/them pronouns. Please do not use my old name at all.
If you follow my work at all, don’t worry, I’m not changing my handles. I’m keeping M. C. as initials that don’t stand for anything, so all of my initialism usernames stay the same, and so that anyone who has cited me as “Young, M.” is still doing something sensible.
Enterprise administrators can now configure and distribute plugins to GitHub Copilot CLI users across their enterprise. Set baseline standards for your enterprise and make them available in every user’s Copilot CLI client. Plugins support many extensibility types and can be installed automatically, helping improve developer onboarding and reduce setup time by broadly sharing custom agents and skills. You can also strengthen your governance strategy by defining hooks and MCP configurations that are always enabled across your enterprise.
With this update, you can define plugin marketplaces in a settings.json file located at .github-private/.github/copilot/settings.json. GitHub Copilot CLI automatically pulls and applies these settings for users licensed through your enterprise account with Copilot Business or Copilot Enterprise. You can also specify plugins to be installed automatically whenever users authenticate with Copilot CLI.
If you’ve already configured a source organization for custom agents, your plugin settings will use that same .github-private repository. You can confirm if your configuration is active on the Agents page under AI controls in your enterprise settings.
To learn more, see our documentation on Enterprise managed client settings docs.
Join the discussion within GitHub Community.
The post Enterprise-managed plugins in GitHub Copilot CLI are now in public preview appeared first on The GitHub Blog.
VS Code moved to weekly stable releases. This changelog covers releases v1.116 through v1.119, the releases we shipped throughout April and early May 2026.
Copilot can now search by meaning in any workspace and run grep-style queries across GitHub repos and orgs. An experimental /chronicle feature lets you query your own chat history to recall what you worked on, which files you touched, and which PRs you referenced. Smarter prompt caching, deferred tool loading, and purpose-built agentic tools reduce token usage without changing agent behavior.
Agents gain inline diffs in chat, browser tab sharing, and read/write access to any open terminal. Bring-your-own-key support extends to Copilot Business and Enterprise, letting teams connect their own model providers directly in VS Code. Admins get new group policies for controlling which domains agents can reach.
For longer-running work, Copilot CLI sessions can now be monitored and steered remotely from GitHub.com or the mobile app. Agent debug logs persist across sessions, and background terminal commands surface as notifications in chat.
githubTextSearch tool.github.copilot.chat.localIndex.enabledgithub.copilot.chat.cli.remote.enabled in Settings. After that, run /remote on to monitor and steer ongoing Copilot CLI sessions started in VS Code from GitHub.com or the mobile app.Happy coding!
Join the discussion within GitHub Community.
The post GitHub Copilot in Visual Studio Code, April releases appeared first on The GitHub Blog.
You can now search and filter security advisories directly from your repository’s Security tab. Use the new search bar and filters at the top of the advisory list to find advisories by keyword (sort, package, ecosystems, severity) so you spend less time scrolling and more time responding to what matters.
Whether you’re triaging incoming vulnerability reports or reviewing previously published advisories, you can now get to the right advisory faster without leaving the page or relying on the API.
This changelog is part of our investment in improving the security advisory experience on GitHub. Join the discussion within GitHub Community.
The post Search and filter bar for repository security advisories appeared first on The GitHub Blog.
made a wifi | bluetooth | vpn connectivity suite in rust. super fun project, let me know your thoughts.
you can find it here
For the past while I’ve been working on a project called Symbiote, which is basically my attempt at building a living artificial ecosystem entirely in Rust.
What originally started as a small particle/cellular automata experiment slowly turned into something much bigger over time. Instead of treating it like a traditional game, I’ve been approaching it more like a synthetic biosphere where behavior emerges from layered systems interacting with each other.
The simulation currently has:
evolving archetypes/species
root and substrate growth systems
swarm and cluster behavior
ecological pressure systems
territorial reinforcement
Conway-inspired pattern pressure
long runtime memory
terminal rendering using ratatui/crossterm
One of the biggest recent updates was integrating a persistent “PatternField” system into the world. The easiest way to describe it is ecological memory. The world now remembers where activity happened previously and organisms can slowly reinforce or react to those regions over time.
After long runtimes I’ve started seeing things emerge that honestly surprised me:
migration lanes
root highways
stable territorial districts
reinforced ecological regions
infrastructure-like structures forming naturally over time
The project is still heavily evolving, but it finally feels like it crossed the line from “random particle sandbox” into something that behaves more like a living ecosystem with memory and geography.
Everything is written entirely in Rust and rendered directly in the terminal.
I’d love feedback from other Rust devs because a huge part of this project has been experimenting with architecture for long-running emergent systems and figuring out how to keep complexity manageable as the ecosystem evolves.
Hello Rustaceans using Rust in a commercial product! This question is especially for embedded and/or safety critical product developers. How do you manage your Rust toolchain(s)? What are your procedures for long term tool management? What do you do for building release products?
I'm investigating bringing Rust into our tool portfolio. We do embedded Linux on arm, arm64, x64 using a variety of vendor chipsets. Our product warranties last 10-15 years so we're very conservative and careful about preserving and protecting our toolchains for long term. When we build gcc ourselves (crosstool), we stash the scripts and original tarballs in long term storage. When we get a vendor SDK, we stash those away as well. When we build product, we build on isolated networks using local copies of resources.
Currently, I'm learning to build Rust from source, learning how to x-compile it with a vendor embedded C linker and glibc/musl libraries. Once I can safely maintain it, then maybe I can introduce Rust into our product.
Hopefully someone can share some procedure tips with me. Many thanks!
Not the author. Found this on lobste.rs and didn't see it posted here yet.
It was kind of unexpected how easy it was to virtualize lists in GPUI compared to literally doing anything else in it. To do it there's `gpui::uniform_list(...)` which takes in number of entries and a closure that does the processing at render time. Inside the closure uniform_list provides the range of rows that need to be rendered, then all i had to do was just use that range to look up my entries and then just render each of them how i want. All the heavy lifting is done by GPUI.
https://github.com/buildzaku/zaku/pull/7
You can see it struggling to render 10k entries at ~5FPS whereas after this change it stays 120FPS.
Since number of entires now doesn't matter as much as it did before, performance is same for 10k, 100k and 1M entries that i tested it with.
Repository:
Improved boot on real hardware, more RISC-V compatibility on real hardware, tmux ported, accurate CPU time stats, better Orbital performance, Package Web Interface and more.
This month was focused on regression and bug fixing, we are also solving the long-time blocker bugs of the next release.
Ok for context, inside a bigger project I'm doing I have been developing a mathematical expression DAG to register file compiler that then runs on a custom VM tight loop.
My question is when developing a compiler how do you know what is impacting performance the most between input, so quality of the dag, compiler optimization/code generation or VM loop.
Because like I want a balance between performance and code generation time but like I don't know when I should stop optimizing certain parts.
I know where it lacks in terms of dag generation that feeds the compiler and will be a point I will address after I finish another part of the project.
But like my compiler I'm always like there is something here that probably can squeeze a few more nanoseconds/microseconds
At the moment I have like a compiler pipeline of
-GVN
-VIR fusion ( so like transforming sin and cos to sin_cos instructions, generate muladds etc)
-A greedy scheduler based on a Sethi-Ullman heuristic
- VIR Dead code elimination
Then not optimization but reg allocation
-Some passes to change some instructions from simple ones to more complex ones that are more efficient for the computer
-Another DCE pass
-Another fusion pass
-Another Dce pass
-Compaction of the constants pool
And for last encoding into a dense flat bytecode
For reference at the moment it does compilation of a dag that is basically just polynomials with 1,312,149 nodes in 350-400 ms into 105152 intr with 52883 registers and takes around 550µs to evaluate each time.
My question is: how do you know when to stop optimizing the compiler itself? I've been analyzing the output and the flame graph, but ~90% of the time is already spent on actual math, so the usual profiling signals aren't pointing anywhere obvious. Feeling a bit stuck on where to go next, or if I should stop and work on other parts.
https://github.com/rdaum/spinal-tap
Just something I needed and this might be useful to other people. I got annoyed by the complexity of setting up metrics collectors, prometheus, grafana, or vmagents/VictoriaMetrics, etc. and just threw this simple thing together which sets up a UDP server to listen for dstatsd formatted telemetry and let you see a simple TUI (via ratatui) with the current state of various metrics, including some simple charts.
It doesn't do excessively anything fancy like aggregations, joining, windowing over time, just the simplest thing to quickly see the state of various metrics and verify that my telemetry is working ok.
I use this for my own local diagnostics and the like. And use fast-telemetry (https://github.com/eden-dev-inc/fast-telemetry/) for producing the data.
(For now just dstatsd protocol over udp because that's what I needed; but I might add collection of prometheus style metrics as well someday.)
Hey all,
I am a CMA intermediate student. And I have been building a finance library based on what I am studying.
One thing that keep bugging me is floating point precision. No matter what I do the api looks kinda off. There is always some downsides to it. And now I think I should build my funtions using only generics. This seems the right choice ig. I am really confused at this point.
In finance there is a lot of area where f64 is enough. And some funtions would be better with rust_decimal::Decimal or any other such crate.
I looked into many crate to learn how they manage this problem. Most of them force user to use f64. Some provide a feature flag for rust_decimal. If we turn on that, literally every function; even the one I don't need such high presicon would get the performance penalty of rust_decimal.
My question is why people dont use generics. For example
rust pub fn quick<C>(current_assets: C, inventory: C, current_liabilities: C) -> C where C: Div<Output = C> + Sub<Output = C>, { (current_assets - inventory) / current_liabilities }
This is the function I wrote for finding quick ratio. I can use both f64 and Decimal or any type which impl Sub and Div trait. Isn't this the easy way of doing this from library authors POV and users POV? No feature flags or any other constrains. Things just works! Atleast thats what I think.
Is generics bad or anything? Am I missing something?
If anyone can guide me on this. I would really appreciate it.
How I wrote Variance computation using generics: https://github.com/abhinandh-s/airborne/blob/master/src%2Fstats%2Fdispersion.rs#L137-L165
Feel free to roast my code! I’m here to learn :)
I am not a programmer nor a coder. I am normie who has some experience with bash scripting. I can navigate around with terminal and can use few GNU commands.
I personally want to learn to built some personal hobby projects like making a TUI or a front-end for some niche use case. Rust will be my first language.
I want to know whether I should go with Rust? Is it beginner friendly and I mean super beginner friendly? Will I get enough info while trying to debug on what I am doing wrong?
For the last two years I've been building an open-source local TLS-terminating proxy that rewrites browser fingerprints across four layers (AGPLv3). The goal is to allow a user to rewrite their device fingerprint and mitigate cross-session tracking.
Website: 404privacy.com
Github: un-nf/404
Browser fingerprinting is pervasive. It allows big-tech companies like Google and Meta to track you across the internet whether you're using a VPN or private browsing modes.
The four layers:
Rewrites TLS cipher-suite fingerprint to match the advertised profile (via wreq).
Injects JS runtime into the <head> tag of the
HTTP Response. Spoofs dozens of JS APIs. Spoofing works on Browserleaks and FingerprintJS.
Rewrites HTTP headers to match advertised profile.
Linux eBPF module, integration with WSL2 within the week. Rewrites network level values that tools like p0f and nmap use to fingerprint your device, OS, or browser.
Open source, AGPLv3.
All of the spoofed values are pulled from a predefined profile with dozens of values. This ensures that the spoofed values all align with each other and allow for the proxy to generate a coherent, believable profile that is not linked to your native fingerprint.
I am happy to have conversations about architecture decisions, use-cases, or give you access to the application. Let me know what you guys think!
I've been building splashboard, a TUI splash that renders on shell startup and on cd. The piece that motivated the whole thing is walk-up discovery: it looks upward from CWD for .splashboard/dashboard.toml, so a repo can ship its own dashboard and you see a different splash for each project automatically.
A few Rust design choices that took the most thought, in case any are interesting.
The widget model is Fetcher × Renderer × Shape. Shape is the data-shape contract (Text, TextBlock, Ratio, NumberSeries, Heatmap, Calendar, and so on), and it is the only coupling between the two trait families. A Heatmap payload feeds any renderer that lists Heatmap in its accepts(). I went back and forth on whether to model this with a single trait plus an enum payload (where I landed) or with generics over the shape, and the enum won because the registry indirection (config string to trait object) does not compose with shape generics without erasing them anyway.
Fetchers split into two traits. Cached fetchers are async, disk-backed, and refreshed by a background daemon. Realtime fetchers are sync, infallible, sub-millisecond, and recomputed every frame. The contract is enforced socially, not by the type system, but having two traits made it obvious where reqwest belongs and where it does not. The clock and system_cpu widgets are realtime; anything that touches I/O is cached.
Trust is per-widget, not per-file. A Safe widget (local-only reads, or a hardcoded host) always renders. A Network widget whose URL comes from config is gated by a (canonicalized path, sha256) trust store that revokes itself when the file changes. I dropped a plugin protocol and a generic command = "..." widget on the way there, because neither has a sane blast-radius story for configs you cloned from a stranger's repo.
Stack: ratatui, tokio, reqwest, git2, serde, clap. About 30 fetchers and 20 renderers in the catalog so far.
I've been building a small db engine in Rust and I wrote a little bit about how I designed the zero-copy system in it here.
Hope you enjoy it!
In this age of vibe coding, which I respect but don't enjoy, I love coding for the sake of coding.
Especially since I learnt Rust with all its minutiae, I find myself often coding just to solve language related challenges like avoiding cloning where it makes sense, solving problems by making heavy use of pattern matching on rich ADTs, using iterators, implementing traits, using async/await, you name it.
I must say I used AI not to code for me, but instead to explain in simple terms hard concepts of the language. The official book was awesome. However, some stuff only sank in with AI examples. For this, I find LLMs work great.
Even if my problem domain isn't interesting enough, using Rust always is, and therefore, I find myself addicted to coding weekly on my personal pet projects. Do you feel the same?
Hello r/rust fellows .
Initially I have started this as a hobby project to learn Rust, but very soon it become a real workhourse, with lot's of handy features and great performance.
Today I'm Happy to announce about two major features among with many other improvements .
From now Aralez have native support of Let's Encrypt with HTTP-01 challenge for obtaining and automatically renewing certificates, as well as zero trust forward authentication mechanism.
Hello fellow bit-flippers,
At my job I've been working with the nRF-series of MCUs, at home with STM32 and ESP32, which is all have HALs that are in development but with plenty resources.
However, in our new product development the team wants to use the TI CC1352P7 since it has been used in previous products.
Since it runs an Arm Cortex-M4F processor I can use the cortex-m crates. However, I have been looking for PAC's but can barely find anything.
I don't mind just using a PAC instead of a full HAL, since I am used to writing C.
Does anyone here know how to find these? Or how to retrieve the .svd files so I can generate my own PAC using svd2rust?
Release highlight: LED support and lots of breaking API changes
Full changelog: https://github.com/VoltaireNoir/blight/releases/tag/v0.8.0
Github repo: https://github.com/VoltaireNoir/blight
Crates.io: https://crates.io/crates/blight
Hi everyone,
Recently I started posting my game and by far it is not the best but I refuse to believe it is also the worst in my category(ill get to that in a bit). More often than not, some people downvote my showcases for no apparent reason. Its literally just showing some whitebox gameplay. More shocking to me, getting messages like my "game is the worst" the redditor has ever seen and wonders whether its an "AI mockup" and that the person has seen "20 games exactly just like mine" and that mine is probably the worst they have seen. I called that person out and checked; there arent 20 games "just like mine". It just seemed like someone pulling it out of their magic-hat to demotivate me? I am all up for fair critcism but I cannot help but think some fellow devs are quite malicious with their intent. I wonder am I the only one? I was also called a "c*nt" and the same person hoped my game isnt more than 4 minutes long. For no reason on a indie game post. I didnt say or post anything controversial to warrant those reactions. Even if you re supposed to "destroy a game", you should still not be baseless about things you say. I guess the subreddit doesnt have active moderators since it seems like some of their users just simply dont want to provide valid feedback, they want to convince you your game is the worst and you should quit.
I guess these people dont do it with games which get quite a bit of upvotes and support as that would be futile and would be picked up by decent human beings but I am quite taken aback how toxic the indie game scene can be. Deceit, straight up hating without providing valid feedback was NOT on my bingo card especially since I always felt like indies could understand and emphasize witht he struggle of finishing and shipping literally ANY game.
Again, not here to claim my game deserves the world and beyond or whatever, but I put alot of effort into it and idk, feels a bit sad. And I repeat, I am all for valid criticism, providing feedback but some of it is just straight up toxic. I get the feeling reddit does not seem to be the space to promote your game unless you go super viral or already have an audience.
I'm looking to get a publisher for my game. My ask amount is relatively low considering I'm a solo dev.
I've already released a playable demo on steam:
https://store.steampowered.com/app/4618220/HELL_YEAH_GUNSLINGER_Demo/
And youtubers are playing it already:
https://www.youtube.com/watch?v=HGjcOCaNZIQ
In this state, do publishers still require a pitch deck? As I'm typing this I'm kinda realizing that maybe I need a pitch deck for the full game since that's what I need the money for. But still what do you guys think?
So measuring sprites are relatively easy for pixelated games to create characters that would only take up 20% of the screen, but how does sizing sprites work with non-pixelated games? Ex: Cuphead, Holloe Knight, etc? Is it a process of resizing in engine or does it need to be drawn at the correct ratio, Im asking as someone who plans creating non-pixel assets in Clip Studio.
What is is the best way to create clips of games? Certain apps, styles? Example web and iOS games?
Hi, I'm new to game dev and want to learn how to make music. This is my first time making music, so I'm not sure if I should learning music theory before starting, or what programs and tools/equipment I need.
Hi everyone I am in my senior year of high school and I am wondering if I should consider game dev as my main career path. I did some Godot for my computer science final project and it was probably the most fun project I've ever done. (wanted to rip my hair out sometimes but was fun in and of itself). I am going to University of Toronto for mathematical and computational science as my major (Applied for CS major but got accepted into that. I can, however, switch to a CS major if i keep my grades high enough). I enjoyed the implementation of mechanics and logic part of development more than the artistic side. (not saying i didnt enjoy the art tho)
My questions:
For those in the industry, does the fun of personal projects translate to a 9 to 5, or does the corporate side of game dev kill the passion?
Is a Mathematical & Computational Science degree viewed differently than a pure CS degree by game studios?
Since I’m starting uni soon, should I focus more on maintaining a high GPA or building a portfolio of small itch.io games?
I don't want to risk it by trying to be an indie dev so my goal is to work in a studio. I will probably be able to secure a CS focused internship during my uni time, How much weight does an internship at a non-gaming company carry when applying to game studios later?
I know the job market for game devs is pretty bad right now but how bad exactly? Do i still have a chance to land a job or is it doomed from the start?
What kind of classes should i focus on during my time in uni to learn skills that would be most relevant and useful?
Currently working on what I think may end up as a multiplayer focused pvp/pve rougelite, but I don't want to talk about the game itself. I just wanted to talk about what would be the hallmark system of my game and the driving force in all subsequent dev decisions in the game, my procedural weapon generation. And more specifically, I wanted a sanity check and thoughts on the current direction I've been taking and the hurdles it faces. I also just wanted to write down a logic explanation of it for my own sake to make sure it makes sense. I've been wondering lately if I have been tackling how to manage the grammar of my system all wrong, or overcomplicating it too much.
I've been working these past few months on a procedural weapon generation that goes beyond typical stat modifiers and recoloring/reskinning of the same weapons. It digs down to generating a procedural moveset per weapon, composed of procedurally generated actions/attacks based on the weapon that was generated using a form of grammar. I was partially inspired by Noita's and Elden Ring's modular weapon systems.
I'm sure there is a formal name for this type of procedural system with grammar as I think I saw it in passing, but I don't know what I read was a perfect fit or if I'm just using the word completely incorrect in my case. I just wanted to make assembling decisions based on the resulting bitfields attached on each weapon piece assembled, and have those bitfields also influence the assembly process of forming an attack on that weapon.
I'll break first break down my system into it's two major sides, weapons and movesets.
I was not satisfied with recoloring the same 2D pixel art for my procedural weapons. I ended up creating a system composed of "Weapon Segment Types" and "Grammer Rules" maintained by each segment, which dictate the assembly rules of a weapon.
To skip an even lengthier explanation, a weapon segment attaches to another segment and so forth until a weapon is put together. You can think of it like a tree of branching nodes, where each node represents a segment of a weapon and the completed tree is the entire weapon. Each node/segment holds a component that is a container of several bitfields which each bitfield acts as a means of classifying and defining some aspect in a weapon. I call those bitfields "Weapon Flags" or flags for short.
Skipping to the end of this procedural assembly of segments, I use bitwise operations on all of the gathered nodes' containers of flags to form one final singular container I call a "Weapon Query". This ultimately describes end resulting weapon formed. From the category, to if its magical/enchanted, to the reach and size of a weapon, and even "Usage" or the ways in which it is used (like if it can be swung, slashed, Hip Fired, Spell Casted, etc). This can easily be expanded upon later if I am insane enough (I might be).
This final weapon query is passed on to the next stage of my procedural weapon generation to inform my procedural moveset builder what kinds of things are allowed or make sense to generate for this weapon.
In short, a weapon holds a moveset, a moveset is a collection of actions, and each action itself is a collection of components.
Given some weapon query that describes my generated weapon now, my system can then procedurally generate down to the individual components that make up a singular attack within a given moveset, within a weapon. I've done this by narrowing down those components down to 2 distinct groups, functionally mandatory and extraneous additions.
Animation (more like a timeline of abstract events), Hit detection logic, Logic checked to see if an action should activate in the first place, and mathematical logic on calculating damage output are 4 functionally mandatory components.
The extraneous components are all of 1 type I call "combat effects", which each represents an abstract piece of logic that can be executed during an action/attack. For example, momentum generated during a forward thrust/swing, projectiles spawning, knockback, particle effect spawning, application of status effects, etc. Anything that can happen during an action/attack that is not of the first 4 mandatory components.
I check the weapon query what category of weapon I am building for, and pull from a table mapping a Smash Bro's-esque set of bitfields to the category of weapon. I say "Smash Bro's-esque" because it describes the fighting-game style moveset in a general sense across different Axis within this bitfield. I.e. there is an Action axis for Primary, Secondary, and Special. There is a Direction axis Up or Down, Situational Axis for being Airborne, or holding on a Ledge etc. So if I select the Primary and Up bits in the bitfield and add it to the moveset for a category my systems knows this category requires an Upwards Primary move.
That last explanation goes into handling Activation Logic and from there I know what the skeleton of a moveset should resemble.
I then cascade downwards the water fall building out a a container for a new collections of bitfields I call "Combat Action Flags" for describing a singular action, adding more bits to it at each step of deciding mandatory components. This will be used to determine what compatible extraneous Combat Effects this action can have or must have. At the top of this water fall lies Animation. This determines how a weapon should move during an action, when it's hitboxes should activate, and the cueing of abstract logic if that type of logic is present. Animation acts as the source of truth in timing these various abstract pieces of logic. The name "Animation" is honestly poor naming on my part, even though it does animate the weapon during the attack. It's more like a Timeline that unifies logic with the addition of deciding the position/rotation/size scaling of a weapon during an attack at each keyframe. Because of how integral this timeline is to creating the move in a moveset, it lies at the top of the decision making cascade as the first real step in procedurally generating an action.
Hit detection logic comes after that, but there is currently only 1 example I've found to be necessary for any weapon so I'm probably going to refactor this logic to not be apart of the procedural system and hard code it. Hit detection for projectiles lies within the projectile itself and isn't apart of this procedural weapon system.
What follows next is extra logic that isn't mandatory core logic, broken up into 2 sections. The first is intrinsic, or logic that must exist/be attached because of the bitfields present so far. Think upwards momentum added because an uppercut bit that was checked in the motion bitfield assigned to an animation, with a specific weapon category bit checked, that also happens to have a medium to large bit checked. The second type of combat effect is non-intrinsic, or logic that optionally may be compatible given the bitfields present or like a filtered pool of all possible abstract logic that can be added to an action. Like having the ability to apply poison or fire to whomever you hit.
It repeats this to fill each move in a moveset, and pops out a finished weapon at the end.
The system in its earliest possible form, surprised me with a funny sword that controlled like flappy bird when swinging it. I hadn't tested the upward momentum with weapon usage time so you could just generate more lift than gravity could pull you down while swinging the sword lol. I'll likely add in an intrinsic rule for usage time on light weapons, and upward force on large weapons such that, weapons that happen to weigh very little but are large may possibly spawn with a chance to be used as a form of makeshift wings.
Once I needed to expand on the actual assets used in the procedural generation for testing, I then created polearms. I basically just drew a couple of 1 minute pixel art sticks as the base segment type, and then drew what could go on the ends of that stick. Spear tips, glaive looking blades, and scythes. Because of each segment holding it's own hitbox, and the pieces can interchangeably fit on any end of the stick, I can generate stuff like Twin Blades that you see in Elden Ring, but also any of the polearms compatible segment types can go on any end, so it's more than just blades. You can have a glaive tipped on the front end and scythe/small spear tip on the bottom end. The result of not having coupled hitbox shapes to animations by not coupling visuals to animation is that attacks and hitbox shapes just work once art assets are either assigned to a weapon segment or I create a new segment type for that type of weapon segment art. The grammar handled the assembly of the attack.
It's relatively easy to spit out quick pixel art of weapon pieces that are similar in shape and already aligned if I just follow some strict guidelines creating new art assets for weapons. My custom editors allow for further fine tuning in the game engine where specific pieces of art on a given weapon segment type need more adjusting to seamlessly connect to specific segments, allowing the reuse of art for entirely different types of weapons.
I envision a system at the end where endless weird possibilities exist. Some edgy, some funny, some normal, and some that make you think "how". But this will require an absolutely solid grammar foundation parried with the assembly systems I made.
The system itself is logically sound, and the first half of just forming a visual weapon and it's query is solid. But it's the combined grammar and all its individual rules that cause me such a headache to maintain or expand on. There is a lot to consider so without any means of easily editing, testing, or expanding the rules of this "grammar", I wouldn't have made it much further if I didn't create myself custom editors. That was when I decided to create streamlined custom editors for everything within this system.
Given it's only been at best 4 months of developing the system so far, on top of holding a full-time job, I'm still proud of how far I've gotten with making it multiplayer friendly and somewhat functional for a prototype. But it also feels like I haven't moved as much as I could have for being several months into building a game.
About 1.5 months of that time was spent trying to create ways to manage this unruly system with custom editors in a way that attempts to streamline creation so that even a non-technical game dev could pick it up. Ngl I dreaded this part, so I may have been more liberal in my usage of AI to setup editors and tests to skip through faster. That just caused more problems and made me refactor more frequently than probably necessary. AI is really stupid when it comes the importance of good system architecture, especially when its architecture that has yet to be finalized.
I'll need to get even more creative if I intended on expanding the grammar and rules for procedural weapons, it's too easy to get lost rn and make mistakes that lead to undesirable weapon results. This was the project that taught me how important custom tooling is. Even now, its a bit of a mess and it was only just this lunch I was able to edit the grammar of components to produce consistent moveset results per weapon category. I want to really nail the consistency of it before I add more complexity. Right now I get the feeling I am just overcomplicating system logic on determining if something is a compatible concept, mostly because it feels difficult to manage the system and get it to generate what I intended.
Maybe part of this issue is just lacking more tests I need to write, but man I don't like writing and maintaining test suites. And that only really tells me when something is wrong, it doesn't make editing and managing them easier.
It's important to me that I nail down what grammar is and what are the rules, as well as allowing for quick iteration because of a yet-to-be-developed system I had intentions of implementing.
During runtime, I wanted player decisions and customizations that cascade changes to an instanced weapon's moveset. I wanted to eventually implement what I currently call "Stances" as one of the kinds of runtime equipables that influence your currently held weapon. I wanted players to feel like they were not only mastering a unique weapon and it's moveset of their finding, but influencing it in a way they deemed interesting, OP, or just fun. And after that, experimenting and finding ways to break the game. I want to create excitement for discovery and experimentation.
To me, Theory Crafting is the heart of fun in anything systems related. "What happens when I do X with Z attached?", "What if I placed Y on my build to solve W problem?", "Does what I created break any Geneva Conventions?". I want to reward that and have that be the central plaything my game advertises and markets. Any levels, enemies, bosses, or pvp stuff are all just there as a testing ground for this system. Designing and developing that stuff comes after finishing my procedural weapons system or at least getting it to a far more stable state.
Thanks for listening to my ramblings.
I've been in the AAA industry for over 10 years and always had side projects. I like them all, but they never materialized into something worth shipping. It seems I had to get in the worst situation possible to make a game… by having a newborn.
I had put my previous project on the shelf, pushed a last build, and wasn’t planning to do any game dev outside work hours for quite some time… But I just can’t fight the impulse: 2 weeks in, baby asleep, I’m playing an incremental game, and the itch starts. “I bet I can make something similar pretty quickly.”
That’s how it started, but my side projects are a special place for me: I need to try new things, learn new tech, and make something I want to play. So, I had to put my own twist on the genre and build the core mechanic of the game around physics-based destruction.
This project ended up being a larger beast than I'd initially thought. In a way, you need to lie to yourself to ever ship anything. But Baby is a great manager: you don’t have time to mess around with a newborn; every minute of game dev needs to move you forward.
So here it is, it’s called The Breaking Room and it just went live on Steam: https://store.steampowered.com/app/4487380/The_Breaking_Room/
Anyone else had an unexpected constraint that actually helped them ship?
Hi there, my team runs a modded game server and within our team we recognized that some ppl. use AI quite often in processes where its absolutely not needed - and it often makes the working process more difficult than easier.
Current Example:
We want to build our own little RPG-like gamemode. So we discussed some genereal ideas for the setting/story/worldbuilding and decided that everyone should just think about it and post their own ideas for this until the next meeting, so we can check all ideas there and put stuff together. Half of them did that, the other half used AI to "formulate their ideas". Well, in some cases this ended in so general notes that they have barely any content at all, in another case the team member uploaded a 11 pages AI-written document that was already way too complex and goes way too much into detail about mechanics etc. - so we have to search all the pages for the usable content for the general worldbuilding.
I plan to make a little presentation at the beginning of our next meeting, where I explain with examples in detail where AI works and where not, so the other team members understand. Problem is: even if said as friendly and polite as possible - they may take it like personal offence. The two admins of our group already tried to address the topic a few times (but t.b.h. with no clear plan how to do) - and the result was something like "then I might as well just skip it". Seems like some ppl. are already so dependent on AI that they can't even think of a few concept points and write them down (and we don't expect perfection - we just want to have something to work with).
Have you any ideas how to make ppl. not to not directly shut down and take it as personal offence when we explain where AI is not so good in the process?
(Especially in the general concept phase of worldbuilding a quick and dirty MS paint sketch of a few notes that have intention are way better than (at first glance) perfect maps and dozens of text pages - that lack intention and focus.)
The project started a few years earlier as a university diploma prototype: first a mobile concept, then a VR version in Unreal, both centered around bee breeding and genetics. But VR turned out to be a rough fit for fast iteration on a side project, especially when I was also balancing university and work.
During the last 444 days, I finally built the flat PC mode, and that completely changed the pace of development. It made debugging, iteration, and polishing much more practical, and it became the version that let me stay consistent day after day.
A few things I learned:
- Platform choice can make or break iteration speed.
- A daily streak helps, but only if the workflow is actually sustainable.
- Small tasks are what keep a long project moving.
- Switching from “big feature mode” to “small useful progress today” was a huge mental shift.
I’d love to hear from other devs:
How do you decide when a prototype is good enough to keep, and when it’s time to change the platform or rebuild a core part of the project?
| Article shows quite few statistics about how Godot has grown over the last few years. [link] [comments] |
I’m a game developer and I’d love to create a bigger indie project in the future.
I’m really passionate about space, exploration, and those quiet moments like looking at untouched landscapes at night, with stars shining in the sky.
The problem is that a lot of my ideas end up feeling too similar to Outer Wilds, a game that deeply inspired me.
I was wondering if anyone has advice on how to move past this and develop more original ideas?
Thanks in advance!
| I'm the author of multiple AI mods for Paradox grand strategy games: Anbeeld's Revision of AI for Victoria 3, the AI in Imperator: Invictus, and my old personal Stellaris AI mod. I'm not modding much these days, but I wanted the design knowledge to live on. ARoAI never had proper documentation, for instance. The article covers utility systems, blackboards, planners, and what happens when the scripting language can't express any of them. It goes through how each mod approximated standard game AI architectures, what each gave up, and what actually worked. [link] [comments] |
Most streamer pitches fail for one of three reasons. The streamer is too big, the pitch leads with the wrong thing, or there is no reason for them specifically to care.
A streamer with 100,000 followers gets hundreds of game pitches per month. They have partnerships, sponsorships, and a content calendar planned weeks in advance. You are competing with AAA marketing budgets for their attention. Realistically, your odds are close to zero unless your game is genuinely exceptional.
A streamer with 2,000 to 20,000 followers is in a completely different situation. They are growing, they are actively looking for interesting games to cover because good game choices grow their channel, and they have the time to actually respond to pitches. These are the people who move the needle for indie games.
How to find them:
THE PITCH.
Short. One paragraph maximum.
Here is the structure:
"Hey [name], I noticed you played [specific game they streamed recently, not just the genre] and your audience seemed genuinely engaged when [specific moment in their stream if you watched it, or a general observation about their community response]. I am working on [your game], which is a [genre] that [one sentence on what makes it different]. I think your audience would enjoy seeing [specific reason why, based on what you know about their channel]. Happy to send a key if you want to take a look. No pressure either way."
What that pitch does:
Shows you actually watched their content, which almost nobody does. Gives them a specific reason why their audience would care, which is what they actually think about. Makes the ask low-commitment. No obligation removes their instinct to say no.
What to avoid:
- Do NOT send the same message to 200 streamers. They talk to each other and they will know.
- Do NOT include a trailer link as the first sentence.
- Do NOT talk about your game for more than two sentences before addressing what's in it for them.
One more thing:
Send the key only after they confirm interest. Sending unsolicited keys is widely considered bad practice in the community.
Hopefully this helps you all on the grind. Have a wonderful day!
Hello, I am studying Videogame Development, my goal is to get a job as a designer/writer because I suck at coding, and this semester my grades are beeing BAD so far, and a few of my profesors said that grades don't matter at all in this industry and that we should focus more on making a solid portfolio, so I don't really know what to prioritize rigth now.
Edit: Thanks to you all!
For the past three years, I’ve been working on my game The Pines from my basement.
It started as a hobby project, but pretty quickly became an obsession. At some point, everything started to click. I kept adding mechanics, characters, systems, story moments, and the project slowly grew into something much bigger than I originally expected.
The game is still far from finished, but recently I felt like it was finally time to announce it properly. The art direction was locked in, I had enough gameplay and atmosphere to show, and I felt like it was time.
I had shared a few small things before, but never the full picture.
Since announcing the game, it has reached 20,000 wishlists in under a month, which is honestly still hard for me to process. I wanted to share a few things that I think helped, in case it’s useful to other solo devs or small teams.
A few things I focused on:
• I made the trailer feel as professional as I could.
I’m a corporate filmmaker by trade, so filming, editing, directing, pacing, music, and sound are things I already had experience with. That definitely helped. But the main thing I focused on was making the trailer feel coherent. I wanted it to clearly communicate the mood, the genre, and the promise of the game.
https://youtu.be/7AI7azpYbhM?si=VohJsOcIxOqyyFk-
• I made a simple website with an easy-to-use press kit.
I figured that if I wanted news outlets, streamers, or YouTubers to cover the game, I should make it as easy as possible for them. So the website had a press kit with screenshots, logos, key art, trailer links, and basic information about the game.
Thepinesgame.com/presskit
• I reached out directly
I contacted a lot of streamers, YouTubers, and news outlets with a short, to-the-point email. No huge wall of text. Just what the game was, why it might be interesting, and a link to the press kit.
From there, the game was picked up by some bigger news outlets, as well as some YouTubers. The trailer also got a lot of views on YouTube and X.
The night before the announcement, I told my girlfriend: “I just hope people even notice the trailer.”
Now, less than a month later, close to half a million people have seen it in some form. That still feels completely surreal.
So I guess my main takeaway is this:
Make a trailer that you would actually want to watch.
Whatever your game or art style is, try to make it feel intentional. Good pacing, strong sound design, fitting music, clear mood, and a coherent visual identity can make a huge difference. It doesn’t have to look AAA, but it should feel like the best possible version of what your game is.
Make it easy for people to understand what your game is, and make it easy for press or creators to cover it.
I’m still figuring everything out myself, and I’m definitely not pretending I have all the answers. But this launch taught me that presentation matters a lot, especially when you’re trying to get people to care about a game they’ve never heard of.
And if anyone has a trailer they’re working on and wants another pair of eyes on it, feel free to share it. I’d be happy to give feedback where I can.
I solo-made a game called Freerunners, a precision parkour platformer built around speed, flow, and shaving seconds off every run.
I worked on it during evenings/weekends over the years and finally released it earlier this year.
It didn’t sell well, but I learned a huge amount from making it. Looking back, there are a lot of things I’d approach differently now.
I wrote a postmortem breaking down those biggest lessons and pitfalls I ran into solo deving.
TL;DR
Full postmortem here:
https://www.cbgamedev.com/blog/the-reality-of-solo-game-development-lessons-from-freerunners
Hope this helps other people avoid some of the issues I ran into.
I really want to get into game development, particularly the design aspect of it, but am too scared to start because its very overwhelming, learning from scratch. Does anybody here make games for fun? If so, then what about it is fun exactly? I don't know anything about coding and such and would rather use a Blueprint system like i hear Unreal Engine has but even that seems really scary to learn because its just a lot all at once. Does anybody have any advice?
Hey all, I'm Yang. Solo dev from China, working on my first game Star Fire. It's a 100% hand drawn 2D Boss Rush. No AI. Just me and 700 days of manual line work,I was a programmer for almost 20 years before this, but only went solo full-time two years ago.
My store page went live last June. For months, wishlists just hovered between 200 and 300. Flatline on a heart monitor. And then in the last 15 days,everything changed. Jumped from 300 to over 1,000.
This whole thing opened my eyes. In the crowded Steam market, your effort as a solo dev is basically invisible to the algorithm. Unless you find a traffic entry point, that's the hard truth.
I saw some depressing data recently. By April 2026, over 7,800 games have already launched on Steam this year. SteamDB says about 15% of them are "ghosts" with zero reviews. That was me for a long time. On normal days with no event, wishlist growth was near zero. Like, literally zero. I think a lot of solo and small team devs know this pain. You post devlogs on X and YouTube every day, you try. But without an external push? Piercing through that ocean is almost impossible.
So here's my takeaway after two years. Simple. Join as many events as you can. Especially the ones with official Steam traffic. They are lifesavers. I know it sounds a bit cynical to focus so much on events. But that's just the reality.
About 90% of my total wishlists came from just three specific spikes:
I know 1,000 wishlists is nothing next to big titles. But I also see so many devs talking about "easy" growth. For most of us? Long stretches of zero or single digit growth. That's the real norm.
In my last post here, a lot of you said I should stay active on social media between events to raise my "traffic baseline." I took that to heart. As a dev from China, I use Bilibili and HeyBox (major gaming platforms in China) besides X and YouTube. A recent Bilibili event? One video brought me dozens of wishlists and over 100 followers. This cross platform thing actually worked. On the first day of Eastern Game Fest, I got over 50,000 impressions. Conversion rate wasn't perfect. But for a game that started with almost nothing? That kind of exposure is a lifeline.
These niche festivals are key. But my resources are limited. So I want to ask you all: what other small events or festivals are you looking at right now? Please share.
This is just my honest experience as a solo dev. I'd love to hear if you've been there too. Or if you see things differently. How are you guys handling the flatline months between events?
What are you up to? Is it a hobby or professional work? How did you get into game development? Where do you find resources? Can you draw your own art? etc.
Mine:
I decided to make a game two weeks ago. Since I've studied Python, I had some base to work from. Now I'm making a short game in Godot.
This is a question worth researching, I want to see whether this point of entry is correct
| submitted by /u/SnooWords9033 [link] [comments] |
Tiptap is a great frontend library for creating and manipulating rich text content, but most examples show it being used with a Node-based backend, rather than Go. I wrote up our experience of how to get Tiptap to play nice with a Go backend server, along with a lot of inline code snippets and a gist with the backend code. Happy to answer any other questions I may have missed in writing it up.
Even if you don't use the Tiptap editor, hopefully the idea of a sidecar container is helpful to someone trying to solve a similar problem of allowing Typescript/Node code to interact with Go.
| I published a blog post about my new Go project Fleeto recently and decided to record the YouTube video about it. Few days ago I already published a Reddit post as well but feel free to check the YouTube video as well. [link] [comments] |
| submitted by /u/Flat-Display-5989 [link] [comments] |
| Hey r/rust_gamedev! Just shipped BerryCode v0.8.1— a native IDE for the Bevy game engine, dogfooded by being built on the same stack it edits (Bevy 0.18 + bevy_egui 0.39 + WGPU). What's in it - Code editor (Tree-sitter highlighting, Ropey buffer, LSP) - Scene editor — 3D viewport, hierarchy, inspector, gizmos - ECS Inspector (BRP client — talks to your running Bevy game) - Integrated terminal, Git, project-wide search - AI chat / inline completions (BYOK; opt-out with `cargo build --no-default-features`) v0.8 highlights - Read-only **Godot project** support (parses `project.godot` / `.tscn`, syntax highlighting for `.gd`) - Activity bar panel visibility settings (hide what you don't use) - Opt-out `ai` Cargo feature for a leaner build Stack: same as the games it edits — Bevy 0.18 + bevy_egui 0.39 + egui 0.33 + WGPU. Two binaries from the same crate (`berrycode` + a thinner `berrycode-egui` for dev). Repo: https://github.com/KyosukeIshizu1008/berryscode Releases (macOS / Linux / Windows): https://github.com/KyosukeIshizu1008/berryscode/releases/tag/v0.8.1 Feedback, issues, weird crashes — all welcome. Especially curious to hear from folks running Bevy on non-toy projects what's missing. [link] [comments] |