13 C
New York
Saturday, March 29, 2025
Home Blog Page 13

The Standing of Optical Transport Gear


The optical transport community (OTN) market is poised once more for strong development as operators put together their infrastructures to deal with a brand new technology of bandwidth-hungry functions and AI deployments.

“There’s a gentle on the finish of this tunnel,” mentioned Jimmy Yu, vice chairman of analysis at Dell’Oro Group, citing the OTN market’s sturdy efficiency over the past quarter of 2024. “The gear glut is over.”

Distributors have indicated elevated gear order flows, Yu mentioned, and optical income in North America is enhancing.

Serving Telecom Operators and Information Facilities

The OTN market is fueled by cloud computing, 5G deployment and bandwidth-intensive functions, akin to video streaming and AI-driven analytics. AI and cloud put large new calls for on information heart and community operators. As visitors quantity continues to quickly climb, operators are tasked to beat challenges by upgrading services with superior optical community units.

In consequence, telecom operators and information facilities are investing closely in system upgrades, based on a report issued by Orion Market Analysis. Operators are specializing in improvements in wavelength-division multiplexing (WDM) and software-defined networking (SDN) to boost their OTN capabilities.

The OTN market’s resurgence comes after an gear overbuying interval by which service suppliers hoarded optical transport merchandise, unsure of when COVID-19-era provide chains would recuperate and financial headwinds subside. Moreover, the market is benefiting from the introduction of 1.2 Tbps transmission and extra environment friendly energy use. Nokia’s $2.3 billion acquisition of Infinera, meantime, offered one other jolt of optimism.

Associated:How AI, Vitality Necessities Are Shaping Information Middle Funding

OTN Developments

Along with WDM and SDN deployments, OTN and information heart operators are assessing different improvements designed to make them extra environment friendly, based on Dell’Oro’s Yu. These development embody:

  • 800 Gbps ZR/ZR+ optical plugs and 1.6 Tbps-capable transponders. Each will enhance capability, decrease energy consumption and scale back the associated fee per bit. The optical plugs present higher attain and might run over telcos’ reconfigurable optical add-drop multiplexer-based line methods.

  • Programs designed to cut back energy. Dense wavelength-division multiplexing (DWDM) reduces the variety of optics units within the hyperlink between information facilities. In information heart interconnect, using IP over DWDM is a method operators can save on energy prices within the face of superior information processing necessities.

  • Discovering methods so as to add extra spectrum for extra capability. Operators want fiber strands to hold extra capability. With the heightened want for extra bandwidth, they may discover they should add extra strands of fiber, which is not at all times doable and might trigger community congestion alongside some routes.

Associated:Revolutionizing Information Facilities: The Affect of Direct Liquid Cooling

The Severe Want for Pace

Meantime, operators proceed to check the efficiency of higher-capacity networks. Cisco and Arelion, for instance, not too long ago concluded a trial of an optical transmission system with 1.2 Tbps of capability. One other Arelion trial, this time with Ciena, accomplished a 1.6 Tbps wavelength information transmission in a reside community feed. Lastly, In mid-March, AT&T mentioned it had efficiently examined 1.6 Tbps single-carrier wavelength throughout 296 kilometers of its industrial long-distance fiber community. The wavelength — utilizing a single gentle frequency — carried two 800 GbE circuits.

Yu mentioned industrial availability of 1.6 Tbps optical gear may arrive in 2026.

Recent Gamers with Huge Fiber Community Plans

The OTN market will get one other enhance from large tech and social media giants linking their far-reaching terrestrial optical networks to subsea fiber cables.

Meta, for instance, is planning a 50,000-kilometer subsea community, whereas Google, Microsoft and others are plotting sprawling optical networks to present their information facilities the capability to course of AI and analytic workloads whilst they set the stage for quantum computing.



Media3 1.6.0 — what’s new?



Media3 1.6.0 — what’s new?

Posted by Andrew Lewis – Software program Engineer

This text is cross-published on Medium

This launch features a host of bug fixes, efficiency enhancements and new options. Learn on to seek out out extra, and as at all times please try the full launch notes for a complete overview of modifications on this launch.


Playback, MediaSession and UI

ExoPlayer now helps HLS interstitials for advert insertion in HLS streams. To play these advertisements utilizing ExoPlayer’s built-in playlist help, go an HlsInterstitialsAdsLoader.AdsMediaSourceFactory because the media supply manufacturing facility when creating the participant. For extra info see the official documentation.

This launch additionally consists of experimental help for ‘pre-warming’ decoders. With out pre-warming, transitions from one playlist merchandise to the subsequent is probably not seamless in some instances, for instance, we may have to modify codecs, or decode some video frames to succeed in the beginning place of the brand new media merchandise. With pre-warming enabled, a secondary video renderer can begin decoding the brand new media merchandise earlier, giving near-seamless transitions. You possibly can do this characteristic out by enabling it on the DefaultRenderersFactory. We’re actively engaged on additional enhancements to the way in which we work together with decoders, together with including a ‘quick looking for mode’ so keep tuned for updates on this space.

Media3 1.6.0 introduces a brand new media3-ui-compose module that comprises performance for constructing Compose UIs for playback. You’ll find a reference implementation within the Media3 Compose demo and study extra in Getting began with Compose-based UI. At this level we’re offering a primary set of foundational state lessons that hyperlink to the Participant, along with some primary composable constructing blocks. You need to use these to construct your personal custom-made UI widgets. We plan to publish default Materials-themed composables in a later launch.

Another enhancements on this launch embody: transferring system calls off the appliance’s principal thread to the background (which ought to cut back ANRs), a brand new decoder module wrapping libmpegh (for bundling object-based audio decoding in your app), and a repair for the Solid extension for apps focusing on API 34+. There are additionally fixes throughout MPEG-TS and WebVTT extraction, DRM, downloading/caching, MediaSession and extra.

Media extraction and body retrieval

The brand new MediaExtractorCompat is a drop-in alternative for the framework MediaExtractor however carried out utilizing Media3’s extractors. In case you’re utilizing the Android framework MediaExtractor, take into account migrating to get constant conduct throughout gadgets and cut back crashes.

We have additionally added experimental help for retrieving video frames in a brand new class ExperimentalFrameExtractor, which may act as a alternative for the MediaMetadataRetriever getFrameAtTime strategies. There are just a few advantages over the framework implementation: HDR enter is supported (by default tonemapping right down to SDR, however with the choice to provide HLG bitmaps from Android 14 onwards), Media3 results may be utilized (together with Presentation to scale the output to a desired dimension) and it runs sooner on some gadgets resulting from transferring coloration area conversion to the GPU. Here is an instance of utilizing the brand new API:

val bitmap =
    withContext(Dispatchers.IO) {
        val configuration =
            ExperimentalFrameExtractor.Configuration
                .Builder()
                .setExtractHdrFrames(true)
                .construct()
        val frameExtractor =
            ExperimentalFrameExtractor(
                context,
                configuration,
            )

        frameExtractor.setMediaItem(mediaItem, /*results*/ listOf())

        val body = frameExtractor.getFrame(timestamps).await()
        frameExtractor.launch()
        body.bitmap
    }

Modifying, transcoding and export

Media3 1.6.0 consists of efficiency, stability and practical enhancements in Transformer. Highlights embody: help for transcoding/transmuxing Dolby Imaginative and prescient streams on gadgets that help this format and a brand new MediaProjectionAssetLoader for recording from the display, which you’ll be able to check out within the Transformer demo app.

Take a look at Frequent media processing operations with Jetpack Media3 Transformer for some code snippets exhibiting easy methods to course of media with Transformer, and tricks to cut back latency.

This launch additionally features a new Kotlin-based demo app showcasing Media3’s video results framework. You possibly can choose from a wide range of video results and preview them by way of ExoPlayer.setVideoEffects.

Media3 video effect animation

Animation exhibiting distinction adjustment and a confetti impact within the new demo app

Get began sith Media3 1.6.0

Please get in contact by way of the Media3 situation Tracker should you run into any bugs, or in case you have questions or characteristic requests. We sit up for listening to from you!

Company renewable power contracts break annual report


Company power consumers purchased 21.7 gigawatts of renewable power in 2024, an annual report that boosted additions to the U.S. electrical grid from such transactions to 100 gigawatts since 2014. That’s based on the Clear Power Patrons Affiliation’s 2024 Deal Tracker.

For context, 1 gigawatt of electrical energy can help 750,000 U.S. households for one yr. 

Simply shy of three % of all renewable era on the U.S. grid is attributable to some type of company transaction, based on CEBA. The evaluation considers publicly reported offers which can be a minimum of 20 megawatts in capability; a minimum of 235 corporations have introduced offers since 2014. 

Firms negotiate voluntary energy buy agreements and different kinds of contracts with utilities for clear power to allow them to use them to achieve renewable power objectives and declare greenhouse gasoline emissions reductions. This observe has grow to be extra standard over the previous 5 years.

Clean Energy Buyers Association Infographic

Key takeaways from CEBA’s newest evaluation:

  • The Solar guidelines: Solar energy accounted for the overwhelming majority of the 2024 purchases — 73 % — regardless of ongoing allowing and grid interconnection delays.
  • Nuclear surprises: Firms procured 1.5 gigawatts from nuclear services, about 6.7 % of whole (in contrast with 7.7 % for wind). Nuclear power wasn’t even talked about within the 2023 Deal Tracker abstract. Each Microsoft and Amazon have signed high-profile offers up to now 12 months.
  • Batteries bloom: There was a 300 % enhance in capability throughout 2024, accounting for 7.7 % of capability added.
  • Geothermal firsts: Google’s 115-megawatt contract with Fervo in Nevada made the record. It makes use of a brand new kind of tariff to insulate different clients from the price of investing in an rising know-how.
  • Curiosity continues to develop: 20 new corporations finalized a deal in 2024, fewer than the 28 in 2023 however nonetheless notable progress.
  • Half the contracted capability is operational: 54 gigawatts have been switched on.

What’s forward

Whereas the Trump administration’s insurance policies favor fossil fuels over renewable era, clear electrical energy capability continues to develop quickly together with general world power demand. The world’s power urge for food surged 2.2 % in 2024, sooner than the common demand progress of 1.3 % between 2013 and 2023.

Low-emissions era sources coated many of the capability will increase final yr, based on the Worldwide Power Company. Whole worldwide capability is now round 700 gigawatts. Nuclear energy capability reached its fifth highest degree up to now 5 a long time, IEA reported.

Tech corporations constructing out large information facilities for synthetic intelligence are on the middle of this controversial progress. Whereas CEBA’s report doesn’t disclose or focus on particular corporations, Amazon was the single-biggest company purchaser in 2024 — for the fifth yr in a row. 

The tech firm has invested in 600 tasks up to now, together with ones in states resembling Louisiana and Mississippi which have proportions of high-emitting fossil fuels as era sources. Within the latter state, tasks backed by Amazon account for twenty-four % of photo voltaic electrical energy on the grid.

ios – SwiftUI Views are shifting after being loaded (the peak is altering)


So I’m utilizing a swiftUI view inside UIKit utilizing UIHostingController . That is the code for that half

class ProductCardViewController: UIViewController {
  var purchaseResult: PurchaseResult = .failure

  override func viewAppearance() {
    tremendous.viewAppearance()
      let productCardVc: UIHostingController
    change purchaseResult {
    case .success:
       let productCardVc = UIHostingController(rootView: AnyView(ProductCardView()))
    case .failure:
        productCardVc = UIHostingController(rootView: AnyView(ProductPurchaseFailureView(navigationController: navigationController)))
    }
    setupHostingController(productCardVc)
  }

  personal func setupHostingController(_ hostingController: UIHostingController) {
    hostingController.view.bounds = view.bounds
    hostingController.view.backgroundColor = .clear
    hostingController.view.translatesAutoresizingMaskIntoConstraints = false
    view.addSubview(hostingController.view)

    NSLayoutConstraint.activate([
      hostingController.view.topAnchor.constraint(equalTo: view.topAnchor),
      hostingController.view.bottomAnchor.constraint(equalTo: view.bottomAnchor),
      hostingController.view.leadingAnchor.constraint(equalTo: view.leadingAnchor),
      hostingController.view.trailingAnchor.constraint(equalTo: view.trailingAnchor)
    ])
  }
  
}

However when my swiftUI View hundreds there’s a change in top of the geomatry of the view from top 852 to top 759. I do not know why that is taking place .

My SwiftUI view

import SwiftUI
import Lottie

struct ProductPurchaseFailureView: View {
    var navigationController: UINavigationController?
    var physique: some View {
        GeometryReader { geometry in
            ZStack() {
                Picture("random_image")
                    .resizable()
                    .opacity(0.3)
                    .blur(radius: 150)
                    .background(Colour.purchaseFailureBackground)
                    .ignoresSafeArea()
                
                ZStack {
                  Textual content("Scratch Card")
                    .font(.customized(FontConstants.therokBold.rawValue, measurement: 28))
                    .foregroundColor(.white)
                    .shadow(coloration: .black, radius: 2, x: 1, y: 2)
                  HStack {
                    Spacer()
                    Button {
                    } label: {
                      Picture(systemName: "xmark")
                        .resizable()
                        .foregroundColor(.tabbar)
                        .body(width: 12, top: 12)
                        .padding(14)
                        .background(
                          Circle()
                            .stroke(.tabbar)
                        )
                    }
                  }.padding(.horizontal)
                }
                .body(width:geometry.measurement.width, top: geometry.measurement.top, alignment: .high)

                VStack {
                    LottieView(animation: .named("exclamation_mark"))
                        .enjoying(loopMode: .loop)
                        .resizable()
                        .aspectRatio(contentMode: .match)
                        .body(width: 150)
                    VStack {
                        Textual content("We're unable to fetch your reward")
                            .font(.system(measurement: 18, weight: .daring))
                            .foregroundColor(.orange)
                            .padding(.backside)
                        Textual content("Please go to the Rewards Web page later to find your reward.")
                            .font(.system(measurement: 16))
                            .foregroundColor(.main)
                    }
                    .multilineTextAlignment(.middle)
                    .body(maxWidth: .infinity, alignment: .middle)
                    .padding()
                    Line()
                        .stroke(model: StrokeStyle(lineWidth: 1 ,sprint: [5]))
                        .body(width: geometry.measurement.width * 0.8 , top: 1)
                        .foregroundColor(.main)
                    Button {
                    } label: {
                        Textual content("Again")
                            .font(.headline)
                            .foregroundColor(.purchaseFailureCardBg)
                            .padding()
                            .body(maxWidth: .infinity)
                    }
                    .padding(.horizontal)
                    .padding(.high, 10)
                    .buttonStyle(ThreeDimensionalButtonStyle())
                    .body(width: geometry.measurement.width * 0.7, top: 50)
                }
                
                
                .body(width: geometry.measurement.width * 0.9,top: geometry.measurement.top * 0.55)
                .background(Colour.purchaseFailureCardBg)
                .cornerRadius(16)
                .shadow(radius: 10)
            }
            
        }
    }
}
struct Line: Form {
    func path(in rect: CGRect) -> Path {
        var path = Path()
        path.transfer(to: CGPoint(x: 0, y: 0))
        path.addLine(to: CGPoint (x: rect.width, y: 0))
        return path
    }
}
#Preview {
    ProductPurchaseFailureView()
}



struct ThreeDimensionalButtonStyle: ButtonStyle {
    func makeBody(configuration: Configuration) -> some View {
        let bgView = self.getBgView()
        if #out there(iOS 15.0, *) {
            configuration.label.foregroundStyle(Colour.white)
                .padding(16)
                .background {
                    ZStack {
                        bgView
                            .opacity(0.2)
                            .offset(y: configuration.isPressed ? 0:8)
                            .padding(.horizontal,2)
                        bgView
                    }
                }
                .rotation3DEffect(.levels(20), axis: (x: 1,y: 0,z:0))
                .offset(y: configuration.isPressed ? 8 : 0)
                .animation(.interactiveSpring(), worth: configuration.isPressed)
            
        } else {
            // Fallback on earlier variations
            configuration.label.foregroundColor(Colour.white)
                .padding(16)
                .background (
                    ZStack {
                        bgView
                            .opacity(0.2)
                            .offset(y: configuration.isPressed ? 0:8)
                            .padding(.horizontal,2)
                        bgView
                    }
                )
                .rotation3DEffect(.levels(20), axis: (x: 1,y: 0,z:0))
                .offset(y: configuration.isPressed ? 8 : 0) // 2
                .animation(.interactiveSpring(), worth: configuration.isPressed)
        }
        
        
        
    }
    func getBgView() -> some View {
        Colour.purchaseFailureButtonBackground
            .clipShape(RoundedRectangle(cornerRadius: 12))
            .body(top: 40)
    }
    
}
 

I do not perceive the place I’m doing mistaken. I’m very new to SwiftUI and have solely labored with UIKit . Please assist guys

Blacklock Ransomware Infrastructure Breached, Revealing Deliberate Assaults

0


Resecurity, a outstanding cybersecurity agency, has efficiently exploited a vulnerability within the Information Leak Website (DLS) of Blacklock Ransomware, gaining unprecedented entry to the group’s infrastructure.

This breach, occurring in the course of the winter of 2024-2025, allowed researchers to gather substantial intelligence concerning the ransomware group’s actions and deliberate assaults.

Exploitation of Native File Embrace Vulnerability

The compromise was achieved by way of the exploitation of a Native File Embrace (LFI) vulnerability current within the DLS hosted on the TOR community.

This safety flaw enabled Resecurity’s analysts to accumulate crucial artifacts associated to the risk actors’ community infrastructure, together with logs, related file-sharing accounts, and timestamps of logins.

Uncovering Deliberate Assaults and Sufferer Information

Leveraging the gained entry, Resecurity was in a position to gather details about deliberate knowledge publications from victims as much as 13 days earlier than the risk actors meant to launch it.

In a single occasion, the agency alerted the Canadian Centre for Cyber Safety about an impending assault on a Canada-based sufferer almost two weeks earlier than the deliberate knowledge leak.

The breach additionally revealed the group’s use of MEGA, a well-liked file-sharing service, for storing and transferring stolen knowledge.

Researchers recognized no less than eight e-mail accounts related to MEGA folders managed by Blacklock Ransomware, offering perception into their knowledge exfiltration strategies.

Blacklock RansomwareBlacklock Ransomware
e-mail account registered

The investigation uncovered potential hyperlinks between Blacklock Ransomware and different cybercriminal teams.

Code similarities have been discovered between Blacklock and DragonForce ransomware, suggesting doable cooperation or a transition of possession.

This discovery highlights the dynamic nature of the ransomware ecosystem and the potential for market consolidation amongst cybercriminal teams.

The Blacklock Ransomware DLS was defaced and technically liquidated, with configuration information being publicly disclosed.

This occasion, together with the compromise of the associated Mamona ransomware venture, suggests a big disruption to the group’s operations and a possible shift within the ransomware panorama.

This breach of Blacklock Ransomware’s infrastructure supplies beneficial insights into the operations of ransomware teams and demonstrates the effectiveness of proactive cybersecurity measures in combating these threats.

Because the ransomware ecosystem continues to evolve, such intelligence-gathering efforts play a vital function in understanding and mitigating cyber dangers.

Are you from SOC/DFIR Groups? – Analyse Malware, Phishing Incidents & get stay Entry with ANY.RUN -> Begin Now for Free