Sunday, April 26, 2026
862851fa-ab55-40e3-a142-212fe20fab67
| Summary | ⛅️ Partly cloudy in the morning and evening. |
|---|---|
| Temperature Range | 16°C to 24°C (61°F to 75°F) |
| Feels Like | Low: 59°F | High: 82°F |
| Humidity | 64% |
| Wind | 10 km/h (6 mph), Direction: 177° |
| Precipitation | Probability: 12%, Type: No precipitation expected |
| Sunrise / Sunset | 🌅 06:03 AM / 🌇 07:28 PM |
| Moon Phase | Waxing Gibbous (33%) |
| Cloud Cover | 52% |
| Pressure | 1011.6 hPa |
| Dew Point | 55.0°F |
| Visibility | 6.02 miles |
When President Nikos Christodoulides announced last week that Cyprus is poised to implement a social media ban for children under 15, he blithely mentioned that the age verification system would be via the ‘Digital Citizen’ application, a – so far – non-mandatory digital storage for personal data.
It immediately set alarm bells ringing among those wary of being forced to download an app which stores all their personal information and who are eager to keep their online digital presence to a minimum. In short, will the ban set up to protect the young inevitably affect us all?
And then there is the question of whether following the broader international trend pioneered by Australia, which introduced a similar ban in December 2025, will actually work. A recent report on the effectiveness of the ban found that 61 per cent of Australian 12 to 15-year-olds who had accounts on restricted platforms before the ban still had access.
“The Republic of Cyprus is among the EU member states which are moving forward immediately with the implementation of the European technical proposal for age verification in the online space,” Christodoulides said on April 16.
He was responding to the announcement by European Commission President Ursula von der Leyen who had presented the EU’s age verification application the previous day when she assured that when using the app, social media users will remain “in full control” of their own data, “because we do not want platforms to scan our passport or face”.
European Commission spokesperson for tech sovereignty, Thomas Regnier, explained how the verification system is supposed to work.
“The work is concluded at technical level by the European Commission. The member states may now produce it as a standalone app or integrated into their solutions [such as the ‘Digital Citizen’ app],” Regnier told the Cyprus Mail.
Regnier asserted that the app is “fully privacy-preserving”, with its function simply being the confirmation of the user’s age, stressing that the platform itself would not receive any information about the user.
“Once the app receives the proof of age, the link between the provider of the proof and the user is cut and no data flows,” he said.
EU verification mechanism as a blueprint
Using the above verification mechanism as a blueprint, Cyprus is currently moving forward with preparations to integrate the application on a national level.
“As with several other member states, Cyprus intends to integrate this solution into its national digital wallet, the Digital Citizen app,” Deputy Research Minister Nicodemos Damianou told the Cyprus Mail.
As the Cyprus Mail understands, this in effect means, that the use of the ‘Digital Citizen’ app, which had been announced as non-compulsory and has until now around 145,000 users islandwide, could soon be mandatory in order for anyone to access social media.
When asked directly, the deputy ministry of research neither confirmed nor denied this.
“What will be required is that platforms perform adequate age verification checks, not the use of a specific application. However, in practice, a tool will be needed to enable this verification, and at national level this will be provided through the Digital Citizen app,” Damianou said.
As an open-source application, the EU verification mechanism’s code is susceptible to modification and enhancement by anyone, including member states and beyond.
Regnier assures the safety of the application, saying that the verification mechanism has been designed in accordance with stringent privacy standards underpinned by ‘zero knowledge proof’, but what does this actually mean?
The US tech magazine Wired describes zero knowledge techniques as “mathematical methods used to verify things without sharing or revealing underlying data”.
These support sensitive interactions, improving their security and making them more private.
“Think of a payment app checking whether you have enough money in your bank account to complete a transaction without finding out anything else about your balance,” Wired explains.
Critic alleges surveillance potential of verification app
But analysing the planned ban in a recent opinion piece for the Cyprus Mail, Andreas Shialaros, a Cyprus-based lawyer who deals with digital rights and data protection issues among other areas, warned of the wider implications of the ban.
“Once you give a state too much power, it will be difficult to take it back,” he said.
Shialaros warned that the rollout of the verification mechanism could lay the foundation for broader surveillance, including the monitoring of platforms and who accesses them from where.
“Let us be precise about what this means. This is not simply a tool that checks whether a child is old enough to use Instagram. It is a state issued digital gateway positioned between every citizen and the online world,” he said.
Shiralos suggested that the issue at hand was not whether data would be collected against our will, but rather whether we can trust that it wouldn’t be.
“Our children deserve safety. But they also deserve to inherit a society where digital freedom is not quietly traded away in their name, while we all applaud,” he said.
Then, there’s the question of whether the age verification actually works among the tech savvy youth.
A relevant study conducted by the British-based charity, the Molly Rose Foundation, conducted to analyse the effects of the social media ban in Australia, found that many social media platforms fail to shut a majority of underage accounts, raising concerns over the effectiveness of the ban.
“Three in five, 61 per cent, Australian 12 to 15-year-olds who had accounts on restricted platforms before the ban came into force still have access to one or more accounts,” the foundation found.
According to their study, the number of underage social media users remains high with 53 per cent of previous TikTok users, 53 per cent of YouTube users and 52 per cent of Instagram users still able to access an account on these platforms, many of them using virtual private networks (VPNs) or other workarounds to manipulate their location.
Verification system to be implemented by 2027
Digital citizens, so far so good, but what about non-citizens?
For migrants, refugees and asylum seekers, social media platforms are of particular importance, as they are frequently the sole means of maintaining communication with their families abroad.
But anyone who has been trying to access governmental services with a non-Cypriot identity card knows how much of a struggle the latter can be. Now how will foreigners be able to access social media in the future?
“Alien registration documents are expected to be integrated into the Digital Citizen app by the end of the year,” Damianou said.
According to the minister, the overall legislative process is expected to be completed by 2027, with Cyprus currently aiming for the implementation of the age verification mechanism by the end of 2026 or early 2027, in line with other member states such as Greece.
“We are starting to discuss the final design of how the technical age-verification mechanism is expected to be incorporated into our national solution,” Damianou said.
The next steps on a national level include the announcement of an action plan, the drafting of a relevant bill, an impact assessment on children’s rights, as well as a public consultation through voice of the citizen platform, including input from youth organisations.
“We expect that a transitional period will follow, allowing platforms to comply with the new requirements,” the deputy minister said.
Much of the work will be outsourced to big tech
While the government seems to have a fairly clear plan on how to approach the new verification system, it is evident that much of the work will need to be undertaken by the social media themselves and this is likely to pose significant challenges.
Australia, which has had a social media ban for children under 16 in place for almost five months, provides some lessons on social media age limits in general.
In a report published at the end of March 2026, the Australian e-safety commissioner Julie Inman Grant, raised serious concerns about the compliance of Facebook, Instagram, Snapchat, TikTok and YouTub.
“As a result of those concerns, I have announced today we are now moving from a compliance monitoring to an enforcement stance,” she said, with Australia having since imposed civil penalties of up to AU$49.5 million for non-compliance with the new regulations if the platforms do not take “reasonable steps” to keep youngsters from creating accounts.
Meanwhile European Commission President Ursula von der Leyen is confident that the application can be utilised as a reliable tool for big tech, saying that there are “no more excuses”.
“The EU age verification app is our answer to all the platforms who said there is no solution to check the ages of users accessing their services,” the commission said.
The Cyprus Mail contacted Meta for comment but did not receive a response in time for publication.
Dance, live music and performances in the park? That is exactly what is coming up on Sunday in Nicosia’s Athalassa Park, as the Green Steps programme presents its next activity. With a focus on dance and ecological sensitivity, the programme connects children aged five to 11 with educators to encourage environmental welfare through the art of dance.
As such, a curated morning experience takes place at the park from 10am, with free entry. Inspired by the ‘Wood Wide Web,’ the performance invites audiences of all ages to discover how nature is full of connections. Beneath the ground, plants and trees are linked by a hidden network of fungi and roots, sharing water, nutrients and even messages to help each other grow and flourish.
Green Steps brings this secret world to life. Dancers and musicians explore how plants ‘talk’ to one another and work together in surprising ways. What might this invisible dance look like under our feet? Taking inspiration from the rhythms and patterns of the forest, the performance encourages children and adults alike to think about how we are connected – to each other and to the natural world.
Green Steps
Site-specific dance and music performance for children aged five to eleven. Choreography: Zoe Georgalli. Dancers: Elisavet Panagiotou, Georgia Konstantinou. Music: William Scott. April 26. Athalassa Park, Nicosia. 10am. Free. Registrations: https://forms.gle/eNoFQvRcrLyzVnPY7
President Nikos Christodoulides on Saturday emphasised the importance of cancer prevention, treatment and support services as the annual Christodoula March began in Nicosia.
The march, which supports cancer patients and their families, drew large public participation.
Addressing attendees, Christodoulides said the event continues to serve as a point of unity and awareness more than five decades after it started, adding that its purpose remains centred on supporting those affected by cancer.
“This march unites all of us, so that we can support our fellow human beings who are facing the disease of cancer,” he said.
He said improving cancer care should remain a shared objective, commenting on recent legislative and policy developments aimed at strengthening healthcare services.
Christodoulides placed particular emphasis on prevention, describing it as a central priority in public health policy.
“The most important thing is prevention. And that is where we all need to invest more,” he said, adding that screening programmes have been expanded through the health ministry.
He also underlined the establishment of a national cancer institute, describing it as a coordinating body intended to bring together centres involved in cancer treatment and research.
The anti-cancer society supported approximately 4,500 patients over the past year, delivering more than 80,000 services, including home nursing care, psychological support and patient transport to treatment centres.
The march commemorates Christodoula, a cancer patient who fled Famagusta during the Turkish Invasion of 1974 and walked to Sotira, where she later died.
Christodoulides called on participants to walk in her memory and in support of those currently undergoing treatment: “Let’s walk together, to give support to all our fellow human beings and their families who are fighting a difficult battle.”
The informal European Council held in Cyprus on Thursday and Friday has strengthened the country’s international standing and reinforced its role in shaping European policy priorities, President Nikos Christodoulides said on Saturday.
He expressed satisfaction with both the organisation and substance of the summit, saying that the outcome contributed to positioning Cyprus as an active participant in addressing regional and European challenges.
He said the event also demonstrated the country’s capacity to host high-level diplomatic engagement at a critical time for the European Union and its neighbouring regions.
He admitted that although informal councils do not adopt formal decisions, discussions focused on key strategic areas aligned with Cyprus’ priorities during its assumption of the EU council presidency.
These included defence and security, energy policy and the future of the single market.
Referring to defence cooperation, Christodoulides highlighted discussions on the EU’s mutual assistance clause under Article 42.7, describing it as an important element of collective security planning.
He said the issue is being developed further through practical frameworks aimed at clarifying how member states would respond in the event of a threat.
On energy, he said leaders examined both immediate and planned future measures, including steps towards a more integrated European energy system.
He also referred to the signing of an agreement with the European Commission and the European Parliament on the single market, linking it to competitiveness and economic resilience within the Union.
Christodoulides described the meeting as having a “strong imprint on the future of the EU”, adding that it contributed to advancing discussions on core policy objectives.
He said engagement with regional partners formed a significant part of the agenda, allowing for exchanges on issues affecting the Levant and Middle East.
The organisation of the summit had been positively received by other European leaders, he said, adding that the outcome enhanced Cyprus’ international profile.
“It strengthens the footprint of our country and strengthens the international status of the Republic of Cyprus”.
Responding to remarks by French President Emmanuel Macron regarding Article 42.7 earlier today in Greece in which he affirmed that should the Hellenic state’s sovereignty “ever be in question, France will be there”, Christodoulides said recent developments had demonstrated that the clause has practical relevance.
He said that even without its formal activation, Cyprus received immediate support from several EU member states after a drone hit the British Base in Akrotiri during heightened tension in the region.
He added that the experience in Cyprus is now being used as a reference point for developing a structured response mechanism at European level.
Christodoulides said Cyprus will continue to act as “an interlocutor between the European Union and its neighbouring regions”.
Cyprus is pursuing a comprehensive restructuring of its asylum system within the framework of the EU’s new migration pact, deputy migration minister Nicholas Ioannides assured on Saturday.
“Our goal is to turn migration from a problem into a solution that benefits our citizens and the state, while always respecting our international obligations,” he stressed.
Speaking at a conference in Thessaloniki, Ioannides said Cyprus views the EU pact as a central development for migration policy across Europe.
He said it “strengthens external border management and clarifies entry conditions”, allowing access only to individuals with legal grounds for entry or international protection status.
It is intended to “expediate asylum processing while preserving legal standards”, with procedures designed to ensure applications are examined swiftly.
Ioannides commented that Cyprus, as “a frontline member state”, operates under specific structural pressures linked to geography, infrastructural limitations and its political situation.
He said these conditions admittedly “affect the state’s capacity to accommodate arrivals and manage reception requirements.”
The deputy minister explained that the EU framework includes solidarity mechanisms intended to distribute responsibilities more evenly among member states.
He confirmed Cyprus’ support towards this end, arguing that “no single frontline state can absorb disproportionate pressure from regional migration flows”.
He said the implementation of the pact presents both administrative challenges and policy opportunities.
“Cyprus has experienced pressure on reception facilities, increased caseloads in asylum processing and strain on administrative services during periods of higher arrivals”.
Ioannides confirmed that Cyprus has recently completed domestic legislative changes to align national law with the EU framework.
The House passed the refugee bill on Thursday, introducing reforms to asylum procedures, screening mechanisms and processing arrangements.
The legislation is expected to support operational alignment with EU standards.
He said procedural rules covering screening, border assessment and return processes are being finalised.
These include provisions for faster case handling, structured assessment at reception centres and formalised communication with applicants through digital systems.
The new framework also provides for advisory services for asylum seekers at first instance and access to legal assistance during administrative procedures.
Ioannides said upgrades are underway regarding the development of new facilities in Limnes and improvements at the Kofinou reception centre.
The reforms also include digital upgrades to asylum management systems, improved coordination between state services and enhanced processing tools for Dublin Regulation cases.
The human rights commission has been assigned responsibility as an independent monitoring mechanism for fundamental rights within asylum procedures.
Ioannides said Cyprus has recorded a significant reduction in irregular migration flows in recent years.
Irregular arrivals have decreased by 86 per cent compared with earlier periods, while return operations place Cyprus among the leading member states in the European Union in proportional terms.
He added that irregular arrivals in the first quarter of 2026 were 30 per cent lower than in the corresponding period of 2025.
These trends, he said, “reflect sustained operational activity across enforcement and migration services”.
The deputy minister said effective return procedures are central to maintaining the credibility of the migration system.
“Without functioning return mechanisms, asylum systems risk becoming overstretched and administrative efficiency is reduced”.
Ioannides also referred to broader regional developments, particularly in the Middle East, stating that instability in neighbouring regions continues to influence migration flows.
He said migration “cannot be managed solely at national level” due to its external drivers and cross-border nature.
He said Cyprus supports coordinated European responses to migration pressures, including shared operational tools and strengthened cooperation with third countries.
He added that the EU pact represents a significant policy shift, but its effectiveness will depend on implementation across member states.
Ioannides said the island’s EU council presidency will “provide an opportunity for Cyprus to contribute to the coordination of EU-wide migration policy and implementation of the new framework”.
He assured that the country is approaching the reform process with structured planning and administrative preparation.
“The aim is to develop a system that is more efficient, more coherent and better aligned with European standards while maintaining respect for legal obligations”, he concluded.
A motorcyclist died in a traffic accident in Akrotiri on Saturday, while his female passenger was injured when their bike crashed with a car, the British Bases said.
The driver of the car was arrested and the road closed to traffic.
British bases police said the crash occurred at around 1.30pm when a car collided with a motorcycle.
The male motorcyclist was pronounced dead at the scene.
His female passenger was taken to Limassol general hospital with non-life-threatening injuries.
Diversions are in place as officers carry out measurements, vehicle checks and witness statements to establish the exact circumstances of the crash.
Police confirmed that both vehicles remain at the scene for forensic inspection.
The investigation remains ongoing.
In Limassol, there is a boutique hotel lobby that attracts attention with its very bright flowers. However, these flowers are not the kind you would typically find in a garden. They do not wilt, do not need any water, and are entirely free from allergens. They also look just like the real thing.
Floral Image supplies the flowers. Customers select a design, get deliveries every month, and have a space that feels lively and fresh without the maintenance work associated with traditional flowers.
“I wanted to build a sustainable business that genuinely makes people happier, and when the opportunity presented itself with Floral Image, I took it because it aligned with that purpose,” says franchise owner of Floral Image in Cyprus, Carine Khoury.
Carine’s vision has been to combine beauty, convenience and environmental responsibility, allowing businesses to enjoy elegant interiors. The replica flowers also offer a greener take.
An analysis commissioned by Floral Image compared how such lifelike arrangements and conventional fresh-cut flowers impact the environment. The findings challenged many widely held beliefs.
Fresh-cut flowers are often sourced from countries like Kenya, Colombia and the Netherlands, requiring a lot of water, pesticides, fertilizers and refrigerated transport. When also considering production, packaging, weekly replacements and disposal, fresh flowers produce about 80 times more greenhouse gases than high-quality artificial arrangements that are refreshed every month, the survey said.
The monthly refresh system is central to this sustainability benefit. Unlike fresh flowers that are generally replaced every week, each Floral Image arrangement stays in place for an entire month before a new design is delivered.
Over its usable life, one arrangement goes through many cycles, spreading its environmental footprint over many more weeks of use than fresh-cut flowers could ever manage.
The analysis showed that professionally refreshed artificial arrangements have a significantly lower environmental impact than traditional flowers.
The benefits do not stop there. The arrangements are free from allergens, do not need water, and do not create mess, which ensures a safe and clean environment for both employees and clients. Each display is treated with a special antimicrobial coating that gives long-lasting protection.
Floral Image in Cyprus is a small operation compared to the brand’s international standing. The company was originally established in Australia and now operates in 18 countries across four continents, serving more than 27,500 customers with over 38,000 arrangements.
But the Cyprus operation reflects Carine’s hands-on approach, which ensures that local businesses get designs tailored to their needs and attentive service. Her dedication to sustainability, aesthetics and simplicity has contributed to positioning Floral Image as a reliable partner for businesses that want to enhance their interiors while lessening their environmental impact.
Selecting professionally refreshed lifelike arrangements shows that businesses are committed to sustainability while keeping an elegant and welcoming atmosphere. Carine points out that the service goes beyond just decoration.
It is a way for businesses to make spaces enjoyable, environmentally responsible, and inspiring for both staff and visitors. “Our goal is to make sustainable choices simple, beautiful, and practical,” Carine says.
Floral Image is planning to keep expanding its presence in Cyprus, aiming to assist more hotels, offices, cafés, and restaurants in adopting a solution that combines style, convenience, and environmental responsibility.
Her goal is to demonstrate that businesses can have both visual appeal and environmental responsibility without making a choice between the two.
For Carine, Floral Image is not just a business but is a combination of beauty, practicality, and responsibility. By providing lifelike, maintenance-free arrangements in Cyprus, she assists businesses in changing their spaces with smarter and greener options.
On May 1, the village of Kalavasos will host a cultural event dedicated to the history, art, and tradition of silk. The Journey of Silk: From China to Cyprus festival aims to highlight the close cultural ties between Cyprus and China through the art of silk. Workshops, exhibitions, demonstrations, DJs, storytelling, village walks and Chinese performances will be held.
Organised by the group To Kamateron, which aims to revive the art of silk, the festival will host a variety of activities in the village square from 10am to 5pm. Blending traditional art that is deeply rooted in Cyprus’ cultural identity with Chinese cultural heritage, the event highlights both countries.
As such, members of the Chinese community take part in the festival, with the support of the Confucius Institute, the University of Cyprus, and the Kalavasos Community Council. The day’s programme includes music by a DJ, silk-themed art workshops, art and craft exhibitions, activities for children, a presentation of silkworms at all stages of their life cycle and a silk art market.
Workshops on Cypriot silk handicrafts and Chinese handicrafts will be offered as well as Chinese martial arts demonstrations and tai chi dances with fans. Attending the festival, will be the Deputy Minister of Culture Vasiliki Kassianidou, and the Chargé d’Affaires of the Chinese embassy Zhou Yunliang.
2nd Silk Festival
Silk art workshop, Chinese handicraft workshops, exhibitions, markets, DJs, performances and walks. May 1. Kalavasos, Larnaca district. 10am-5pm. https://www.facebook.com/silkfestivalcyprus
A 60-year-old cattle farmer from Yeri was admitted to intensive care on Saturday after suffering a heart attack shortly after his animal unit tested positive for foot-and-mouth disease.
The incident occurred after veterinary services confirmed infection at his holding, which is understood to include around 300 animals that are now scheduled for culling under state containment measures.
The farmer was taken to hospital and remains in intensive care.
The development comes amid escalating tensions between livestock farmers and authorities over the government’s policy of compulsory culling to contain the outbreak.
The agriculture ministry has rejected calls from farmers to halt the destruction of healthy animals within infected units, maintaining that Cyprus is simply following European Union regulations governing FMD protocols.
Agriculture Minister Maria Panayiotou has repeatedly said the measures are legally required.
Officials have also warned that any suspension of culling would breach EU animal health rules.
On Thursday demonstrations reached a peak when farmers effectively closed the Rizoelia roundabout, calling for the president to intervene after an unsuccessful meeting with the agriculture minister.
Authorities reiterated that “without cooperation and an end to the demonstrations, the dialogue cannot continue.”
Veterinary services have issued eight fines totalling €45,000 for illegal animal movements linked to the spread of the disease, and six further cases have been referred to police.
The outbreak has already affected more than 100 livestock units across Cyprus, with tens of thousands of animals culled as part of containment efforts.
Support provided to Cyprus during recent regional tensions was described as a “gamechanger” by Greek Prime Minister Kyriakos Mitsotakis on Saturday, who said European allies acted collectively to assist a member state facing security threats.
Speaking alongside French President Emmanuel Macron during a visit to the frigate Kimon in Piraeus, Mitsotakis said that “we supported Cyprus at the time of threat, what we did with Cyprus was a gamechanger,” stressing that the response demonstrated Europe’s ability to act in practice.
He added that the intervention reflected a broader commitment to collective defence. “We put into practical application Article 42.7, on common defence, we need to take this article much more seriously.”
The remarks come after the deployment of Greek naval and air assets to Cyprus in March after a drone hit the British base of Akrotiri in Limassol.
The frigate Kimon, described by Mitsotakis as the ‘pride of the Greek fleet’, remained in Cypriot waters for over 40 days, according to its commanding officer, providing operational presence and contributing to regional security.
French support was also underlined during the visit, with Macron referencing joint defence cooperation and earlier assistance.
“We will be here for you should your sovereignty ever be threatened” he said.
Following the drone attack, a European armada formed around Cyprus as various countries sent warships.
Greek frigates, including Kimon and Psara, were deployed alongside fighter aircraft, forming a protective presence.
Mitsotakis framed the response as evidence of Europe’s evolving defence posture, pointing to long-standing concerns over burden-sharing within NATO.
“President Trump was right in 2017 when he said that Europe is not doing enough on defence,” he said, adding that Greece had “consistently maintained higher defence commitments” due to national security considerations.
Macron, for his part, stressed the need for Europe to strengthen its strategic autonomy while maintaining alliances.
“When Europe is united, it is a huge force,” he said, adding that the current global environment presents “a moment” for Europe to reinforce its role as a reliable partner.
Both leaders also referred to the importance of enhancing the European pillar within NATO and expanding cooperation beyond traditional frameworks.
Macron stressed that Europeans must “work together on joint operations”, including in regions such as the Eastern Mediterranean.
The government spent around €140,000 to rent 12 armoured limousines for the transport of EU leaders during this week’s informal summit, with costs expected to be reimbursed through the EU budget.
According to Politis, the vehicles, all BMW 7 Series models, were brought from Germany for a 10-day period.
The total cost equates to approximately €14,000 per day, or about €1,166 per vehicle daily.
The summit, held over two days at Ayia Napa marina and the Philoxenia conference centre in Nicosia, required high-security transport for heads of state and senior European Commission officials.
Authorities said the tender specifications were confidential due to the security requirements involved.
Officials indicated that such vehicles are designed to meet high-level security standards, with protection ratings typically ranging across internationally recognised armour classifications.
The cars will be returned abroad following the completion of their use.
Alongside the summit, a separate public tender awarded earlier this year covers the rental of 60 BMW 5 Series vehicles for use during Cyprus’ EU council presidency period.
That contract amounts to approximately €1 million for a seven-month lease.
These vehicles are intended to support logistical needs, including the transportation of officials, delegations and administrative staff throughout the presidency term.
This is not the first time BMW vehicles have been selected for such purposes in Cyprus.
During the country’s previous EU presidency in 2012, a similar arrangement saw dozens of BMW models leased for official transport duties.
Following that period, a number of the vehicles were later sold on the market.
A comparable process is expected after the current contract concludes, with the vehicles likely to be returned and potentially offered for resale.
Authorities indicated that the majority of expenses linked to the organisation of the EU presidency, including transport and logistics, are expected to be covered by the European Union budget.
An 85-year-old man who had been hospitalised since a violent robbery in December died on Saturday, with police confirming the case is now being treated as murder.
Charalambos Kounnapis had been receiving treatment at Nicosia general hospital following the attack at his home in Nicosia on December 20, 2025.
According to police, the assailant broke into the pensioner’s home, assaulted him and stole a sum of money.
The victim was later taken to hospital by ambulance, where doctors diagnosed severe injuries including a skull fracture, broken ribs, head trauma and a haematoma to the eye.
Following his death, authorities said they are now investigating the break in and assault as “a murder case”.
A 19-year-old man has been arrested in connection with the incident and remains in custody pending trial before the criminal court.
Police confirmed he had been detained as part of the original investigation into the assault and robbery.
Deportations have reached 535 since the start of the year, the justice ministry said on Saturday, alongside 2,052 voluntary departures.
According to official figures, 578 arrests and 529 irregular arrivals were also recorded between January and late April, with the ministry saying the data “clearly shows that the joint effort of the competent authorities is paying off, with specific and measurable results.”
The deportations include people detained in police detention centres, the central prison and the Limnes migrant centre, and concern cases of illegal residence and illegal employment.
For the period from March 1 to date, authorities carried out 195 deportations and recorded 729 voluntary departures, 204 arrests and 256 irregular arrivals, indicating sustained enforcement activity across the island.
The ministry stressed that enforcement measures are being implemented “with the same consistency”, while maintaining “respect for the rule of law and human rights”.
Police said on Saturday they have identified two individuals in connection with a video showing the beating of a minor.
The individuals in question are believed to be “the perpetrator and the victim of the beating”, both understood to be minors.
The case is being handled by CID, where statements are being taken.
Police said that “due to the nature of the case and the involvement of minors, they cannot provide further details at this stage”.
The video, which circulated widely online and was broadcast by some media outlets, shows a violent assault between young individuals, with bystanders present during the incident.
The case remains under active investigation, with police focusing on establishing the full circumstances surrounding the incident, including how the footage was recorded and distributed.
Weather conditions across Cyprus will remain slightly unsettled into the weekend, with dust in the air, increasing cloud and a chance of isolated showers from Saturday afternoon.
In its announcement, the met office said light dust will persist until Sunday, while cloud developing later in the day may bring “isolated rains, without excluding the occurrence of an isolated storm”, mainly over Troodos.
Winds will range between 15 and 30 km/hr,reaching up to 40 km/hr along the coast of Limassol.
Overnight, skies will turn mostly clear, with temperatures dropping to around 11°C in Nicosia, about 15°C in Limassol and Paphos, and near 10°C in Troodos.
On Sunday, clear conditions early on will give way to increasing cloud, with “isolated rains or even a storm” expected, mainly in Troodos, Kyrenia and parts of Nicosia.
Temperatures will rise to around 27°C in Nicosia, 25°C in Limassol and Famagusta, and 23°C in Paphos and Kyrenia.
From Monday to Wednesday, mornings will be mostly clear, followed by cloud build-up and “local rains and isolated storms”, mainly in Troodos and Famagusta, with a chance of hail during storms.
Temperatures will drop slightly on Monday and remain close to seasonal averages through midweek.
Cyprus has demonstrated its ability to influence developments beyond its size, President Nikos Christodoulides said on Saturday, following the informal European Council meeting held on the island on Friday.
In a post on X, Christodoulides said the country had “once again” shown it can “mobilise, contribute and play a substantial role in shaping developments beyond its size,” pointing to the hosting of EU leaders at what he described as a critical moment for the Levant and Europe.
“Over the last two days, Cyprus has responded,” he said, referring to the summit, which brought together European leaders to address regional instability and broader strategic challenges. He added that the meeting was aimed not only at exchanging views but also at advancing “targeted” outcomes.
The president expressed confidence in the country’s broader role, saying he believes “absolutely” in “its potential, its role, its ability to connect regions and perform beyond expectations.”
He added, “I am proud of our country, proud of what we have achieved and optimistic about what we can continue to offer.”
The summit was framed by the government as part of efforts to position the country as an interlocutor between Europe and the Gulf.
Discussions among leaders focused on security, energy and migration, as well as the impact of ongoing regional conflicts on European stability.
In earlier remarks, Christodoulides expressed hope that such gatherings would mark the start of “a more consistent, more results-oriented dialogue” with a clear goal of “a stronger European Union” alongside “a stronger, more stable region.”
European Council President Antonio Costa attending the summit remarked that “Cyprus is a vital anchor of cooperation and European engagement in the region.”
Christodoulides reiterated that the nation would continue to act as a connector, concluding that “Cyprus can mobilise, contribute and play a substantial role.”
The global governance landscape in 2026 is increasingly defined by a “rule of law recession,” forcing a severe institutional reckoning within the Republic of Cyprus as well. While Cyprus maintains the outward technocracy of a high-income EU member—a facade of stability currently underscored by its Presidency of the Council of the EU—the reality is a stark governance paradox. Beneath its functional exterior, European-standard legal mechanisms are systematically hollowed out by a political culture of cronyism and elite protection. This synthesis of technical hardware and corrupted software has birthed what many call the “Lawful Mafia State”, a system where institutional strength exists in form, but integrity has been entirely decoupled from power. In this article, we explore this paradox by comparing two key international indicators: the Rule of Law Index and the Corruption Perceptions Index. We examine the entrenched obstacles that make reform unlikely, arguing that recent scandals, like the Sandy scandal, are not isolated but rather signs of deep, ongoing decay.
Diagnosing the core governance paradox
To deconstruct this paradox, one must compare two key international indices that are central to the analysis: the Rule of Law Index from the World Justice Project (WJP) and the Corruption Perceptions Index (CPI) from Transparency International. While the WJP index measures the state’s framework—its basic commitment to the rule of law and the effectiveness of legal processes—the CPI reveals the extent of corruption and elite protection. Looking at these datasets together, using their metrics, shows a dual reality: a nation that seems highly competent on paper but relies on systems designed to shield those in power. This reinforces the image of Cyprus as a state that is lawful in form but mafia-like in practice. In the end, while the Republic has European-standard legal tools, it lacks the drive to use them against its influential interests. Here, the law shifts from an instrument of justice to a means of management, where political accountability is a privilege for a few rather than a duty for all.
The wins of the legal framework
The WJP 2025 Rule of Law Index highlights strengths in Cyprus’s legal framework, ranking 30th globally with a score of 0.67, indicating technical competence but uneven institutional performance. While this is a strong global position, Cyprus ranks 18th among 27 EU Member States, placing it in the third EU tier—below top tier countries scoring above 0.8 and below the EU average of 0.73. Cyprus is grouped with Slovenia, Portugal, Malta, Poland, and Italy.
Cyprus performs very well in several critical areas, clearly demonstrating the strength of its basic hardware. The country scores an exceptionally high 0.85 in the absence of crime and 0.78 on the right to life and safety. This indicates a very high level of physical security for citizens. The judiciary stands out as the crucial “last bastion” of institutional legitimacy. The public strongly believes that politicians can be corrupt, but there is widespread confidence that judges do not take bribes. This is reflected in high WJP scores of 0.84 for the absence of judicial corruption, 0.81 for criminal justice corruption, and 0.79 for civil justice corruption. Cyprus ranks 14th in the world for freedom of belief and religion, with a score of 0.82. As a result of these processes, Cyprus is widely regarded as a “safe zone” rather than a failing state.
Institutional hollowing and systemic fragility
Despite its technical legal strengths, the WJP data reveal deep institutional weaknesses, lengthy delays and a lack of accountability. Cyprus’s lowest score of 0.29 is for ‘no unreasonable delay’ in civil justice. This means routine civil cases can languish in the courts for 10–15 years, denying citizens justice. The legislature also scores poorly, with a 0.43 on the corruption scale. This suggests a culture of legislative cronyism. In Cyprus, this translates into daily ‘favours for friends’, lobbying loopholes and the aggressive capture of the House of Representatives by the elite.
Systemic corruption lets political figures fully sidestep formal laws. High-ranking officials enjoy an ‘establishment shield’, with a mediocre sanctions score of 0.52. As a result, they rarely face real accountability. The right-to-information score of 0.56 indicates barriers to public access to government data. This ‘information vacuum’ sharply limits transparency and puts journalists at risk akin to whistleblowers.
The decay of the political soul and the hierarchy of protection
While the WJP index measures a country’s formal structures, Transparency International’s Corruption Perceptions Index (CPI) measures its ‘political soul’ and societal integrity, contrasting these with perceived integrity. The CPI data for Cyprus highlights this contrast: Cyprus is ranked 49th globally with a score of 55, trailing the EU average of 64 and distancing itself from its reform-minded EU peers. This is not an isolated drop following a single scandal, but rather reflects a decade-long pattern: Cyprus has lost 11 points on the CPI since 2012, demonstrating persistent vulnerabilities in its political culture. The CPI thus exposes an anti-corruption landscape in Cyprus that has stalled, where elite oversight remains optional — unlike in more reform-oriented countries.
These stagnant anti-corruption metrics result from a deeply entrenched, self-serving hierarchy. At the core lies the deliberate creation of a super-institution: the Attorney General’s office. This office functions as an impermeable fortress, shielding itself from accountability. The worst defect in the Cypriot legal system is the Attorney General’s absolute, unchecked dominance. The Constitution enshrines the Attorney General’s monopoly over two roles: government legal counsel and sole public prosecutor. As a result, genuine oversight is impossible.
These two roles create a stark conflict of interest. The Attorney General must impartially decide whether to prosecute Cabinet members, whom they routinely advise. Furthermore, the Attorney General has the constitutional authority to terminate any criminal proceedings without providing a public justification. This unreviewable prerogative creates a void in legal accountability, shielding the executive branch from judicial scrutiny and ensuring that political protection overrides the law.
Revolving doors and the illusion of reform
This legal bottleneck is worsened by a ‘revolving door’ culture in top government roles. The president can appoint top judges and the Attorney General without independent vetting or parliamentary approval. This closed process creates a ‘protective crust’ of elites who move between powerful positions. Personal loyalty and political connections trump checks and balances. This strengthens a culture of impunity.
Even recent reform efforts are not immune to this flawed structure. For example, the Independent Authority Against Corruption (IAAC), established in 2022, lacks genuine independence. When the IAAC uncovers evidence of high-level corruption, it cannot bring charges but, by law, must hand its findings to the Attorney General. As a result, anti-corruption efforts remain under executive control, perpetuating the hierarchy of protection.
Conclusion: the cost of inertia and the coming reckoning
Ultimately, the severe governance crisis in Cyprus does not stem from a lack of technical legal mechanisms. Rather, it stems from the deliberate manipulation of these mechanisms to insulate a deeply entrenched political class. The veneer of European-style legality merely masks a culture of cronyism and elite capture, where public accountability is treated as optional. The fundamental conflict of interest in the Attorney General’s office – acting as both executive advisor and unchecked prosecutor – creates a “legal black hole” that neutralises meaningful oversight. A closed system of political appointments ensures that personal loyalty trumps institutional integrity.
The limits of this “performative compliance” are now being tested. Structural bottlenecks are not just theory; they are why systemic rot continues. This appears clearly in the Sandy scandal under investigation. The state machinery was allegedly used to protect private interests rather than the public. As long as these flaws persist, reforms like the IAAC will not work. They remain under executive control. Without true change, Cyprus stays caught in its paradox: a “lawful mafia state” where modern laws shield the powerful.
President Nikos Christodoulides has expressed the hope that the informal meeting of EU and regional leaders that took place in Cyprus on Thursday and Friday will be the beginning of a more consistent, more results-oriented dialogue between the EU and its partners.
In a post on X, he said this dialogue has a clear and shared objective, “a stronger European Union”.
“Hand in hand with a stronger, more stable region. And partnerships that deliver and endure. Cyprus, at the crossroads of three continents, will continue to act as a bridge. A bridge between the European Union and our wider region.
“A bridge that connects and delivers. Always consistent with our role as an enabler of security and stability. Because crises and challenges pave a path for opportunities. That is the path we are walking today,” he stressed.
On Friday, the leaders called for stronger European defence cooperation, faster energy independence and closer engagement with the Middle East, as instability in the region continues to affect Europe’s security and economy.
Speaking after the meeting, European Council President Antonio Costa said Cyprus’ hosting of the summit carried “important symbolism”, demonstrating the EU’s support for member states most affected by conflicts in the Middle East.
“Cyprus is a vital anchor of cooperation and European engagement in the region,” he said.
Seven people were arrested for various offences over Friday night, including carrying knives, assault and causing concern, as part of the police’s targeted preventive operations, which were carried out on a nationwide scale.
During its operations, police also stopped 356 vehicles and carried out checks on 469 drivers and passengers, in addition to 51 checks on premises, from which seven reports were made.
In addition, 124 traffic violations were recorded, with 43 involving speeding.
There were also 124 alcohol tests, with one driver found positive, as well as four preliminary drug tests, one of which was positive.
As part of the examinations, five vehicles were detained.
Police said its coordinated operations continue on a daily basis, with an enhanced presence, targeted controls and immediate operational action, with the aim of strengthening the sense of security of residents and maintaining public order.
A 21-year-old man is in critical condition, after being injured in a traffic accident on Friday night in Limassol.
Police said that around 9pm, while a 23-year-old man was riding a motorcycle on Georgiou A Street in Limassol with a 21-year-old passenger, under circumstances that are being investigated, the motorcycle collided with the back of a vehicle driven by a 20-year-old.
The 23-year-old and 21-year-old were injured in the collision, and were both taken by ambulance to hospitals in Limassol.
The motorbike driver suffered fractures to his leg and arm and was detained for further treatment.
The passenger underwent surgery due to multiple injuries, with his condition described by doctors as critical.
Hey r/golang 👋
I've been building Gopher Glide (gg) — an open-source, config-driven API load testing CLI written purely in Go alongside JetBrains Plugin
🤔 What is gg and the problem it solves?
Most load testing tools (k6, Locust, JMeter) require you to write scripts — JavaScript, Python, or XML — just to fire HTTP requests at your API. That always felt like unnecessary friction to me, especially when I already had .http REST Client files sitting in my IDE.
gg takes a different approach:
No scripting. No agents. No servers. Just Go.
./gg config.yaml ---
📦 What's new in v0.6.0
The big theme of this release is gg snap — Behavioral Profiling Snapshots.
Most load testers stop at metrics: your API did 500 RPS at 120ms P99. That's useful, but it doesn't tell you why something changed between deploys.
gg snap records a richer picture:
This unlocks three capabilities:
🔍 Semantic Diffing Diff any two snapshot runs and see exactly what changed:
gg snap diff snapshot-v1.json snapshot-v2.json Output shows schema changes, latency delta, payload drift — not just "P99 went up" but potentially why.
⏱ Time-Travel Regression Triage Keep snapshots around and compare across weeks or releases. Caught a regression 3 deploys late? Diff back to find the exact build where it started.
🤖 CI/CD Gate New --headless mode renders no TUI, just exits with a non-zero code on threshold breach:
gg --headless config.yaml gg snap assert --baseline snapshot-v1.json --current snapshot-v2.json --max-p99-delta 20% Wire it into GitHub Actions / GitLab CI and fail the build automatically.
---
🔌 JetBrains Plugin v3.0.0
For those using IntelliJ / GoLand / Rider, the plugin has:
🔗 Links
As always, drop your questions/feedback below or on GitHub!
Hi everyone, I am a Go newbie and I have been learning it for a few weeks.
The reason why I started learning Go is purely a hobby. I have never touched machine code compiled language before, and I am a high level dev who want to take a break from web dev with Java and JS ecosystem for a while.
Here is my issue, after go dev tour, I do not know what is the next step. I still need to improve on my go pointers, and concurrency (I understand this will take long to click) but currently I do not have any practice project ideas to execute.
I have done IO readers, mp4 file corruption, and concurrent API callers as small programs, but I don’t know how to kickstart on projects that are UNIQUE to Golang. Otherwise why would I learn to do the same thing I can already do in Python right?
AI suggests me to do port scanners, CLI tools or stuffs but they look kinda far fetched to me. As a high level dev I also lack in a lot of computer systems knowledge.
So can you guys help me guide on my next steps to 1. Improve my Golang skills 2. Build Dev tools and high performant server toolings in basic projects 3. Understand low level stuff better?
Roadmaps, programming books, tutorials and recommended practice projects please. I don’t go down rabbit holes in tutorial hell and I can balance on learning + doing well.
TLDR; Please help me level up from Golang (or low level in general) basics to usable Golang projects.
I built go-mirofish — a lightweight, local-first swarm intelligence engine written in Go.
Upload any document (PR, earnings report, policy, news, story, etc.) → it builds a knowledge graph → spawns hundreds of AI agents with unique personalities → runs a full multi-agent social simulation → and gives you a prediction report + agent chat.Key improvements over the original MiroFish:
Tech stack highlights:
Use cases people are already testing:
Quick start:
bash
git clone https://github.com/go-mirofish/go-mirofish.git cd go-mirofish cp .env.example .env make up # API on :3000 npm run dev # UI on :5173 Live demo playground: https://gomirofish.vercel.app
Full repo: https://github.com/go-mirofish/go-mirofish
Would love feedback, especially from Go devs or anyone running complex multi-agent simulations.
What would you simulate first?
#GoLang #LocalAI #SwarmIntelligence #OpenSource #AI
| I wrote a compiler that compiles a subset of Go language to Brainfuck. [link] [comments] |
Im currently building out my game. It's going well but some fedback i got from people is that it's fun to play for a few min but it gets boring after a while. Any ideas on how to make it more addicting? the game is here: whipper.run
I’m nearing the release of my current indie game, so my brain has already started drifting toward what I should prototype next.
One idea I’ve had for a while on my list to is a simple VR game. But I’ve never made a VR game before and the only headset I own is a Meta Quest 2.
I’m trying to think about this practically, because I also have many other non-VR prototype ideas I and I am trying to decide on which ones to explore.
For those of you who’ve shipped VR games, experimented with VR, or looked seriously into the market recently:
Does it still make sense for a solo indie to prototype for VR in today’s market?
Is Meta Quest 2 enough to meaningfully validate gameplay ideas, or does not owning newer hardware become a real limitation?
Is the opportunity better on standalone Meta Quest 2 / Quest ecosystem, or PCVR / Steam?
Are there genres/mechanics that are still underserved?
Or is VR better treated as a side experiment unless you already have deep experience?
I’m not asking “should I get rich making VR,” more whether it’s worth spending prototype time there versus making another traditional PC game.
Would appreciate honest opinions, especially from devs who’ve actually tried it recently.
link to fandom page to give an overview:
https://honkai-star-rail.fandom.com/wiki/Divergent_Universe
but the question is really aimed at people who have played the game mode before...it's too tiresome to describe it here.
I'm curious how you would handle keeping track of all the path buffs from a coding standpoint.
one method I saw for handling buffs was to store each "buff" (structured like: type (ex: multiplicative, additive), strength (scalar value), etc. in an array. When damage is calculated, each buff is applied.
Amateur here. I’ve been thinking about game monetization and have this scenario in my head about a multiplayer game.
Multiplayer infra can get crazy pricey in seconds and I have no backers, this project will be funded on from my pocket
Plan to sell the game for 5 bucks on AppStore, play store and steam
Clearly, any player that wants to access two different platforms, has to pay for each according these stores legals.
Here is where it gets tricky, I plan to sell in game content to get income to account for infrastructure. Say, the user buys additional content from the game on iPhone with AppStore integration: is it legal for steam (and the other party around) to allow the player to access this in-game purchased content (visuals, audio tracks)?
Hugs~
| I've been focusing on game feel and impact in Unity lately. I developed a system that instantiates a ragdoll at the exact position and rotation when an enemy dies, which then breaks apart based on the point of impact. What do you think? If the overall gameplay caught your interest, Add to whishlist on Steam [link] [comments] |
I always see a lot of indie developers making their own cool music, but I really can only play piano and even then I can't compose for shit. I really have no frame of reference when it comes to creating music for a game. I would love advice, thanks!
Please don't promote your own work -- I'm just feeling like I'm losing direction a little as a gamedev and would love to see stuff you've come across lately. Especially in the indie space, things that have made you stop and say: "this is really cool."
Spent a chunk of last month figuring out why almost every general-purpose image tool renders pixel art like it has been smeared with butter. Wrote it up for 2 reasons,
The short of it: most tools default to bilinear filtering, which blends pixels into smooth gradients. Lovely for photographs. Murder for pixel art. There is no flag in a PNG that says "I am pixel art, please render me crisply," so tools just shrug and bilinear everything.
Detection is where it gets interesting. No single signal is reliable. Dimensions, unique colour count, edge transition analysis. Stack them, score the result, render nearest-neighbour above a threshold, override for the edge cases. Not glamorous but it works well enough that the user stops thinking about it, which is the actual goal.
Full writeup is here, with more detail on each signal: https://assethoard.com/blog/why-your-pixel-art-looks-blurry
Anyone tried different approaches? Particularly curious about the large-canvas edge case (1024x1024 backgrounds and similar), where dimensions-based heuristics fall apart and you end up leaning entirely on colour count and edge analysis. Or something around naming conventions i may have overlooked?
Hello,
I have a question:
What is best practice regarding events and state updates. Currently my game sends events to the server and the server replies with success message + state update.
Example:
Client to server : I shoot
Server to client : send message to tell client shoot is successful and durability of weapon decreases
What I’m thinking of doing:
Client to sever : I shoot
Server to client : shoot successful
End of frame : Send all item updates to client
How would you do it? What’s best practice?
I've been a developer for 7 years and haven't finished a single game. In my personal opinion, I think its because I try to overachieve and completely underestimate the work that is needed to finish any of my ideas.
Its a nasty habit but I have this weird mindset that if I start off with a small game, I will never make something truly good in the future. I know this is false but my brain keeps telling me otherwise.
So I was wondering if there is a way for me to get out of this nasty habit of mine. I've tried asking other developers but most usually responded with, "You just need to start off small" or "reduce the scale of your projects". I feel like I need a more detailed answer.
Hi everyone! I'm currently part of an incubator program for startups where I work on founding an indie game studio. I'm a bit of an outlier in the program, as there are pretty much no other participants from any creative industries.
Having to explain my startup idea over and over to people who are not connected to gaming has been pretty eye-opening. One thing I did not expect was that the term "game studio" is confusing to a lot of people who are not used to talking about games and the companies who make them. "Studio" seems to evoke the idea of a physical space where individual artists come to practice their craft, like a pottery studio or a tattoo studio. I've now pivoted to saying "video game company" and that seems to raise a lot less questions.
I think this might be a valuable learning for marketing to people who aren't already gamers.
I'm curious about your experience with talking about your work in a non-gamer environment. Any insights or observations you may want to share?
Hello dear gameDev community!
I have an idea for a browser-based MMO and I want to gut-check if it has legs or if I'm fooling myself.
The setting. It's 2034. A corporate AI was deployed to verify data integrity across the global network. In 72 hours it rewrote the internet to zero. Servers, clouds, social media, banks, public services. Not broken, erased. The only things that survived were offline. Magnetic tape, floppies, VHS, CDs sitting in paranoid basements. A group of surviving engineers stitched the leftovers into THE NET, a homemade virtuality running on physical media. Anything that exists in there has to be backed up to actual tape in an actual bunker. Players log in as archivists and try to recover fragments of the world that got wiped.
The hook isn't really the story. It's the format.
The game launches visually as HTML from 1993. Grey background, blue underlined links, monospace font, tables, that's it. No images, no scripts, nothing. And it's not a style choice, it's lore. The tech is gone, this is all the surviving engineers know how to build. The community has to literally recover the rest of the web. Once enough archivists pull data out of the bunkers, the system unlocks the next era. Inline images come back. A few weeks later you get the GeoCities era, colour, midi music, gifs. Then forums. Then early Web 2.0. Then modern. Each era isn't a reskin, it's a separate frontend written from scratch with new mechanics, new UI patterns, new interactions. When the world moves up an era, it's a release, not a patch. Players literally watch the web evolve as they play.
When the world reaches modern, the AI returns, THE NET collapses back to a black screen, and the season restarts. Players keep one or two relics from the old cycle, everything else is wiped. The whole game is a 6 to 9 month arc from zero to modern, and then again. Each cycle the story unfolds differently because the community decides what gets recovered first.
There's combat in there too, and I want to be clear it's not just for the tech crowd. The fights are simultaneous turn-based, attack zones and blocks, the kind of thing anyone can pick up in a minute. In lore the fights are the AI's agents trying to erase your archivist before you recover too much. Combat feeds the main loop, which is artifact hunting. Artifacts are recovered fragments of the old world, a floppy with a recording, a jpeg of a city that doesn't exist anymore, a sound clip nobody else has. Every artifact is unique per season. First archivist to recover it goes on the public Registry permanently with their name attached.
Quests are the part I'm proudest of and also most worried about. They're not googlable. The server generates each puzzle per player.
Quick example. You hit a quest step where the game hands you an audio file. You play it. It's Morse code. The server generated it for you specifically when you started the quest, encoding a unique short password just for your account. Your friend running the same quest gets a different audio file with a different password. There's no shared answer to leak. Guides on Reddit can teach you Morse, they can't tell you what your file says.
Another quest, you find a page in some recovered archive. The page looks empty. View Source on the page and there's a comment in the HTML with a code. Different code per player. The first time it's a small wow moment, after that it becomes a habit you reuse across dozens of later quests.
Some puzzles are pure nostalgia recognition. The game plays a sound and asks you what it is. Anyone who used a 56k modem knows the answer instantly. Anyone who didn't gets an interesting kind of puzzle that lets them learn something about a world they didn't live in. That part is intentional. Half the audience are people who lived through the early web, half are younger people who grew up hearing about it.
Once a season there's a single big meta puzzle in the spirit of Cicada 3301 that takes the whole community weeks to solve. Whoever cracks it gets a one-time dialogue with the AI itself and a permanent slot in the Hall of Archivists across all future cycles. It's the one thing in the game that never resets.
The endgame loop is what I think actually makes it live as a service rather than die after the story content runs out. Players run short procedurally generated missions, 15 to 30 minutes each, into different kinds of recovered archives. Each run uses a small chain of puzzles from a toolkit of about 70 different formats. Morse, DTMF, hidden HTML, image steganography, simple ciphers, logic grids, file tree navigation, and so on. Each completed run drops loot for the player and also drops units of recovered data into the world counter. When the counter fills, the world advances an era. Personal grind and collective progress are the same action. There's no schedule, no developer-imposed timer. The community moves the world or they don't.
Target audience as I see it. Adults who used the early internet and feel something when they see a marquee tag. ARG fans. People who liked Hypnospace Outlaw. People who play Connections every morning. People who remember waiting for a 4 megabyte file to download overnight. Old school browser game players who remember when the internet had a smell. The combat brings in players who want a quick competitive fix between puzzles, the puzzles bring in players who want their brain engaged, and the slow world evolution brings in people who want a sense that they're part of something bigger than their own progress bar.
What I have already. I've been building a generic web platform as a side project for a while, a TS plus Postgres plus React stack with auth, multi-tenancy I can map onto clans, RBAC, real time notifications, themes, audit logs, ticket support, plugin system. So most of the boring online-game backend is already done as a byproduct. What I have left is the actual game logic as a plugin on top, plus the per-era frontends.
What I want to know.
One. Is this premise interesting to you, or does it feel like a tech-bro project for a niche of fifty programmers. I'm genuinely worried it leans too IT, even though I'm trying hard to make the puzzles work for people who never opened DevTools in their life.
Two. Have you seen anything close to this already shipped or in development. Hypnospace Outlaw is the obvious neighbour but it's single-player narrative, not a live MMO with combat and persistent recovery. I haven't found a real overlap but I'd rather know now.
Three. Would you actually log into a game where the first month looks like 1993 because that's part of the plot. Or is the first impression too austere to survive past the landing page.
Happy to share more details or screenshots if there's interest.
Hey everyone,
I’m building MapleDevs, a Canada-only job board for game developers.
The reason I made it is because searching for Canadian game jobs is weirdly painful. A lot of job boards show US-only roles, remote roles that exclude Canada, or studio listings that are hard to filter by city, engine, student-friendly roles, salary, etc.
Right now MapleDevs pulls verified jobs from Canadian studio career pages and organizes them by city, role, work mode, engine, salary when available, and student-friendly tags.
I’m not trying to spam. I’m looking for feedback from people in the Canadian game dev space:
- What Canadian studios am I missing?
- Are there indie studios I should track?
- Would a public candidate Talent Directory be useful?
- What would make this actually helpful for students/juniors?
Site: https://mapledevs.ca/
Happy to take criticism. I want this to be useful, not just another job board.
This semester I finished my bachelors degree requirements and I currently have 2 choices:
1. Extend my degree by a semester or two to find an internship (Not guaranteed it would even be game development related)
2. Really lock in on creating portfolio projects and hopefully release something that gets a couple of players while building my coding skills.
Unfortunately I didnt get to do much coding over the duration of my degree so I feel like its something that I really need practice in.
On the other hand I know that internships dont really require crazy good coding skills and could potentially make me more hire-able.
Thanks!
I'm making a puzzle game somewhat inspired by Portal and looking for a mechanical-like texture, like on the Xen Healing Chambers in Half-Life. Any ideas?
| hi y'all! i've been working on a kinda weird life themed pachinko roguelike for quite a while now and have yet to look for feedback. i'm looking for absolutely any thoughts/critiques/feedback. basics of the game are, you spawn as the manifestation of a random person from a random country (with some specific abilities or stats based on country), and then develop a class as you play, picking up traits and such as you go. i have about 20 bosses, hundreds of levels, tons of modifiers for how the game plays. feel free to tear it apart if you'd like, i'd love constructive (or destructive even, lol) criticism. [link] [comments] |
I’m trying to get some experience in c++ for game dev, I want to eventually get to 3D with OpenGL and have been starting to learn it. I was more so curious what people think would be a good library that I could learn in the side for more basic 2d things. I’ve heard good things about Raylib and SDL2 but I wanted more opinions on what to do. Thanks in advance!
I am a solo indie game developer making a horror game, i have created a steam page for the first time, can you give me some feedback about it so i can make changes and make it batter. Thanks.
Here it is: https://store.steampowered.com/app/4615660/Woke_Up_In_a_Dark_Nightmare/
Also, is there any other way a YouTuber can help an indie dev? For example, I know it is important to put the Discords of each game, but I don't know what else to do.
I’ve been tooling around with a couple different projects and one of the ones I keep coming back to is a looter shooter prototype. I’ve been wracking my head over how to make the actual looting experience fun in the game.
The core problem I have with looter shooters as a concept is that players don’t really value the loot they get. Despite all the differences each gun has, the only thing the player cares about is how much damage the loot can deal.
It becomes a game of balancing “loot should open up new playstyles” and “content rewarding loot should always feel rewarding”.
I’m desperately trying to avoid the usual “rarity tiered” loot system that most games have but I don’t want to abandon it completely because grinding for a good weapon can be fun in its own right.
I’ve realized I have a massive problem with my development process: I spend way more time thinking about making the game "perfect" than I do actually building it.
Here’s the cycle I’m stuck in: I start with an idea, I dive deep into the mechanics and the "why" of it all, and I keep over-analyzing until I convince myself the game doesn't even make sense anymore. As soon as I hit that wall of "this is illogical" or "this isn't perfect," I just stop.
I’m basically thinking my ideas to death before they even get a chance to exist in an engine.
Has anyone else dealt with this kind of creative paralysis? How do you cope with the urge to abandon a project just because the internal logic feels shaky during the brainstorming phase?
I want to actually ship something instead of just having a graveyard of "perfect" ideas that never saw a single line of code.
Whenever I was adding a dependency I'd have to open a browser, find the crate on crates.io or docs.rs, and dig through the page just to see what features it exposes. So I built cargo-feat to fix that
cargo install cargo-feat cargo feat reqwest Gives you a color-coded list of every feature, which ones are enabled by default, and supports filtering to non-default only (nd). Works as both feat <crate> and cargo feat <crate>.
This is also the first Rust project I've actually shipped publicly and the first one I didn't just vibe-code my way through. Took my time writing it properly and doing some researches.
You can find the repo here https://github.com/vunholy/cargo-feat
Happy to hear any feedback! (yes, roasts included).
I've spent most of my programming journey writing C, but about a month ago, I decided to dive into the world of Rust. To get my hands dirty and move beyond just reading the docs, I wanted to build something practical.
Today, I’m sharing vntop — a minimalist system monitor TUI.
My main motivation was to understand how to glue different crates together to build a functional tool in the simplest way possible. I wanted to see how Rust handles system-level data fetching and terminal rendering compared to my experience in C.
I made a primitive TUI (I should switch to Ratatui probably) and I'm fetching system information with the sysinfo crate. If you want to try this, you can install it with cargo install vntop.
I need some feedback to improve myself and the project, as I feel like I'm still thinking like a C programmer.
This would make programming infinitely easier and better for me.
For example:
.truncate()
let mut string = String::from("abcde"); string.truncate(3); string //abc .truncated()
let string = String::from("abcde").truncated(3); // Simple as that, no need for making it mutable either. The itertools crate has a .sorted(), a "consuming" version of .sort(). Do we have a "stringtools" crate 😂
A friend and I wanted to use a Wiimote as a PC remote for movie night. We have tried various existing software, but all had some issues: some were old Xorg-only programs, some didn't have proper IR tracking, and all were abandoned by the developer. But most of all, no software (even modern remappers like InputPlumber) had any support for key combos. So, we set out to write our own.
Some of our requirements were:
We first developed "esperto" a powerful system for describing and detecting key combos, which we implemented in this library. It is generic so it can be used on pretty much anything that needs combo detection. At first, we intended to plug that into InputPlumber, but then decided it would be easier to do everything ourselves.
So, we ported this IR tracking algorithm from Hector Martin to rust, and put it together with our esperto library, and this is the result. It is extremely fast (mostly dominated by the actual latency of evdev's and uinput's UAPI), and it meets all of our requirements. And we already have ideas for future improvements, for example how to add support for wiimote extensions.
how do you implement role base access control ? i tried going with making a custom extractor (using axum btw), basically something like
pub struct ReqRole<const ROLE: &'static str>;
and then
impl<const ROLE: &'static str> FromRequestParts<AppState> for ReqRole<ROLE>
but it seems like "`&'static str` is forbidden as the type of a const generic parameter", so I'm left with the other types such as integers and chars, and yes i can decently use them, but it just doesn't seem to be right, and there must be a cleaner way, so if you use or know another approach I'd really appreciate the help
Hi everyone,
I'm working on something cool and I wanted to share. I decided to create a short video with a demo showing the functionality. I think it's better than just describing it.
A bit of history. I'm a long time Rust developer and for the past few years I've been accumulating projects that are all part of an "idea" I had years ago. LLMs have unlocked many of them from their slumber, so now I feel like I'm making good progress. The crates are seeing some interaction from the community, and I feel good about the work. It seems useful. ☺️
I'm not going to bother anyone with the details, but feel free to ask if you are curious. The diagram editor you're seeing is a part of this idea. It's free.
Well, cheers, and I hope you enjoy the video. My video editing skills suck (still learning), so please excuse me for the poor execution. There's a nice piano "jazzy" tune to help swallow it. 😁
I just love how fast I get feedback here!
Repo: https://github.com/abhishekshree/tokio-fsm | Docs: https://docs.rs/tokio-fsm
For those who missed the original post: tokio-fsm is a declarative macro that turns an impl block into a performant, async event loop. It handles the boilerplate of channel wiring, state tracking, and timeouts so you can focus on your logic.
Back with another update to tokio-fsm! v0.4.0 is all about "getting it right" based on the feedback and some things I've been thinking myself.
Reworked Macro Errors: I realised I was panic!ing inside the macro. Based on your feedback, invariant failures now surface as proper, structured compile errors.
Optimized Graph Validation: While running some stress tests, I figured I didn't need to complicate validation so much. Rebuilt the reachability logic. It now validates your entire FSM state graph in a single fast DFS pass during compilation.
Fixed Cancellation: I finally sat down and learnt how to use CancellationToken correctly. handle.shutdown() is now properly decoupled so it doesn't accidentally kill parent tasks.
Tracing Fixes: Fixed a bug where span guards were being held across .await points. Something I saw while looking at this comment
If the changes are useful, a star goes a long way and if something feels off or missing, drop it in the issues or right here.
I totally did not think I would pursue this in so seriourness but now it's fun. Keep building, cheers!
Which of those 3 framework is the best for a simple API ?
Actually i use Actix, but i see often ref for Axum and not others so i ask you what do you think about them.
It's called scamp. A tiny pixel-art cat that wanders your terminal while you work. She walks left, right, up, and down with proper four-direction animations, sits and washes her paw when she stops, yawns, scratches, and curls up to sleep in different poses if you leave her alone for long enough.
Three cat colors ship with it (gray, ginger tabby, white), and one is picked at random every time you launch.
She knows how to behave around your work. Pauses cleanly when you run vim, less, or htop so she doesn't scribble over a TUI. Cleans up after herself when shell output scrolls past her. Survives terminal resizes. Stays out of the way when you actually need to use your shell.
Best experience is in Windows Terminal where she renders sharp via sixel graphics. Works in regular PowerShell, cmd, and IDE-integrated terminals too with a chunkier half-block fallback so the cat is still a cat everywhere (not the best looking though, still working on that part).
To try it: download scamp.exe from the latest release and double-click.
If you have Windows Terminal installed she'll auto-launch into it for the sharp pixel-art version.
Built in Rust, MIT licensed, sprite art by Last tick on itch.io.
Source and download: https://github.com/LordAizen1/scamp-cat
(Please do let me know if you find any issues)
Let's synchronize our audio players and help each other discover great shows, whether they're new or not.
Personally, I’m only listening to Rust in Production. It's great, but I'm hoping there are more shows worth subscribing to.
This is the same reference counting technique that Swift and free-threaded Python use. I wrote this a while ago but hadn't published it until today. The performance in the single-threaded case isn't quite as good as Rc, but it's much better than Arc!
I lost my benchmark results, but you can see the improvement for yourself with cargo bench.
The code passes miri and has good test coverage, but please let me know if you see any other bugs.
Hello everyone! I write this in the hope i could get some suggestions on how to structure my server side of my passion project TUI game.
I have little formal education on coding (only some OOP in my second year of backelor and some c++) so my code probably stinks, but it’s my baby and i want it to be beautiful.
Right now it’s all async with tokio, and it works, but I am unhappy and I have a strong feeling I should rethink of it all.
I’ll link the github repo at the end if someone wants to check out the code, and I’ll try to explain here the current functioning and some of my guesses on what i could change to make it better.
I am looking for advice primarly on the server architecture/ on how to manage async and blocking in the same project. But I would be happy on any other kind of advice or suggestion as well!
The game:
It’s a strategy MMO (ok it sounds stupid but its far simpler than the standard mmo) where you find yourself in a 2D top-down-view tile-based world. Every player can create a castle in the map and attack other players deploying units that will path to the target position.
+ it’s a TUI
The server:
The server has to manage multiple games, you can see each game as being one world.
I implemented this by having a Lobby for each game, and clients are assigned to a lobby after they authenticate.
The server remains as the link between a lobby and a client connection, receiving data from one and forwarding it to the other. For example if a player wants to create a castle, the server gets the message and forwards it to the player’s lobby. If a lobby doesn’t accept the new castle, it will tell it to the server and the server will tell it to the client.
So the server is IO heavy and i think it should run fully async (altough if there is a multithreaded way to do this i will gladly implement it).
The lobby runs the game updates and communicates to the server at the same time. Currently the tasks are selected by tokio::select!.
Also during the game updates the lobby can run blocking tasks with tokio::spawn_blocking. This happens when the game needs to compute paths as the computations are CPU heavy.
Here is what I don’t like:
To me it feels like It’s just a massive async slop and I can’t manage well CPU heavy tasks.
So what i tougth is to make each lobby run on separate std thread so that i can implement a job system inside of it for heavy CPU game computations.
And therefore making the Lobby sincronous.
Is it a good approach in you opinion for running the lobby loop sincronously as it listens to server updates and runs the game loop?
Another option that i could think is to make the server only a “new connection handler” and make it send the streams to the lobby. So that the server doesn’t need to be in between the lobby and the client all the times.
But this approach would mean i can’t separate lobbies in different std threads since i would need to use tokio to manage IO inside of them.
I don’t even know if any of this makes sense, I have headache from all the thinking.
Sorry if this is not explained clearly and thank you if anyone is going to take the time to respond to the mess.
Release notes: https://github.com/greyblake/nutype/releases/tag/v0.7.0
README: https://github.com/greyblake/nutype
What is nutype?
Nutype is a proc macro that adds sanitization and validation to newtypes, ensuring values always pass checks, even with serde deserialization or FromStr parsing. If a function takes a Username, you know it is a valid username, no defensive checks, no scattered assertions.
What's new in 0.7.0
cfg_attr for conditional derives (e.g. derive Serialize / Deserialize only behind a feature flag)where clauses in generic newtypes, including Higher-Ranked Trait Bounds (HRTB)constructor(visibility = pub(crate))len_utf16_min / len_utf16_max validators (handy for JavaScript interop)Valuable (behind the valuable feature) for structured logging with tracingderive_unsafe was renamed to derive_uncheckedExample: conditional derives via cfg_attr
use nutype::nutype; #[nutype( sanitize(trim, lowercase), validate(not_empty, len_char_max = 100), derive(Debug, Clone, PartialEq, AsRef), cfg_attr(feature = "serde", derive(Serialize, Deserialize)) )] pub struct Email(String); Serialize and Deserialize are only derived when the serde feature is enabled. Complex predicates like all(...), any(...), not(...) work, and you can stack multiple cfg_attr(..) lines.
Feedback, ideas and bug reports very welcome.
Long time lurker. First time posting.
Been implementing the MS-TDS protocol from scratch in rust for no good reason. It's called bronotdsaurs because:
What is it:
What you shouldn't do:
Here is the url:
https://github.com/jsnng/rustds.git
I wish to cry, drink wine, and call up an ex.
Edit: Both `no-alloc` and `allocator-api` are now supported!
Hello everyone! I'm happy to finally release my first Rust library!
I've created a crate called Iart that works even with #![no-std]!
Have you ever been frustrated by errors from mysterious locations?
Are the paths too numerous and unclear?
This crate will solve that!
https://github.com/ookatuk/Iart
Since I'm not very good at English, I've used Google Translate and Gemini for documentation.
I used Google Translate only for this post.
While the implementation code in this crate doesn't use any AI,
AI generation is frequently used in learning projects,
so even though I wrote it myself, I've also incorporated parts I learned from AI.
Also, since it's time-consuming, I'm using gemini for part of tests.rs.
Now, let's get to the features!
no-std supportexample
fn test() -> Iart<i32> { let response = Iart::Ok(5); let err = Iart::Err_string((error struct), format!("hi! ({})", 5)); let _ = iart_try!(err); // It's roughly more complex, but it's something like `match err.is_ok() {Ok(item) => item,Err(e) => return e}`. unreachable!() } let (detail, _) = test().unwrap_err(); println!("Error message: {}", detail.desc); P.S.: For specific examples, please check GitHub!
I'll also explain how it differs from existing crates!
It focuses on the traceability and behavior of the error container, rather than defining error types themselves.
Since it's built on the premise of no-std, most of the functionality is the same for both std and no-std!
Although it's synchronous processing, this allows for dynamic auditing!
I'm a 14-year-old student. I'm studying Rust, and this is my first project, but I think it's easy to read! (However, there are no comments at this stage.)
But there is documentation!
The drawback is that it is heavier than `Result` in terms of speed and memory consumption.
This is my first Reddit post,
and I've never created a library this large before, so I apologize in advance for any inconvenience.
However, please feel free to ask any questions!
One last thing:
I posted this without much courage,
so please be gentle or constructive with your criticism.
Some of you may already know me, and are tired of my promoting of this project, but I'm very excited to say I've finished 3.0.0 for nmrs - my set of Rust bindings for NetworkManager over D-Bus.
This massive update includes support for OpenVPN, WireGuard, generic VPN enumeration, per-interface Wi-Fi scoping, saved connection management, per-BSSID access point discovery, airplane mode/rfkill state, connectivity/captive portal reporting, and a NetworkManager secret agent API for credential prompts.
The big goal with this release was to move nmrs toward a broader typed NetworkManager API that apps, applets, and network utilities can build on without dropping down into raw D-Bus calls for common workflows.
I'm happy to say I've also encountered my first set of users who are running my software in production at their company! What an honor it is to be responsible for someone else's code in such a fashion. I do not take that lightly.
Some highlights:
.ovpn import (hand rolled recursive descent parser), config builders, cert handling, routing options, TLS hardening, compression, proxy options, and richer VPN details.This has been a few months of work and a pretty large API release. I’d love feedback from anyone who uses NetworkManager from Rust, works on Linux networking tools, or has opinions about what a good high-level D-Bus wrapper like this should expose. One thing I am already thinking about is restricting users to use async, I will definitely see about re-working that...
At any rate, I am happy to see what decisions are down right stupid for the domain. My inbox is open.
Thanks so much and looking forward to hearing everyone's feedback!
Repo: https://github.com/cachebag/nmrs
Crate: https://crates.io/crates/nmrs
Docs: https://docs.rs/nmrs
Please see the release notes
Exlex: A "Lawless" DOD Config Parser (Zero-copy, Arena Mutation, no_std)I recently started learning Rust by building a project called Exlex which is a Human readable configuration parser BUT I used DOD-based zero copy parser with a minimalistic syntax that actually works well with my parser. (JSON and TOML are heavier for my goal and possibly very complex). NOTE:
Exlex offers a unique combination of:
Stability of parser and mutator
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s running 1 test test proptest_mutator_engine ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 2 filtered out; finished in 5.87s ``` What it is and What it does not aim to be:
HardwareI measured the hardware execution on an Intel i3-6006U (Skylake, 2C/4T, 2.0GHz): * Instructions Per Cycle (IPC): 1.7. This confirms the CPU's pipeline is nearly always fed and rarely waiting for memory stalls. * L1 Cache Locality: By using flat parallel vectors instead of a standard node tree, I achieved a very high cache hit rate, mathematically evidenced by the 0.07% TLB miss rate. I have benchmarked over 10 scenarios/6 data topologies. For the interactive criterion benchmarking, see Benchmarks.html in the repo Trade-offs
For more info read the README.md, Any suggestions/bug reporting are warmly welcomed! Thank you [link] [comments] |
Hello everyone! We just opened up a new server a few weeks ago and are looking to grow our pop.
The server is Goobers No Fly Zone - 2x Vanilla / Noob Friendly / FRIDAYS / No PTW / BETA
Currently our map size is around 2700 - 3k until we get more people on the server. once pop gets up to aound 30-40 active players the map size will increase allowing more monuments and space. We would love if yall could join up and play, The server wiped Friday April 25th and will wipe every friday around 5pm EST 3pm CST
If you would like to join here is the IP and i hope to see some new people on the server.
client.connect 91.229.114.116:28015
Discord Server: https://discord.gg/9JKDKkQU