Friday, May 1, 2026
09374622-b377-4f45-a92d-433b04d746e3
| Summary | ⛅️ Mostly clear throughout the day. |
|---|---|
| Temperature Range | 13°C to 22°C (56°F to 72°F) |
| Feels Like | Low: 54°F | High: 76°F |
| Humidity | 75% |
| Wind | 12 km/h (7 mph), Direction: 261° |
| Precipitation | Probability: 0%, Type: No precipitation expected |
| Sunrise / Sunset | 🌅 05:58 AM / 🌇 07:32 PM |
| Moon Phase | Full Moon (50%) |
| Cloud Cover | 19% |
| Pressure | 1012.97 hPa |
| Dew Point | 56.45°F |
| Visibility | 6.07 miles |
Cyprus has fallen to 80th place out of 180 countries in the 2026 World Press Freedom Index, according to findings published on Thursday by Reporters Without Borders (RSF).
The country remains the second-lowest ranked European Union member state, ahead only of Greece, and recorded a total score of 56.9 out of 100, just above the global average.
Within the Europe-Balkans region, Cyprus registered the sharpest decline in its political score and the weakest legal score, reflecting restrictions on journalists’ ability to work without interference, access information and protect their sources.
“Cyprus continues in the decline that started in 2022 and accelerated in 2024,” said RSF Prague bureau director Pavol Szalai, pointing to a sustained drop from 26th place in 2021 to 65th in 2022 and 77th last year.
Szalai drew attention to proposed legislation that would allow a prosecutor appointed by the president or the head of the intelligence service to lift the confidentiality of journalistic sources.
“Confidentiality of journalistic sources is a cornerstone of press freedom,” he said, warning that such measures “would be very dangerous”.
Concerns were also raised over a draft law criminalising the dissemination of so-called fake news, alongside what Szalai described as an increasing pattern of government officials refusing to answer questions from journalists.
He further cited disputes over press accreditation during Cyprus’ EU council presidency, where authorities required journalists to hold specific state-issued press cards while rejecting those from the Union of Journalists.
These actions were “clearly undermining the right of journalists to access public information,” he said.
The report also referenced the handling of allegations by investigative journalist Makarios Drousiotis, criticising authorities for failing to investigate claims of surveillance and hacking of his devices.
Szalai said such issues must be viewed within a broader context, describing Cyprus as “a very small market with a lot of media ownership concentration”, where funding structures lack transparency and the public broadcaster CyBC operates without sufficient guarantees of independence.
“Overall, this is an environment which is very constrained for free journalism,” he said.
In the north, the ‘administration’ ranked 82nd, two places below the republic.
Although this marked a rise of nine positions, the overall score improved only marginally to 56.6.
Szalai said the change did not reflect substantive progress, attributing it largely to declines elsewhere and that the north “remains sixth from the bottom in the EU-Balkans zone,” he affirmed.
The slight improvement was partly linked to a court decision dismissing a libel case brought by former Turkish Cypriot leader Ersin Tatar against newspaper Yeniduzen and journalists Cenk Mutluyakali and Serhat Incirli.
Szalai described the case as a strategic lawsuit aimed at silencing criticism and said its dismissal was a positive development.
However, he raised concern over the ongoing prosecution of journalist Ali Kismir, who still faces up to ten years in prison over an article critical of Turkish influence in elections.
Szalai said Kismir was “unjustly prosecuted” and that a constitutional court ruling remained pending.
RSF also pointed to increasing pressure from Turkey, alongside media ownership concentration and legal threats against journalists, as key factors affecting press freedom in the north.
The Dipa (Democratic Alignment) party claimed on Thursday that they are being left out of opinion polls, skewing the surveys published ahead of the parliamentary elections.
Loizos Constantinou, advisor to Dipa boss Marios Garoyian, was citing anecdotal evidence from people participating in polls.
He said a number of individuals have complained that, when being interviewed in phone surveys, the Dipa party does not feature among the options given.
This was “inconceivable”, he said, adding that if they obtain hard evidence about such practices, they will lodge a formal complaint to authorities.
Dipa does not seek preferential treatment, Constantinou noted. What they want is a fair, objective and scientific record of public opinion.
Pollsters should do their job properly, he stressed.
Asked about possible motives, Constantinou suggested that sometimes polls go beyond their task, which is to simply to register a snapshot of public sentiment, and instead try to influence opinion.
Often, he said, some quarters try to push the message among the public that voting for the smaller parties amounts to “a lost vote”.
Regardless, Constantinou said the Dipa party feels confident it will do well in the parliamentary elections taking place in May.
Historically, the party does better in elections than what’s reflected in the polls.
On the upcoming elections, Constantinou said the political milieu is “fluid” – primarily due to the large percentage of undecided voters.
A centrist political party, Dipa was established in 2018, after a split with the Democratic Party (Diko).
In the last legislative elections of 2021, Dipa got 6.10 per cent of the votes cast, earning four seats in parliament.
Motorists are skimping at the pump as the fallout of the Iran war keeps petrol prices high, the head of the association of petrol station owners said on Thursday.
According to Savvas Prokopiou, only about 10 to 15 per cent of drivers continue to fill up the tank.
The rest are cutting back spending on petrol, seeing that every few days they get less for their money.
“What we’re seeing in the last few weeks is consumers trying to save on petrol, limiting their transit as far as possible,” Prokopiou told the Cyprus News Agency.
Diesel now averages at €1.888 a litre, with the highest price recorded on the island at €1.978. The lowest was at €1.785.
As for Unleaded 95 petrol, the average clocked in at €1.543, the lowest at €1.458, and the highest at €1.618.
On Thursday, Brent futures contracts traded at around $108 a barrel, amid reports that US President Donald Trump would be briefed on expanded military options in Iran.
Iran has kept the Strait of Hormuz largely closed, while at the same time the US Navy is enforcing a blockade on Iranian ships. About about one-fifth of the world’s oil trade goes through the Persian Gulf.
Prokopiou said rising fuel prices are also impacting petrol station owners.
“For businesses, the cost per shipment has gone up considerably. Two months ago, a cargo would cost €40,000, today it’s around €60,000.”
On average, each petrol station needs two shipments to be able to operate.
Businesses have seen profit margins dip, as petrol stations get a fixed amount per litre rather than a percentage on the retail price.
Constantinos Karagiorgis, head of the Consumer Protection Service (commerce ministry), described the overall fuel situation as “worrying and volatile”.
No safe predictions on the trajectory of fuel prices can be made, he added.
Karagiorgis said his service is monitoring the data on imported refined products.
Though prices are up across the board, they are in line with global trends.
“For now, there is no reason to intervene [in the market],” he added.
The official advised drivers to shop around for the best deal, noting that significant price differences exist among the petrol stations.
“Some stations may sell for 15 or 18 cents lower. So for people wanting to save, they can do that.”
Greek Prime Minister Kyriakos Mitsotakis on Thursday said that the opening of a campus of Cyprus’ University of Nicosia in Athens can help to transform his country into a global education hub, as he and President Nikos Christodoulides opened the university’s new campus.
He used the opportunity to praise his own government’s decision to legalise the operation of private universities in Greece, saying that his government had “decided to take [a] big step”.
“We always had in mind modern units of extremely high standards, with excellent infrastructure, with care for students, with studies linked to the labour market, with an eye turned not to the present, but to the future, and to the universal changes which artificial intelligence is already bringing, not only to education, but to our lives,” he said.
He added that the arrival of foreign private university campuses in Greece has given “many more opportunities to young people who wish to study and either do not want or do not have the means to go abroad”.
Additionally, he said, it will transform Greece into a “regional, and – why not? – let us think more ambitiously, a global education centre, with foreign students who will be able to come and study here, initially from the Balkans, from Europe, from the Middle East, but tomorrow from India, from the United States, from the far East, from Africa”.
To this end, he said he hopes to amend article 16 of Greece’s constitution – which guarantees education free of charge – and said that such a change will constitute “the absolute institutional constitution of such initiatives in our homeland”.
“We are an exception in Europe in terms of the strict constitutional restrictions we place on the provision of higher education services,” he said, before saying that the “time has come” to “consider article 16 as subject to revision, so that there is no longer any institutional question mark over the operation of such institutions in our homeland”.
Christodoulides, meanwhile, stressed the strengths of Cyprus’ education sector, saying that it is “one of the most important in the Cypriot economy, with enormous prospects”, and that his government is “investing even more in education and training”.
He also expressed pride in the University of Nicosia, which he said “now has approximately 14,000 students from 100 different countries”.
“Today, it is here, and rest assured that very soon, it will be in other European capitals, and we are by its side. We support this effort,” he said.
He added that his government is “working together with our universities, private and public, so as to attract even more students”, and that the import of students to Cyprus is “subject to one basic condition”, which he said is “quality education”.
“We do not just want foreign students. We want quality students,” he said, adding that the University of Nicosia is “a key supporter in this effort”.
Additionally, he pointed out that his own government has passed a law to allow foreign universities to open campuses in Cyprus, with the Kapodistrian University of Athens having opened a campus in Nicosia in February.
“We are happy to have the University of Athens. We are in discussions with many other universities from Greece, and also from abroad, and all of this further strengthens the fraternal ties between Cyprus and Greece, between Greece and Cyprus,” he said.
Government spokesman Konstantinos Letymbiotis on Thursday dismissed calls led by Akel the investigation into the “spy van affair” to be reopened, instead insinuating that Akel had raised the matter to boost its polling numbers ahead of the parliamentary election.
“I understand the period through which we are going, and I am sure that in the next few weeks, we will see tension in several positions,” he said, in reference to the electoral campaign, before saying that “we should be characterised by consistency in our public statements and in our reports”.
“On the one hand, political parties or politicians cannot rightly claim and demand respect for the independence of institutions and at the same time, through their interventions, not respect the same independence of institutions,” he said.
He then added that “any investigations” into the matter “have been carried out”, before stressing that those investigations took place before the incumbent government came to power in 2023.
“Wherever and whenever there is any evidence, indications, presumptions, or intention for a new investigation to be conducted, or something which has not been followed with due process, this should be reported to the competent bodies so that they can follow these procedures,” he said.
He added that the government’s stance on the matter is “fixed”, and that “our position is unwavering and … undiminished”.
“While there is any evidence of any case concerning any non-compliance with the procedures provided for or irregularity in those procedures, this evidence should be handed over to the competent authorities so that they can initiate and carry out the appropriate procedures,” he said.
The “spy van affair” had seen it come to light that a private company named WiSpear was offering private surveillance services using state-of-the-art technology which had been installed in the back of a van.
WiSpear’s chief executive officer of the day Tal Dilian was initially arrested in Cyprus, before eventually being released, while the company itself was given a fine worth €76,000.
Calls for the matter to be investigated again were renewed this week after Greece’s prosecutor-general Konstantinos Tzavellas elected on Monday to not order that a case involving Dilian be reopened, after opposition politicians had called for a fresh investigation in light of comments Dilian had made to Reuters.
While no van was used in Greece, it was found that Dilian’s software was used to hack the mobile phones of 87 people, including government ministers, senior military officials, and Nikos Androulakis, who has since become Greece’s leader of the opposition.
Dilian had told Reuters that the technology offered had “only been sold to governments”, with Androulakis insisting that that this statement indicates involvement from the highest levels of the Greek government – something Greek Prime Minister Kyriakos Mitsotakis has denied.
He had told Greek television channel Mega that “it all starts from the Maximos Mansion”, the Greek prime minister’s official residence.
“We know that four chiefs of staff of the armed forces were targeted. Tzavellas says that we do not need to investigate who monitored them and why, or where the material is. This is a matter of national security,” he said.
He added that since then, Dilian has “called Mitsotakis ‘Nixon’”, in reference to former United States president Richard Nixon, who was brought down by the Watergate spying scandal, and “said that his software is only sold to states and state agencies”.
“He photographed the country, the state and the national intelligence service and yet Tzavellas has not called on him to bring any evidence to back up his words,” he said.
He added that as such, “Tzavellas is not interested in the Greek judiciary finding out who set this all up at the expense of the armed forces and who is blackmailing the prime minister”, sarcastically adding that this is “nice” and accusing Mitsotakis of setting up a “gang” in the Maximos Mansion.
“For me, national security and the quality of democracy are not separate. They are at the core of the state’s strength. For an individual to feel secure, he must feel trust in the institutions. Mitsotakis, unfortunately, has discredited the institutions,” he said.
Dilian’s assertion that his technology had “only been sold to governments” was also viewed by some to lend credence to the theory that he was operating in with the full knowledge of those who held the highest offices of the Republic of Cyprus when the van was operational in the late 2010s.
In light of this, Akel leader Stefanos Stefanou had criticised the Cypriot legal service for suspending the criminal prosecution of Dilian, and instead fining WiSpear €76,000, saying that in doing so, the legal service had only cited “generally and vaguely, the public interest”.
He added that “the issue of surveillance and institutional entanglement and corruption is extremely serious, since it concerns the protection of people’s rights, as well as the democratic functioning of institutions”.
“Shadows cannot be cast over such cases, and the credibility of institutions cannot be tarnished by those who should be the first to safeguard it,” he said, adding that the “spy van affair” had “intensified people’s distrust … towards the state and the competent prosecuting authorities”.
In Greece, Dilian was handed a 126-year prison sentence for his part in the country’s surveillance scandal. Eight of those years are to be served behind bars, though Dilian remains out of prison for now, pending an appeal against the ruling, which will be heard in December.
No protective measures were taken for 14-year-old Stylianos Constantinou despite years of warning signs, a criminal investigator told the Nicosia district court on Thursday during proceedings into the boy’s death in 2019.
Responding to a direct question from the prosecution, investigator Andreas Andreou gave a laconic answer, stating “no” when asked whether any action had been taken to safeguard the minor.
His testimony formed part of the ongoing trial examining potential failures by authorities in the lead-up to the teenager’s suicide in September 2019.
Andreou told the court that material gathered during the investigation indicated that social welfare services had been aware of multiple incidents concerning the child over several years but had not implemented the necessary protective interventions.
The court heard that the case is largely based on internal welfare files, which were submitted as evidence by the prosecution.
This included documentation relating to domestic violence, as well as records from what was described as the child’s “early support” file.
“The entire investigation revolves around these entries,” Andreou said, explaining that they recorded incidents and observations made by welfare officers over time.
According to the testimony, the files contained repeated references to domestic violence inflicted upon Stylianos, alongside early indications of neglect dating back to his preschool years.
Entries described concerns about his appearance, hygiene and nutrition.
Andreou told the court that the records also depicted a socially isolated child with limited interaction with peers, who had been working from a young age and had at times expressed a desire to “have a different mother”.
Observations further referred to the child “imitating” abusive behaviours seen at home, reinforcing concerns about his upbringing.
The investigator also highlighted that Stylianos’ father had been convicted in 2014 for violence against the child, a fact that was “known and recorded” in the welfare files.
Despite this, the court heard there was no indication of sustained follow-up measures to address the risks identified.
Particular attention was given to events in the months preceding the boy’s death.
Andreou confirmed that welfare authorities had been informed of a suicide attempt on May 11, 2019.
However, he said the response that followed did not meet the level expected in such circumstances.
“It was an emergency case involving a minor,” he told the court, adding that psychological support was not ultimately provided.
The explanation given, he said, was that the child did not wish to participate.
Andreou stressed that authorities had the power to intervene regardless of the minor’s consent, but “this was not done”.
The testimony forms part of a wider case involving multiple defendants, including the child’s parents and several welfare officials, facing charges linked to alleged failures to act.
“Common struggle for a common homeland, against wars and exploitation” is the central message of labour union Peo for May Day, as trade unions across Cyprus issued calls for unity, improved working conditions and stronger social protection.
In its statement, Peo urged mobilisation of all workers, regardless of colour, religion or ethnic origin, stressing that the messages of International Workers’ Day remain “bright and relevant”.
It added that, for Cypriot workers, the struggle for global peace is inseparable from efforts to resolve the Cyprus problem and reunify the island.
“Developments in the Eastern Mediterranean confirm the urgent need for a solution, as the current situation does not ensure stability and security,” it said, adding that reunification could contribute to demilitarisation and peace in the region.
“We do not compromise with division,” Peo stressed, reaffirming its commitment to a bizonal, bicommunal federation with political equality, one sovereignty, one citizenship and one international personality.
The union also outlined a series of labour demands, including wage increases, broader coverage of collective agreements, hourly application of the minimum wage, fair distribution of wealth and pension reform with the abolition of the 12 per cent penalty.
It further called for measures to tackle the cost of living, including scrapping double taxation on fuel and energy, increasing social benefits, expanding care infrastructure and promoting social housing and rent subsidies.
At the same time, trade union Sek issued its own May Day message, focusing on strengthening decent work, incomes and social cohesion amid growing socio-economic and geopolitical challenges.
Sek noted that despite the positive course of the Cypriot economy, workers continue to be burdened by the rising cost of living, particularly in housing and energy.
“The real threat to the economy is not wages, but the erosion of purchasing power, profiteering and delays in a fair transition to the green and digital era,” it said.
The confederation also highlighted Cyprus’ role as the rotating president of the Council of the European Union for the first half of 2026, pledging active participation in shaping policies that safeguard workers’ rights and the social dimension of growth.
At the same time, it expressed clear opposition to policies reminiscent of the Bolkestein directive, warning of risks of labour market deregulation.
Sek set out key priorities, including expanding collective agreements to cover 80 per cent of workers, strengthening the cost-of-living allowance (CoLA) with a view to universal application in the private sector, and reforming pensions to ensure sustainable incomes above the poverty threshold.
It also called for revising the minimum wage to 60 per cent of the median wage, regulating foreign labour to prevent exploitation and unfair competition, and ensuring zero tolerance for violence and harassment in the workplace.
The union stressed that technological progress – including artificial intelligence and teleworking – must benefit workers rather than undermine their rights.
Peo’s May Day programme on Friday includes a gathering at Eleftheria Square at 5pm, with addresses by Secretary General of Peo union Sotiroula Charalambous and Akel leader Stefanos Stefanou.
Nikos Christodoulides sits at negotiations for a resolution to the Cyprus problem not only as the leader of the Greek Cypriot community, but as the president of the Republic of Cyprus, government spokesman Konstantinos Letymbiotis said on Thursday.
“The president of the Republic of Cyprus is sitting at the negotiating table as the leader of the Greek Cypriot side and as president of the Republic of Cyprus, a state recognised by the international community, a European Union member state, especially with regard to aspects related to sovereignty issues,” he said.
The word “president” was not used in either of United Nations Secretary-General Antonio Guterres’ two reports on Cyprus which were published in January, with those reports referring to Christodoulides exclusively as “the Greek Cypriot leader”.
Previously, Christodoulides had in his own update in last July’s report on the UN good offices in Cyprus outlined his view regarding the position he holds in Cyprus talks.
“As per the longstanding practice in meetings with broader format that include the contractual parties to the 1960 treaties, I represented the Republic of Cyprus – through my capacity as president – as a contracting party to the said treaties, whilst also representing the Greek Cypriot community for the intercommunal aspects of the discussions,” he wrote.
This stance had irked Turkish Cypriot leader of the day Ersin Tatar, who wrote in his own update in the same report that “Christodoulides presented himself both as the ‘president of the republic of Cyprus’ and as the ‘representative of the Greek Cypriot community’ – thereby complicating the tone and dynamics” of talks.
Tatar also referred to himself as “the fifth president of the Turkish Republic of Northern Cyprus”.
At the same time, the UN does recognise Christodoulides as the president of the Republic of Cyprus and has recognised Greek Cypriot-led governments as governments of the Republic of Cyprus in the aftermath of the collapse of the constitutionally foreseen bicommunal Cypriot governments since 1964.
UN resolution 168, passed in March 1964, recognised the government of the day as the government of Cyprus, notwithstanding the ejection of its constitutionally mandated Turkish Cypriot members.
Additionally, the creation of the UN peacekeeping force in Cyprus (Unficyp) in 1964 was pursuant to a status of forces agreement forged upon letters sent between UN secretary-general of the day U Thant and foreign minister of the day Polycarpos Yiorkadjis.
More recently, Christodoulides’ stance that he be party to talks as the president of the Republic of Cyprus has drawn criticism from incumbent Turkish Cypriot leader Tufan Erhurman’s undersecretary Mehmet Dana, who described the position as “detached from the facts” and “unfortunate”.
He stressed that “it is important to remind everyone that as of today, there is no ongoing negotiation process”, while adding that “it is clearly stated in the United Nations’ documents that that good offices’ mission undertaken by the UN secretary-general to reach a solution on the island is between its two leaders”.
“This is a very clear and unambiguous point. For this reason, all statements made within the context of the efforts carried out under the good offices’ mission refer to the two community leaders. Indeed, the statements made by the UN after the meetings held by the leaders also pay the utmost attention to this,” he said.
The government insisted Thursday that its “effective” economic policy is translating into tangible benefits for the average person.
“From the outset, the government has followed a responsible and effective economic policy with a clear target: stable public finances, robust growth, more jobs and gradually rising incomes,” government spokesman Konstantinos Letymbiotis told the press gaggle at the presidential palace.
His remarks came amid news of a sharp spike in the inflation rate this month, while Eurostat data showed that 17.1 per cent of Cypriots were at risk at poverty or social exclusion in 2025; the EU average was 20.9 per cent.
According to the spokesman, the results of the government’s policy are reflected “across all key indicators”.
These indicators take on significance when they have a real impact on society, he added.
“When they create jobs; when they prop up salaries; when they leave bigger space in the family budget; and when they improve, in quantifiable terms, the day-to-day lives of households.”
Letymbiotis cited statistics showing that during the fourth quarter of 2025, average earnings increased by 4.9 per cent while median earnings went up 4.6 per cent.
At the same time, inflation was very low.
“This means a substantive rise in purchasing power,” he asserted.
The spokesman acknowledged inflationary pressures as a result of rising energy prices globally due to the conflict in the Persian Gulf.
“That is why”, he went on, “we continue our efforts with policies that boost the adequacy of wages and support households: raising the minimum wage, the agreement on CoLA, the tax reform, and pension reform – the next emblematic reform of the government.”
Letymbiotis noted that the economic situation “does not improve from one day to the next.
“But the data show that our efforts are paying off. The economy grows stronger. We are supporting employment. Salaries are on the rise.
“That is our goal: growth with a social impact, more disposable income, and a higher standard of living.”
Nikos Sykas’ bid to challenge his removal from Disy’s ballot has failed after the court of appeal rejected his case, ruling on Thursday that the matter no longer had any practical effect.
The court dismissed the appeal against an earlier interim decision which had refused to block the party’s politburo from ratifying his exclusion from the Limassol candidate list for the parliamentary elections.
Judges found that the appeal had been rendered moot after the party body proceeded with the ratification on February 28.
As stated in the ruling, courts do not examine “academic issues or disputes that no longer have a practical effect”, effectively ending Sykas’ attempt to reverse the process through this legal avenue.
Sykas had initially sought a declaration that decisions taken by Disy to remove him from the ballot were unlawful and beyond their authority.
The court of first instance had rejected his request for an interim order, classifying it as a precautionary measure and finding that while there was a debatable case, there was no evidence of “immediate and unavoidable risk of serious damage” that could not be remedied later.
It further concluded that there was no clear prospect of success or difficulty in delivering justice at a later stage.
In his appeal, Sykas claimed that the lower court misapplied the criteria for issuing an injunction and failed to recognise that the damage he faced could not be compensated financially.
The court of appeal dismissed a request by Sykas to issue a new ruling annulling the party’s final decision, stating that such an action would amount to exercising primary jurisdiction beyond the scope of an appeal.
Costs of €4,000, plus VAT, were awarded in favour of Disy.
Sykas had been selected as a Limassol candidate in October 2025 through an internal party process.
His removal followed a complaint of physical violence against his partner made public in January 2026, which prompted the party to recommend his exclusion, a position later endorsed by its politburo.
Although the complaint was subsequently withdrawn, the case continued to carry legal and political implications.
The supreme court had earlier lifted Sykas’ parliamentary immunity, allowing police to proceed with their investigation.
Disy leadership maintained that the decision to remove him was based on principle, with party leader Annita Demetriou stating at the time that “violence of any kind is incompatible with our values”.
Traffic disruption was reported on the Nicosia–Larnaca highway after lanes were closed in both directions near the Rizoelia roundabout on Thursday.
The two right lanes on each side of the motorway were shut at around 4.00pm due to damage to an underground telecommunications pipeline, forcing vehicles to merge into the left lane in both directions.
Authorities said the measure was necessary to ensure safety while the issue is being addressed.
Significant congestion quickly built up, particularly on the stretch heading from Nicosia towards Larnaca, with delays extending from the Athienou area to the Rizoelia roundabout.
Police urged drivers travelling towards Larnaca and Larnaca airport to consider alternative routes, advising the use of the old Nicosia–Larnaca road via the exits to Lympia and Athienou.
Motorists were also directed towards the Kofinou–Larnaca route through the Nicosia–Limassol motorway as an alternative option.
In a statement, authorities called on drivers to exercise caution, urging them to “drive at a safe, low speed and maintain a safe distance from vehicles in front” while passing through the affected section.
No timeframe was given for when the lanes are expected to reopen, as traffic continues to be managed through diversions and reduced lane access.
The woman known as ‘Sandy’ has completed a further round of questioning by investigators as part of an ongoing corruption probe, with authorities seeking to clarify key elements of her testimony.
According to local media reports, the 45-year-old’s statements were taken on Thursday in the presence of a psychologist and conducted by a specialist unit dealing with vulnerable persons.
The session was not concluded and is expected to continue in the coming days after being interrupted for personal reasons.
Investigators requested the additional testimony to address specific issues arising from the inquiry and to examine in greater depth claims presented as factual by third parties.
The latest session forms part of an extensive effort to verify earlier statements and establish the credibility of material linked to the case.
‘Sandy’ remains central to allegations of sexual abuse and corruption made public by investigative journalist Makarios Drousiotis, who has claimed the existence of an organised ‘Rosicrucian brotherhood’ involving current and former officials, members of the judiciary and political figures.
Those named in connection with the allegations have rejected any wrongdoing.
Investigators are examining thousands of digital files, including messages, audio recordings and video material attributed to ‘Sandy’, while also assessing claims of financial transactions allegedly linked to attempts to suppress information.
A key focus of the latest questioning has been the origin of messages that form part of the allegations.
Authorities are seeking to determine how the material came into ‘Sandy’s’ possession and whether it can be verified as authentic.
References to possible fabrication in some elements of the case have prompted further scrutiny, with investigators aiming to establish “precisely how the names mentioned in the case emerged” and how they were connected to the communications presented.
A delegation from the Federal Bureau of Investigation (FBI) has already met with police, with experts expected to assist in analysing testimonies and technical evidence.
Europol is conducting parallel forensic examinations, with results still pending.
The case has also prompted responses from individuals named in public allegations.
Former supreme court judge Michalakis Christodoulou confirmed that he knew ‘Sandy’, stating that he met her between 2020 and 2021, while firmly denying any involvement in wrongdoing.
Former Bar association president Christos Clerides said he had received material related to the case and had advised that a police complaint be filed, though this did not occur.
Further controversy has emerged from statements by public figures rejecting claims linked to the investigation.
Deputy Edek president, Morfakis Solomonides, has announced his intention to pursue a private criminal case against Drousiotis, accusing him of “lies, circulation of forged documents and dissemination of false news”.
He said he had already submitted statements to authorities and handed over his mobile phone for forensic examination, adding that “all his myths have been debunked”.
Solomonides also questioned why he had not been called to give a statement, describing such a scenario as “impermissible”, while asserting that no formal complaint had been filed against him.
He maintained that he had never met either ‘Sandy’ or Christodoulou.
Drousiotis, has defended his work, arguing that the investigation should proceed without external interference.
He criticised what he described as efforts to challenge the authenticity of evidence rather than its content and said he would continue to defend “my dignity and the truth, which will ultimately prevail”.
Police sources indicate that more than 3,000 files are being analysed, with particular attention given to verifying digital material and cross-checking testimonies.
The Cyprus Gaming and Casino Supervision Authority has clarified that casinos operating on cruise ships and passenger vessels fall outside its regulatory framework, regardless of the vessel’s flag.
The authority explained that such activities are not subject to its supervision, as they take place beyond the jurisdiction of the Republic of Cyprus.
“Casinos operating on cruise ships and passenger vessels do not fall under the regulatory and supervisory framework of the authority, regardless of the ship’s flag,” the authority said.
It further pointed out that, in line with international practice, these casinos are permitted to operate only under specific conditions.
“Casinos on these vessels operate exclusively when they are in international waters and not while they are in ports or within the territorial waters of the Republic of Cyprus,” the authority stated.
The clarification comes as cruise ship gaming continues to grow as a major global industry, combining tourism, leisure and high-stakes entertainment aboard vessels.
Industry estimates indicate that the global cruise sector is projected to reach $18.30 billion by 2030, expanding at an annual rate of 11.5 per cent.
Of this total, approximately 20 to 30 per cent is attributed to gaming revenue generated onboard ships.
The Cypriot gaming authority also issued a message to the public regarding participation in gambling activities during travel.
“Members of the public, if they choose to participate in any gaming activity during a journey, should do so responsibly, with prudence and full awareness that participation in games should be treated solely as a form of entertainment and not as a means of generating income or covering financial obligations,” the authority said.
The regulator emphasised that responsible behaviour remains essential, particularly given the distinct environment of cruise ships, where passengers have continuous access to entertainment options.
What is more, the authority reiterated the scope of its responsibilities within Cyprus.
“The authority continues to exercise its responsibilities exclusively over licensed activities within the territory of the Republic, ensuring the proper functioning of the market and the protection of the public,” it said.
Globally, cruise ships operate as self-contained ecosystems, where passengers represent a captive audience with both time and disposable income, supporting consistent demand for onboard gaming.
This model has helped casinos become a key revenue driver for cruise operators, with onboard spending, including gaming, accounting for around 30 per cent of total cruise income.
Major cruise companies generate substantial gaming revenue through integrated onboard payment systems, allowing seamless transactions and data-driven customer engagement.
At the same time, demand for cruise travel continues to rise, with passenger numbers expected to grow from 35 million to 39.7 million by 2027.
A third-country national suspected of leading an organised migrant smuggling network has been arrested on Thursday, following what officials described as targeted operations against illegal immigration.
Officials described the suspect as the alleged “head of an organised ring” involved in coordinating the unlawful facilitation of migrants into Cyprus.
No further details were released regarding the individual’s identity or the scale of the network.
The arrest forms part of a broader enforcement campaign in recent days, during which authorities recorded multiple detentions and removals.
On April 29, nine arrests were carried out, alongside five deportations and 11 voluntary departures.
A day later, a further 12 deportations and 43 voluntary departures were recorded.
Additional removals are already scheduled, with 13 deportations and 32 voluntary departures planned respectively.
The justice ministry said operations “continue with the same targeting”, focusing both on returns and on identifying individuals who organise or assist illegal entry and residence in Cyprus.
Authorities have not indicated whether further arrests are expected but signalled that investigations into organised smuggling activities remain ongoing.
Elam leader Christos Christou defended the party’s decision to remove Kyriakos Savvas from its Paphos ballot, stating on Thursday that the move was based on issues of discipline rather than disagreement over core positions.
Speaking publicly, Christou said the party “agrees with his positions” on LGBT related matters but took issue with actions that were seen as undermining collective direction, particularly his stance towards the Synod and involvement in protest activity linked to former bishop Tychikos.
“No one asked Mr Savvas to change his opinion,” Christou insisted, adding that he had instead been asked “to limit his actions, which were directed against the whole”, and “he himself decided to act differently”.
He confirmed that party leadership had been “disturbed” by Savvas’ public support for Tychikos, including participation in demonstrations.
The removal, he said, reflected the expectation that party members, especially elected officials, avoid conduct that could expose Elam.
“It was considered that since he is an elected municipal councillor with Elam, he should not express himself in a way that exposes the party,” Christou stated, emphasising that there is “no room for personal agendas” within Elam.
Savvas, however, has rejected the politburo’s justification, describing the decision as unfounded and procedurally flawed.
In a detailed statement, he denied allegations of “continuous disciplinary offences” and “multiple warnings”, challenging the party to make such claims public and provide a clear timeline.
He linked his removal to his participation in a protest calling for the reinstatement of Tychikos and to a social media post criticising a same-sex union reportedly held at Minthis monastery in the Paphos district.
Savvas argued that his positions were consistent with both party principles and “faith, homeland and family”, which he said underpin Elam’s platform.
According to his account, tensions escalated following internal communications and calls from party officials requesting that he delete the post.
He said he was informed by Christou on Tuesday that he would be removed from the ballot, before any formal process was communicated to him.
Savvas further questioned whether proper procedures had been followed, asking why he had not been invited to a political council meeting or given the opportunity to respond to the accusations.
He also raised concerns regarding external pressure from the church, claiming he had been told Archbishop Georgios had objected to his actions and was “monitoring everything”.
Elam has maintained that the decision was taken collectively, citing “repeated and multiple warnings” and the candidate’s decision to pursue what it described as a personal course.
Around 17.1 per cent of people in Cyprus were at risk of poverty or social exclusion in 2025, according to figures released on Thursday by Eurostat, with the total number affected reaching approximately 167,000.
The proportion remained unchanged compared with 2024, though the number of people increased by about 3,000, reflecting population changes rather than a shift in the overall rate.
Data showed disparities between men and women for approximately 75,000 men, or 15.5 per cent, were classified as at risk, compared with that of 93,000 women, representing 18.7 per cent.
Across the EU, 92.7 million people, or 20.9 per cent of the population, faced the same risk in 2025.
This marked a slight decrease from 21.0 per cent in 2024, equivalent to 93.3 million people.
Of those affected, 43 million were men and nearly 49.7 million were women.
Eurostat said individuals in this category live in households experiencing at least one of three conditions, describing them as “at risk of poverty, severe material and social deprivation, or very low work intensity”.
Across the bloc, Bulgaria recorded the highest rate at 29.0 per cent, followed by Greece at 27.5 per cent and Romania at 27.4 per cent.
At the other end of the scale, the Czech Republic reported 11.5 per cent, Poland 15.0 per cent and Slovenia 15.5 per cent.
Government spokesman Konstantinos Letymbiotis on Thursday called on Turkey to “look in the mirror” over the lack of progress in its relations with the European Union, after Turkish Foreign Minister Hakan Fidan had a day earlier said those relations were being “held hostage by one country”.
“The Turkish minister refers to the EU and separates the Republic of Cyprus from the EU. Cyprus is Europe, Europe is Cyprus, and this has been proven by the experience of recent days,” he said, in reference to last week’s informal European Council summit in Nicosia.
He added that President Nikos Christodoulides “has said it clearly and repeatedly [that] we want progress in relations between Europe and Turkey”, but that “this progress must go through Turkey’s Cyprus-related obligations – towards an EU member state of which Turkey has illegally occupied the territory for 52 years”.
“So, what we, the Republic of Cyprus, and EU member state, is doing, everything we have been doing recently with greater intensity, is to raise the level of our presence as an EU member state, as a state in the region which proves in practice its usefulness and credibility,” he said.
To this end, he said that “the one who must reflect on its responsibilities is Turkey”, and that “if Turkey wants to look for the reasons why it does not see progress in relations with the EU, it must look in the mirror”.
Fidan had made the comments during a joint press conference with his Austrian counterpart Beate Meinl-Reisinger in Vienna, calling for the existing customs union agreement between the EU and Turkey to be upgraded.
At present, Turkey has a customs union agreement with the EU, but as Turkey is not a full EU member, it does not enjoy the full benefits of the union. As such, when the EU signs a trade deal with a third country, imports to Turkey from that third country can no longer be tariffed, but that third country can continue to place tariffs on Turkish exports.
“Unfortunately, there are some inherent rule-based dilemmas within the European Union. For example, 26 out of 27 countries, representing 400 million people, may want something, but the preference of less than a million people, or even a country with a population of less than a million, can render it sufficient,” he said.
Therefore, he added, “Turkey and the European Union – 500 million people – can be held hostage by one country”, before stressing that “the current system makes this possible”.
For those who love adventure and discovering hidden gems, visiting off-the-beaten-path wineries offers a rare chance to taste handcrafted, low-intervention wines in stunning, remote locations. These wineries may not be easy to reach, but they reward visitors with breathtaking landscapes, authentic hospitality and wines that express their wild, untamed terroirs.
East of Paphos is a lesser-known wine producing region that fits the description of a hidden gem: the Diarizos Valley. Climbing towards the Troodos mountains, the route passes from the picturesque village of Pretori outside of which is a small winery called Nelion.
Built mainly from stone, in a traditional way, it was named after owners Neofytos and Eleni Ioannou. This small boutique winery produced its first wines in 1996, and the winery has become a popular destination for locals and tourists with a sense of adventure.
The family sources fruit for their wines from their family vineyards. Seven varieties are used and produce 35,000 bottles. The small number of bottles allows the winery to pay maximum attention to every detail.
2025 Nelion Winery Pet Nat, ABV 12%
Delicately fizzy, a lively and fresh sparkler brimming with notes of ripe white peach and orchard fruits like golden apple, Asian pear and citrus. A generous amount of minerality and a touch of salinity gives the wine a mouthwatering quality. Pair with prawn with light curry sauce and coconut rice or seasonal fruit summer salad. €19
2025 Nelion Winery 2 Rizes Xynisteri, Pafos PGI, ABV 12.5%
A blend of grapes from two vineyards. Straw yellow colour, the aromas include hints of pear, peach and apricot, some pineapple in the background and citrus fruits with some hawthorn and floral notes. Balanced acidity and soft on the palate, with white peach and grapefruit leading to some mineral, saline notes. €9.50
2025 Rkaes 758 Single Vineyard Xynisteri Acacia Barrels, PGI Pafos, ABV 12.5%
Crisp and refreshing with a light yellow colour and greenish tints. On the nose, Rkaes captures notes of citrus blossoms, grapefruit, a core of stone fruits, aromatic herbs and acacia blossoms; freshly cut grass from the lees adds to the complexity of the nose. Superbly balanced and structured, medium-bodied, smooth and zesty, citrus acidity with mineral characters and fresh-snipped greens, white peach, lime with hints of yellow fruit and green herbs. Drink this Xynisteri with seafood, like sauteed prawns with olive oil, garlic, sweet paprika and a pinch of saffron. €14
2023 Nelion Winery Meletses Single Vineyard oak aged Xynisteri, PGI Pafos, ABV 13%
Oak aged for 12 months, the fruit is sourced from the highest vineyard of the winery at 900m. Expressive and exuberant, this wine stands out with its mouthwatering appeal. Bright yellow colour, nose of inviting peach, white florals, and orange peel unfold immediately, vanilla and sweet spice, lemon cream. There is a sense of yellow pear flavours on the mid palate leading to a long finish. Succulent and citrusy, the 2023 is aged well, beautifully balanced in texture and acidity, offering a full-body wine. Enjoy with BBQ chicken or pork, braised veal shank with rich herb sauce. €16
2023 Nelion Winery The Vigneron, Orange Xynisteri, PGI Pafos, ABV 12.5%
Light amber colour with lifted aromatics of flowers, bergamot, orange candied peel, hawthorn, ripe yellow apple, quince, canned peaches, pineapple, honey notes and fresh herbs. The palate bursts with ripe fruit, cantaloupe and yellow apple, underscored by green tea and herbal backbone with a long citrus and mineral acidity still with linear finish. Excellent with spiced fried chicken or Morocan lamb tajine. €22
2025 Nelion Winery Rosé, Black Muscat, PGI Pafos Abv 12.5%
Black Muscat is better known as Muscat of Hamburg and is one of the over 200 grape varieties to share a variation of the Muscat name. It is a hearty, juicy grape and wine lovers enjoy its strong Muscat flavours.
This wine is fresh and lively, with distinct minerality and a long-lasting finish. Pink salmon colour, with intense Muscat aromas of patisserie and sugar dust, roses and red fruit, red apple, sour cherry and raw pomegranate. Do not be fooled by the nose because it is refined, dry and crisp on the palate. The wine brings red cherry and fresh strawberries, some vegetal and spice flavours and it ends with a refreshing pink grapefruit acidity. Another perfect companion to share among friends, or with roast turkey with herbs, Mediterranean salads with quinoa or stir-fry vegetables. €13
2023 Nelion Winery 2Rizes red blend, Pafos P.G.I., ABV 13.%
Carrignan contributes almost 50% with Cinsault and Maratheftiko, a young Rhône valley blend. Almost impenetrable ruby red colour and intense fruity notes of blackberry and blueberry, red plum and Maraschino cherry as well notes of black pepper and light spice. Medium bodied and ready to drink with a velvety palate with cherry and currant flavours. Drink now with any type of charcoaled pork or chicken, light yellow cheese and pasta with tomato and meat-based sauces. €9.50
2022 Nelion Winery, Opthalmo, P.G.I. Pafos, ABV 14%
In the glass, it has a deep red cherry colour and on the nose intense red fruit, cherry, dark plum aromas, with complex notes of earth, flowers, vanilla and mint. Dry and medium-bodied, juicy acidity with dry tannins, oak notes of caramel and spice give the wine a special personality. The wine pairs well with bistro burger, moussaka or carne asada tacos. €16
2022 Nelion Winery, Maratheftiko, P.G.I. Pafos, ABV 14.5%
Deep red colour with violet hints, this Maratheftiko starts with floral hints and rich blackberries and blackcurrants, licorice and hints of vanilla. Gentle tannins and vanilla notes, all spice, dark cherry, and red currant flavours round out an enjoyable soft finish. Serve with aged cheese, roast lamb, mild spiced roast pork. €21
Nelion Winery 25 442445 or nelion@cytanet.com.cy
A €1 million fund has been approved for specialised genetic testing to help identify remains of missing persons, the office of the presidential commissioner said on Thursday.
Officials said the new technology will strengthen existing procedures and increase the chances of identifying remains that have so far resisted scientific analysis.
The decision was taken by the cabinet on April 21.
The funding will support the use of massive parallel sequencing, a modern DNA analysis method, to examine remains that could not previously be identified due to exposure to chemical substances or severe degradation.
Officials said the process will be carried out through the Cyprus Institute of Neurology and Genetics and is expected to begin in May.
Authorities said the aim is to improve the identification of remains of missing persons and provide answers to families who have waited for decades.
The announcement described the initiative as an important step in the ongoing humanitarian effort to locate and identify missing and fallen individuals.
It said the funding was secured through the initiative of presidential commissioner Marios Hartsiotis, with the support of President Nikos Christodoulides.
The government stressed that the issue of missing persons is primarily humanitarian and said it remains committed to intensifying efforts until all possible identifications are completed.
Cypriot member of the European Parliament Costas Mavrides, of Diko, on Thursday called for a halt to European Union funding of the Turkish Cypriot agricultural sector, alleging that Turkish Cypriot farmers and authorities are refusing to apply EU rules in light of an ongoing outbreak of foot and mouth disease on the island.
“As we speak, there is an ongoing livestock health crisis with foot and mouth disease in Cyprus, which has developed into a political crisis,” he said.
He then addressed European Agriculture Commissioner Christophe Hansen directly, saying, “specifically, livestock farmers in the free areas are implementing your instructions and your protocols by killing thousands of animals, but in the occupied areas of Cyprus, the same measures are not being implemented”.
In light of this he asked, “with this situation, and with the disease continuing [to spread], will livestock farmers who follow your instructions be punished again and again while those in the occupied areas refuse to implement them?”, before adding, “is this fair treatment?”
“Secondly, will you take any measures, or will the funds continue to go to the occupied areas? Last question, how is food affected by the occupation, commissioner? You have a responsibility. Is this treatment fair? Yes or no?” he said.
It remains unclear whether the EU’s rules regarding the spread of foot and mouth disease are being followed by Turkish Cypriot farmers or by the Turkish Cypriot authorities. Those rules stipulate, among other things, that if the disease is detected on a farm, every animal on that farm must be culled.
The Cyprus Mail has made persistent and repeated attempts to contact Turkish Cypriot ‘agriculture minister’ Huseyin Cavus on this matter, and has received no response.
Last September, in line with the latest edition of its aid programme for the Turkish Cypriot community, the EU provided €2.7 million for animal health and food safety within the Turkish Cypriot community, and a further €2m to improve the capacity and efficiency of Turkish Cypriot agricultural cooperatives.
More than 100 farms in Cyprus have been infected by foot and mouth disease, with thousands of livestock animals having been killed in the opening months of the year, with many farmers blaming, at least in part, the Turkish Cypriot authorities for the disease’s spread.
An outbreak of the disease had been detected in the village of Ayios Sergios, between Famagusta and Trikomo, last December, with Cavus having said earlier in the year that he had been warning the Republic of Cyprus’ authorities about the disease since then.
“The response we received for a long time was ‘there are no cases in our country’,” he said.
Meanwhile, Turkish Cypriot leader Tufan Erhurman had in March called for the island’s two sides to cooperate and coordinate so as to combat the spread of the virus.
“It cannot be that there is one thing in the north and another in the south. There is a risk of the disease spreading on both sides. Therefore, it is necessary that we act in coordination,” he said.
The April 2026 update to Visual Studio centers on agentic workflows: cloud agent sessions launch directly from the IDE, custom agents gain user-level support, and a new Debugger agent validates fixes against live runtime behavior.
Here’s what’s new with GitHub Copilot in Visual Studio 2026. Check the Insiders channel for the latest:
%USERPROFILE%/.github/agents/, so your personal agents travel with you across projects..claude/skills/ and .agents/skills/ directories alongside the existing .github/skills/ paths, broadening compatibility so teams can organize skills in the convention that fits their workflow. See awesome-copilot for community examples.Edit.AcceptSuggestion, Edit.AcceptNextWordInSuggestion, and Edit.AcceptNextLineInSuggestion in Tools > Options > Environment > Keyboard.get_symbol_call_hierarchy and get_symbol_class_hierarchy tools give Copilot language-aware navigation for C++ codebases.Download Visual Studio 2026 to experience all the new Copilot features today. To learn more about what’s new, check out the Visual Studio blog and release notes.
Stay up to date on the latest Copilot features by following the Visual Studio blog, where you’ll find roadmap updates and opportunities to share feedback.
For the latest news, release notes, videos, and community conversations, visit the Visual Studio Hub, your central resource for all things Visual Studio.
The post GitHub Copilot in Visual Studio — April update appeared first on The GitHub Blog.
I've come across the GDevelop engine, an engine made to make games without coding, but programming with a event system, similar RPG Maker, as I'm trying to learn programming to make games.
For people who mess around with game engines, is it a good option for game development?
So i realized i spend ALOT of time playing and analyzing games, and ive always been super creative, i draw and most my peers say im quite good, i write and everyone ive told my stories to love it, and im constantly getting ideas of games i WISH existed, but dont, ideas i genuinely think are brilliant, and i recently started thinking, how likely is it that i could actually make these ideas a reality? Start a career in this? I mean kojima had to of started somewhere, what would i hypothetically need to get where he's at, as an artist
I genuinely dont know anything, so feel free to treat me like a child in your explanation, just curious and cant find any specific information on road maps for someone like me in particular
| Hey, I’ve been working on a pixel action MMORPG called Eclipsia and recently added a rhythm-based boss fight. The idea is that parts of the fight sync to the music, so you have to time movement/dodges with the beat instead of just reacting normally. I’m still experimenting with how far to push it. If you know how a server-authoritative mmorpg works, then you probably know why most don’t have rhythm games. I figured with decent enough performance, a relatively simple rhythm fight is do-able. I really love the concept so I decided to build it. Rhythm game mechanics start around 0:38 [link] [comments] |
TL;DR:
———
It has been a week since the Steam launch of "The Last Cat in the Universe", the second game my brother and I have published. We want to share our results and the lessons we’ve learned along the way.
A few months ago, I made a post on this subreddit explaining the origins of this game. I shared that we had paused development on another project that already had 11,000 wishlists because it needed a lot more work, and we urgently needed funding. That post was poorly received. Most people seemed to think it was a terrible idea.
Today, we can confidently say it was the right call, and our gamble paid off. We launched the game with 4,500 wishlists—not bad, but not enough to make it into the Popular Upcoming list. However, the post-launch reception has exceeded our expectations. Just one week after release, we have sold over 4,000 copies, generated a net revenue of over $20,000, and gathered more than 200 reviews with a 94% positive rating. From our perspective, it has been a complete success and will likely allow us to fund our next game quite comfortably.
Here are some of the lessons this project taught us, including what we did right and what we need to improve:
Inconsistent content creation
We still haven't managed to establish a solid system for content creation and social media management. We tried making short videos for YouTube and TikTok, but we never saw significant results. The whole process took so much time and distracted us so heavily from actual development that we ended up pushing it aside. We still need to find the right workflow and our "voice" on social media. We believe that if we had been more consistent, we might have secured more wishlists before launch and achieved even better results.
The need for multiple trailers
This game made us realize why it is worth releasing several different trailers throughout development. We made an initial announcement trailer that got us our first 1,000 wishlists. However, it showed the game in a very early stage, with incomplete sprites and very little variety. The biggest issue arose during our participation in Steam Next Fest. We hadn't thought about it much, but the moment we saw the trailer playing in the festival's carousel, we immediately realized: "Oh, this trailer is awful."
We thought the damage was already done, so we didn't make a new one. This led to a major issue right before launch. We created a proper launch trailer and secured an exclusive premiere on IGN's YouTube channel. The problem was that, publicly on our Steam page, the only trailer available was still our awful announcement trailer. Whenever someone checked out the game in the days leading up to launch, or when content creators talked about it, they saw footage that did not represent the current state of the game.
Now we understand how crucial it is to update the trailer as the project evolves, ensuring people see a representation of the game as it is now, not as it was four months ago.
A rushed demo and the importance of proper closure
Due to our short development timeline, we did everything we could to rush a demo and make it public as soon as possible, avoiding a release right in the middle of Steam Fest. But our demo had a flaw that we only noticed when we started watching content creators play it: it didn't have a proper "ending." It simply reached a point where the player couldn't progress any further. This left players with a bad taste in their mouths, ending the experience on a very low note, even if they had enjoyed the first few minutes.
Once we identified the issue, we gave the demo a proper conclusion (a short narrative cutscene followed by an end screen). Reactions immediately became much more positive, even though the rest of the demo remained exactly the same.
Close relationships with content creators
One area where I do believe we did a great marketing job was in building long-term relationships with content creators. When we see a creator playing our demo, we make sure to reach out—whether in their Twitch chat if they are live, or via Instagram and Discord. This helps us establish a closer connection, and a few of them started following the project closely. This ensured that on launch day, we had several creators streaming the game. It gave us an initial visibility boost and allowed us to quickly spot bugs we had missed, fixing them on that very first day.
Bundles and networking with other devs
We also focused on building relationships with developers making similar games. Our first game taught us how useful bundles can be, so our goal this time was to secure as many as possible (we haven't found any downsides to being in multiple bundles yet). We started contacting these devs, which not only helped us set up the bundles but also allowed us to connect with more experienced creators who gave us invaluable advice.
Learning to use Codecks saved our final month
We have always struggled with organizing our projects, leading to constant delays and high stress in the past. The first few months of this project were no different. We were moving fast because there was so much to do, but we were also quite lost regarding what the next steps should be, and we lacked the confidence that we would finish on time.
Then, I came across some tutorials on the Codecks YouTube channel explaining their platform. It seemed confusing at first, but once everything clicked, I realized how valuable the tool was. During our last month and a half of development, we used Codecks heavily, allowing us to do a "controlled crunch." We knew exactly what was left to do and how long each task should take. In fact, during the final three days before launch, we experienced the bizarre sensation of not having much to do because the bulk of the development was already finished. It was a liberating feeling—one we definitely did not have with our first game (which we worked on until hours before pressing publish).
Finally understanding our studio's identity
Since my brother and I started making games three years ago, we’ve maintained an exploratory mindset. We knew we had to try many things before committing to one. If you look at our three games (the two published ones and the paused one), they are completely different from each other.
However, with our first game, several people asked to know more about the lore (even though we didn't intend for it to be narrative-heavy). With our paused horror game, all the positive feedback revolved around the story. And now, with The Last Cat in the Universe, practically ALL the positive comments focus on the narrative. This gave us a massive clue: storytelling is our strong suit. Moving forward, we are going to be much more conscious of the fact that we are storytellers, and we will give that aspect major weight in our future projects.
———
Sorry for the long post, but there were many things I wanted to cover, and I even had to leave some out to keep it from getting longer. I’ll gladly answer any questions you have in the comments.
Here is the link to our game if you want to check it out: https://store.steampowered.com/app/4197890/The_Last_Cat_in_the_Universe/
Hey all! Looking for recommendations on a good laptop for game development. Will be starting a new job soon that gave me the option to pick my laptop with a 2k budget.
Looking for something with decent ram/cpu as I will be running heavy Unity projects, often have multiple different projects open at a time. Plus a decent GPU and cooling is a must as I’ve had poor experiences with laptops getting too hot in the past.
This will be a main workstation, likely just connected to my monitors most of the time, travel will be kept to a minimum so a bulky laptop is fine. 😄
Curious to hear recommendations, thanks!
Hello everyone
I'm working on my first 3d project and I have a problem, but how do I make locations?
It's just that initially I thought of doing this manually, but it creates a lot of small errors, then I used gridmap (this is in godot), but it somehow works strangely with the dimensions of the model (it downplays them and does not respond to changes in the editor).
As a result, I can't figure out how to make a location at all, I was thinking of making it in blender, and then giving it a collision in godot, but as I understand it, it has a bad effect on optimization.
UPD: We do immersive sim, like deus ex
I don’t have a profound 'market research' lesson to share here. In fact, I did everything 'wrong.' I spent two years building a maritime economy sim that is, if I’m being honest, a glorified spreadsheet simulator. I didn't do market research at all.
I assumed it was too niche to even exist. But here I am sitting at my desk with more wishlists than there are people in my hometown.
I bought Udemy subscription what course should I choose
so here is a thing like i need some courses to make myself more skilled and I earned a bit so I wanted to
spend on improving my skills a bit in game development so here is a question like what should I enroll course in
the first course i definately wanna have a is a blender course like i need to learn blender for real i suck at it
the second is a unreal engine course this is for a freind who wants to make a unreal game so i wanna help him out a bit as well a bit.
and i wanna have a unreal course too because of some project i want like which I don't wanna say
you can recommend me any course that you deem good
and you can tell me other than these two as well like what more would I need that's all i wanna ask thanks
I signed up for the Spring next fest but realistically the game won't be done until the Fall or so I imagine. Is it better to wait for that fall next fest? My fear was that we may have it done by end of summer and then we would end up just sitting on it in order to catch a next fest. Many thanks!
Hey, I’m an indie dev and I recently got an email from someone claiming to be from Behaviour Interactive (Dead by Daylight, etc.) about my game .
They said they liked the demo and asked if I’m looking for a publisher + suggested a call.
The email is coming from a u/bhvr.com address, and the person seems to exist on LinkedIn, so it looks legit — but I just want to double check before I get too excited or do anything stupid.
Has anyone here been contacted by them before? Or worked with them / know how their indie publishing side operates?
Also, anything specific I should watch out for if I take the call?
Appreciate any insight 🙏
Hsllo, I'm currently making a drinks asset pack and I plan on releasing it on itch.io.
It's my first time ever making an asset pack so I wanted to know what should I keep in mind when making one?
GameMaker just posted about a big update to their engine. Here's the gist of it:
Personally, I'm surprised about the improved 3D support. I've also thought that they want to focus on 2D and leave the 3D stuff for the power users to figure out. Typescript support is another surprise, but I guess it makes sense given job requirements these days and the fact that they've already considered adding JavaScript support.
EDIT: fixed the description of GMRT source code access.
Hey gamedevs, so like the title suggests here's some data and thoughts about our recently released demo, hope this helps, and feel free to ask anything in the comments! Textwall incoming:
TL;DR - We launched with 5k, peaked at 77 CCU, And earned an additional 1600 Wishlist in two weeks.
We're a husband (I'm Dog, hi!) and wife (Cat) duo, and this is our first game. We both worked at the same place for years (I'm a software engineer, and she's a designer), and we decided to yolo quit and make a game.
The game is called It's Fine and it is a classic idler. We spent about 5 months until we had a finalized demo version, and we did marketing along the way.
Wishlist graph: https://imgur.com/gallery/steam-demo-launch-wishlists-game-its-fine-L2E3vP3
Steam Page Launch (Dec)
- We launched our page on Dec 2nd 2025, which is also where we made our first huge mistake - originally we called the game Crypto Grinder, which was suppose to be an idle satire on crypto, but that blew up right in our faces because:
So we panicked, started arguing and fighting, and with about 50 Wishlists in the first 2 weeks - we were in a really bad place, and about to give up on the game and start looking for new jobs.
Rebranding and initial momentum (Dec - Jan)
We rebranded from Crypto Grinder to It's Fine - an idle game where you need to deliver a game on time with your dog Joe. After a week of extreme grind mode, we rebranded the entire steam page / assets / trailer etc, posted to r/incremental_games (main sub of the genre), and went to bed.
That post ended up generating about a 100 Wishlists, and it didn't even go viral or anything like that! that gave us the initial confirmation that we have something legit in our hands, and was a breath of fresh air!
Reddit ads and early playtest (Jan - Feb)
Breakdown & Stats: https://imgur.com/a/J8Ewfz2
Spend: 1,200$, 65%~ US/CA, and 35% on UK/Germany/Australia.
Wishlists Gained: about 1,500~
Playtest Signups: about 1,000~
The ads were simple galleries of the splash image (Steam capsule) and than some in-game shots. We opened the comments section, and added some details in a pinned comment. So when we ran these ads we actually had 3 goals in mind:
So long story short, the CTR and cost per Wishlist were great, comments on the ad were surprisingly positive (and no ASCII sausages), however we didn't got any organic traffic from Steam after the campaigns ended.
We also made another big mistake here: we kept the playtest signups open for way too long! we were so hyped about the numbers pouring in that we didn't even thought about the fact that we did not need that many playtesters, and having that big green button on the top of our Steam page probably cost us a bunch of Wishlists for that period.
Playtest and creators outreach (Feb - April)
After a couple of small (100~ players) playtest rounds, we posted again to r/incremental_games to get testers to the final (would-be-demo) version.
This time the post did blow up, hitting #1 on the subreddit for 2 days, netting about 300~ Wishlists, But more important - generating brilliant feedbacks from the community!
After we felt we have a good enough demo version, we started reaching out to content creators about 2-3 weeks before the release, and had ok results: none of the really gigantic creators (1m+ subs) made content so far, but a big creator of our genre (Idle Cub) did post a great video, netting almost 1,500 Wishlists in 2 days.
Stats after exactly 2 weeks from launch:
Launch Day and New & Trending Demos:
So overall we had a pretty solid launch. GT uploaded our trailer a couple hours before launch, and we managed to get 10 reviews for the demo page in a couple of hours, a lot of which came from the great community we managed to build over time.
That was good enough for us to land on the demo's page new and trending for 4 days, generating about 80k impressions and a couple 100's more Wishlists.
How we could've hit more than 77 CCU:
There are a couple factors - first of which is luck - all but one of the creators uploaded content of the game days before the demo was released. If they would've uploaded in the first 24-48 hours of launch we probably would've hit a higher count, but like I said - that's luck.
"But why no embargo??" - I have a feeling embargos for small games is a big silly and just adds potential friction. I think its more relevant to big games with big publishers, but I might be wrong
Also, since we did extensive testing and handed out playtest keys to pretty much all our community, a lot of our most eager followers already played pretty much the entire demo content on the playtest version, and didn't play the actual demo. I think that's a net positive though, because it really helped us ship a good demo, as reflected in the playtime numbers and reviews so far.
The last thing I think of is another major rookie mistake we've made:
I noticed the community was really engaging with our posts and stuff early on, and the engagement kinda dropped hard on the server although many of the players also talked with me privately and for the vast majority had really positive attitude towards us and the game. I'm pretty sure that happened because I forgot to mute notifications from the welcome channel, so every time a new member joined, everybody got notified, which made them mute our server. I can't prove this, but I'm pretty sure that's the case, and if we hadn't done that we could've reach a bit more of our hardcore community on launch day.
Aftermath:
Daily players and Wishlists gradually decayed as expected, and are now sitting at about 7 peak daily CCU and 20-30 Wishlists, all organic and probably the vast majority of those are from Steam.
So is that a success? short answer - we don't know
Well, success is subjective. When we started this project we defined 1 main goal in to define success with our game - can this finance our next one?
In today's Steam meta, a demo launch is a massive event that usually gives you a rough idea of your commercial potential. Honestly, we were hoping for a bit more definitive verdict - either "It's a massive banger and the internet is going wild" or "It's shit and an absolute flop."
Instead, we landed somewhere in the middle. Our metrics are solid enough that hitting our KPI is a real possibility, but they definitely aren't high enough for us to just kick back and chill. I guess that's life!
To sum it up - we're happy with the reactions (playtimes, reviews), not that happy with the peak CCU, and still have no idea how we'll perform moving forward, but we're optimistic.
If you have any questions or want more info on anything go ahead! you can also contact us on Discord - Cat_BumaGamesGG / Dog_BumaGamesGG 🤘
Goodluck everyone! see you in our Steam Next Fest Postmortem
- Cat & Dog
I just launched my first game on Steam (yay!) and now I have to figure out my update cadence. The thing that players want most is more levels, since my game very naturally expands that way. I can probably make a new level in around a week, but there are usually other things like bug fixes and quality of life features that I also want to implement, which can drag the time out to 2 or more weeks.
I hate having lots of features and content implemented, but just sitting around waiting to be released. Bigger updates drive more hype, but more frequent updates keep up engagement.
So the question is, how long should I accumulate features before dropping them? Should I do small updates with bug fixes and quality of life improvements in between bigger content updates? How many levels should I include per content update?
Of course, it's hard for other people to give real input on my own situation without knowing much about the game or my development habits, but what do you think are the important general principles to consider for any game?
(By the way, my game is PHAZIKA, a speedrunner/roguelike with time manipulation like SuperHot)
Hoping someone can point me in the right direction. I normally work with 3D, specifically in Unreal. A friend wants me to work with them on a design for a very very basic 2D game that everyone can access via a website. I can design games but haven't touched websites in well over a decade.
What's the easiest way to make/host a game like this for a group of people who play remotely (i.e. access the site via their phones and/or a pc)? The site is basically:
A searchable/zoomable Map on one page based on the real country (but with very limited details). We will add icons to it showing the location of events (this is like a treasure hunt thing, but not GPS tracked or anything complicated).
A Character profiles page where you create/edit your own character, get/spend XP, then search for other players.
A Guilds page where you get info on the guild you're in and can check others. There's a territory map bit on there where you can choose other parts of the map to takeover or buildup the base.
A battles/challenges page (essentially a list of location-based events that you can join).
I know there are a bunch of free website hosting places that you can easily create a website on (Wix, Wordpress, etc). The game itself is just a bunch of 2D images and text. The difficult bit is the database to save things like player profile info and event status messages (i.e. how many players have added themselves to one), since players need to be able to log into their account (email/password), update their info/events, send it to the database to update info on the site for other players to see.
Webdev people... what's the easiest/cheapest way of doing this? It's not for paid work, so we don't have a budget and want to do it as cheap as possible.
I'd love to hear about the difficult challenges you've encountered and how you've managed to navigate them!
Hey everyone, we’ve added collectible coins to our game, but we haven’t implemented a full currency system yet.
We originally planned a garage where players could spend them, but since we want to rework and expand that feature, we decided to disable it for now and postpone the whole economy design.
At this point we’re trying to figure out the best way to approach it before locking things in.
For those who worked on a currency system: How did you design it? What do you usually tie it to (progression, upgrades, cosmetics, etc.)? Any mistakes or things you would avoid?
Would love to hear some real experiences before we commit to a direction.
I’m honestly super proud of this and just really wanted to thank you all for the support and encouragement. I thought I'd break down how it happened, in case it's useful for any other indie devs who are on the pre-release journey! 😄
I had already released the demo last year, so this wasn’t a fresh launch, but after a lot of feedback and playtesting, I made a lot of changes. It started to feel like a different version of the game- a lot closer to what the final product would be!
At that point, I decided to treat the demo update like a fresh launch, and to make that work, I knew I needed something announcement-worthy: So I decided to make it into a real launch! I put the demo update together with a new trailer, shared it around, and pushed it out properly.
The goal was to tease the upcoming game, and see the player feedback realised.
The trailer was honestly the hardest part. The game is much more about how it feels to play rather than a story or anything, so it was tricky to capture that in a short video for an arcade game. But it worked out!!! We even got an IGN exclusive feature on it, which felt unreal 😄
That’s when things started to pick up! More people started checking it out and downloading the demo, and wishlists started climbing.
And now we’re at 5k wishlists! It really means a lot. If you’ve played the demo, given feedback, or even just wishlisted, thank you so much 😄 I’ve learned some much from all the feedback and I’m preparing an exciting update that gets the player that dopamine much earlier in the run, to make it more fun, challenging and rewarding.
Hey all,
I've spent the last 7 months building Novaboard, a pixel art editor that runs in the browser. It's free on itch and at novaboard.app. Only a future desktop version will be paid.
I'm posting here because I want to make it actually useful for gamedevs, and I could use your knowledge to figure it out.
Right now, I am working on an export to engine feature. For Godot, as an example, it will export the files to be imported into the engine with nodes already configured. A few folks also asked for custom slice export options.
Past that, I'm a bit in the dark. What does your current pixel art workflow look like? What do you wish your current tools did?
General feedback on the editor is also very welcome.
Do (strategy/simulation) games have a separate pure-code simulation layer underneath the game and then the unit behavior, position, animations are based on that, or is every unit a self contained object with a script and they decide what to do "themselves"?
How does this work with off screen simulation, like enemy units that are currently in the fog of war or maybe even on a different map layer? Are they still fully simulated and present in the scene (just off screen), or are they just stats and numbers until they get close enough to player's viewscreen?
It seems most guides start with the 2nd approach and put entity behaviors and animations on the entity itself, presumably because it is simpler and works on smaller scales, but I have a feeling that this is not really efficient or scaleable when it comes to larger simulation or strategy games. I am wondering if anyone here has experience of this or a resource to link that I could read / watch.
If it matters I'm mostly thinking in engines like unity or godot, not sure if it changes much elsewhere
Hi, I’ll keep it simple and concise. Is there like a freelancing site where I can apply to help different indie developers translate their games for compensation or just credit?
Hey all, here to announce the initial 0.1.0 release of my Minecraft server project written in Rust, Temper. We recently got to the point where we have progress worth showing off and I'd like to invite you all to check it out.
Before the comments get filled up with people linking https://dayssincelastrustmcserver.com/, this project technically started before Hyperion so it's not like I'm just copying everyone else. Also due to carrying on the proud tradition in minecraft server softwares and forking over management disputes, we are kinda already on the list since Temper is a maintained fork of FerrumC. We also like to set ourselves apart by not being AI slop or being left to rot after getting enough github stars to go on a portfolio.
To be clear, this is still extremely work in progress and not a fully usable replacement for the vanilla server, but we are making really good progress and hope to one day get there. We currently have the basics working nicely like worlds, custom terrain gen, multiplayer, basic mobs and building with simple blocks, as well as some extra features like a built-in web dashboard and automatic blocking of known scanners. Planning to get plugins and some more survival mode features up and running soon so if this all sounds interesting, we invite you to join our Discord here. The community is quite small right now but after splitting from FerrumC we had to start from scratch. Rest assured, most of the dedicated contributors came with so the few members we do have are some of the heaviest hitters.
We have a website at https://temper-mc.com and the GitHub repo is at https://github.com/temper-mc/temper. The website has an FAQs page but I'm more than happy to answer questions here as well.
Additionally, if anyone has some free time on their hands and wants to get into a community project, we are looking for any and all contributors we can get, but people experienced in making rust play nice with FFI, Bevy ECS and the black magic inner workings of minecraft would be a very valuable addition to the team.
Hope you guys have a great rest of your day!
tldr: link is https://crates.io/crates/flense
I’m writing a more sound meshoptimizer wrapper, and I needed a good way to adapt their pattern of taking positions and other mesh attributes as a triple of (pointer, length, offset) as a sort of extended slice type.
Then, last week, I saw a post on lobste.rs about grist_lens, and I realized I was sort of implementing a lens, but purpose rather than field oriented.
There’s a couple examples in the readme, but generally the idea is that you can define a `Field`, like “Position” or “Color” or “Velocity”, then write an implementation of `Adapter` to define where that field exists in your particular data type. Then, you can acquire a lens on that data type and split or join it with others, use slice lenses as iterators, and so on.
Also there’s probably some wild unsoundness in here, but I’ve done my best and my tests at least pass under miri.
So, three months ago I started writing a Vulkan wrapper alongside my Super Hexagon clone because every existing one made me angry for different reasons. ash is too low level (although i love it), vulkano makes choices for you, wgpu is a different abstraction entirely. Fine, i'll do it myself, how hard can it be?
Turns out hard. But that's not the point... and I made it zero-dependency. It relies on ash only. Without egui, winit or etc. Pure FFI, pure ash.
The point is two weeks ago I was debugging a missing barrier between a compute write and a fragment read, and I sat in renderdoc for forty minutes scrolling through a frame capture trying to figure out which of my 60 dispatches was the one. and I thought, you know what, I have all this state in my own library already, I just need to render it somewhere.
So now I have an ipc (im tired pressing shift sorry) ring buffer between my lib and a separate viewer process, and the viewer draws:
here's the thing though!
It's coupled to my own vulkan wrapper. The ipc protocol is mine, the event kinds are mine. someone on vulkano (why tho lmao) would need to write a bridge, someone on wgpu wouldn't benefit because wgpu hides most of what this shows. It's also windows only - rendering is portable but the window code is win32. and the viewer is one binary where every view shares an Rc<RefCell<World>>, which works fine but probably wouldn't survive a code review.
if you've shipped a niche tool like this, was the maintenance worth it?
btw yes i know about gpuopen rdna profiler. yes i tried it. yes it's better at what it does. mine does different things.
Went on a bit of side quest, used a combination of wgpu and bindgen to compile a set of Milkdrop Winamp visualizations to WASM+WebGPU. I’ve seen WebGL implementations of Milkdrop but I haven’t seen one with WebGPU, so I thought I’d give it a go. I was pleasantly surprised by all the Rust tools that made this work. Enjoy!
This might be a complex or long-term idea, but is it possible in the future for a host operating system and the Rust/Cargo toolchain to support fine-grained control over resource access at the level of individual libraries or modules?
For example, could we define boundaries so that specific libraries/modules are restricted in what resources they can access (like memory, files, or system calls), similar to how the Linux uses the MMU, or how embedded systems use an Memory Protection Unit?
Simple Pitch-Dark theme for Rust and integrates with rust-analyzer which has:
https://marketplace.visualstudio.com/items?itemName=osamasalem.ironsand
Ubuntu 26.04 LTS now defaults to sudo-rs and rust-coreutils.
Very curious to see how this works out.
Wrote down my thoughts on the Clippy config article that was posted here and thought I'd share in case anyone finds it interesting
I would like to build my own reverse proxy in rust using pingora as a framework.
My question is: how bad of an idea is it to replace a battle hardened haproxy instance with something self-made with regards to security / CVE's?
Pingora most likely is watched and developed with regards to mitigate possible CVE's. Should not be worried to much about it. The proxy will be straight forward, nothing fancy, no intelligency baked in. How much of a footgun will be introduced by using this on the big bad internet?
Any thoughts?
The egui docs says,
As you can see, constructing a LayoutJob is currently a lot of work. It would be nice to have a helper macro for it!
Unfortunately I could not find any existing helper macro for LayoutJob, and I happen to need one. Hence the existence of this thing.
The syntax is inspired by typesetting programs like LaTeX and Typst. For example,
let job = egui_layout_job_macro::layout_job!(@size[14](@white("Hello ") @mono(@black("World!")))); is equivalent to (from egui docs)
let mut job = LayoutJob::default(); job.append( "Hello ", 0.0, TextFormat { font_id: FontId::new(14.0, FontFamily::Proportional), color: Color32::WHITE, ..Default::default() }, ); job.append( "World!", 0.0, TextFormat { font_id: FontId::new(14.0, FontFamily::Monospace), color: Color32::BLACK, ..Default::default() }, ); Useful if you are using egui and struggling with LayoutJob. More examples here.
This project is 90% generated by natural stupidity and 10% with the duplicate crate
So, what if we had something like a struct, but its methods borrow the fields instead of the whole thing?
AFAIK the community has asked for something like this but i've heard that
I’ve been working on a Rust library, and published yesterday, that decomposes general recursion, into three independent parts:
Project location:
The idea is that instead of writing recursive functions directly, you define:
Treeish<N>, morally N -> &[N])Fold<N,H,T> -- init+accumulate+finalize)Executor)These can then be recombined and transformed freely; they cover as far as I can see, any recursive computation pattern.
It ships a parallel executor that rivals handrolled rayon (see docs for benchmarks), so you get directly and for absolutely free, parallelization in your recursion.
I implemented this for finally being able to write any recursion I want, the DRYmost way (express the logic once, transform it for downstream shape change) instead of repeatedly tinkering with hand-written recursive functions. What I don't need to do anymore is, parallelize, or hand-write recursion in the first place -- it's solved for me.
Example: ```rust let graph = treeish(|d: &Dir| d.children.clone()); let fold = fold( |d: &Dir| d.size, |heap: &mut u64, child: &u64| *heap += child, |heap: &u64| *heap, );
let tree = Dir { name: "project".into(), size: 10, children: vec![ Dir { name: "src".into(), size: 200, children: vec![] }, Dir { name: "docs".into(), size: 50, children: vec![] }, ], };
// Sequential: let total = FUSED.run(&fold, &graph, &tree); assert_eq!(total, 260);
// Parallel — same fold, same graph: let total = exec(funnel::Spec::default(4)).run(&fold, &graph, &tree); assert_eq!(total, 260);
```
Instead of the approach that recursion crate and recursion schemes (Haskell) take, you define the treeish structure external to the data you compute over. Your data does NOT have to be in categoric tree morphism/functorial shape. I found a great Analogy by Bartosz Milewski that I discuss in one of the appendix articles of the docs -- how my library meshes with a (purely) monoidal catamorphism as sketched by Milewski: https://hylic-recursion.github.io/hylic-docs/design/milewski.html
On the boxing (Arc/Rc/Box/Id) front: I have gone to great lengths, to make the system NOT coerce you into Send + Sync bounds on your domain (as consequence of Arc-wrapped representation of your closures as e.g. rayon demands). For using parallel execution, your Node types will have to be Send + Sync however, and your Fold heap will need to be cloneable. See https://hylic-recursion.github.io/hylic-docs/concepts/domains.html
On top of that, there’s a typestate "Pipeline" API that combines the "Treeish" (graph), "Fold" (algebra/computation logic), and "Executor" (traversal and parallelization) into a fluent functional-composition builder from which you can run your recursion to obtain the result. These are in a different crate (hylic-pipeline) and exist as the convenience and sugared user API that I found I end up needing in practice.
It allows you to write, sketched, pipeine(treeish, fold).wrap_init(...).map(...).run_from_node(<parallel_executor>, node) That is, you write your core treeish and fold and then are allowed to wrap and map it. Quite useful stuff can be achieved using this, e.g. memoization/caching of graph and/or computation. Up until the run_from_node, it all is purely functional, effectless, closure wrapping and mapping.
In client app contexts, the main app context builds up the core recursive algorithm as a Pipeline, and transforms (cloning it) into lifted or otherwise modulated versions to accommodate caching, logging, formatting into string etc etc.
I'm not that long involved with Rust; my background is more Scala 2 / 3. There, you have very high expressivity in typing, w.r.t. higher-kinded types and path-dependent types. I gave it my best shot to give this recursion problem the best type-level treatment I knew, coming from Scala 3. It sometimes required a bit of GAT gymnastics (see https://willcrichton.net/notes/gats-are-hofs/) but I think the rather simply user API validates the effort. That said, Rust seems to be a very nice close-to-metal language for people like me that come from other HiFi strongly typed languages like Scala 3 :)
People from FP and non-FP backgrounds alike, would help me very much if they gave feedback, spot issues, or just plainly discuss the design with me.
Any initial technical questions should be easily cleaned up though by the docs though; I think, looking through e.g. the "Cookbook", would help shape an idea how this library is applied to a number of recursive problems. Here is one article that shows how to apply hylic to file system recursion: https://hylic-recursion.github.io/hylic-docs/cookbook/filesystem_summary.html
Hi r/rust,
I’ve been working on Volang / Vo:
It’s an embeddable scripting language for Rust applications. The compiler, bytecode VM, runtime, JIT path, WASM support, and tooling are written in Rust.
The main idea is to give Rust apps a lightweight scripting layer that can be embedded directly, without depending on a separate external runtime.
You can also edit and run Vo programs directly in the browser on the website. The web version uses the same Rust runtime stack compiled to WASM, so it is not just a syntax playground.
As a real test of the language, I used it to build a small game engine, then made a demo with that engine. So the project is not only the language itself, but also the runtime/tooling needed to use it in an interactive Rust application.
A few technical pieces:
- Rust bytecode VM
- Cranelift-based JIT path
- WASM/browser execution path
- embeddable runtime API
- browser-based editor/runtime
- Studio/tooling built around the same runtime
I wanted to share it here because it started as a Rust implementation project, and the target use case is Rust applications that want an embedded scripting language.
Honestly I see a lot of service like well established in Poland Allegro service which use Go for one the most intensive part. Currently in comparision to Python apps (Flask mainly) I see only improvments and I am very happy. My apps can not exhaust very limited devices. I still have impression than I can add plenty and it will be works fine, but when I read Packt newsletter I see this part:
One of the most underappreciated technical arguments for Rust in production systems is not about speed in the raw throughput sense. It is about predictability. Languages that rely on garbage collection, including Go, Java, and Node.js, introduce periodic pauses when the collector runs. Those pauses can last hundreds of milliseconds. An HTTP request that arrives during a GC cycle experiences higher latency than one that does not. The user on the receiving end did not do anything differently. They were just unlucky.
Ciulla is candid about what this means in practice. “By not having a garbage collector on the back end side, you basically have flat latency. You don’t rely on luck, or on the user not being the unlucky one. It’s a problem that is removed.” For most web applications running at moderate scale, this distinction is invisible. For services with strict latency requirements, high concurrency, or SLAs that depend on consistent tail latency rather than average response time, it is one of the more significant architectural arguments available.
About dealing with Garbage collector manually I find out short article:
So at the end I want dig this and my questions are:
When flat latency in context Go app programming matters? On the most resource about net/http and webdevelopment in Go I don't see it as problem. It is even mentioned oppose - Go makes improvment by defualt for the most cases.
When Garbage Collector need be adjusted manually to improve performance and what are real indicator when even touch it? Normally when I read about Go it is part skipped by default as "don't bother, use Go and move forward".
When periodic pause in running apps have to be consider in design as real problem to handle? To speed up things Allegro use Go to cut delay from their service so it seems as not big deal in the most cases.
What do you think?
I'm learning Go by coding net/http solution for my home users. They can access port, but I am looking for clever way to handle subdomain. So on Mikrotik I setup custom name menu.lan. When you open it you have dedicated Go app to show available options. When you select option on menu you go to dedicated app. My problem is how create more memorable names like news.menu.lan, streams.menu.lan, taxes.menu.lan etc.
My first shot is use Caddy for reverse proxy and handling names. The best will be make something which use specific folder for apps and detect folder name as subdomain automatically, but I have no idea how make this magic happened. Currently I server all apps as http to avoid anoying on all devices warning about dangerous site. I have no solution how avoid it without adding manually on all possible devices certificates.
List of apps is growing and I simply want less hustle with config and more time with coding not configuration access (if it is possible, underneath server OS is Debian).
What solution could you suggest? How make this configuring with less effort? As infrastructure is self hosted at my home I have no limits and full rights.
Hey guys!
I have released the first version of pgxcli. a PostgreSQL cli inspired by pgcli. Since pgx is the main underlying PostgreSQL driver and it’s similar to pgcli, I named it pgxcli, ta daaa !.
After months of developing pgxcli and its utility library pgxspecial (for meta commands similar to pgspecial in pgcli), and a week of dealing CGO overhead during release, Today i have replaced CGO calls completely with a simpler approach.
As for why I built pgxcli, I really love building CLI applications, along with performance improvements, streaming table output (not implemented yet) and more.
Here's a detailed comparison with pgcli: comparison-with-pgcli
One thing before opening links, In the terminal, it may look like a shark, but it is an orca.
I would really appreciate your feedback and guidance to help improve the project further. If you find it useful, consider giving it a star.
I also have some doubts related to streaming (less pager + table writer streaming) that I’d like to clarify, so I would appreciate any help.
Note: I have not installed or tested the binaries manually on either Windows or macOS.
Thank you !
Most distributed systems discussions treat consistency as a single setting you set once at the architecture level and never touch again. "We use eventual for performance." "We use Postgres so everything is strong." One answer, applied to every read in the system.
The problem is that a bank balance and a profile picture are not the same problem. A flight seat availability check and a "last seen 2 minutes ago" timestamp are not the same problem. One stale read causes a double booking. The other causes a millisecond discrepancy nobody will ever notice.
I wanted to understand the actual cost — in ops/sec and stale-read percentages, not just in theory.
So I built kv-fabric (GitHub): a distributed key-value store where every read explicitly declares the consistency level it needs via a request header.
What it is under the hood:
Four runnable failure scenarios, each modeled on a real incident:
Benchmark (make bench): runs all four modes across five workloads at four concurrency levels. Two findings that surprised me: consistency mode has zero effect on write throughput (writes always go through Raft quorum regardless of mode), and session consistency modes converge to strong-mode throughput as soon as follower lag becomes consistently positive.
Full write-up with code walkthrough: blog post
GitHub: ani03sha/kv-fabric
Happy to answer questions about any of the design decisions.
Hello guy's I would like to know your opinion with this repo https://github.com/go-nunu/nunu
Is it good ?
When you have like 2 repositories that you are updating or inserting and they should save or not in a single transaction, how do you do that in Golang?
I'm doing the following now:
return a dbctx.Resolve(ctx, r.db, fn)
use this returned context and pass to the function/method that will update the DB.
I'm coming from a Python background so I'm not sure the best approach in Golang.
The bidi (bidirectional typesetting - useful for right-to-left languages and especially mixed direction) code in x/text/unicode has some really bad bugs and has not been updated in a while. I have created pull request with detailed descriptions and tests, but nobody seems to care.
Is there any news if this is still maintained? What can I do to get this fixed - any ideas are appreciated.
| submitted by /u/AndrewOfC [link] [comments] |
I am trying to render a 3d model from a file in macroquad to a 3d scene, I have found the draw_mesh() function and the Mesh data type and am wondering how it functions as I can't find much in the docs.rs for macroquad