Home Blog Page 2

Kieran Norton, Deloitte’s US Cyber AI & Automation chief – Interview Sequence

0


Kieran Norton a principal (accomplice) at Deloitte & Touche LLP, is the US Cyber AI & Automation Chief for Deloitte. With over 25 years of in depth expertise and a strong expertise background, Kieran excels in addressing rising dangers, offering shoppers with strategic and pragmatic insights into cybersecurity and expertise danger administration.

Inside Deloitte, Kieran leads the AI transformation efforts for the US Cyber observe. He oversees the design, improvement, and market deployment of AI and automation options, serving to shoppers improve their cyber capabilities and undertake AI/Gen AI applied sciences whereas successfully managing the related dangers.

Externally, Kieran helps shoppers in evolving their conventional safety methods to help digital transformation, modernize provide chains, speed up time to market, scale back prices, and obtain different essential enterprise targets.

With AI brokers turning into more and more autonomous, what new classes of cybersecurity threats are rising that companies could not but absolutely perceive?

The dangers related to utilizing new AI associated applied sciences to design, construct, deploy and handle brokers could also be understood—operationalized is a unique matter.

AI agent company and autonomy – the flexibility for brokers to understand, determine, act and function unbiased of people –can create challenges with sustaining visibility and management over relationships and interactions that fashions/brokers have with customers, knowledge and different brokers.  As brokers proceed to multiply throughout the enterprise, connecting a number of platforms and providers with growing autonomy and resolution rights, this can develop into more and more tougher. The threats related to poorly protected, extreme or shadow AI company/autonomy are quite a few. This could embrace knowledge leakage, agent manipulation (by way of immediate injection, and many others.) and agent-to-agent assault chains.  Not all of those threats are here-and-now, however enterprises ought to take into account how they are going to handle these threats as they undertake and mature AI pushed capabilities.

AI Id administration is one other danger that ought to be thoughtfully thought of.  Figuring out, establishing and managing the machine identities of AI brokers will develop into extra complicated as extra brokers are deployed and used throughout enterprises. The ephemeral nature of AI fashions / mannequin parts which are spun up and torn down repeatedly below various circumstances, will end in challenges in sustaining these mannequin IDs.  Mannequin identities are wanted to observe the exercise and conduct of brokers from each a safety and belief perspective. If not carried out and monitored correctly, detecting potential points (efficiency, safety, and many others.) might be very difficult.

How involved ought to we be about knowledge poisoning assaults in AI coaching pipelines, and what are one of the best prevention methods?

Information poisoning represents considered one of a number of methods to affect / manipulate AI fashions throughout the mannequin improvement lifecycle. Poisoning usually happens when a nasty actor injects dangerous knowledge into the coaching set. Nevertheless, it’s necessary to notice that past specific adversarial actors, knowledge poisoning can happen as a result of errors or systemic points in knowledge technology.  As organizations develop into extra knowledge hungry and search for useable knowledge in additional locations (e.g., outsourced handbook annotation, bought or generated artificial knowledge units, and many others.), the potential of unintentionally poisoning coaching knowledge grows, and will not all the time be simply recognized.

Focusing on coaching pipelines is a main assault vector utilized by adversaries for each refined and overt affect. Manipulation of AI fashions can result in outcomes that embrace false positives, false negatives, and different extra refined covert influences that may alter AI predictions.

Prevention methods vary from implementing options which are technical, procedural and architectural.  Procedural methods embrace knowledge validation / sanitization and belief assessments; technical methods embrace utilizing safety enhancements with AI strategies like federated studying; architectural methods embrace implementing zero-trust pipelines and implementing strong monitoring / alerting that may facilitate anomaly detection. These fashions are solely pretty much as good as their knowledge, even when a company is utilizing the most recent and best instruments, so knowledge poisoning can develop into an Achilles heel for the unprepared.

In what methods can malicious actors manipulate AI fashions post-deployment, and the way can enterprises detect tampering early?

Entry to AI fashions post-deployment is often achieved via accessing an Software Programming Interface (API), an software by way of an embedded system, and/or by way of a port-protocol to an edge machine. Early detection requires early work within the Software program Improvement Lifecycle (SDLC), understanding the related mannequin manipulation strategies in addition to prioritized menace vectors to plot strategies for detection and safety. Some mannequin manipulation entails API hijacking, manipulation of reminiscence areas (runtime), and gradual / gradual poisoning by way of mannequin drift. Given these strategies of manipulation, some early detection methods could embrace utilizing finish level telemetry / monitoring (by way of Endpoint Detection and Response and Prolonged Detection and Response), implementing safe inference pipelines (e.g., confidential computing and Zero Belief ideas), and enabling mannequin watermarking / mannequin signing.

Immediate injection is a household of mannequin assaults that happen post-deployment and can be utilized for numerous functions, together with extracting knowledge in unintended methods, revealing system prompts not meant for regular customers, and inducing mannequin responses which will forged a company in a damaging gentle. There are number of guardrail instruments out there to assist mitigate the chance of immediate injection, however as with the remainder of cyber, that is an arms race the place assault strategies and defensive counter measures are continuously being up to date.

How do conventional cybersecurity frameworks fall brief in addressing the distinctive dangers of AI methods?

We usually affiliate ‘cybersecurity framework’ with steering and requirements – e.g. NIST, ISO, MITRE, and many others. A number of the organizations behind these have printed up to date steering particular to defending AI methods which might be very useful.

AI doesn’t render these frameworks ineffective – you continue to want to handle all the standard domains of cybersecurity — what it’s possible you’ll want is to replace your processes and packages (e.g. your SDLC) to handle the nuances related to AI workloads.  Embedding and automating (the place attainable) controls to guard in opposition to the nuanced threats described above is probably the most environment friendly and efficient manner ahead.

At a tactical degree, it’s price mentioning that the total vary of attainable inputs and outputs is usually vastly bigger than non-AI functions, which creates an issue of scale for conventional penetration testing and rules-based detections, therefore the concentrate on automation.

What key components ought to be included in a cybersecurity technique particularly designed for organizations deploying generative AI or massive language fashions?

When creating a cybersecurity technique for deploying GenAI or massive language fashions (LLMs), there is no such thing as a one-size-fits-all strategy. A lot is dependent upon the group’s general enterprise targets, IT technique, business focus, regulatory footprint, danger tolerance, and many others. in addition to the particular AI use instances into consideration.   An inner use solely chatbot carries a really totally different danger profile than an agent that might influence well being outcomes for sufferers for instance.

That mentioned, there are fundamentals that each group ought to deal with:

  • Conduct a readiness evaluation—this establishes a baseline of present capabilities in addition to identifies potential gaps contemplating prioritized AI use instances. Organizations ought to establish the place there are present controls that may be prolonged to handle the nuanced dangers related to GenAI and the necessity to implement new applied sciences or improve present processes.
  • Set up an AI governance course of—this can be internet new inside a company or a modification to present danger administration packages. This could embrace defining enterprise-wide AI enablement features and pulling in stakeholders from throughout the enterprise, IT, product, danger, cybersecurity, and many others. as a part of the governance construction. Moreover, defining/updating related insurance policies (acceptable use insurance policies, cloud safety insurance policies, third-party expertise danger administration, and many others.) in addition to establishing L&D necessities to help AI literacy and AI safety/security all through the group ought to be included.
  • Set up a trusted AI structure—with the stand-up of AI / GenAI platforms and experimentation sandboxes, present expertise in addition to new options (e.g. AI firewalls/runtime safety, guardrails, mannequin lifecycle administration, enhanced IAM capabilities, and many others.) will have to be built-in into improvement and deployment environments in a repeatable, scalable style.
  • Improve the SDLC—organizations ought to construct tight integrations between AI builders and the chance administration groups working to guard, safe and construct belief into AI options. This contains establishing a uniform/commonplace set of safe software program improvement practices and management necessities, in partnership with the broader AI improvement and adoption groups.

Are you able to clarify the idea of an “AI firewall” in easy phrases? How does it differ from conventional community firewalls?

An AI firewall is a safety layer designed to observe and management the inputs and outputs of AI methods—particularly massive language fashions—to stop misuse, defend delicate knowledge, and guarantee accountable AI conduct. In contrast to conventional firewalls that defend networks by filtering visitors based mostly on IP addresses, ports, and identified threats, AI firewalls concentrate on understanding and managing pure language interactions. They block issues like poisonous content material, knowledge leakage, immediate injection, and unethical use of AI by making use of insurance policies, context-aware filters, and model-specific guardrails. In essence, whereas a standard firewall protects your community, an AI firewall protects your AI fashions and their outputs.

Are there any present business requirements or rising protocols that govern using AI-specific firewalls or guardrails?
Mannequin communication protocol (MCP) shouldn’t be a common commonplace however is gaining traction throughout the business to assist deal with the rising configuration burden on enterprises which have a have to handle AI-GenAI resolution variety. MCP governs how AI fashions alternate data (together with studying) inclusive of integrity and verification. We are able to consider MCP because the transmission management protocol (TCP)/web protocol (IP) stack for AI fashions which is especially helpful in each centralized, federated, or distributed use instances. MCP is presently a conceptual framework that’s realized via numerous instruments, analysis, and tasks.

The area is transferring rapidly and we will count on it would shift fairly a bit over the subsequent few years.

How is AI reworking the sector of menace detection and response right now in comparison with simply 5 years in the past?

We’ve got seen the business safety operations heart (SOC) platforms modernizing to totally different levels, utilizing large high-quality knowledge units together with superior AI/ML fashions to enhance detection and classification of threats. Moreover, they’re leveraging automation, workflow and auto-remediation capabilities to cut back the time from detection to mitigation.  Lastly, some have launched copilot capabilities to additional help triage and response.

Moreover, brokers are being developed to satisfy choose roles throughout the SOC.  As a sensible instance, we’ve got constructed a ‘Digital Analyst’ agent for deployment in our personal managed providers providing.   The agent serves as a degree one analyst, triaging inbound alerts, including context from menace intel and different sources, and recommending response steps (based mostly on in depth case historical past) for our human analysts who then assessment, modify if wanted and take motion.

How do you see the connection between AI and cybersecurity evolving over the subsequent 3–5 years—will AI be extra of a danger or an answer?
As AI evolves over the subsequent 3-5 years, it might probably assist cybersecurity however on the similar time, it might probably additionally introduce dangers. AI will develop the assault floor and create new challenges from a defensive perspective.  Moreover, adversarial AI goes to extend the viability, velocity and scale of assaults which is able to create additional challenges. On the flip aspect, leveraging AI within the enterprise of cybersecurity presents vital alternatives to enhance effectiveness, effectivity, agility and velocity of cyber operations throughout most domains—finally making a ‘battle hearth with hearth’ situation.

Thanks for the good interview, readers might also want to go to Deloitte.

ios – Crash when importing or deleting photographs with AWSS3Manager in Swift 6 – attainable completion block problem?


I am working with AWS S3 in an iOS app utilizing Swift 6. I’ve a singleton class AWSS3Manager that handles importing and deleting photographs, movies, and different recordsdata. Nonetheless, after migrating to Swift 6, I am experiencing random crashes when importing or deleting a number of photographs. The difficulty appears to be associated to completion blocks being referred to as inappropriately or a number of occasions, particularly throughout picture add or when iterating by means of uploadImages.

@MainActor
class AWSS3Manager{

    static let shared = AWSS3Manager() // 4
    non-public init () {
        initializeS3()
    }
    let bucketName = "Bucket_Name" //5

    func initializeS3() {
        if S3Key == "" || S3SecretKeyName == "" {
//            if let topVC = UIApplication.topViewController() {
//                topVC.showError("One thing went unsuitable!")
//            }
            debugPrint("AWS initialisation Error")
            return
        }
        let credentials = AWSStaticCredentialsProvider(accessKey: S3Key, secretKey: S3SecretKeyName)
        let configuration = AWSServiceConfiguration(area: AWSRegionType.USEast1, credentialsProvider: credentials)

        AWSServiceManager.default().defaultServiceConfiguration = configuration
    }

    func uploadImages(photographs: [UIImage], paths: [String], completion: @escaping(_ response: Any?, _ error: Error?) -> Void){

        if photographs.rely == 0 || InternetConnectionManager.isConnectedToNetwork() == false {
            completion(nil, nil)
        }
        if AWSServiceManager.default().defaultServiceConfiguration == nil {
            initializeS3()
            let error = NSError(area: "AWS", code: 1001, userInfo: [NSLocalizedDescriptionKey: "AWS is not initialized."])
            completion(nil, error)
            return
        }
        var counter: Int = 0
        photographs.enumerated().forEach { i,picture in
            let imageName: String = String(paths[i].cut up(separator: "/").final ?? "(UUID().uuidString).jpeg")
            if let imageData = picture.jpegData(compressionQuality: 0.3),
               let localUrl = attempt? saveDataToTempFolder(information: imageData, fileName: imageName){
                self.uploadfile(fileUrl: localUrl, fileName: paths[i], contenType: "picture", progress: nil) { response, error in
                    counter += 1
                    if counter == paths.rely {
                        completion(nil, error)
                    }
                }
            }else{
                counter += 1
                if counter == paths.rely {
                    completion(nil, nil)
                }
            }
        }
    }

    func deleteImage(path: String){
        if AWSServiceManager.default().defaultServiceConfiguration == nil {
            initializeS3()
            if let topVC = UIApplication.topViewController() {
                topVC.showError("One thing went unsuitable!")
            }
            return
        }
        let s3 = AWSS3.default()
        guard let deleteObjectRequest = AWSS3DeleteObjectRequest() else {
            return
        }
        deleteObjectRequest.bucket = S3BucketName
        deleteObjectRequest.key = path
        s3.deleteObject(deleteObjectRequest).continueWith { (process:AWSTask) -> AnyObject? in
            if let error = process.error {
                debugPrint("Error occurred: (error)")
                return nil
            }
            debugPrint("Deleted efficiently.")
            return nil
        }
    }

    func deleteAllImagesForUser(userID: String) {
        if AWSServiceManager.default().defaultServiceConfiguration == nil {
            initializeS3()
            if let topVC = UIApplication.topViewController() {
                topVC.showError("One thing went unsuitable!")
            }
            return
        }
        let s3 = AWSS3.default()
        let folderPath = "Receipts/(userID)/"

        let listObjectsRequest = AWSS3ListObjectsRequest()
        listObjectsRequest?.bucket = S3BucketName
        listObjectsRequest?.prefix = folderPath

        s3.listObjects(listObjectsRequest!).continueWith { (process) -> AnyObject? in
            if let error = process.error {
                debugPrint("Error occurred whereas itemizing objects: (error)")
                return nil
            }

            if let listObjectsOutput = process.outcome, let contents = listObjectsOutput.contents {
                for object in contents {
                    let deleteObjectRequest = AWSS3DeleteObjectRequest()
                    deleteObjectRequest?.bucket = S3BucketName
                    deleteObjectRequest?.key = object.key

                    s3.deleteObject(deleteObjectRequest!).continueWith { (deleteTask) -> AnyObject? in
                        if let error = deleteTask.error {
                            debugPrint("Error occurred whereas deleting object (object.key ?? ""): (error)")
                        } else {
                            debugPrint("Deleted (object.key ?? "") efficiently.")
                        }
                        return nil
                    }
                }
            } else {
                debugPrint("No objects present in folder (folderPath)")
            }
            return nil
        }
    }

    // Add video from native path url
    func uploadVideo(videoUrl: URL, progress: progressBlock?, completion: completionBlock?) {
        let fileName = self.getUniqueFileName(fileUrl: videoUrl)
        self.uploadfile(fileUrl: videoUrl, fileName: fileName, contenType: "video", progress: progress, completion: completion)
    }

    // Add auido from native path url
    func uploadAudio(audioUrl: URL, progress: progressBlock?, completion: completionBlock?) {
        let fileName = self.getUniqueFileName(fileUrl: audioUrl)
        self.uploadfile(fileUrl: audioUrl, fileName: fileName, contenType: "audio", progress: progress, completion: completion)
    }

    // Add recordsdata like Textual content, Zip, and so on from native path url
    func uploadOtherFile(fileUrl: URL, conentType: String, progress: progressBlock?, completion: completionBlock?) {
        let fileName = self.getUniqueFileName(fileUrl: fileUrl)
        self.uploadfile(fileUrl: fileUrl, fileName: fileName, contenType: conentType, progress: progress, completion: completion)
    }

    // Get distinctive file identify
    func getUniqueFileName(fileUrl: URL) -> String {
        let strExt: String = "." + (URL(fileURLWithPath: fileUrl.absoluteString).pathExtension)
        return (ProcessInfo.processInfo.globallyUniqueString + (strExt))
    }

    //MARK:- AWS file add
    // fileUrl :  file native path url
    // fileName : identify of file, like "myimage.jpeg" "video.mov"
    // contenType: file MIME sort
    // progress: file add progress, worth from 0 to 1, 1 for 100% full
    // completion: completion block when uplaoding is end, you'll get S3 url of add file right here
    non-public func uploadfile(fileUrl: URL, fileName: String, contenType: String, progress: progressBlock?, completion: completionBlock?) {
        if AWSServiceManager.default().defaultServiceConfiguration == nil {
            initializeS3()
            if let topVC = UIApplication.topViewController() {
                topVC.showError("One thing went unsuitable!")
            }
            let error = NSError(area: "AWS", code: 1001, userInfo: [NSLocalizedDescriptionKey: "AWS is not initialized."])
            completion?(nil, error)
            return
        }
        // Add progress block
        let expression = AWSS3TransferUtilityUploadExpression()
        expression.progressBlock = {(process, awsProgress) in
            guard let uploadProgress = progress else { return }
            DispatchQueue.major.async {
                uploadProgress(awsProgress.fractionCompleted)
            }
        }
        // Completion block
        var completionHandler: AWSS3TransferUtilityUploadCompletionHandlerBlock?
        completionHandler = { (process, error) -> Void in
            DispatchQueue.major.async(execute: {
                if error == nil {
                    let url = AWSS3.default().configuration.endpoint.url
                    let publicURL = url?.appendingPathComponent(self.bucketName).appendingPathComponent(fileName)
                    let presignedURL = self.getPreSignedURL(S3DownloadKeyName: fileName)
                    if let completionBlock = completion {
                        completionBlock(fileName, nil)
                    }
                } else {
                    if let completionBlock = completion {
                        completionBlock(nil, error)
                    }
                }
            })
        }
        // Begin importing utilizing AWSS3TransferUtility
        let awsTransferUtility = AWSS3TransferUtility.default()
        awsTransferUtility.uploadFile(fileUrl, bucket: bucketName, key: fileName, contentType: contenType, expression: expression, completionHandler: completionHandler).continueWith { (process) -> Any? in
            if let error = process.error {
                debugPrint("error is: (error.localizedDescription)")
            }
            if let _ = process.outcome {
                // your uploadTask
            }
            return nil
        }
    }
}

Worms, Springs, and Smooth Robots: Tiny Creatures Encourage Large Leaps

0


Researchers at Georgia Tech just lately unveiled a powerful achievement: a 5-inch-long mushy robotic that may catapult itself 10 toes into the air – the peak of a basketball hoop – with none legs. The design was impressed by the standard nematode, a tiny roundworm thinner than a human hair that may bounce many occasions its physique size. 

By pinching its physique into tight kinks, the worm shops elastic power after which abruptly releases it, flinging itself skyward or backward like an acrobatic gymnast. The engineers mimicked this movement. Their “SoftJM” robotic is basically a versatile silicone rod with a stiff carbon-fiber spine. Relying on the way it bends, it might leap ahead or backward – although it has no wheels or legs.

In motion, the nematode-inspired robotic coils up very similar to an individual squatting, then explosively unbends to leap. A high-speed digital camera present how the worm curves its head up and kinks in the course of its physique to hop backward, then straightens and kinks on the tail to leap ahead. 

The Georgia Tech workforce discovered that these tight bends – usually an issue in hoses or cables – truly let the worm and the robotic retailer much more power. As one researcher famous, kinked straws or hoses are ineffective, however a kinked worm acts like a loaded spring. Within the lab, the mushy robotic reproduced this trick: it “pinches” its center or tail, tenses up, after which releases in a burst (about one-tenth of a millisecond) to soar into the air.

Smooth Robots on the Rise

Smooth robotics is a younger however quickly rising subject that usually takes cues from nature. Not like inflexible steel machines, mushy robots are made from versatile supplies that may squeeze, stretch and adapt to their environment. Early milestones within the subject embrace Harvard’s Octobot – an autonomous robotic made totally of silicone and fluid channels, with no inflexible elements, impressed by octopus muscular tissues. Since then, engineers have constructed a menagerie of soppy machines: from worm-like crawlers and jellified grippers to wearable “exo-suits” and rolling vine-like robots. 

For instance, Yale researchers created a turtle-inspired mushy robotic whose legs change between floppy flippers and agency “land legs” relying on whether or not it’s swimming or strolling. At UCSB, scientists made a vine-like robotic that grows towards gentle utilizing solely light-sensitive “pores and skin” – it actually extends itself via slender areas like a plant stem. These and different bio-inspired improvements present how mushy supplies can create new modes of motion.

General, supporters say mushy robots can go locations conventional robots can not. The U.S. Nationwide Science Basis notes that adaptive mushy machines “discover areas beforehand unreachable by conventional robots” – even contained in the human physique. Some mushy robots have programmable “skins” that change stiffness or coloration to mix in or grip objects. Engineers are additionally exploring origami/kirigami strategies, shape-memory polymers, and different tips so these robots can reconfigure on the fly.

Engineering Versatile Movement

Making a mushy robotic transfer like an animal comes with massive challenges. With out arduous joints or motors, designers should depend on materials properties and intelligent geometry. For instance, Georgia Tech’s jumper needed to embrace a carbon-fiber backbone inside its rubbery physique to make the spring motion highly effective sufficient. Integrating sensors and management methods can be tough. As Penn State engineers level out, conventional electronics are stiff and would freeze a mushy robotic in place.

To make their tiny crawling rescue robotic “sensible,” they needed to unfold versatile circuits fastidiously throughout the physique so it may nonetheless bend. Even discovering power sources is more durable: some mushy robots use exterior magnetic fields or pressurized air as a result of carrying a heavy battery would weigh them down.

The nematode-inspired mushy robots from Georgia Tech (Photograph: Candler Hobbs)

One other hurdle is exploiting the precise physics. The nematode-robot workforce realized that kinks truly assist. In a traditional rubber tube, a kink shortly stops move; however in a mushy worm it slow-builds inside stress, permitting far more bending earlier than launch. By experimenting with simulations and even water-filled balloon fashions, the researchers confirmed that their versatile physique may maintain plenty of elastic power when bent, then unleash it in a single quick hop. The result’s exceptional: from relaxation the robotic can bounce 10 toes excessive, repeatably, by merely flexing its backbone. These breakthroughs – discovering methods to retailer and launch power in rubbery supplies – are typical of soppy robotics engineering.

Actual-World Hoppers and Helpers

What are all these mushy robots good for? In precept, they will deal with conditions too harmful or awkward for inflexible machines. In catastrophe zones, as an illustration, mushy bots can wriggle below rubble or into collapsed buildings to seek out survivors. Penn State confirmed a prototype magnetically managed mushy crawler that would navigate tight particles and even transfer via blood-vessel-sized channels.

In drugs, microscopic mushy robots may ship medicine immediately within the physique. In a single MIT research, a thread-thin mushy robotic was envisioned to drift via arteries and clear clots, probably treating strokes with out open surgical procedure. Harvard scientists are engaged on mushy wearable exoskeletons too – a light-weight inflatable sleeve that helped ALS sufferers carry a shoulder, instantly enhancing their vary of movement.

Area businesses are additionally eyeing mushy leapers. Wheels can get caught on sand or rocks, however a hopping robotic may vault over craters and dunes. NASA is even imagining novel jumpers for the Moon and icy moons. In a single idea, a soccer-ball-sized bot referred to as SPARROW would use steam jets (from boiled ice) to hop many miles throughout Europa or Enceladus. Within the low gravity of these moons, a small bounce goes a really good distance – scientists be aware {that a} robotic’s one-meter leap on Earth may carry it 100 meters on Enceladus. The concept is that dozens of those hoppers may swarm throughout alien terrain “with full freedom to journey” the place wheeled rovers would stall. Again on Earth, future mushy jumpers may assist in search-and-rescue missions by leaping over rivers, mud, or unstable floor that might cease standard robots.

Smooth robots are additionally discovering work in trade and agriculture. NSF factors out they may turn into secure helpers on manufacturing facility flooring or on farms, as a result of they comply if a human is in the best way. Researchers have even constructed mushy grippers that lightly choose delicate fruit with out bruising it. The flexibleness of soppy machines means they will act in locations too small or versatile for inflexible units.

Ultimately, specialists imagine mushy robotics will essentially change many fields. From worms to wearable fits to lunar hoppers, this analysis thread exhibits how finding out tiny creatures can yield massive jumps in know-how.

ios – Presenting customized alert on prime of all of the views together with sheets or full display screen cowl


I’m looking for a working answer for this downside for a very long time however can not seem to get any options on SO working in my case. SwiftUI’s ‘.alert’ modifier appears to current itself on prime of all of the views, however the customization of the alert components is so restricted attributable to which I needed to create a customized alert. My alert comprises icons and styled buttons.

My app is advanced, so sharing a brief pattern working instance. The app presents a MainView and there’ll all the time be a sheet over it whose peak may be adjusted (typically full display screen cowl as an alternative of sheet). Alerts may be introduced by MainView and by any of the sheet views. In any case, I need alert to be all the time on prime of sheet view (or full display screen cowl)

Right here I attempted presenting an alert (take into account Coloration.black.opacity.. as an alert in my code under) in 2 other ways.

  • A technique is utilizing ZStack in ContentView and even in MainView. In each
    the circumstances, the AlertView opens behind SheetView and does not cowl
    SheetView.
  • Second method is utilizing an AlertViewModifier in SheetView.
    With this, the alert will get introduced throughout the SheetView (as an alternative of
    over SheetView) such that I’m nonetheless in a position to work together with the
    MainView and in addition in a position to regulate peak of SheetView.

Pattern code:

import SwiftUI

class SampleViewModel: ObservableObject {
    @Printed var showSheet = false
    @Printed var panelDetent = PresentationDetent.medium
    @Printed var showZStackAlert: Bool = false
}

struct ContentViewA: View {
    @StateObject var viewModel: SampleViewModel = .init()
    @State non-public var showSheet: Bool = false
    var physique: some View {
        NavigationStack {
            ZStack {
                if viewModel.showZStackAlert {
                    AlertView()
                }
                
                MainView()
            }
        }
        .environmentObject(viewModel)
    }
}

/// Presenting customized alert from foremost ContentView
struct AlertView: View {
    var physique: some View {
        VStack {
            Coloration.black.opacity(0.5).edgesIgnoringSafeArea(.all)
        }
    }
}

struct MainView: View {
    @EnvironmentObject var viewModel: SampleViewModel
    @State non-public var showSheet: Bool = false
    var physique: some View {
        ZStack {
//            if viewModel.showZStackAlert {
//                AlertView()
//            }
//            
            VStack {
                Textual content("That is foremost view with all the time one sheet displayed")
            }
        }
        .onAppear {
            self.showSheet = true
        }
        .sheet(isPresented: $showSheet) {
            SheetView().environmentObject(viewModel)
        }
        // Extra sheets
        //.sheet(isPresented: $showSheetA) {
            //SheetViewA().environmentObject(viewModel)
        //}
    }
}

struct SheetView: View {
    @EnvironmentObject var viewModel: SampleViewModel
    @Surroundings(.presentationMode) non-public var presentationMode
    @State non-public var showAlert: Bool = false
    
    var physique: some View {
        NavigationStack {
            ZStack {
                Coloration.mint.opacity(0.1).edgesIgnoringSafeArea(.all)

                VStack {
                    Button {
                        viewModel.showZStackAlert = true
                        // self.showAlert = true
                    } label: {
                        Textual content("Faucet me to open alert")
                    }
                }
            }
        }
        .presentationDetents([.medium, .large], choice: $viewModel.panelDetent)
        .interactiveDismissDisabled(true)
        .presentationBackgroundInteraction(.enabled)
        .alertView(isPresented: $showAlert)
    }
}

/// Presenting customized alert utilizing Alert View Modifier
struct AlertViewModifier: ViewModifier {
    @Binding var isPresented: Bool
    
    init(isPresented: Binding) {
        self._isPresented = isPresented
    }

    func physique(content material: Content material) -> some View {
        content material
            .animation(nil, worth: self.$isPresented.wrappedValue)
            .overlay(self.$isPresented.wrappedValue ? Coloration.black.opacity(0.5) : nil)
            .overlay(self.$isPresented.wrappedValue ? alertContent() : nil)
            .animation(.default, worth: self.$isPresented.wrappedValue)
    }
    
    @ViewBuilder
    non-public func alertContent() -> some View {
        GeometryReader { geometry in
            if self.$isPresented.wrappedValue {
                VStack {
                    /// Contents of alert view
                }
                .fixedSize(horizontal: false, vertical: true)
                .place(x: geometry.measurement.width/2, y: geometry.measurement.peak/2)
                .body(minWidth: 350.0, maxWidth: 350.0)
            }
        }
    }
}

extension View {
    func alertView(isPresented: Binding) -> some View {
        return modifier(AlertViewModifier(isPresented: isPresented))
    }
}

How can I current AlertView all the time on prime of sheet view?

Epson provides GX-C Collection with RC800A controller to its robotic line

0


Epson provides GX-C Collection with RC800A controller to its robotic line

The brand new GX-C robotic is designed for efficiency and adaptability. Supply: Epson Robots

Epson Robots, which claimed to be the the world’s No. 1 SCARA robotic producer, right this moment introduced its new GX-C sequence, which makes use of the RC800A controller and SafeSense know-how. The Los Alamitos, Calif.-based firm stated the GX4C, GX8C, GX10C and GX20C robots ship excessive efficiency and adaptability in a compact footprint.

“With producers striving for better productiveness and precision, the demand for superior automation options is quickly accelerating,” stated Rick Brookshire, director of robotics at Epson America Inc. “Engineered to tackle even probably the most advanced meeting duties, the brand new GX-C Collection gives a compelling mix of excessive efficiency, intuitive operation, and confirmed reliability — serving to producers drive effectivity and keep aggressive in a fast-changing business.”

Epson Robots stated it has bought greater than 150,000 SCARA and six-axis robots primarily based on a standard PC platform. The unit of Epson Group, led Japan-based Seiko Epson Corp., supplies robots for precision meeting and materials dealing with purposes in a number of industries. They embody aerospace, equipment, automotive, biotechnology, shopper product, electronics, meals processing, medical gadget, pharmaceutical, plastics, semiconductor, and telecommunications.


SITE AD for the 2025 Robotics Summit registration.
Register now so you do not miss out!


GX-C Collection is designed for ease of use

The GX-C Collection gives a number of arm configurations for elevated productiveness and employee safety whereas minimizing machine footprint, in response to Epson. It additionally options GYROPLUS vibration-reduction know-how to assist optimize workcell throughput with clean motions and quick settling occasions.

Designed for ease of use, the sequence consists of Epson RC+ 8.0, the most recent model of the corporate’s software program improvement platform. Extra GX-C Collection options embody:

  • Excessive efficiency and adaptability: Excessive throughput with max-rated payloads and a number of arm configurations to perform probably the most demanding meeting wants
  • Quick cycle occasions: Excessive acceleration, clean movement, and quick settling occasions can maximize throughput with proprietary GYROPLUS system, plus no ringing or overshoot, when operated inside specs
  • Ease of use: Epson asserted that its “intuitive and feature-packed” Epson RC+ improvement software program gives a easy consumer interface, an built-in debugger, and a complicated 3D simulator
  • Designed for reliability: The GX-C is designed to deal with workloads at quick speeds and excessive precision inside a small footprint
  • Low whole price of possession (TCO): The brand new SCARA robots embody options to scale back assist and set up prices: batteryless encoders, a built-in Ethernet cable, Epson RC+ software program, and a wealthy suite of security options
  • Accelerated improvement of workcell purposes: These are totally built-in; non-compulsory options embody imaginative and prescient steering, elements feeding, pressure steering, conveyer monitoring and fieldbus; Epson RC+ Options Platform permits for seamless growth of third-party options, benefiting builders and finish customers
  • Elevated consumer interplay with out sacrificing productiveness: SafeSense consists of commonplace and superior security options; with a correct threat evaluation, it may assist improve productiveness and employee safety whereas minimizing machine footprint as a result of discount of bodily boundaries
  • Minimized the workcell house requirement with an optimized robotic footprint: The new sequence has a number of mount and cable exit choices; 250, 300, or 350 mm (9.8, 11.8, or 13.7 in.) attain obtainable for the GX4C; 450, 550, or 650 mm (17.7, 21.6, or 25.5 in.) attain obtainable for the GX8C; 650 or 850 mm (25.5 or 33.4 in.) attain obtainable for the GX10C; 850 or 1,000 mm (33.4 or 39.3 in.) attain obtainable for the GX20C
  • Constructed for demanding environments: Commonplace, Cleanroom (ISO 3)2 and electrostatic discharge (ESD), protected IP65, and standalone ESD fashions can be found
  • Service and assist: With 4 a long time of automation expertise, Epson stated it supplies automation assist by way of its devoted utility and repair groups

The GX4C, GX8C, GX10C and GX20C are actually obtainable by way of Epson Robots’ channel of distributor companions.

Epson's GX-C six-axis robot, shown here, is designed to work with its RC+ development software.

The GX-C robotic is designed to work with the RC+ improvement software program. Supply: Epson Robots

RC800A controller comes with SafeSense know-how

Epson Robots stated its RC800A robotic controller is constructed to carry out with industrial-rated security options whereas optimizing runtime, restoration, and error dealing with. It gives elevated energy and power financial savings in contrast with earlier fashions and supplies safety-rated velocity and place monitoring.

When paired with correct threat evaluation, this superior know-how allows human-robot interplay with out a security fence, the corporate claimed. By eliminating the necessity for bodily security boundaries, the RC800A might help scale back each the footprint and general price of robotic automation programs.

As well as, the controller can improve productiveness by enabling quicker machine interplay for day by day operations and upkeep. The controller additionally consists of the Epson RC+ software program to streamline program improvement and simplify automation duties.

Epson to exhibit at Automate

Epson plans to reveal its programs at Sales space 2818 Automate 2025 on Might 12 to fifteen in Detroit. Attendees can see the brand new GX-C Collection, and companions will present the corporate’s excessive efficiency SCARA, six-axis, and different automated programs.

“We’re showcasing how Epson Robots mix ease of use, highly effective efficiency and superior options that assist secure, dynamic interplay between individuals and automation,” stated Scott Marsic, group product supervisor at Epson America.

“Via interactive demos and real-world purposes, attendees will see how our options make high-performance automation extra accessible,” he added. “Our lately launched SafeSense know-how additionally demonstrates how customers can function safely and effectively alongside industrial robots throughout a variety of industries and duties.”

Attendees may have alternatives to attend academic displays and seek the advice of with Epson’s professional utility and repair groups. They will additionally discover each open-base robots (CX12XL, LS20B, and N6) and enclosed programs (GX8 and VT6L with IF380) that spotlight their versatility throughout industries. The workflows will embody scanning of enormous elements, motion of heavy payloads, half transfers between slots in a standing cubicle, a stacking problem, and a pick-and-place demo.

Periods will embody “Past the Labor: Understanding Robotic ROI from Manufacturing to Income” on Wednesday, Might 14 from 8:00 to eight:45 a.m. EDT in Room 320 and “The place Will the Latest Breakthrough in Robots Come From? The place Have We Been and The place Are We Headed?” on Might 14 from 1:30 to 2:15 p.m. in Room 321.

Key companions on the present will embody Lanco Built-in (Sales space 1309), Addtronics (Sales space 2210), Common Machine and Engineering Corp. (Sales space 5604), and igus Inc. (Sales space 2613). They may present purposes together with inspection, pick-and-place operations, meeting, and movement plastics.