AWS |
AWS Machine Learning Blog |
Build a powerful question answering bot with Amazon SageMaker, Amazon OpenSearch Service, Streamlit, and LangChain |
https://aws.amazon.com/blogs/machine-learning/build-a-powerful-question-answering-bot-with-amazon-sagemaker-amazon-opensearch-service-streamlit-and-langchain/
|
Build a powerful question answering bot with Amazon SageMaker Amazon OpenSearch Service Streamlit and LangChainOne of the most common applications of generative AI and large language models LLMs in an enterprise environment is answering questions based on the enterprise s knowledge corpus Amazon Lex provides the framework for building AI based chatbots Pre trained foundation models FMs perform well at natural language understanding NLU tasks such summarization text generation and question … |
2023-05-25 16:46:17 |
AWS |
AWS Mobile Blog |
Introducing Merged APIs on AWS AppSync |
https://aws.amazon.com/blogs/mobile/introducing-merged-apis-on-aws-appsync/
|
Introducing Merged APIs on AWS AppSyncAWS AppSync is a serverless GraphQL service that makes it easy to create manage monitor and secure your GraphQL APIs Within an AppSync API developers can access data across multiple different data sources including Amazon DynamoDB AWS Lambda and HTTP APIs As the service continues to grow in adoption our customers have faced challenges related … |
2023-05-25 16:43:06 |
AWS |
AWS - Webinar Channel |
ML-powered Predictive Maintenance for Industrial Operations - AWS Machine Learning in 15 |
https://www.youtube.com/watch?v=bi6Li7WaupQ
|
ML powered Predictive Maintenance for Industrial Operations AWS Machine Learning in Organizations are constantly seeking faster ways to take advantage of the value of sensor based data and transform it into proactive predictive maintenance insights In this minute session we will uncover how you can increase productivity and reduced unplanned equipment downtime with AWS Predictive Maintenance services and solutions Learning Objectives Objective Detect equipment abnormalities with speed and precision quickly diagnose issues reduce false alerts and avoid expensive downtime by taking action before machine failures occur Objective Optimize resources labor inventory and reduce operational costs by performing maintenance only when necessary Objective Maximize asset uptime and improve asset reliability by automatically detecting abnormal machine conditions as early as possible To learn more about the services featured in this talk please visit To download a copy of the slide deck from this webinar visit |
2023-05-25 16:15:02 |
AWS |
AWS - Webinar Channel |
Move to managed Amazon ElastiCache to increase efficiency and innovation |
https://www.youtube.com/watch?v=KPBqgspXl8o
|
Move to managed Amazon ElastiCache to increase efficiency and innovationAmazon ElastiCache is a fully managed Redis and Memcached compatible service delivering real time cost optimized performance for modern applications ElastiCache scales to hundreds of millions of operations per second with microsecond response time and offers enterprise grade security and reliability Amazon Web Services AWS makes it easy to deploy and operate an in memory data store and eliminates the need to perform time consuming management tasks such as hardware provisioning monitoring and patching In this session learn about the benefits and features of moving to a fully managed service and dive deeper with a demo on the automatic failover functionality from our Senior Solutions Architect |
2023-05-25 16:03:37 |
python |
Pythonタグが付けられた新着投稿 - Qiita |
Googleスライドを自動で動画化するツールを作ってみた。 |
https://qiita.com/katsuki_ono/items/50112b805f6b9716e724
|
google |
2023-05-26 01:36:53 |
Azure |
Azureタグが付けられた新着投稿 - Qiita |
TeamsからAzure OpenAIを呼び出すまでのミチノリ① |
https://qiita.com/sakue_103/items/d887d4f924755334037f
|
azureopenai |
2023-05-26 01:50:39 |
海外TECH |
MakeUseOf |
How to Turn On Developer Mode on Chromebook |
https://www.makeuseof.com/how-to-turn-on-developer-mode-on-chromebook/
|
chromebook |
2023-05-25 16:45:18 |
海外TECH |
MakeUseOf |
How to Turn Emails Into Tasks and Comments With ClickUp |
https://www.makeuseof.com/turn-emails-into-tasks-comments-clickup/
|
clickup |
2023-05-25 16:31:17 |
海外TECH |
MakeUseOf |
How to Turn Search Highlights On and Off on Windows 11 |
https://www.makeuseof.com/turn-search-highlights-on-off-windows-11/
|
windows |
2023-05-25 16:15:19 |
海外TECH |
DEV Community |
Using useMutation to make an advanced toggle in React |
https://dev.to/propelauth/using-usemutation-to-make-an-advanced-toggle-in-react-3dnp
|
Using useMutation to make an advanced toggle in ReactRecently we were adding some new functionality to our dashboard and we wanted an experience like this The basic features are The toggle should make an external request when clicked to change the settingWhile the request is being made a loading spinner should appear next to the toggleIf the request succeeds a check mark is displayedThe toggle should update optimistically meaning it assumes the request will succeedIf the request fails a red X is displayed and the toggle switches back to the current state Using useQuery and useMutationIf our whole dashboard was just this one toggle this would be a simpler challenge However we also fetch and update other values To manage our state we use React Query specifically useQuery and useMutation If you haven t used it before useQuery enables a straightforward interface for fetching data const isLoading error data useQuery config fetchConfig and it comes with caching re fetching options synchronizing state across your application and more useMutation as you probably expect is the write to useQuery s read The “Hello World of useMutation looks like this const mutate useMutation mutationFn partialConfigUpdate Partial lt Config gt gt return axios patch config partialConfigUpdate later onconst handleSubmit e gt e preventDefault mutate new setting value e target checked In this UI we are using a patch request to update some subset of our Config The only problem is that with that code snippet alone our UI won t immediately update to reflect the new state Optimistic UpdatesuseMutation has a few lifecycle hooks that we can use to update our data useMutation mutationFn updateConfig onMutate partialConfigUpdate gt this is called before the mutation you can return a context object here which is passed in to the other lifecycle hooks like onError and onSettled return foo bar onSuccess mutationResponse partialConfigUpdate context gt called if the mutation succeeds with the mutation s response onError err partialConfigUpdate context gt called if the mutation fails with the error onSettled mutationResponse err partialConfigUpdate context gt always called after a successful or failed mutation You can combine this with a QueryClient which lets you interact with cached data To solve our issue where the UI wasn t updating to reflect the new state we can just invalidate the cache after it succeeds useMutation mutationFn updateConfig onSuccess gt queryClient invalidateQueries queryKey config While this does technically work it relies on us making an additional request after the mutation succeeded If that request is slow our UI might be slow to update If the mutation request returns the updated config we have another option useMutation mutationFn updateConfig onSuccess mutationResponse gt on successful mutation update the cache with the new value queryClient setQueryData config mutationResponse not strictly necessary but we can also trigger a refetch to be safe queryClient invalidateQueries queryKey config where we just set the data in the cache directly with our response One thing to note here though is we do actually know the change we are making If our config was a b c and we wanted to update a s value to be we don t really need to wait for the mutation response The thing to be careful about however is we need to make sure to undo our change if the mutation fails useMutation mutationFn updateConfig onMutate async partialConfigUpdate gt Cancel any outgoing refetches so they don t overwrite our optimistic update await queryClient cancelQueries queryKey config Snapshot the previous value const previousConfig queryClient getQueryData config Optimistically update to the new value queryClient setQueryData config oldConfig gt oldConfig partialConfigUpdate Return a context object with the snapshotted value return previousConfig onError err partialConfigUpdate context gt roll back our config update using the context queryClient setQueryData config context previousConfig onSettled mutationResponse err partialConfigUpdate context gt Other config changes could ve happened let s trigger a refetch but notably our UI has been correct since the mutation started queryClient invalidateQueries queryKey config see here for the original source This is a little more involved but it does update immediately and this doesn t depend on the mutation s response Next let s add Loading Success and Error icons Adding Loading Success Error Icons with useTimeoutuseMutation does actually come with status information that we could just use directly however we want to control how long the and icons stay on the screen for We use this pattern enough times that we ve turned it into a hook ー let s first look at the version with no timers type FeedbackIndicatorStatus loading success error undefined export const useFeedbackIndicator gt const status setStatus useState lt FeedbackIndicatorStatus gt const setTimerToClearStatus TODO how default is to display nothing let indicator null if status loading indicator lt Loading gt else if status success indicator lt IconCheck gt else if status error indicator lt IconX gt const setLoading gt setStatus loading const setSuccess gt setStatus success setupTimerToClearStatus const setError gt setStatus error setupTimerToClearStatus return indicator setLoading setSuccess setError setTimeout can be a little tricky to use in React because you have to make sure to clear the timeout if the component unmounts Luckily we don t have to worry about any of that as there are many implementations of useTimeout a React hook that wraps setTimeout We ll use Mantine s hook to complete the code snippet const start setupTimerToClearStatus useTimeout gt setStatus undefined And now when setupTimerToClearStatus is called after a second the status is cleared and indicator will be null Combining it into a re usable React hookWe now have all the pieces that we need We can use useQuery to fetch data We have a version of useMutation that lets us optimistically update the data that useQuery returns And we have a hook that displays Loading Success and Error indicators Let s put all of that together in a single hook import useState from react import QueryKey useMutation useQueryClient from react query export function useAutoUpdatingMutation lt T M gt mutationKey QueryKey the mutation itself mutationFn value M gt Promise lt void gt Combining the existing data with our mutation updater oldData T value M gt T const indicator setLoading setSuccess setError useFeedbackIndicator const queryClient useQueryClient const mutation useMutation mutationFn onMutate async value M gt setLoading Cancel existing queries await queryClient cancelQueries mutationKey Edge case The existing query data could be undefined If that does happen we don t update the query data const previousData queryClient getQueryData lt T gt mutationKey if previousData queryClient setQueryData mutationKey updater previousData value return previousData onSuccess gt setSuccess onError err context gt setError Revert to the old query state queryClient setQueryData mutationKey context previousData onSettled async gt Retrigger fetches await queryClient invalidateQueries mutationKey return indicator mutation That s a lot of code but let s see what its like to use it Our query for fetching dataconst isLoading error data useQuery config fetchConfig Our updater which performs the opportunistic updateconst updater existingConfig Config partialConfigUpdate Partial lt Config gt gt return existingConfig partialConfigUpdate Our hook which returns the mutation and a status indicatorconst indicator mutation useAutoUpdatingMutation config updateConfig updater later on when displaying settings lt div gt indicator lt Toggle type checkbox checked data mySetting onChange e gt mutation mutate mySetting e target checked disabled indicator gt lt div gt Pretty straightforward we just supply our API call and our update function and we are done When we click the toggle it will Update the toggle s checked stateDisable the toggle until the request is completeMake a request to update mySettingIf it fails revert the toggle back to it s original state Wrapping upReact Query provides some powerful abstractions for fetching and modifying data In this example we wanted a version of useMutation that both updates the server state immediately and provides a status indicator for the request itself By using useMutation s hooks we were able to make a hook specific to our use case that can be reused for all our config updates |
2023-05-25 16:29:02 |
海外TECH |
DEV Community |
Share the most embarrassing code you've ever written |
https://dev.to/peter/share-the-most-embarrassing-code-youve-ever-written-3c9n
|
Share the most embarrassing code you x ve ever writtenI saw this post today and it took me back to my only CS class which was taught using Java I ll post my embarrassing final project below Java turns Sendil Kumar・May ・ min read watercooler No judgment share the most embarrassing code you ve ever written Cover image via Unsplash |
2023-05-25 16:25:02 |
海外TECH |
DEV Community |
ESP32 Embedded Rust at the HAL: Analog Temperature Sensing using the ADC |
https://dev.to/apollolabsbin/esp32-embedded-rust-at-the-hal-analog-temperature-sensing-using-the-adc-3106
|
ESP Embedded Rust at the HAL Analog Temperature Sensing using the ADCThis blog post is the sixth of a multi part series of posts where I explore various peripherals in the ESPC using embedded Rust at the HAL level Please be aware that certain concepts in newer posts could depend on concepts in prior posts If you find this post useful and to keep up to date with similar posts here s the list of channels you can follow subscribe to Twitter → apollolabsbin Newsletter →SubscribeGit Account All Code Examples →Link IntroductionIn this post I will be configuring and setting up an espc hal ADC to measure ambient temperature using a k NTC Thermistor Temperature measurements will be continuously collected and sent to the terminal output For terminal output I will be leveraging the esp println crate I started using in the last post Additionally I will not be using any interrupts and the example will be set up as a simplex system that transmits in one direction only towards the terminal PC Knowledge Pre requisitesTo understand the content of this post you need the following Basic knowledge of coding in Rust Familiarity with the basic template for creating embedded applications in Rust Familiarity with the working principles of NTC Thermistors This page is a good resource Software SetupAll the code presented in this post is available on the apollolabs ESPC git repo Note that if the code on the git repo is slightly different then it means that it was modified to enhance the code quality or accommodate any HAL Rust updates Additionally the full project code and simulation is available on Wokwi here In addition to the above you would need to install some sort of serial communication terminal on your host PC Some recommendations include For Windows PuTTyTeratermFor Mac and Linux minicomSome installation instructions for the different operating systems are available in the Discovery Book Hardware Setup MaterialsESP C DevKitM A k NTC Temperature Sensor ConnectionsTemperature sensor signal pin connected to pin gpio In Wokwi this is a direct connection However if you have the individual NTC component you need to set it up in a voltage divider configuration with a K resistor circuit in next section Circuit AnalysisThe temperature sensor used is a negative temperature coefficient NTC sensor This means the resistance of the sensor increases as the temperature increases The following figure shows the schematic of the temperature sensor circuit It is shown that the NTC Thermistor is connected in a voltage divider configuration with a k resistor As such the voltage at the positive terminal of the op amp V V V is equal to the voltage on the signal terminal and expressed as V Vcc∗RR RNTCV text V cc frac R R R text NTC V Vcc∗RR RNTCWhere R kΩR k OmegaR kΩ and the resistance value of RNTC R text NTC RNTC is the one that needs to be calculated to obtain the temperature This means that later in the code I would need to retrieve back the value of RNTCR text NTC RNTC from the V V text V value that is being read by the ADC With some algebraic manipulation we can move all the known variables to the right hand side of the equation to reach the following expression RNTC VccV ∗RR text NTC left frac V cc V text right R RNTC V Vcc ∗RAfter extracting the value of RNTCR text NTC RNTC I would need to determine the temperature Following the equations in the datasheet I leverage the Steinhart Hart NTC equation that is presented as follows β ln RNTCR T T beta frac ln frac R text NTC R frac T frac T β T T ln RRNTC where β beta β is a constant and equal to for our NTC as stated by Wokwi and TT T is the temperature we are measuring TT T and RR R refer to the ambient temperature typically Celcius and nominal resistance at ambient temperature respectively The value of the resistance at Celcius TT T is equal to kΩk OmegakΩ RR R With more algebraic manipulation we solve for TT T to get T β∗ln RNTCR TT frac frac beta ln frac R text NTC R frac T T β∗ln RRNTC T Software DesignNow that we know the equations from the prior section an algorithm needs to be developed and is quite straightforward in this case After configuring the device the algorithmic steps are as follows Kick off the ADC and obtain a reading sample Calculate the temperature in Celcius Print the temperature value on the terminal Go back to step Code Implementation Crate ImportsIn this implementation the following crates are required The espc hal crate to import the ESPC device hardware abstractions The esp backtrace crate to define the panicking behavior The esp println crate to provide println implementation The libm crate to provide an implementation for a natural logarithm use espc hal clock ClockControl peripherals Peripherals prelude systimer SystemTimer timer TimerGroup Delay Rtc IO use esp backtrace as use esp println println use libm log Initialization Configuration Code ️ GPIO Peripheral Configuration ️⃣Obtain a handle for the device peripherals In embedded Rust as part of the singleton design pattern we first have to take the PAC level device peripherals This is done using the take method Here I create a device peripheral handler named dp as follows let peripherals Peripherals take ️⃣Disable the Watchdogs The ESPC has watchdogs enabled by default and they need to be disabled If they are not disabled then the device would keep on resetting To avoid this issue the following code needs to be included let system peripherals SYSTEM split let clocks ClockControl boot defaults system clock control freeze Instantiate and Create Handles for the RTC and TIMG watchdog timerslet mut rtc Rtc new peripherals RTC CNTL let timer group TimerGroup new peripherals TIMG amp clocks let mut wdt timer group wdt let timer group TimerGroup new peripherals TIMG amp clocks let mut wdt timer group wdt ️⃣Instantiate and Create Handle for IO We need to configure the NTC pin as an analog input and obtain a handler for the pin so that we can control it This will be done in the following step Though before we can obtain any handles for the NTC and the button we need to create an IO struct instance The IO struct instance provides a HAL designed struct that gives us access to all gpio pins thus enabling us to create handles for individual pins This is similar to the concept of a split method used in other HALs more detail here We do this by calling the new instance method on the IO struct as follows let io IO new peripherals GPIO peripherals IO MUX ️⃣Configure and Create Handle for Analog Pin Similar to how pins were configured before with gpio there is instead an into analog method that configures the pin as an analog pin An ntc pin handle is created to gpio to and analog pin as follows let ntc io pins gpio into analog ADC Peripheral Configuration ️⃣Obtain a handle for ADC configuration To configure an analog pin in the espc hal first an ADC configuration instance needs to be created The same configuration instance is then later used to both enable the analog pin and create an ADC instance As such an adc config handle is created using the AdcConfig type new method as follows Create handle for ADC configuration parameterslet mut adc config AdcConfig new ️⃣Obtain a handle and enable the analog pin In order to enable the analog ntc pin pin the AdcConfig type has an enable pin method that takes two arguments The first argument is the analog gpio pin and the second is an Attenuation enum specifying the desired level of attenuation let mut adc pin adc config enable pin ntc Attenuation AttenuationdB ️⃣Obtain a handle and Configure an ADC instance Before creating an ADC instance similar to some other peripherals the peripheral needs to be promoted to HAL level structs This is done using the split method on the APB SARADC peripheral type if not familiar read this past post of mine explaining split and constrain methods as follows Promote ADC peripheral to HAL level Structlet analog peripherals APB SARADC split Now that the peripheral is split we have access to the individual ADC to pass to an ADC instance As a result to create an ADC instance there is an adc method as part of the ADC type in the espc hal The adc method takes three arguments a peripheral clock controller instance accessed via the system handle an ADC instance accessed via the analog handle and an ADC configuration instance the adc config handle let mut adc ADC adc amp mut system peripheral clock control analog adc adc config unwrap This is it for configuration Let s now jump into the application code Application CodeFollowing the design described earlier before entering my loop I first need to set up a couple of constants that I will be using in my calculations This includes keying in the constant values for β beta β and RR R as follows const B f B value of the thermistorconst R f Nominal NTC ValueAfter entering the program loop as the software design stated earlier first thing I need to do is kick off the ADC to obtain a sample reading This is done through the read method that takes a mutable reference to the adc pin instance and returns a Result let sample u adc read amp mut adc pin unwrap Next I convert the sample value to a temperature by implementing the earlier derived equations as follows let temperature log sample as f B A few things to note here first I don t convert the collected sample to value to a voltage as in the first calculation the voltage calculation is a ratio This means I keep the sample in LSBs and use the equivalent LSB value for VccV cc Vcc To plug in VccV cc Vcc I simply calculate the maximum possible LSB value upper reference that can be generated by the ADC This is why I needed to know the resolution which was because Vcc LSBsV cc LSBsVcc LSBs Second recall from the read method that sample is a u so I had to use as f to cast it as an f for the calculation Third log is the natural logarithm obtained from the libm library that I imported earlier Fourth and last the temperature is calculated in Kelvins the is what converts it to Celcius Finally now that the temperature is available I send it over to the console using the println macro as follows println Temperature Celcius r temperature This is it Full Application CodeHere is the full code for the implementation described in this post You can additionally find the full project and others available on the apollolabs ESPC git repo Also the Wokwi project can be accessed here no std no main use espc hal adc AdcConfig Attenuation ADC clock ClockControl peripherals Peripherals prelude timer TimerGroup Rtc IO use esp backtrace as use esp println println use libm log entry fn main gt Take Peripherals Initialize Clocks and Create a Handle for Each let peripherals Peripherals take let mut system peripherals SYSTEM split let clocks ClockControl boot defaults system clock control freeze Instantiate and Create Handles for the RTC and TIMG watchdog timers let mut rtc Rtc new peripherals RTC CNTL let timer group TimerGroup new peripherals TIMG amp clocks let mut wdt timer group wdt let timer group TimerGroup new peripherals TIMG amp clocks let mut wdt timer group wdt Disable the RTC and TIMG watchdog timers rtc swd disable rtc rwdt disable wdt disable wdt disable Instantiate and Create Handle for IO let io IO new peripherals GPIO peripherals IO MUX Create ADC Instance Create handle for ADC configuration parameters let mut adc config AdcConfig new Configure ADC pin let mut adc pin adc config enable pin io pins gpio into analog Attenuation AttenuationdB Promote ADC peripheral to HAL level Struct let analog peripherals APB SARADC split Create handle for ADC configuring clock and passing configuration handle let mut adc ADC adc amp mut system peripheral clock control analog adc adc config unwrap const B f B value of the thermistor const R f Nominal NTC Value Algorithm Get adc reading Convert to temperature Send over Serial Go Back to step Application loop Get ADC reading let sample u adc read amp mut adc pin unwrap For blocking read let sample u nb block adc read amp mut adc pin unwrap Convert to temperature let temperature log sample as f B Print the temperature output println Temperature Celcius r temperature ConclusionIn this post an analog temperature measurement application was created leveraging the ADC peripheral for the ESPC The resulting measurement is also sent over to terminal output All code was based on polling without interrupts Additionally all code was created at the HAL level using the espc hal Have any questions Share your thoughts in the comments below If you found this post useful and to keep up to date with similar posts here s the list of channels you can follow subscribe to Twitter → apollolabsbin Newsletter →SubscribeGit Account All Code Examples →Link |
2023-05-25 16:21:01 |
海外TECH |
DEV Community |
It's True, Following the Ethernet Cable Can Lead to Your Location: Just One Picture is Enough |
https://dev.to/he3tools/its-true-following-the-ethernet-cable-can-lead-to-your-location-just-one-picture-is-enough-5a7n
|
It x s True Following the Ethernet Cable Can Lead to Your Location Just One Picture is Enough IntroductionWith just one picture how can you find the location and time of capture without leaving your home In fact every time you take a photo your phone or camera saves an image file usually JPEG on the device This file not only contains all the visible pixels but also includes a wealth of image EXIF metadata What is EXIF DataEXIF stands for Exchangeable Image File Format which is a metadata format used for embedding information in digital images EXIF data records the shooting information and related technical data of a photo The following table shows some of the EXIF information EXIFDescriptionSample OutputMakeCamera makerAppleModelCamera modeliPhone ExposureTimeExposure time ExposureProgramExposure programNormal programISOSpeedRatingsISO speedApertureValueAperture valueExposureBiasValueExposure biasFlashFlash statusFlash did not fire compulsory flash modeFocalLengthFocal length mmExposureModeExposure modeAuto exposureLensModelLens modeliPhone back dual wide camera mm f These pieces of information provide detailed data about the shooting device exposure settings and lens information For photography enthusiasts and professional photographers they are valuable for understanding the shooting conditions and technical parameters of a photo However some EXIF data may also contain privacy information that you may not want to expose such as GPS related information at the time of shooting The following table shows some of the GPS information that can be obtained from EXIF EXIFDescriptionSample OutputGPS Info IFD PointerPointer position for GPS information storageGPSLatitudeLatitude valueGPSLongitudeLongitude valueGPSAltitudeAltitude value mGPSSpeedSpeed valueGPSImgDirectionImage direction valueGPSDestBearingDestination bearing valueGPSDateStampGPS date GPSHPositioningErrorHorizontal positioning error How to Obtain EXIF DataWith the popularity of mobile devices and the continuous evolution of GPS technology location services have become more accurate Most smartphones record GPS coordinates when taking photos Therefore if you upload photos with metadata to social media or send them by e mail although there is usually no problem malicious people can collect a lot of detailed information from them Earlier an article titled How I Reasoned out Wang Luodan s Address became popular on the internet and the author used photos of Wang Luodan on social network platform to reason out his address information in just minutes Today with an EXIF extraction tool one can obtain this information quickly even deduce the height of the building based on the height information You can use the exif cli command line tool to extract EXIF information you need to install Node js which can be downloaded and installed from the Node js website Install exif cli globally by the following command npm install g exif cliChange the directory to the location of the target image and enter the following command in the terminal after opening it exif example jpgThe final result is as follows PS C Users rance Pictures gt exif example jpgimage Make Apple Model iPhone Orientation XResolution YResolution ResolutionUnit Software ModifyDate HostComputer iPhone ExifOffset GPSInfo exif ExposureTime FNumber ExposureProgram ISO ExifVersion DateTimeOriginal CreateDate ShutterSpeedValue ApertureValue BrightnessValue ExposureCompensation MeteringMode Flash FocalLength SubjectArea SubSecTimeOriginal SubSecTimeDigitized ColorSpace ExifImageWidth ExifImageHeight SensingMethod SceneType ExposureMode WhiteBalance DigitalZoomRatio FocalLengthInmmFormat LensInfo LensMake Apple LensModel iPhone back dual wide camera mm f gps GPSLatitudeRef N GPSLatitude GPSLongitudeRef E GPSLongitude GPSAltitudeRef GPSAltitude GPSSpeedRef K GPSSpeed GPSImgDirectionRef T GPSImgDirection GPSDestBearingRef T GPSDestBearing GPSDateStamp GPSHPositioningError Although exif cli can obtain exif data it is cumbersome to use requires configuration of related dependencies and lacks an easy to interact UI interface To solve this problem He provides a visual EXIF extraction tool He s EXIF extraction tool not only extracts EXIF information but also categorizes data on different focal points Perhaps you want to uncover the magical secrets behind these stunning photos and explore how they were born Maybe you are eager to know the exact location of those picturesque places so you can visit them in person and He s EXIF extraction tool is just what you need Whether it s shooting time camera model or exposure parameters this built in tool in He can present them all for you Experience He s image EXIF extraction tool now How to clear EXIF informationIt should be noted that since EXIF data is embedded in image files it may pose privacy and security risks For example when sharing photos on social media or online location information in EXIF data can reveal a person s actual location Therefore we need to be cautious when sharing photos with EXIF data and make appropriate processing and deletion when necessary In fact EXIF data can be considered as redundant information of the image and removing it will not affect the actual pixels of the image After testing He s image EXIF extractor tool can remove sensitive information in the image thus protecting your privacy After removing the EXIF information from the sample image it can be seen that the information has been cleared when inputting it back into the EXIF extractor Try it yourselfPerhaps you are not satisfied with being an observer In He s tool library there is also a lightweight EXIF editor for you to make simple edits to EXIF information In fact editing EXIF information often requires a lot of professional knowledge to ensure the correctness of EXIF format For example the format of storing EXIF in images taken with Android and iOS systems is different and the format of storing EXIF in images on different devices under the same system is also different Therefore we have retained as many popular focal points as possible for you to edit Experience He s image EXIF editor tool now Perhaps you want to askCan the shooting location of the photo be found It can be found but the prerequisite is that the image has GPS location data Upload it to He and you ll know If you turn off GPS positioning in your phone settings the photo will not contain GPS data Is EXIF data guaranteed to be true Not necessarily as there are currently multiple ways to modify photo metadata It is impossible to ensure that you are viewing the original image metadata or metadata that has been edited by someone else Is it safe to upload images to He He will not engage in any privacy infringing behavior For example in He s image EXIF extraction tool the images you upload will not be stored and are only used for extracting and visualizing metadata Is there a charge This tool is provided completely free of charge In addition He also provides more than other free tools for you to use Learn moreFeel free to download the latest version of the He client or update your version to and experience it Use He to unleash your modern development potential Official website f you have any ideas or suggestions on how we can use our tools to improve your work efficiency feel free to raise issues and discuss with us |
2023-05-25 16:16:45 |
Apple |
AppleInsider - Frontpage News |
Belkin BoostCharge Pro with built-in Apple Watch charger now available to pre-order |
https://appleinsider.com/articles/23/05/25/belkin-boostcharge-pro-with-built-in-apple-watch-charger-now-available-to-pre-order?utm_medium=rss
|
Belkin BoostCharge Pro with built in Apple Watch charger now available to pre orderBelkin is one of the most popular Apple accessory makers out there and now it has a brand new gadget to keep your iPhone Apple Watch and AirPods Pro charged on the go Belkin BoostCharge ProThe BoostCharge Pro is a fast wireless charger for the Apple Watch and AirPods Pro nd Generation and also a K power bank to help keep your iPhone juiced up The accessory is available to pre order now from Belkin and retails for Read more |
2023-05-25 16:27:45 |
海外TECH |
Engadget |
Virgin Galactic completes its final VSS Unity flight test before space tourism debut |
https://www.engadget.com/virgin-galactic-completes-its-final-vss-unity-flight-test-before-space-tourism-debut-163150722.html?src=rss
|
Virgin Galactic completes its final VSS Unity flight test before space tourism debutVirgin Galactic is finally on the cusp of launching its space tourism business After a late start the company has completed its last VSS Unity flight test before commercial service starts The Unity mission tested both technical functionality and the overall experience for astronauts and reached space at roughly PM Eastern The launch also made a little history crew member Jamila Gilbert became the first female astronaut from New Mexico according to Virgin Gilbert and fellow crewmates Chris Huie Luke Mays and Beth Moses are all Virgin employees The company has delayed this test multiple times The final delay stemmed from difficulties upgrading the VMS Eve host aircraft which ferries Unity to feet Virgin completed an unpowered test flight in late April but its first crewed flight dates back to July when founder Richard Branson joined Moses Sirisha Bandla and Colin Bennett for Unity Unity is Virgin s fifth spaceflight of any kind The successful test is important for Virgin It has operated at a loss for years as it kept pushing back its space tourism plans and lost over million in alone While the company hasn t said when it expects to fly paying customers it needs those passengers tickets to help recoup its investment Now it s more a matter of firming up details than overcoming technological hurdles Virgin trails Blue Origin which is already launching civilians into space It s closer to passenger spaceflights than SpaceX though While Elon Musk s outfit announced its lunar tourism plans years ago it has yet to send a Starship rocket into space with crew aboard Not that SpaceX is necessarily concerned Virgin is focused on less ambitious if also less expensive suborbital flights where Starship will be used for both tourists lunar orbits and NASA s Moon landings This article originally appeared on Engadget at |
2023-05-25 16:31:50 |
海外科学 |
NYT > Science |
Ultrasound Pulses to Brain Send Mice Into a Hibernation-Like State |
https://www.nytimes.com/2023/05/25/science/ultrasound-brain-hibernation-mice.html
|
stateexperiments |
2023-05-25 16:20:28 |
ニュース |
BBC News - Home |
Man arrested after car crashes into Downing Street gates |
https://www.bbc.co.uk/news/uk-65714508?at_medium=RSS&at_campaign=KARANGA
|
gatespolice |
2023-05-25 16:47:19 |
ニュース |
BBC News - Home |
Madeleine McCann: Portugal reservoir search ends after three days |
https://www.bbc.co.uk/news/uk-65710265?at_medium=RSS&at_campaign=KARANGA
|
madeleine |
2023-05-25 16:24:20 |
ニュース |
BBC News - Home |
Migration figures: Rishi Sunak says numbers 'too high' after new record set |
https://www.bbc.co.uk/news/uk-65705629?at_medium=RSS&at_campaign=KARANGA
|
population |
2023-05-25 16:03:46 |
ニュース |
BBC News - Home |
Ed Sheeran's surprise concert for high school students |
https://www.bbc.co.uk/news/world-us-canada-65714612?at_medium=RSS&at_campaign=KARANGA
|
students |
2023-05-25 16:32:44 |
ニュース |
BBC News - Home |
Cardiff riot: Nine arrested since disorder that followed boys' deaths |
https://www.bbc.co.uk/news/uk-wales-65713966?at_medium=RSS&at_campaign=KARANGA
|
aftermath |
2023-05-25 16:15:22 |
Azure |
Azure の更新情報 |
Generally available: Kafka compaction support in Azure Event Hubs |
https://azure.microsoft.com/ja-jp/updates/generally-available-kafka-compaction-support-in-azure-event-hubs/
|
Generally available Kafka compaction support in Azure Event HubsLog compaction in Event Hubs introduces a key based retention mechanism where the most recent value associated with each event key in an event hub or Kafka topic is retained |
2023-05-25 17:00:09 |
コメント
コメントを投稿