Sunday, June 7, 2026
67995f29-932b-4b82-a87a-b30d0ea7e536
| Summary | ⛅️ Clear until afternoon, returning overnight. |
|---|---|
| Temperature Range | 19°C to 28°C (66°F to 82°F) |
| Feels Like | Low: 67°F | High: 90°F |
| Humidity | 69% |
| Wind | 11 km/h (7 mph), Direction: 264° |
| Precipitation | Probability: 46%, Type: No precipitation expected |
| Sunrise / Sunset | 🌅 05:34 AM / 🌇 07:58 PM |
| Moon Phase | Waning Gibbous (72%) |
| Cloud Cover | 8% |
| Pressure | 1013.03 hPa |
| Dew Point | 64.49°F |
| Visibility | 6.27 miles |
Workers cutting engineered stone have increasingly been taking sick leave for skin disease and respiratory problems, however there is not enough data in Cyprus to link inhaling the fine dust to incidences of cancer.
Even so the affordable alternative to granite kitchen countertops have been banned in some countries because of deaths linked to the cutting process.
Quartz or engineered stone worktops have been growing in popularity over the past decade as they provide a hard and durable kitchen worktop – for a fraction of the cost of marble or granite – that can be easily cleaned without leaving residues that encourage germs. At the same time, they are nice to look at, with their shiny surfaces in infinite sparkly variations.
The artificial stone is made by mixing crushed stone with resins, which allows for any colour or pattern to suit personal tastes.
But before these slabs of engineered stone arrive in a kitchen to serve as an affordable glamorous countertop, they have to be ground, polished and custom cut to fit, a process banned in some countries as the fine dust produced during processing is considered to be responsible for the rising number of silicosis cases.
According to a recent report on Sky News dubbed ‘Killer Kitchens’, the UK has recorded more than 50 confirmed cases and four deaths from silicosis. California with 31 recorded deaths from silicosis is promoting a ban of engineered stone, potentially becoming the first US state to outlaw its use. Australia has already imposed a ban.
Silicosis is an occupational lung disease caused by the inhalation of respirable crystalline silica dust. It is a form of pneumoconiosis for which the Amiantos asbestos mine which operated between 1904 to 1988 was notorious.
It causes chronic lung inflammation and fibrosis, and can be moderate to acute depending on the intensity and duration of exposure.
People suffering from silicosis mainly experience shortness of breath, coughing and fatigue. In severe cases, cyanosis also occurs. Silicosis can also lead to other infections, such as tuberculosis, bronchitis, emphysema, nephritis, lung cancer and a host of autoimmune diseases.
Silicosis is incurable.
But it can be prevented.
Trade unions SEK and PEO told the Cyprus Mail that workplace prevention measures include the use of special protective masks, cutting the slabs with water to minimise dust and good ventilation and extraction systems.
However, they said exposure to dust particles was not the only danger from cutting these slabs, as they were large and heavy enough to crush a worker to death.
Due to the dangers, Australia has banned quartz slates, while calls are increasing in the UK and US for a ban that would potentially save lives.
Head of the industrial workers’ union of SEK George Kashiouris told the Cyprus Mail that workers at stone factories “do a very difficult job, as they have to deal with dust, water, the weight and cutting and polishing machinery, and everything this means in terms of risk of accident or disease”.
“Regarding the engineered stone imported over the past few years, apart from the difficulties of the job, given that the cutting machine makes a lot of noise and the polishing of these materials – usually by hand with a grinder – that produces dust and fumes that the worker comes into contact with, it is also very dangerous for their health as it contains high percentages of crystalline pyrite,” Kashiouris explained.
PEO’s builders’ union head Adamos Katalanos listed the same dangers from inhaling fumes and dust particles, as well as myoskeletal disorders and crushing from the sheer weight of the slabs.
“The danger from the fumes arises due to the materials used by the workers during the processing and manufacturing stage, when they bind various marble-granite slabs. They use strong glues with a suffocating smell. They also use thinner and acetone to clean the glue residues,” Katalanos said.
He said water is used during processing, which minimises the dust particles released into the workspace. The worst stage, Katalanos pointed out, was the grinding and polishing of the slabs, which produced a lot of fine dust.
“A serious danger for myoskeletal disorders is moving the slabs by hand during processing and cutting, as well as being crushed by large slabs of stone. This danger is also present during unloading and moving the slabs from the warehouse to the cutting machine,” Katalanos added.
Both trade unionists said that there have been cases of cancer among workers but so far there is little or no evidence to support it was caused by exposure to dangers in the workplace.
“In recent years, there have been cases of workers who presented various forms of cancer. However, it has not been scientifically verified that these diseases are related directly to cutting or processing marble, granite and engineered stone, as many of the workers were smokers or faced other health issues, which makes it difficult to safely draw conclusions about the exact causes,” Kashiouris said.
Katalanos said the trade unions did not have access to data regarding pneumoconiosis or other cases.
“However, what we can say is that there are cases of workers who were absent from work for a number of days due to back pain, skin disease and respiratory problems,” he added.
As for many problems, health or other, preventative measures are called for.
Both Kashiouris and Katalanos said such measures were wet stone cutting to prevent the release of dust into the workplace, ventilation and extraction systems, dust meters, cranes to move the slabs, and personal safety gear, such as steel toecap boots, masks with special filters, goggles, earplugs, gloves and waterproof overalls.
Every factory should have a risk assessment in writing so that all protective measures can be taken.
Kashiouris and Katalanos agreed that in most factories, particularly those where the trade unions are present, there was “a good level of observing these measures”.
Nevertheless, the danger still exists and “we have quite a few cases of hand injuries” on cutting machines, as well as workers being crushed by slabs, Kashiouris said.
“Workers and employers alike must place more attention to properly observing the measures,” he added.
Katalanos pointed out that “in many cases health and safety measures at workplaces are not taken, as they constitute an extra cost for the employer”.
SEK and PEO regularly visit workplaces to make sure that all measures are in place and to educate workers and employers about the risks and what they can do to prevent diseases and accidents.
Many measures have also been included in collective agreements.
Kashiouris pointed out that the trade unions were in contact with the Labour Inspection Department, demanding more onsite inspections.
Katalanos added to this, saying that workplaces also have their own health and safety committees, so that all employees can have a role and say in the matter.
The Labour Inspection Department were not available to comment.
Nicosia on Saturday held its annual LGBT pride parade, with people marching through the capital’s streets towards its municipal garden in the early evening.
The parade has been held every year since 2014, save for a break induced by the Covid-19 pandemic, and is typically one of three LGBT pride parades held in Cyprus, with the north holding its own parade in May every year, and a bicommunal LGBT pride event typically taking place later in the summer.
Saturday’s event was also the first time in which and LGBT pride parade in Cyprus has been held without single-use plastic, with the event’s organisers, Accept-LGBTI Cyprus, having introduced reusable drinking cups, which it sold to eventgoers for €2 apiece.
A study conducted into public opinion on the Cyprus problem and what needs to be done to resolve it found what the British high commission’s political section’s head Rich Calver described as “more overlap than expected” in Turkish Cypriots’ and Greek Cypriots’ positions, with focus groups on both sides broadly accepting each other’s demands for initiatives to improve one another’s lives.
The study, which was titled “alleviating the daily negative effects of the conditions of the non-settlement in Cyprus: demands and expectations from the other side”, was carried out by Maria Hadjipavlou and Yucel Vural and asked focus groups on both sides of the island what the “other side” should do to make life easier for people on their own side.
In total, six meetings were held, of which two were held in Nicosia and one apiece was held in Famagusta, Lefka, Paralimni and Astromeritis, a Greek Cypriot village located south of Morphou and a stone’s throw away from the buffer zone.
After those meetings were completed, two bicommunal meetings were held, one in Nicosia and one in Famagusta, to evaluate the suggestions put forward by the initial focus groups.
Those suggestions were divided into eight categories, which were named as “economy, labour, and working life”, “peacebuilding and intercommunal cooperation”, “language, education, and culture”, “crossings and mobile communication”, “bureaucratic processes”, “restoration of human rights and constitutional rights”, “art and sports” and “security”.
The study’s Turkish Cypriot participants made a total of 70 suggestions, with the plurality of those suggestions falling into the “economy, labour, and working life” category.
Examples of suggestions made by Turkish Cypriot participants included that Turkish Cypriots living in the north be allowed to open bank accounts in the Republic of Cyprus, the establishment of a truly bicommunal Cyprus broadcasting cooperation, a joint rewriting of school history textbooks, and for Turkish Cypriot motorists to be able to acquire road tax certificates and vehicle insurance online, rather than only at crossing points.
The study’s Greek Cypriot participants, meanwhile, made only 40 suggestions, the plurality of which fell into the “peacebuilding and intercommunal cooperation” category.
Among the suggestions made by Greek Cypriot participants were the resumption of substantive negotiations to solve the Cyprus problem, the placement of Greek-speaking staff in public services in the north, the establishment of bicommunal businesses with mixed employment, and the resettlement of the buffer zone with the legal owners of houses therein.
Participants then decided whether the suggestions made by the opposite community were wholly acceptable, conditionally acceptable, or unacceptable.
It was found that the “vast majority” of Turkish Cypriot participants considered almost all of the Greek Cypriot participants’ suggestions to be wholly or conditionally acceptable, with an example of a conditionally accepted suggestion being that Varosha be opened to resettlement by its original owners under the United Nations’ administration.
The majority of Turkish Cypriot participants said they would accept such a suggestion unconditionally, while some said they would accept it on the condition that Turkish Cypriots’ fundamental rights, as prescribed by the Republic of Cyprus’ constitution, be restored.
Turkish Cypriot participants did not find any of the Greek Cypriot participants’ suggestions to be unacceptable.
In a similar vein, the study’s Greek Cypriot participants found almost all suggestions made by the Turkish Cypriot participants to be either conditionally or wholly acceptable.
An example of a conditionally accepted Turkish Cypriot suggestion was that properties in the island’s southern two thirds in and after 1974 which were abandoned by Turkish Cypriots be returned to Turkish Cypriots who did not receive equivalent property upon their arrival in the north.
The study’s Greek Cypriot participants accepted the suggestion on the condition that the same principle be applied to Greek Cypriots who abandoned property in the north.
The Turkish Cypriots suggested that Turkish Cypriots living in the island’s southern two thirds be given priority in the lease of abandoned Turkish Cypriot property
Some Turkish Cypriot suggestions were considered wholly unacceptable by all or a sizeable majority of the study’s Greek Cypriot participants, however, with one example being that Turkish Cypriots living in the island’s southern two thirds be given priority in the lease of abandoned Turkish Cypriot property.
The study’s Greek Cypriot participants concluded that instead, priority should be given to Greek Cypriot displaced persons.
Additionally, the study found a “high level of engagement” in both communities with the sociopolitical life and issues facing the other community.
Greek Cypriot participants, for example suggested that the Turkish Cypriot community protect the “Turkish Cypriot identity” and shared cultural values, while Turkish Cypriot participants suggested that the Greek Cypriot community amend its conscription laws to allow people to serve in the military after having completed higher education.
Following on from the study, Hadjipavlou and Vural offered suggestions to decision makers in Cyprus, calling firstly for “cross-communal dialogue” between political actors from one side of the island and the general public of the other.
They also called for resolutions to longstanding issues such as embargoes on Tymbou (Ercan) airport and the port of Famagusta, as well as the status of Varosha, to be found prior to a solution, and for information signs in public spaces to be written in both Turkish and Greek.
Turkish Cypriots suggested their motorists should be able to acquire road tax certificates and vehicle insurance online, rather than only at crossing points
In addition, they called for both sides’ security forces to withdraw further from the ceasefire line, and for both sides to teach the other’s language in public schools, while also calling for two of Cyprus’ six seats in the European Parliament to be directly elected by citizens of the Republic of Cyprus living in the island’s northern third.
On this front, it was also pointed out that Turkish Cypriot participants had suggested that Turkish Cypriots living in the north be allowed to elect the constitutionally foreseen 24 Turkish Cypriot members of the Republic of Cyprus’ parliament.
Hadjipavlou and Vural also called for the opening of new crossing points to link the island’s two sides, for both sides to be “ready” to facilitate crossings from new crossing points “without delay”, and for the Greek Cypriot community to “review its policies regarding services provided to Turkish Cypriots” – in short, to ensure that in public-facing government offices, there be a “sufficient number” of Turkish-speaking staff.
The report, in full, will be published on Monday.
A stray cat is fighting to recover after being shot multiple times in the Limassol district village of Parekklisia on Wednesday night, according to animal welfare volunteer Olga Korobintseva,
Korobintseva told the Cyprus Mail the shooting happened at around 9.30pm near Chateau Punin in Parekklisia, where a local volunteer has been caring for a colony of stray cats for years, and that she had informed the police on Friday.
“We heard several gunshots and immediately ran outside,” she said. “The volunteer, her husband and neighbours all rushed to the street to see what had happened.”
Moments later, they found one of the cats seriously injured. A quadbike was seen speeding away from the area, but witnesses were unable to identify it.
“It all happened very quickly,” she said. “The vehicle was already leaving, and nobody could make out any details.”
The cat was rushed to the small animals’ clinic in Limassol, where veterinarians carried out emergency examinations.
“X rays revealed at least ten pellets in the cat’s body,” Korobintseva said. “One of the bullets is lodged in the spinal column.”
She said the animal remains in a stable condition but has suffered severe injuries.
“The latest update we received is that the cat is stable, but serious treatment is needed,” she said. “During the examination. there was no response from the hind legs.”
A veterinary report is still being prepared, while the police are investigating the incident.
Korobintseva said the case highlights a wider problem faced by animal welfare volunteers across Cyprus.
“Unfortunately, shootings of animals happen far too often,” she said. “Volunteers repeatedly report these incidents and ask for action, but very few cases lead to those responsible being identified.”
She added that volunteers created the a website website, cyanimals.com, to document shootings and other acts of animal cruelty and to encourage witnesses to come forward.
“This cat was simply living in the area and being cared for by people who love animals,” she said. “We hope anyone who saw something will help the investigation so that those responsible can be held accountable.”
Cyprus Cricket has emerged as a true Cinderella story for the International Cricket Council (ICC), continuing to outperform expectations through a series of remarkable achievements that have placed the island firmly in the spotlight, ahead of many traditional ICC Associate powerhouses.
From hosting the ICC Coach Level 2 Course for the European cohort to delivering a Technical Course backed by Olympic Solidarity funding, alongside impactful teacher training initiatives, Cyprus Cricket has continually showcased its commitment to excellence in cricket development in recent years. The successful staging of the ICC Men’s T20 World Cup Europe Sub-Regional Qualifiers further highlighted the Cyprus Cricket Federation’s commitment not only to elevating the profile of the sport locally, but also to driving the long-term growth of cricket across the island.
That commitment has now received official recognition from the ICC. Cyprus was confirmed as Europe’s leading nation in cricket development initiative — an achievement that comes as little surprise given the Federation’s continued progress and innovation.
Despite a population of approximately 1 million, Cyprus has rapidly transformed itself from a nation on the fringes of the cricketing world into a model for grassroots development. Determined to expand the game’s reach, the Cyprus Cricket Federation introduced a strategy focused on integrating cricket into primary school education and making the sport accessible to children from all backgrounds.
The initiative has gone far beyond simply teaching cricket. It has reshaped perceptions of the game across the country, bringing cricket from classrooms to playing fields and embedding it into communities nationwide.
Among the Federation’s most impressive accomplishments is achieving a 50-50 gender participation split while delivering the ICC criiio program, underlining its strong commitment to inclusivity and equal opportunity. The programme has also succeeded in introducing cricket to approximately 40% of Cyprus’ primary school network.
With the announcement of the ICC Regional Award winners, it is now officially recognised that Cyprus stands at the forefront of cricket development in Europe.
Manned by young adults with autism and dedicated to breaking down barriers, what has been billed as the island’s first social enterprise, the True Heart Café officially opened at the beginning of last month, run by and employing people with autism.
“Our business model has 18 kids with autism, and we’re at maximum capacity; there’s a waiting list of 12,” says the founder of the Voice for Autism NGO which is behind it, says Ellen Georgiou Pontikis. “And that saddens me because I know that there’s going to be another 12 and another 12.”
In Europe, there are 2.8 million social enterprises. In Cyprus, the True Heart Cafe is now officially the first one. Although there have been other attempts at setting up others, government bureaucracy and perhaps the challenges and risks of leading the way were major hindrances.
“There were huge challenges in the Cyprus context, number one, navigating the complex legal issues because the EU doesn’t have a template, it’s given to the member states. The legal costs was another issue,” adds Pontikis, who admits to wanting to give up on her vision on a couple of occasions. A social enterprise is a business that operates primarily to solve a social or environmental problem rather than to maximise profit, generating income by selling goods and services and reinvesting the vast majority of its profits back into its core mission.
“It’s more expensive to set up than a traditional business model. You need a lot of training. You may need an adaptive workspace. You need an in-house support team,” she says.
Once Pontikis’ vision aligned with guidelines of the deputy minister of social welfare, which has access to European funds, the project made ground. “They were very supportive,” says Pontikis. They’re now in a partnership and provide financial support for the carers in the home as well as two dedicated trainers in the cafe through the European Cohesion Policy welfare fund. But it took a while to get there, issues such as putting down how much the cafe’s employees would get paid without losing government support, working hours tailored to their capabilities but also finding the right support for them to learn the trade and offer the skills they have needed to be addressed.
“The department actually said to me that it would be a good idea to have a couple of the youth as shareholders, and they provided them with a grant to invest in the business,” says Pontikis. Today, five of the young people with autism are shareholders. Pontikis is one of the guarantors, while most of staff live in the group homes. “It’s their business, so they have a sense of ownership, and as shareholders are, they’re active in the business and they work here.”
Three years ago, Voice for Autism set up two group homes in Lakatamia, Nicosia that provide independent and supported living services for young adults with autism. A pioneering venture by local standards, the community within a community in the homes helps young adults lead independent lives and reach their fullest potential through the assistance of professional, trained and caring staff that offer life skills and recreational activities.
One of the founding members of Voice for Autism, Pontikis returned to Cyprus from the United States some years ago with her autistic son. “Wherever you are, the challenges are the same, but (in the States) I did see the huge benefits of independent living, employment opportunity and inclusion,” says Pontikis. “I’ve always been an activist and been actively involved in the rights of young people with support needs, and I saw what could be done. And the very first call came to me, I had a clear agenda to set up an NGO,” she adds, referring to Voice for Autism.
But the two homes weren’t where Pontikis drew the line. “Independent living goes hand-in-hand with employment opportunities, my son lives in one of the group homes, and he’s living his best life. And I say that with all my heart, he’s living independently from his mother, and he lives with dignity and respect. But even though they have their own daily programmes, you can’t have them just sit in a group home.”
Constantinos, one of True Heart Cafe’s baristas was stuck at home for the last eight years. Stella, another champion at the cafe was at home for 12 years and couldn’t get a job. “That leads to depression, especially girls on the spectrum, they fall into a deep depression because there’s this pressure to belong; girls are very smart and mask their disability. A lot of them stay at home, have pressure from social media, pressure of not belonging, parents have to leave work and stay with them. There are other cases where kids self harm and there’s no recourse, there’s no crisis centre,” says Pontikis.
“Government should support us in addressing this, you need the government arm to sustain operations but you also need private enterprise,” says Pontikis, “and people stood up for us”.
Having secured funding from private enterprises, the True Heart Cafe has also found support through others offering their services for free. Wolt offers it delivery service for free, Cablenet provides free internet.
“I think that Cyprus’ business economy is very ready for this kind of alternative business model. You need so many supporters for something like this, on all levels,” says Pontikis. “What’s social inclusion? It’s not giving someone a seat at the table, that’s not inclusivity; inclusivity is about creating a new table together, it’s about a sense of belonging, connection and ownership and having a voice. It’s about creating a new language, a new culture, and that’s what we’re doing here. Businesses, suppliers, even for our baristas and other people involved need to understand this isn’t a typical barista position, this is a role of guidance, you have to accept that something outside the regular work dynamic will be expected. We’re ahead in terms of the quality of our trained people, but we’re behind in terms of infrastructure”.
For Head of Operations at True Heart Cafe Alexandros Karpis, “this is hospitality merging with social activism; it’s a fusion that I haven’t been part of before, and I’m incredibly excited. The most fulfillment we have as a chef in hospitality is seeing clear plates. That’s always been the reward. Seeing inclusion take place is a whole other level.”
As with other job roles, not everyone at the café does the same thing. “Not all of them can make coffee, but we have an occupational therapist and a trainer who trains the youth. He’s developed jobs for everybody. For example, we didn’t print our paper cups, we have stickers that can be added on, and that’s a great job for people that can’t really make a coffee, or aren’t dexterous or need a little quiet time upstairs, they will put the stickers on. Cleaning the premises and the accounts aren’t carried out by the community; jobs are created based on ability rather than the needs of the company. Some kids are really adept in the kitchen, and that surprised us. And they need oversight. They need that support,” adds Pontikis. And today, “we have three people who are trained as baristas and can move on to another job right now if they wanted to. Once they gain the experience and the skills, they can apply them anywhere.”
“One of my favourite moments was when we did the first payroll. It’s usually an annoying and arduous chore. Here, their work is such a celebration, they’ve never had money before, the work they do is something that others may take for granted so easily, but here, it changes lives,” says Karpis. “Staff issues are usually one of the biggest problems, that is actually surprisingly not an issue for us. We underestimated their ability to contribute. There are many things that are greatly suited to this unique workforce, because things like consistency, repetition and accuracy, attention to detail, a lot of these are strengths naturally found in this community. For example, in hospitality you always have prep work: polishing silverware, folding boxes, folding napkins. Most people would rather not do these tasks, but for the community, they’re proud to call it their job.”
The European Centre of Disease Control estimates that one in 40 people is on the autistic spectrum. “There’s a huge employment gap, and what I’m seeing already, after a few weeks, is it drives innovation. We’re talking about a training hub and opening pathways for other jobs, we have to train companies to accept our staff. We’ve paved the way because we had to fight for things to be changed and we’re clearing pathways for other opportunities so that businesses can work with our community. That’s the bigger picture, and we’ve got the people that can do it,” says Pontikis.
As in any business, the challenge is sustainability. “We also have the productivity challenge. Our kids are not as productive as the coffee shop across the road. They can’t make 500 coffees a day. We have to provide good coffee, good food, good music, we have to be on equal terms with everybody. We’re in a downtown location, and we pay a lot of rent but we wanted to be in a downtown location, because it’s all about inclusion. We wanted to put autism on the map,” says Pontikis.
“Usually starting out in hospitality takes anywhere between six months to two, three years to start first operations. We went very quickly. We’ve got help from government, we’ve got help from private investors, but the most important thing is the actual people coming in to interact, they’re a lot more forgiving and understanding from the get go. Right now, we’re trying to get the finesse and the excellence, but the basis of operations has been established. Now we have to refine and as that happens, you’re going to see these guys sing,” says Karpis.
As Constantinos tells me: “I’m very proud and happy and content and I like being a barista, playing the guitar and piano and to sing. I like it when a lot of people come. I meet new people and make new friends. I can make cappuccinos, iced lattes, I make espresso, I like making all the coffees.” As he turns around the tend to his work, the slogan on his work T-shirt clearly sets the tone: ‘everyone belongs.
True Heart Café
Yiannis Kranidioti 10, 1065 Nicosia. Tel: 22 252441. Monday to Saturday 7am to 6pm
Almost all pending culling of animals from farms on which foot and mouth disease was detected has been completed, the agriculture ministry said on Saturday.
It said that around 6,650 animals were culled in the space of two days prior to Saturday morning.
“To achieve this goal, officers from the veterinary services department worked non-stop, day and night, making superhuman efforts under particularly difficult conditions,” it said, before adding that culling had continued in the Larnaca district until 4am on Saturday.
It also praised the police and the National Guard for ensuring the safe and orderly execution of culling efforts.
“The cooperation of all those involved is the most powerful tool for eradicating the disease, protecting the livestock sector, and ensuring the country’s food security,” the ministry said.
Veterinary association chairman Demetris Epaminondas, meanwhile, said that more than half a million doses of the disease’s vaccine will arrive on the island on Sunday, before clearing customs on Monday or Tuesday.
Farmers agreed on Tuesday to accept the culling of livestock on farms where foot and mouth disease has been detected, with Agriculture Minister Maria Panayiotou announcing at the same time that there would be an “increase in compensation” for sheep and goat farmers whose animals are culled as a result of outbreaks of the disease.
Compensation amounts already exceeded those initially foreseen by the European Union’s maximum values on which it will agree to co-finance compensation for culled animals.
Prior to Tuesday’s meeting, the government’s position was to pay farmers between €43 and €178 per regular sheep and goat and between €47 and €420 per sheep and goat which is deemed to be of “high genetic value” as compensation if they are culled as a result of the disease.
Additionally, it was due to pay farmers between €150 and €1,500 per regular cow culled, with this figure rising to up to €2,500 for exceptional cattle.
The EU’s maximum values sit at €1,000 per cow and €140 per sheep, with the bloc financing 30 per cent of compensation payments up to that amount.
In addition, Panayiotou said that increased fines will be levied on those found to be illegally moving livestock to and from the north. If cabinet accepts her proposal, on-the-spot fines of up to €100,000 could be issued, while courts will be empowered to issue fines ranging up to €250,000.
She also said that animals will be subject to two forms of test – the PCR test, familiar to most as the method of testing used on humans for Covid-19, and the enzyme-linked immunosorbent assay, known as ‘Elisa’, which tests blood.
Test results, she said, will be evaluated by the epidemiological group formed to deal with the outbreak, with that group then tasked with “deciding on further utilisation of the methods”.
Disy on Saturday insisted that the deal it struck with social media influencer Fidias Panayiotou and his political party, Direct Democracy Cyprus, which saw him and his party support Disy leader Annita Demetriou’s successful bid to be re-elected as House president bore no relevance to the forthcoming presidential elections of 2028.
“The agreement was on social policies and not on trade-offs, and was made without any connection to the presidential elections, which some were courting,” the party said, before adding that the agreement was “an act of absolute transparency”.
To this end, it said that the three policies it had agreed to pursue with Direct Democracy Cyprus “are within the goals and priorities of Disy, as they were presented prior to the election”.
Those three policies, as Demetriou and Panayiotou explained in a video posted to social media on Friday, entail plans to build 10,000 new houses, to disburse thousands of euros in cash payouts to new mothers, and to increase the minimum monthly pension.
“We thank Direct Democracy Cyprus for its support and note with satisfaction that it did not ask for anything in return to which we could not agree,” Disy said.
It added that the three policies have all “been priorities for us to demand from the executive branch for a long time”.
“Unfortunately, the government has not set the right priorities in recent years and has not adequately addressed the large increase in the cost of living.”
Panayiotou had said in the video that he wished for mothers to be paid €5,000 for their first child, €10,000 for their second child, and €15,000 for every subsequent child, with Demetriou saying that “if we look at it holistically, my Fidias, it is feasible, and we in Disy say that we can even exceed those figures”.
Regarding pensioners, Demetriou said that “it is time to support our pensioners, especially those receiving low or medium-sized pensions”.
“For those who contributed to the social insurance fund, €1,088 [per month] must be a right and we can succeed there,” she said.
The third and final policy entails plans to build 10,000 new homes, with Demetriou saying that it is “feasible” and that “of course, it must happen in a short period of time, in three or four years”.
After the video was published, Panayiotou appeared on television to justify his decision to endorse Demetriou, declaring that his party’s “philosophy” is “not to be throwing eggs and rocks at the wall”.
“For us, our philosophy is not to be throwing eggs and rocks at the wall from outside, like the opposition parties do,” he said, adding that “I threw eggs and rocks before as a member of the European Parliament and I was not being listened to”.
“Now, we have got in[to parliament], and we want to work together to solve society’s problems,” he said.
The next presidential elections will take place in 2028. Incumbent President Nikos Christodoulides, who left Disy to stand for election in 2023, is expected to run for re-election, while Demetriou is widely expected to be endorsed by the party she leads. Alma leader Odysseas Michaelides is also likely to run for election.
Deposed Paphos bishop Tychikos’ legal representatives on Saturday said that he plans to take the case against his dismissal to the European Court of Human Rights once all legal avenues in Cyprus have been exhausted.
They said that he will remain in Paphos “until all legal proceedings are completed” and will “exhaust every legal remedy, both before the Cypriot courts and, if deemed necessary, before the European Court of Human Rights”.
Regarding his current place of residence, they said that he “currently resides in Paphos as the guest of a well-known family”, having left the bishopric earlier in the week.
On Thursday, bishopric staff had found the residence vacant, and upon entering it, found that Tychikos’ personal belongings had been removed.
This followed a request made by Archbishop Georgios, who had asked that he vacate the premises before his successor is enthroned next week.
Tychikos was deposed from his role in May last year, with the Holy Synod voting by a ten to six margin to ratify Tychikos’ removal from his official status after he was charged with various breaches of church protocol, including showcasing an icon of a saint not canonised by the church.
Church secretary Georgios Christodoulou said at the time that “the Holy Synod decided that the aforementioned hierarchy shall remain a bishop of the Church of Cyprus and a member of the Holy Synod”. This meant that he retained the title of “bishop”, but was relieved of his administrative duties.
The archbishop had previously clashed with Tychikos, notably over the latter’s refusal to allow the relic of Apostle Paul’s skull to be brought from the Vatican City to Cyprus on the principle that the late Pope Francis was “a heretic”.
Tychikos had then appealed against his dismissal at the Ecumenical Patriarchate of Constantinople, but was unsuccessful in his appeal.
Turkish President Recep Tayyip Erdogan has given the go-ahead for a “new initiative” to be undertaken by the United Nations with the aim of bringing about a resumption of formal negotiations on the Cyprus problem, the Cyprus Mail understands.
High-level sources have informed the Cyprus Mail that Erdogan has expressed a positive view regarding the prospect of a “new initiative”, and that Turkey is willing to engage in negotiations to solve the Cyprus problem should it believe that there is the “requisite will” for a solution on the part of the Greek Cypriot side.
Erdogan is said to be of the view that the lack of a solution to the Cyprus problem has “unduly cost Turkey through no fault of its own” in recent decades, particularly in light of the fact that Turkish governments led by Erdogan supported both the 2004 Annan plan referendum and the failed negotiations in 2017 at the Swiss ski resort of Crans-Montana.
The sources said that Turkey’s support of both the 2004 referendum and the 2017 negotiations, both of which were rejected by the Greek Cypriot side, constitute evidence of Erdogan’s “pragmatic and constructive stance” and “will to engage in the hope of securing a solution to the Cyprus problem”.
Given this to be the case, the sources said, Erdogan believes that exhibiting Turkey’s will for a mutually beneficial solution is the most likely avenue through which the country will be able to deepen its engagement both with Europe and the wider region, without the Cyprus problem presenting itself as an obstacle.
The sources said that with this in mind, he expects for an enlarged meeting on the Cyprus problem, involving the island’s two sides, its three guarantor powers, Greece, Turkey, and the United Kingdom, and the United Nations, to be convened within the coming months.
Erdogan’s green light comes as UN envoy Maria Angela Holguin is due to arrive on the island on Sunday. She is set to hold separate meetings with both Turkish Cypriot leader Tufan Erhurman and President Nikos Christodoulides on Monday, before travelling to both Turkey and Greece thereafter.
The question of when a “new initiative” on the Cyprus problem may be undertaken has been ongoing for weeks, with Erhurman having said a month ago that such an initiative will begin in July, following the conclusion of Cyprus’ six-month term as the holder of the Council of the European Union’s rotating presidency.
However, the Greek Cypriot side has insisted that such an initiative is “already underway”, with government spokesman Konstantinos Letymbiotis having said that Christodoulides had “made public this initiative” after he met Guterres in Brussels in March.
Holguin most recently visited Cyprus in January, holding a tripartite meeting with both leaders, and saying thereafter that no enlarged meeting on the Cyprus problem could be held until more before “results on the confidence-building measures” between the island’s two sides are achieved.
Some have suggested that the next enlarged meeting may take place as early as next month, exactly a year after the most recent enlarged meeting was held on July 16 and 17 last year, though it appears thus far that this timeline is likely to be extended.
Three people managed to escape from a burning car on the motorway connecting Limassol and Nicosia after their car collided with another vehicle and then with railings on the outside of the motorway shortly after midnight on Saturday.
The vehicle was being driven by a 34-year-old man, with two 40-year-old passengers on board, and collided with the rear of a vehicle being driven by a 48-year-old woman after entering the motorway’s overtaking lane near the exit for the Choirokitia archaeological site.
It then careered into the railings on the outside of the motorway before coming to a halt and then bursting into flames.
All three occupants of the vehicle managed to escape, with the fire brigade then being called to extinguish the blaze.
Both the 34-year-old man and the 48-year-old woman were found not to have drunk any alcohol prior to the collision, and both were taken to the Larnaca general hospital as a precaution. The man’s two passengers were not injured.
The police’s investigation into the matter is ongoing.
It is a beloved summer fruit, bright red and juicy, and this June it takes the spotlight once more time. The Community of Pedoulas in the mountain district of Nicosia organises a two-day fiesta on June 13 and 14 as it hosts the 8th Cherry Festival. Music, dance, song, food, tradition and of course, cherries are coming to fill the village.
Activities kick off on June 13 with traditional dancing from 11am to 2pm. Live music will then take over until 5pm before more Cypriot dance routines take the floor from another local ensemble. In the evening, a buffet with local dishes will open at 8pm as a concert by Hovig takes place the Gymnasium.
On June 14 more dance and music ensembles will open the day’s activities in the morning and last throughout the day. Among the performances is a children’s shadow theatre show at 11am and an experiential workshop at 12, both at Capuralli Café. Plus, there will be free cherries and cherry-infused produce all around.
8th Cherry Festival
Traditional village festival. June 13-14. Pedoulas village. 11am onwards. Free admission
The fire service extinguished a fire that broke out early Saturday morning in an abandoned residence near the centre of Paphos.
The fire was on the second floor of the building, which is located in the Mousalas area near Ayios Theodoros church, and has been abandoned for some time.
The fire service said no-one was inside. Officers tackled the blaze with two fire engines and prevented it from spreading to adjacent buildings.
The causes of the fire are being investigated.
Women in Cyprus accounted for 51.8 per cent of all people employed in science and technology during 2025, according to Eurostat, placing the country just below the EU average but still among the member states where women represented a majority of the workforce in the sector.
The European statistical authority reported that more than 81.6 million people aged 15 to 74 were employed in science and technology across the European Union in 2025.
This represented an increase of 1.8 per cent compared with 2024, equivalent to an additional 1.5 million people, and a rise of 25.3 per cent over the past decade.
According to the data, women made up 52.5 per cent of all people employed in science and technology across the EU, amounting to 42.8 million workers.
Most women in the sector were employed in service activities, Eurostat said.
The number of women employed in science and technology occupations across the bloc increased by 2.3 per cent compared with 2024.
Compared with 2015, the number rose by an impressive 27.9 per cent, corresponding to an increase of more than 9.3 million women over the ten-year period.
Eurostat defines science and technology occupations as jobs in which the main tasks require a high level of professional or technical knowledge and experience in one or more fields of physical sciences, life sciences, social sciences or the humanities.
The Cyprus figure of 51.8 per cent means that women accounted for more than half of all people employed in science and technology occupations on the island in 2025.
Because of its small size, Cyprus is assessed as one region in the Eurostat dataset, unlike larger member states that are divided into several regions.
Across the EU’s level 1 statistical regions, the highest shares of women employed in science and technology were recorded in Latvia, where women represented 62.4 per cent of the workforce.
This was followed by the Great Plain and North region of Hungary with 61.1 per cent and Estonia with 60.5 per cent.
At the opposite end of the scale, the lowest shares were registered in Corsica in France, where women accounted for 42.7 per cent of people employed in science and technology.
Malta followed with 46.0 per cent, while Italy’s Centre region recorded 47.2 per cent.
The report also highlighted the position of scientists and engineers, who form a major subgroup within the broader science and technology workforce.
According to Eurostat, scientists and engineers represented 24.8 per cent of all people employed in science and technology across the EU in 2025.
Germany employed the largest number of scientists and engineers among EU countries, with 4.2 million people working in those professions.
Despite women accounting for a majority of all science and technology workers, they remained underrepresented among scientists and engineers.
Women represented 40.8 per cent of all scientists and engineers in the EU in 2025, significantly below their overall share of employment in the wider science and technology sector.
Eurostat said that this proportion increased by only 0.5 percentage points over the past decade.
However, the absolute number of women working as scientists and engineers rose sharply during the same period.
The number increased by 54.4 per cent, from 5.3 million in 2015 to 8.2 million in 2025, Eurostat added.
The latest figures indicate that while women now make up the majority of workers in science and technology across much of Europe, including Cyprus, a significant gender gap remains in the specialised professions of science and engineering.
Seven people were arrested in police operations overnight for various offences, including illegally staying in the Republic of Cyprus and for the theft of a vehicle.
Police said 851 vehicles were stopped for inspection and 1,130 drivers and passengers were checked. At the same time, 44 inspections of premises were carried out and 14 violations reported.
During traffic checks, 253 violations were reported of which 64 concerned speeding. A total of 438 alcohol tests were carried out in which 31 drivers tested positive. Nine vehicles were also seized.
It will be mainly clear and sunny on Saturday with temperatures rising to around 33C inland, 26C on west and southwestern coasts, around 29C on the rest of the coast and around 24C in the mountains.
Coastal areas will see some cloud and in the afternoon isolated storms are possible in some areas inland and in the mountains.
Winds will blow mainly southwest to northwest, initially weak to moderate, 3 to 4 Beaufort and gradually moderate until the afternoon and on the coast to strong, 4 to 5 Beaufort. The sea will be slightly rough.
Saturday night will be mostly clear, although in the west, cloudy weather is expected.
On Sunday and Monday, it will remain mainly clear with occasional cloud which could bring isolated rain.
The temperature on Sunday will rise and will remain at the same levels until Tuesday, above average for the season.
I’m familiar with the official Zulip, but as far as I can tell, there’s no information about regional or country-specific communities on any website, including the official site.
Is there a list of Rust communities somewhere?
I know very little about CUDA programming by I have opinions about Rust APIs. 😄 Here is my re-working for the 1st example in the new CUDA library. (This code runs.)
My main:
fn main() -> Result<(), Box<dyn Error>> { println!("=== Unified Compilation Vector Addition ===\n"); // Initialize CUDA let context = CudaContext::new(0)?; let work_queue = context.default_stream(); let module = kernels::load(&context)?; // Test data let n = 1024; let a: Vec<f32> = (0..n).map(|i| i as f32).collect(); let b: Vec<f32> = (0..n).map(|i| (i * 2) as f32).collect(); println!("Input vectors (first 5 elements):"); println!(" a = {:?}", &a[0..5]); println!(" b = {:?}", &b[0..5]); let a_gpu = work_queue.copy_from_cpu(&a)?; let b_gpu = work_queue.copy_from_cpu(&b)?; let mut c_gpu = work_queue.zeros::<f32>(n)?; launch!( work_queue, LaunchConfig::for_num_elems(n as u32), module.vec_add(&a_gpu, &b_gpu, &mut c_gpu) )?; // Get results let c = work_queue.to_cpu_vec_and_sync(&c_gpu)?; println!("\nOutput vector (first 5 elements):"); println!(" c = {:?}", &c[0..5]); let errors = count_errors(&a, &b, &c); if errors == 0 { println!("\n✓ SUCCESS: All {} elements correct!", n); } else { println!("\n✗ FAILED: {} errors", errors); return Err("vector addition produced incorrect results".into()); } Ok(()) } Original:
fn main() { println!("=== Unified Compilation Vector Addition ===\n"); // Initialize CUDA let ctx = CudaContext::new(0).expect("Failed to create CUDA context"); let stream = ctx.default_stream(); // Test data const N: usize = 1024; let a_host: Vec<f32> = (0..N).map(|i| i as f32).collect(); let b_host: Vec<f32> = (0..N).map(|i| (i * 2) as f32).collect(); println!("Input vectors (first 5 elements):"); println!(" a = {:?}", &a_host[0..5]); println!(" b = {:?}", &b_host[0..5]); // Allocate device memory let a_dev = DeviceBuffer::from_host(&stream, &a_host).unwrap(); let b_dev = DeviceBuffer::from_host(&stream, &b_host).unwrap(); let mut c_dev = DeviceBuffer::<f32>::zeroed(&stream, N).unwrap(); // Load the embedded PTX bundle and launch through the typed module API. let module = kernels::load(&ctx).expect("Failed to load embedded CUDA module"); module .vecadd( &stream, LaunchConfig::for_num_elems(N as u32), &a_dev, &b_dev, &mut c_dev, ) .expect("Kernel launch failed"); // Get results let c_host = c_dev.to_host_vec(&stream).unwrap(); println!("\nOutput vector (first 5 elements):"); println!(" c = {:?}", &c_host[0..5]); // Verify let mut errors = 0; for i in 0..N { let expected = a_host[i] + b_host[i]; if (c_host[i] - expected).abs() > 1e-5 { if errors < 5 { eprintln!( " Error at [{}]: expected {}, got {}", i, expected, c_host[i] ); } errors += 1; } } if errors == 0 { println!("\n✓ SUCCESS: All {} elements correct!", N); } else { println!("\n✗ FAILED: {} errors", errors); std::process::exit(1); } } My kernel:
#[kernel] pub fn vec_add(a: &[f32], b: &[f32], mut c: DisjointSlice<f32>) { if let Some((c_element, thread_index)) = c.get_mut_indexed() { let index = thread_index.get(); *c_element = a[index] + b[index]; } } Original kernel:
#[kernel] pub fn vecadd(a: &[f32], b: &[f32], mut c: DisjointSlice<f32>) { let idx = thread::index_1d(); let idx_raw = idx.get(); if let Some(c_elem) = c.get_mut(idx) { *c_elem = a[idx_raw] + b[idx_raw]; } } I was going to try to use iced_comet to debug corruption in an iced app I was writing but it ended up being corrupted itself.
Does anyone have an idea about what is causing it?
Hello! I'm looking into embedded Rust after wrapping up my first embedded project in C, but I'm really confused about how PACs are zero-cost abstractions.
In C, you don't make variables for your MMIO; you make macros (or consexprs nowadays) and directly assign to the registers. I've been struggling to figure out how Rust's PACs replicate this behavior, but I haven't found any guides online. I don't know enough low-level Rust to make sense of the source code either. From what I have tried to read, you make variables for your registers, but I don't see how that ends up being a zero-cost abstraction.
Thanks in advance!
Hello! I've been looking into baremetal Rust, and I currently have two options: Rust for my atmega328p, or Rust for my ESP8266. I've already programmed my atmega328p baremetal in C, so I'd like to try out a different board.
I've looked up some stuff online, and I've found that there is an ESP8266 HAL that is no longer being developed. I don't know any embedded Rust, so I was wondering if anyone knows how the Rust ESP8266 experience is. If it's bad enough, I might just buy an ESP32...
I've also read that LLVM didn't support the Xtensa architecture until around ~2023? I believe it's impacted the ESP8266's development, but I don't really know if anything's been made of it since.
Thanks in advance!
The ph crate from the BSuccinct package now includes the super-fast (about 1.01 cache misses per evaluation on average) Minimal Perfect Hash Function (MPHF) called PHast (Perfect Hashing made fast). MPHFs assign consecutive, unique numbers to objects of any (hashable) type (keys).
PHast can be about 1.9 bits/key and is described at https://arxiv.org/pdf/2504.17918 (the paper contains benchmark results).
BSuccinct is an open source collection of (Rust) software focused on succinct data structures that are both space and time efficient. It is described in this paper.
See also my previous announcements regarding: ph and bsuccinct
Are there resources out there for this in rust or other languages? I’d like to build it for a yt clone I’m planning on implementing.
The repository currently models two proving statements:
(x, y) whose commitment lies inside a public bounding box.The current backend is a development signed-transcript backend. It validates circuit constraints locally, commits to the public statement, and signs the resulting transcript for downstream verification. This keeps the code paths, serialization, and examples stable while a full Halo2/arkworks proving backend is integrated. Tell me, What do you all think?
A while back I shared AstroBurst here: an open-source desktop app for processing astronomical images (JWST, Hubble and Roman, in FITS and ASDF) fully offline. Compose RGB from narrowband channels, stack, stretch, export. Rust for the heavy lifting, React for the UI, WebGPU for the live preview.
Then it went quiet for a bit. I got pulled into other projects, but I finally circled back, and v0.5 is out. It's mostly the unglamorous but important stuff: getting the math right and not panicking on bad files.
Correctness (the part I actually lost sleep over):
New features:
Robustness:
The bits I'm quietly proud of, Rust-wise: it has (as far as I know) the first non-Python ASDF reader (zlib/bzip2/lz4, Roman gWCS), memory-mapped I/O, and the STF stretch comes out bit-for-bit identical across the GPU shader, a CPU worker, and the Rust backend.
Repo: https://github.com/samuelkriegerbonini-dev/AstroBurst
Honest feedback welcome, especially from anyone who's fought with FITS/WCS or FFT registration before. I clearly needed a second pair of eyes on that alignment code.
NOTE: I've always been transparent about my use of AI, but things have changed a bit. I still use it for drafting text, docs, and frontend work. However, since its coding quality seems to be degrading lately and it was stressing me out trying to fix the bugs it generated , so i've decided to stop using it for the Rust code.
Because I built the early versions with its help, a good chunk of this specific release was spent fixing some silly mistakes it left behind. The goal from here on out is to rely on it less and less.
This is a port of https://github.com/PX4/jMAVSim with eframe/egui.
Btw, you can connect to QGroundControl and run demo within the simulator.
Hello fellow rustaceans🦞,
Longer-time-ish dev here very familiar with fullstack (specifically FastAPI, Express, and React/NextJS, along with alot of other crap incl. TS, etc) and finally had some spare time to write my own rustacean backend.
I opted for axum for framework and SeaORM with Postgres DB, and trying to figure out what the best flow is here for migrations. I am very familiar (and personally really like) the typical prisma flow for JS-based backends, which works something like this:
prisma migrate dev which compares your schema file with the db, auto-generates a migration, and then applies it to your dev db only.prisma migrate deploy, which assumes you've done the above steps and will apply that migration to your prod db. There is also a migrations table in both dev and prod db's to ensure migrations aren't re-applied, as well as a hash of the migration file itself stored in the migrations table to detect if a migration was edited after it was applied (as this causes drift).Other note here: I'm assuming a relatively simple stack, which means typically one dev db and one prod db, a hosted prod backend that gets built in cloud as part of CD, and a local dev backend.
My question for SeaORM, what's the optimal way you guys typically handle this migration flow? I am following the docs to use sync for dev flagged out on prod with #[cfg(debug_assertions)] and understand that this basically pushes changes to my db entities out immediately to dev db. In this case, what happens to the migrations if I generate them? If I ever run them against my dev db to test, won't the db already have been modified by sync?
I've been working on backend projects recently and found myself constantly jumping between curl, Postman, docs and terminal windows. Mostly as a learning project, I started building a small tool called reqsh.
The idea is simple: Instead of repeatedly typing curl commands, you open a shell and interact with APIs from a REPL.
Current features:
{{name}} syntax in paths, headers, and bodyparam: key=value linesGive it a try and share your feedback. What one feature you think you need the most? (I'll try to add in the next release)
GitHub: https://github.com/hars-21/reqsh (Star the repo if you like it)
Website: https://reqsh.vercel.app/
Is possible develope ap for Android or IOS fully on rust without kotlin, java or swift?
I'm new to rust and I would like to learn it in pair with someone. I'm a dev and I use C# on a daily basis.
I live in Italy, it would be great if you were too (or in Europe at least).
Happy weekend, folks! Glad to share the new version of Beam - A native GUI HTTP client written in Rust.
https://github.com/hlcfan/beam/releases/tag/v0.1.2
Show post response script API manual in the request pane
Beam has own shortened APIs to write Postman like script. E.g.
pm.test.status(200); pm.test.statusOneOf([200, 201, 204]); pm.test.json("$.success", true); pm.test.jsonExists("$.data.id"); pm.test.header("content-type", "application/json"); pm.test.responseTimeLessThan(500); pm.fail("Expected 200, got " + pm.response.status); console.log("statusText:", pm.response.statusText); console.log("content-type:", pm.response.headers.get("content-type")); console.log("has x-request-id:", pm.response.headers.has("x-request-id")); console.log("raw body:", pm.response.text()); console.log("timing:", pm.response.responseTime, "ms"); console.log("size:", pm.response.bodySize, "bytes"); pm.extract("$.token", "auth_token"); pm.environment.set("token", pm.response.json.token); ... It's nice to have a quick API reference that user can look up when writing the scripts. Now it shows an info icon, hovering on which shows the API manual.
Show response history in the response pane
Now user is able to view the response execution history by clicking the history icon in the response pane. Use v_virtual_list to improve the rendering performance when too many history items.
Simplify the response status code display
Change from Status: 500 Internal server error to Status: 500 (with status code being colored). Hovering on the code shows the status text in a popover.
Disable the replace feature in response body editor
Added new API to gpui-component to disable the replace feature in the response body editor, as response shouldn't be updated.
Enhance workspace management
Fixed request workspace tree drag and drop slots rendering bugs
Fixed search scroll direction on search wrap
Updated the logic in gpui-component to wrap the search when reaches to the last matching text.
Please share your feedback!
Happy hacking!
I have a project with multiple Rust packages (is this the right terminology?):
- Cargo.toml - Rust library - ffi/Cargo.toml - C library - ffi/common/Cargo.toml - ffi/{python,ruby}/Cargo.toml
All test code is under modules marked with #cfg(test).
Here are my requirements:
clippy attributesCargo.toml (ideally only one Cargo.toml, not duplicated in all Cargo.tomls) and/or one clippy.tomlcargo clippy or somethingI've been trying to achieve this for two days now. Here are a few problems I'm facing:
I'm here to share an update since my last post. Gecko has seen many updates since that I think might excite many people! I promise I will keep this post rather short. If you want some backstory and Q&A go see the original post!
I received a lot of positive feedback and channeled that energy into making lots of new updates, many of which were targeted towards end users!
The most requested feature by far was a UI launcher. I'm not an expert at UI design but I think it came out quite nicely :) I decided to try something new and used iced for it. It has certainly it's own challenges compared to egui, but I found it quite pleasant to work with overall!
I've added many more fixes and features since. Many games, and by many I really mean many, are now supported without any visual glitches! Overall, I'd say at least 50% of the library runs now with only minor visual glitches which is awesome!
Wii support is now much more user friendly as well: There is no need for a user supplied NAND anymore!
That said, there are tons of new debugging features too. One of which that I'm very excited about is the GX FIFO player and debugger. It helped me identify and fix a z-texturing bug in Super Mario Galaxy :) Here's a YouTube video of me showing how Super Mario Galaxy prerenders later scenes behind the current one: https://www.youtube.com/watch?v=hHCJCS77d3M
I'll leave a few links here: * GitHub (daily nightly builds are available): https://github.com/ioncodes/gecko * Screenshot Database: https://emu.layle.dev/
Feel free to connect with me! I frequently post and talk about technical bugs, challenges I faced and how I fixed them! :)
Normally, when you want to do a early return if a value is out of bounds, you write like this:
fn check_month(month: i32) { if month < 1 || month > 12 { return; } // do other things ... }
However, yesterday I realized you can also write:
fn check_month(month: i32) { let 1..=12 = month else { return; }; // do other things ... }
I asked my OpenClaw and got some actual code that uses this pattern. What do you think about it? Should it be encouraged or avoided?
This question is coming from a consumer of games (and a passionate game dev)
How would a game dev handle this situation where a mod is so good/convenient that they want to make it part of the game?
Is it as simple as asking for permission? Or are there procedures that have to be done?
What would you do if the creator of the mod is not available at all?
I've recently been researching colleges for game design but every link leads me to pages talking about a BFA (bachelor's degree in fine arts) and seems to only teach the drawing and modeling parts. When looking into the curriculum of a few schools, the programming courses are almost entirely missing, other than a single one which teaches basic programming appropriate for an artist only.
The careers they list too only pertain to art. For example 3-D modeller, animator, editor, concept artist, video producer, and digital artist.
Is this what I'm supposed to go into for game development? Are there any good schools that go over all the parts of game design or is my only option art school and then watching YouTube tutorials for coding?
I've been making a game I dreamed of since 2023 for over half a year now, and I'm still nowhere near finishing a prototype I could show to people. it hurts so much to make games as a non-programmer (meaning I don't have any technical knowledge and implement stuff in the worst way possible), I spent weeks on fixing each one of the edge cases caused by a mechanic I've added in a day, I already forgot what the vision for the game even was - is it supposed to be like this? I thought once you code a feature and do some trouble shooting you're done and it should work as expected, yet I still find problems in the very core of the game I simply cannot ignore. it's honestly killing both my passion for the craft and my soul. last time I spent a year making a 40 minute game, and I can only imagine in fear what would it take to actually make a project of such big scope as mine good.
the point is, I think I just don't understand something crucial about how you are supposed to make a game. do you just add stuff and it just works? or do you actually spent 90% of the time fixing what's already in there? how do I improve?
Trying to understand the technical wall people hit.
If you have abandoned a project, what was the last thing you were trying to do before you walked away? What was the problem you could not get past?
Originally I was under the impression that finishing the core gameplay and UI before adding music and SFX is the right way. After all finding the right assets or making them is a long process.
Lately I’m starting to realise how much audio impacts people and that maybe adding it along the way could boost how the posts/clips/devlogs are perceived by potential players on social medias.
What are best practices?
Hey guys, it's ya boi Indie Game Joe, former painter and decorator turned video game marketing consultant, aka the Temu Game Dev (but rated 5-star, lol). I've had dozens of messages this week asking about the Steam store changes so I figured I'd put my thoughts together properly.
For anyone who doesn't know me, I helped co-start Digital Cybercherries where we've shipped games like Hypercharge: Unboxed and New Retro Arcade: Neon, (also working on Paranormal Tales and other cool projects). I also led the design, marketing, and launch of my own game, Don't Scream, and we were also the original devs on the 2013 zombie game Contagion. I also run Indie Game Joe where I love to share indie games across my socials and just love to help out indie devs where I can! I say that not to flex honestly, just so you know this isn't coming from nowhere, I do know what I'm talking about. (I really don't, I'm just as confused and worried as you are lol.)
But seriously, this is just my two cents and a long read, and I thought it might be helpful. For context on the Temu joke, I did an AMA here on r/gamedev a few weeks back that explains everything, you can read it here if curious!
-
So, most of you are aware that Valve recently pushed a redesign to the Steam store and most people will notice some things have been moved around, bits are a bit cleaner, and most will honestly just get on with their day. But… if you're an indie dev there's one specific change worth understanding in more depth, because the discourse around it has been pretty loud and rightfully, I get it, concerning.
But take a breath, let's keep calm, and hopefully after you've read this you won't panic as much (or maybe more, I er, hope not!)
So, first things first, and I mean this in the most constructive way possible. Buckle up, devs, because Steam has, and will continue to change how players find games on their platform. Over many years Steam has made changes that at the time felt "oh my gawd". For example, Greenlight launched in 2012 and people were convinced it would destroy the platform, then Valve scrapped it entirely and replaced it with Steam Direct in 2017 which caused a whole new wave of panic about the store being flooded with low quality releases. Early Access arrived in 2013 and the discourse around that was pretty similar to what you're seeing right now, unfinished games, developers taking advantage, the sky is falling. The Discovery Queue and Steam Curators landed in 2014 and changed how players found games entirely, the first time Steam stopped showing everyone the same storefront. Then Discovery 2.0 in 2016, then the biggest library redesign the platform had ever done in 2019. So yes, every single one of those changes caused alarm and sparked debate, but do you know what else happened? It made developers rethink their strategies, and every single time the industry adapted and kept moving forward. You have to accept guys, that you have to adapt. Okay, now that is out of the way.
The Popular Upcoming page used to work on a pretty simple principle where games were ranked by wishlist count within an upcoming release window, typically a few weeks out from launch. Hit somewhere around 6,000 to 7,000 wishlists, release your game, and you'd earn a spot near the top of that page for a few days. For a small team that window was genuinely valuable, it could mean anywhere from 1,000 to several thousand extra wishlists before launch and real sales on release day.
However, that page is now algorithmic and I looked at it after the update went live. From what I can tell, the lowest wishlist count currently sitting on there is around 80,000, whereas before the update it would've been a handful of indie games sitting at 6,000 each. I realize that's not a small tweak and I'm not going to pretend otherwise, like genuinely, I get why people are upset about this bit.
A quick note: Since publishing this, there's been some talk that the wishlist floor on Popular Upcoming may have changed from the 80,000 I observed on launch day. I haven't seen anything officially confirmed either way, so I'll keep an eye on it and update this if anything concrete comes through.
It's also worth noting that Popular Upcoming was on the Steam home page as a section, but to see the full list you had to click through to a separate page, which means the majority of casual Steam browsers were seeing a small slice of it at best and never going further. And on top of that, the number of games releasing on Steam has roughly doubled over the last few years, which means Popular Upcoming was already becoming a more crowded and diluted space before this update even happened. The window devs were getting from it had been quietly shrinking for a while, even if nobody was really talking about it. This change didn't come out of nowhere.
So here's where I think we really need to focus, and I mean this. Valve didn't do this to hurt indie developers, and that idea doesn't hold up when you actually think about what Valve wants. Every single time a game sells on Steam, Valve takes a cut, which means their success is directly tied to as many games as possible finding players, including yours, including the small ones, including the weird niche ones that only a few thousand people in the world will ever love. Sure, they want the next Lethal Company to exist, they want the next breakout indie hit to come out of nowhere and do numbers nobody predicted, because games like that are incredible for Steam. But the personalized calendar isn't built for breakout hits, those games will find their audience regardless. The calendar is built for everything else. The horror game that needs to find horror fans. The cozy farming sim that needs to find cozy players. The strange niche thing you've spent two years making that has a specific audience out there who would absolutely love it if they ever came across it. That's what this is designed to do, and honestly, that's a bigger deal than people are giving it credit for right now. If Valve genuinely wanted to bury small games they wouldn't have built this, and they certainly wouldn't have put it where they have. The Popular Upcoming list has been moved towards the bottom of the Steam home page. The calendar is right there on the homepage when you open Steam, no hunting for it, and if you want to personalize it even further, the full calendar lets you explore up to 500 games with full filtering options. We're talking tag selector, game count, the ability to show or hide wishlisted games, hide games you already own, hide early access titles. It's a fully customizable discovery tool built entirely around what you actually want to play. That's not a coincidence, that's Valve telling you with the layout itself which tool they think matters more now. Players are already opening it for the first time and finding games they've genuinely never come across before and wishlisting them on the spot, which is exactly what a discovery tool is supposed to do. And we're talking games that would never have come close to Popular Upcoming under any version of the old system, tiny releases that just happen to be exactly what that particular player wants to play next.
Right, it's early days and the sample size is small, but some developers are already sharing some pretty encouraging signals. One developer with around 7,000 wishlists and two weeks until launch saw over 3,200 visits and 1,368 wishlists in a single day from the calendar alone, with another 560 wishlists added the following morning before the day had barely started. That game sits at the far end of the front page widget too, meaning it wasn't even in the most prominent spot. Another developer making a niche 3D metroidvania picked up over 1,000 wishlists in a single morning. A niche game, finding its niche audience, which is like, the whole point of this thing. And perhaps most interestingly, a separate developer noted that the calendar had already been driving a significant surge in their wishlist numbers in the week before the full update even went live, outpacing what Popular Upcoming was doing for them at the same time. None of this is conclusive, but it's hard to look at those early numbers and not feel at least cautiously optimistic.
Update: A developer with a game releasing in under two weeks has also reported around 2,300 wishlists driven by the calendar since Thursday evening alone, and roughly 100 wishlists a day for weeks before that while the feature was still in beta. Popular Upcoming, by their own account, had become weaker than most people realised anyway.
So how does it actually work? Valve have officially confirmed this. The calendar finds people with similar playtime profiles to you, then looks at what games those players have been adding to their wishlists. It focuses on games you play the most relative to other players, so a few minutes trying out a demo won't move the needle, but sinking serious time into something will. It's retrained daily with fresh data, and it covers a rolling eight week window, meaning your game can be visible to the right people for up to two months before it even launches. So it's not just tracking you in isolation, it's finding your people and showing them what you're making. A horror game reaches people who play horror, a factory builder reaches people who've spent hundreds of hours in factory builders, and players are already reporting seeing games with tiny wishlist footprints appearing in their calendar purely because it fits what they actually play. That kind of specific, relevant visibility just didn't exist under the old system, where your couple of days on Popular Upcoming went out to every Steam user regardless of whether they'd ever have any interest in your game at all. The calendar flips that entirely. It doesn't care how many wishlists you have, it cares whether your game is the right fit for the person looking at it, and a player who finds your game that way is worth ten who stumbled past it on a general list and kept scrolling.
The other thing the calendar does that Popular Upcoming never could is show games across several weeks rather than just what's releasing imminently, so it's less of a sprint and more of a steady window. You're not racing to get seen in a few days and then disappearing, which honestly was always a bit brutal for smaller teams anyway.
Is it a perfect straight swap for what Popular Upcoming offered? Honestly I don't think anyone can answer that yet, it's been a few days and nobody outside of Valve has the full data. But the early signs are there and the logic behind it makes sense to me.
One thing I will say is that your tags now matter more than ever, and honestly this bit is pretty interesting. Just a few weeks before this redesign went live, Valve quietly overhauled the entire Steam tag system, adding 17 new tags and retiring 28 others. Easy to miss at the time, felt like routine housekeeping, but looking at it now alongside this update it's obviously part of the same thinking isn't it. They sorted the foundation out and then built the discovery engine on top of it. That's not a coincidence. So if your game is poorly tagged, or you just haven't really thought about how Steam puts it in a box, you're going to struggle to reach the right people no matter how good the calendar is. Worth a proper look if you haven't already. And while we're on tags, this also means getting your first few hundred right-fit players to wishlist you is more critical than ever, because those early wishlists are what feed the algorithm its first data point. Without them, the calendar has nothing to work with.
Oh and one more thing while I'm here, the redesign makes your capsule artwork bigger and higher resolution across the store. So the first visual impression your game makes is more prominent now than it ever has been. If the art isn't doing its job, more people are going to clock that. Harsh but true. And here's something worth thinking about that I haven't seen anyone mention yet, the main capsule in the Featured & Recommended carousel on the homepage now shows partial previews of the games either side of the one currently displayed. Which means your capsule art needs to work not just as a full image but as a cropped sliver too. If all your interesting stuff is dead centre, the side preview is just going to show a bland edge and nobody's going to want to click through. Worth thinking about where your key art and most eye catching elements sit within the frame. For games with strong art that's designed to pop from edge to edge, genuinely a nice little bonus from this update.
Right, so this next bit is something I talk about a lot, and don't throw tomatoes at me here, but I have to say it. Going viral, getting wishlists, nailing your marketing, it's all incredibly important, I'm not dismissing any of that for a second. But none of it should ever overshadow the actual thing. The devs I see most stressed about this change are the ones who had their whole launch strategy built around one number. Hit 7k, get on Popular Upcoming, ship. And look, I get it, I really do, having something concrete to aim for when you're a small team trying to figure Steam out is genuinely useful. But I've always thought the same thing and nothing about this changes it. Make a good game. Before you come for me though, I know, I know, good games don't always find their audience, and we can get into the semantics of what even makes a game "good" all day, those are all fair points. But here's what I'm actually getting at. Your wishlists are only ever as good as your game is. A bad game, or an unready one, will not convert well no matter how many people see it. And yes, I know someone's already typing "but plenty of bad launches have still sold well" and fair enough, some have. But those games almost always had something genuinely compelling at their core, a strong concept, hook, just something that made players willing to overlook the rough edges. And the ones that launched badly with nothing worth sticking around for? The wishlists didn't convert well. And look, AAA can sometimes get away with a rough launch because they have an enormous existing fanbase who'll buy on day one regardless, plus the sheer volume of sales gives them the runway to patch and update their way to a decent game over time. No Man's Sky is the obvious example, and that would have killed an indie studio stone dead. You don't have that safety net, which is exactly why the foundation has to be right before anything else. On top of that, even if a rough launch sells okay on day one, the reviews tank, the word of mouth dries up, the long tail disappears, Steam's algorithm starts burying you as the score drops, and you've potentially burned your audience's trust for your next game too. There's real cost there even if the launch numbers looked fine on the surface. So yes, make a good game. I know that sounds simple, and I know marketing matters, it's literally what I do, I help indie developers navigate all of that. But I'd be doing you a disservice if I let you leave this article without saying it plainly. Don't let the strategy overshadow the product. The game is the thing, always has been, always will be.
Wow, this ended up being much longer than I intended haha! The main takeaway here guys is that Steam will keep changing, the algorithms will keep changing, and the ways players find games will look different again in a few years, guaranteed. What doesn't change is whether what you've made is worth someone's time. So sort your tags out, think about who your actual player is and where they hang out, and give yourself a decent release window. That stuff is in your control.
Honestly, and this is just my gut feeling, I think these changes are going to end up being good for indie games. Steam have consistently shown they're paying attention, both to what developers need and to how players actually use the platform, and this feels like another step in that direction. It's early, and the data will tell the full story over the coming months, but I'm optimistic.
Again, take a breath, don't panic. Steam isn't shutting the door on indie games. The door just looks a bit different now. Figure out where it is and walk through it, and hey, sometimes you do have to kick the door down though, and that's okay too, lol.
You've got this! (I'm so dizzy after writing all this!)
- Joe
My life has taken some wrong turns and I decided to finally dig in my dream of becoming a game dev.
I know the basics of C++ but aside from that I know nothing about programming or game development. I have 3 major ideas for games that I KNOW are good and original ideas, though 2 of them are kind of big out of hand projects, so the one I believe is the easiest to pull off is a 2.5D online PvP (and PvE) with unique mechanics that do not exist in any other game, altough these mechanics make the game as niched as Yomi Hustle is. I live in a third world country and can't afford to make a game without beeing in a full time job, which is gonna make it take a looong time to make.
What are you guys thoughts and tips as experienced devs? What game engine do you guys recommend? Where should I start?
I probably shouldn't start by my main ideas at first but at the same time I don't wanna take 8 years to launch my main first project
Hey everyone,
I’m pursuing a master’s degree in Finance and Controlling, and as I follow the indie scene, I keep noticing the same pattern: people build fantastic games, but then stumble (just before or after success) over issues like cash flow planning, publisher contracts, or the question of when they can actually afford to hire a second employee.
I’m very interested in this topic from a developer’s perspective and don’t want to just speculate from the outside.
So here’s my direct question: Which financial or operational aspect has surprised you the most or caused you the most headaches as a studio or solo developer?
I mean basically everything: your first tax advisor, a deal that felt wrong in hindsight, the moment you realized the money wouldn’t last until launch, or something completely different. I’m interested in real-life experiences, not textbook problems.
If anyone wants to elaborate further: DMs are open.
I’m a bit of a new indie developer and I’ve been trying to brainstorm ideas for potential games to make, but I haven’t had much luck. I’m not looking to reinvent the wheel with a certain genre, but every time I think I land on something interesting, in practice it ends up feeling dull. How do you recommend I move forward with brainstorming?
I am a solo dev working on my game action combat game in unity
While not being too good at game art u have made maps, props and even vfx for my game. But the main problem is character modelling.
I wanna know how u guys do it and what software do u use and what workflow u follow
Additionally, metahumans is an amazing tool for this work so should I learn and switch to unreal engine 5?
Hey everyone,
If you’ve been following the recent Steam news, you know the Steam Store Page update is going to completely change how games get discovered.
With Steam moving toward a personalized calendar and making the traditional "Popular Upcoming" tab super hard to reach for small-to-medium indie games, picking the right release date is about to become the new meta instead of getting to the 7k wishlist target. If you release on the same day as a major game in your genre, you risk being completely invisible to your target audience's personal feeds.
To help with this, I built a transparent, intuitive website calendar tool specifically designed to help devs find the perfect launch window.
Preview:
Spot the Dead Zones: Easily find open slots where genera intrested players won't have their calendars flooded by bigger releases, giving your game a much higher chance of appearing on their personalized feeds.
Clutter-Free UI: I know a couple of Steam calendar tools already exist, but I really focused on making this one clean, transparent, and instantly readable and have all of the games releasing that day.
I need your help/feedback:
I want to make this as useful as possible for the indie community.
What features would make this an instant bookmark for your launch planning?
Are there specific filters or data points you'd want to see?
Hello!
Im a 3D Artist and want to adress my work more to the actual needs of the industry. So tell me, which models you really wish for, but cant find?
Hey! how are u? i got here for a simple reason. im visualy impaired, i'm almost blind of my left eye and got dislexia. i've started to play some years ago pillars of etternity on steam but texts are too small, cant zoom in, so i had to stop playing because it was too tiring for my eyes. so, the thing is, i'm looking for help of someone that could help(?) cause i really want to play that game but have no knowledge in game dev/modding, or if u know any community i might find help i'll be glad cause i dont have a clue. i came here because who's better to ask something about games than game devs?
Listen to Chris Z and made a horror game.
I mean that's basically it and that worked for me. Around the time when my first game was entering the demo fest and hearing some opinions, I realize it ain't gonna cut it, so I just quickly finish it at a viable level, and just moved on to my second game. About 6 months later I made a point and click survival horror game that is heavily inspired by World of Horror, have the steam page approved about 2 days ago. Posted on a feel relevant subreddits, and the wishlists just rolled in.
Here is my game: Steam Link
I'm at a point where friends are giving feedback on the game I'm working on, and one posed a question she had: "How does she know which tiles do what things?"
So, tiles can either cost more movement to cross (think swamps, hills, mountains) or make it difficult to shoot through (think forests). Some are impassible, like oceans, and rivers.
Now, I had thought I had a good view of where you could move based on highlighted hexes. However, this doesn't allow for planning the next moves.
Currently, this is how an open world encounter looks:
https://i.imgur.com/8AVg2E9.jpeg
I do have data that is able to be pulled up in a menu in the map, which looks like this:
https://i.imgur.com/vsH34BZ.png
But if I wanted to somehow indicate difficulty of terrain and difficulty of shooting through terrain, what suggestions might you have?
Thanks!
So every time I am modeling in blender there is one big problem. My textures. I could model day and night but without textures i´m just creating gray blobs. I want to create my own textures from scratch. I have the gear but no skills. I want to know how you guys are creating your textures or what programs you use. This has been a problem for a long time and I still didn´t figured it out.
| I've decided to make 4 games in 4 months to follow the fail hard, fail fast, fail often principle. This the first of the 4 games and all games will be released for free on ItchIo. After the project is over only the best preforming game out of the 4 will become a full game. [link] [comments] |
When you open my game, it goes right to the welcome screen, which almost seems... tacky? Even though I have no desire to make myself seem like some formal production entity / promote myself as a person, I feel like I might be missing a different reason for this.
What's the etiquette for labeling yourself as a "developing company" / is there a purpose beyond trying to promote other games you made?
I sometimes feel like developers are forgetting that most gamers don't have high-end PCs.One thing I think developers underestimate is how much accessibility contributes to a game's success.
Games like CS:GO, Minecraft, Valorant, Elden Ring, League of Legends, and Stardew Valley can run on low-end hardware without looking terrible. That's a huge reason they built massive player bases.
In countries like the Philippines, India, Indonesia, etc. many players are still using RTX2k-3k GPUs or similar because upgrading can represent years of savings.
It feels like some studios see successful live-service games and try to copy them, but then release titles that not only has a terrible gameplay, but rely heavily on DLSS, Frame Generation, or upscaling just to achieve acceptable performance.
If the target audience can't run the game well in the first place, it's much harder to build a large player base.
I'm baffled how game companies asking why their games didnt sold when the problem is already in front of them
Batman arkham, BF1&5 and more games was the proof that you can create a graphically magnificent game without needing a GPU that costs you a liver in 2026
My second big project dropped last week. I launched with ~250 wishlists. I did marketing when I could, in the capacity that I could. I'm not new to this. None of this is surprising.
I always hit that wall of "I COULD do a media post... OR I could make a better game" and I realized that I'll almost always choose the latter. I'm not proud of it. I spent 3 years and ~$5k on this. But my major take-home this time around is that's just who I am.
It's bittersweet but also kind of a relief to know I'm just in this for me and the close people in my life. Respect to everyone else grinding it out differently.
I'm looking for intentionally terrible game concepts. The more pointless, frustrating, boring, or absurd, the better.
Some ideas I came up with:
Give me your absolute worst game ideas. I'm just looking for fun ideas, but if something really stands out, I might try making it into a small game.
Let's see who can come up with the most useless game ever made.
(hi,) now i would like to use re("hint",f()) : function re(s string,r any,e error){} similiar ..
can i unpack f() ? ...f() or *f()
or something like structured-binding ?
s,(r,e) = "ho",f()
re( s string ,[r any,e error] )
thanks in advance, andi
Hey folks,
I’ve been working on Crate for the past few weeks. It’s a small daemonless container runtime written in Go for Linux.
The goal was to understand how container runtimes work under the hood instead of treating Docker/Podman as magic. It launches containers directly, stores state on disk, and supports both rootless and rootful execution.
Currently, it supports the core pieces of a basic container runtime:
run, create, start, stop, ps, logs, and rmpivot_root / chrootpasta and port publishing (doesn't support networking in root gonna add that soon)I’ve also written a small guide/docs series for anyone else who wants to understand or build something similar: docs
It’s still experimental and not production-ready. Big missing pieces include cgroups/resource limits, stronger security hardening, full OCI compliance, better registry support, multi-platform support and probably a million other things that Im forgetting.
Repo: https://github.com/aayushkdev/crate/
I’m still improving it, so I’d love to hear feedback, ideas, or suggestions. If you like the project, a star on GitHub would mean a lot.
| We just shipped mariadb-operator 26.06, and this one is a big deal! The multi-cluster feature has been on the roadmap for a while, and we're really happy with how it turned out. Full release notes are linked, but here's the rundown of what's new. Multi-cluster topologyThis is the one we've been building toward. The operator can now manage The idea: you deploy a primary A multi-cluster setup can be deployed in two ways: Across multiple Kubernetes clusters: each Kubernetes cluster runs a MariaDB cluster with its own HA mechanism. The clusters are connected via remote replication, forming a hierarchy where the primary cluster receives all write operations and the replica clusters replicate data from it. This provides both intra-cluster HA (within each cluster) and inter-cluster HA (across Kubernetes clusters), making it ideal for multi-region deployments and disaster recovery. Within a single Kubernetes cluster: a single Kubernetes cluster can host multiple MariaDB clusters with local replication configured between them. This is useful for blue-green deployments, where one cluster serves traffic while the other is updated in the background, enabling zero-downtime upgrades without data loss. Here's the minimal config to set up a primary part of a multi-cluster topology: The replica cluster is bootstrapped from a Then, in order to promote the replica cluster to primary, you can perform a switchover driven by the operator: put the primary in maintenance mode, wait for the replica to catch up, patch Maintenance modeThe operator now provides a maintenance mode that allows you to safely perform maintenance operations on a MariaDB cluster. When enabled, maintenance mode gives you fine-grained control over how the database behaves during maintenance windows, including blocking new connections, draining existing connections, and setting the database to read-only mode. This is particularly useful for cluster switchover in multi-cluster setups (preventing writes to the primary cluster before promoting a replica), debugging by isolating the database from application traffic, or any operational task that requires controlled access. The maintenance mode supports three composable modes:
Root password rotationYou can now rotate the root password of a This enables seamless credential rotation without downtime, and works well with GitOps tools like sealed-secrets and external-secrets for managing secrets declaratively. Community shoutoutWe're really grateful for all the community contributions in this release: bug reports, PRs, and feedback from folks running this in production are what drive the project forward. If you're using the operator, consider adding yourself to the adopters list or dropping a star on the repo. Thank you! [link] [comments] |
built a tiny in-memory db in Go to understand what's actually happening inside Redis. here's what I learned about hash tables, lock contention, and why Redis isn't just a HashMap.
| Started building Keel in 2017 when go-micro felt like too much for what I needed. Wanted something simple — register a service, boot it, done. 8 years and multiple production systems later it handles HTTP, WebSockets, TCP, NATS, MongoDB/MySQL/PostgreSQL, Redis, Meilisearch, FCM notifications, circuit breakers, distributed tracing, and more. New service from zero to running in under 5 minutes. GitHub: github.com/glodb/keel Happy to answer questions about the design decisions. [link] [comments] |
I kept wanting something lighter than a full cloud suite just to browse and manage mounted storage on my server, so I built this
It is a self-hosted web file manager for Linux servers
What it does right now:
- Browse multiple configured mount points from one Ul
- Upload large files with chunked/resumable uploads
- Preview images, video, audio, PDFs, code, and text files
- Copy/move/delete through background jobs
- WebSocket progress updates for long operations
- Search files/folders by name
- Read-only mounts, users, rate limits, and allowed origins
Stack:
- Backend: Go
- Frontend: SvelteKit / TypeScript
- Deployment: Docker / Compose
- License: MIT
I am using it for my own homelab, but I'd love feedback from people who actually run NAS/homelab setups.
Links -
Github: https://github.com/jR4dh3y/BoxBox ( star would be appreciated )
Website: https://boxbox.radhey.dev
PRs and issues are open, and I'd genuinely appreciate commits, bug reports, feature ideas, or security feedback from anyone running this in a real homelab.