

- 17
- Episodes
- 2021
- First episode
About Utviklerpodden
Utviklerpodden er podcasten for deg som ønsker å vite litt om alt innen programvareutvikling. I tide og utide prater Øystein Vesth med forskjellige gjester om temaer innen utvikling som engasjerer dem.Ta gjerne kontakt på mail oystein@utviklerpodden.no eller på twitter @OysteinVesth.
- Publisher
- Øystein Lorentzen Vesth
- Category
- business · education · technology
- Language
- no
- Explicit
- Yes
- First episode
- 17 May 2021
- Latest episode
- 23 Feb 2023
Latest episodes
17 episodes in the feed.

23 Feb 2023
Event sourcing med Einar Ingebrigtsen
I denne episoden prater jeg med Einar Ingebrigtsen om event sourcing og CQRS. Einar jobber som sjefsarkitekt i Aksio hvor han blant annet utvikler event sourcing platformen Cratis. Gjest: Einar Ingebrigtsen - Sjefsarkitekt i Aksio Twitter: https://twitter.com/einari (https://twitter.com/einari) LinkedIn: https://linkedin.com/in/einari (https://linkedin.com/in/einari) GitHub: https://github.com/einari (https://github.com/einari) Blogg: https://ingebrigtsen.blog/ (https://ingebrigtsen.blog/) Temaer i episoden: Event-drevet arkitektur Event sourcnig CQRS Event modeling/event storming Eventual consistency Verktøy som kan brukes for event sourcing Cratis - https://cratis.io (https://cratis.io) Linker: Cratis: https://cratis.io (https://cratis.io) Event Store: https://eventstore.com (https://eventstore.com) Marten: https://martendb.io/ (https://martendb.io/) Booster: https://booster.cloud (https://booster.cloud)

5 Jan 2023
Fullstendig serverless med AWS Lambda med Jesper Haug Karsrud
I denne episoden prater jeg med Jesper Haug Karsrud om serverless og AWS Lambda. Jesper jobber som CTO i Fleks og valgte å gå all-in serverless fra dag en. Det betyr at de har en stack som består nesten utelukkende av AWS Lambda som kjøremiljø. Her vil du lære om serverless fra en som har peil! Ukas gjest: Jesper Haug Karsrud - CTO i Fleks Twitter: https://twitter.com/beyondsanity (https://twitter.com/beyondsanity) LinkedIn: https://www.linkedin.com/in/jesperhaugkarsrud/ (https://www.linkedin.com/in/jesperhaugkarsrud/) Temaer i episoden: - Hva er serverless og AWS Lambda? - Hvordan fungerer det å jobbe utelukkende med funksjoner? - Rammeverket Architect for serverless applikasjoner - Jobbe med Postgres og serverless - Fordelen av å gå fullstendig serverless Linker: Fleks: https://fleks.no (https://fleks.no/) Architect: https://arc.codes (https://arc.codes/)

14 Oct 2021
14 - Funksjonell programmering i Clojure med Erik Assum
I denne episoden prater jeg med Erik Assum om Clojure og funskjonell programmering. Erik jobber som Tech Lead i Ardoq og har drevet med Clojure utvikling i flere år, ett språk han er over middels fornøyd med å bruke. Her vil du lære om Clojure, paranteser, immutabilitet og annet snadder! Ukas gjest: Erik Assum - Tech Lead i Ardoq Twitter: https://twitter.com/slipset (https://twitter.com/slipset) LinkedIn: https://www.linkedin.com/in/erikassum/ (https://www.linkedin.com/in/erikassum/) Temaer i episoden: - Hva er greia med alle de parantesene? - Simple made easy - Immutabilitet - Sideeffekter - Enkel testing og utvikling med REPL - Godene av å lære seg nye språk Ressurser: Ardoq: https://ardoq.com (https://ardoq.com) Rich Hickey Simple Made Easy https://www.infoq.com/presentations/Simple-Made-Easy/ (https://www.infoq.com/presentations/Simple-Made-Easy/) Bodil Stokke Hands On with Clojure https://vimeo.com/78909065 (https://vimeo.com/78909065) Sean Corfield REPL driven development https://www.youtube.com/watch?v=gIoadGfm5T8 (https://www.youtube.com/watch?v=gIoadGfm5T8) Bruce Hauman introduserer figwheel https://www.youtube.com/watch?v=j-kj2qwJa_E (https://www.youtube.com/watch?v=j-kj2qwJa_E) Calva: https://calva.io/ (https://calva.io/)

23 Sept 2021
13 - MLOps og Odas data science platform med Kjetil Åmdal-Sævik
I denne episoden prater jeg med Kjetil Åmdal-Sævik i Oda (tidligere kolonial.no) om operasjonalisering av maskinlæring gjennom MLOps og deres data science platform. Kjetil forteller om hva data science temaet i Oda jobber med, og hvordan Data Science Platform teamet prøver å gjøre livet deres enklere. Ukas gjest: Kjetil Åmdal-Sævik - Data Science Manager/Machine Learning Engineer i Oda LinkedIn: https://www.linkedin.com/in/kjetilamdal/ (https://www.linkedin.com/in/kjetilamdal/) Temaer i episoden: - Hva driver en data scientist i Oda med? - Hva som skiller MLOps fra DevOps - Obligatorisk klaging på YAML - Continuous training - Live oppdateringer av kubernetes containere med Okteto - Orkestrering av operasjoner med Argo Workflows - Feature stores Ressurser: Empowering end-to-end data science at Oda: https://medium.com/oda-product-tech/empowering-end-to-end-data-science-at-oda-dd3acd8a37c7 (https://medium.com/oda-product-tech/empowering-end-to-end-data-science-at-oda-dd3acd8a37c7) Odas teknologi og produkt blogg: https://medium.com/oda-product-tech (https://medium.com/oda-product-tech)

15 Sept 2021
12 - FP, Elixir og Erlang platformen med Christin Gorman
I denne episoden prater Christin Gorman fra Kodemaker om blant annet Elixir og Erlang platformen. Christin går gjennom hvorfor hun synes Elixir og Erlang platformen er så interessant, og hvordan det er å gå fra erfaren tilbake til nybegynner. Hun går også innom mye av de kule egenskapene som Elixir/Erlang har og hvordan det er å jobbe med Phoenix LiveView (real-time server-side rendering i Elixir). Ukas gjest: Christin Gorman - Programmerinne i Kodemaker Twitter: https://twitter.com/ChristinGorman (https://twitter.com/ChristinGorman) Ukas episode er sponset av Folq, den diggeste måten å være konsulent på, les mer om Folq på https://folq.no (https://folq.no/)

9 Sept 2021
11 - Ende til ende testing med Cypress med Kristofer Giltvedt Selbekk
I denne episoden prater jeg med Kristofer Giltvedt Selbekk om ende til ende testing med Cypress. Kristofer forteller hva ende til ende testing er og hans erfaring fra å bruke Cypress i forskjellige prosjekter. Ukas gjest: Kristofer Giltvedt Selbekk - Fagsjef i Bekk Twitter: https://twitter.com/selbekk (https://twitter.com/selbekk) Nettside/blog: https://selbekk.io (https://selbekk.io) (https://osloctf.no/) Ukas episode er sponset av Folq, den diggeste måten å være konsulent på, les mer om Folq på https://folq.no (https://folq.no/). Temaer i episoden: - Hva er e2e testing? - Forskjellen på unit, integrasjon og e2e tester - Hvordan Cypress fungerer - Erfaringer med Cypress i prosjekter Ressurser: Kristofers blogpost 1 om e2e testing: https://www.selbekk.io/blog/writing-end-to-end-tests-in-2021 (https://www.selbekk.io/blog/writing-end-to-end-tests-in-2021) Kristofers blogpost 2 om e2e testing: https://www.selbekk.io/blog/real-confidence-with-cypress-e2e-tests Testing JavaScript: https://testingjavascript.com/ (https://testingjavascript.com/)

2 Sept 2021
10 - Sikker systemutvikling med Marit Iren Rognli Tokle
I denne episoden prater jeg med Marit Iren Rognli Tokle om sikker systemutviklng. Marit jobber som software engineer i Sopra Steria hvor hun også er leder for fagområde sikker systemutvikling. Hun snakker blant annet om viktigheten av god (og trygg) sikkerhetskultur, CALMS og metoden hun tar i bruk for å hjelpe teams å lage sikrere systemer. Ukas gjest: Marit Iren Rognli Tokle - Senior Software Engineer i Sopra Steria Twitter: https://twitter.com/maritio_o (https://twitter.com/maritio_o) Oslo CTF: https://osloctf.no/ Ukas episode er sponset av Folq, den diggeste måten å være konsulent på, les mer om Folq på https://folq.no (https://folq.no). Temaer i episoden: - Viktigheten av god sikkerhetskultur - Bruk av value propsition canvas for å hjelpe utviklere å lage sikrere systemer - Ulike scenarior hvor man må tenke på sikkerhet - CALMS - culture, automation, lean, measurement, sharing - Rapid Risk Assessment - Marits favorittverktøy for å analysere tjenester - Rammeverk som brukes i forbindelse med Secure Software Development Lifecycle (S-SDLC) Ressurser: Rapid Risk Assessment (RRA): https://infosec.mozilla.org/guidelines/risk/rapid_risk_assessment.html (https://infosec.mozilla.org/guidelines/risk/rapid_risk_assessment.html) Microsoft DSL: https://www.microsoft.com/en-us/securityengineering/sdl (https://www.microsoft.com/en-us/securityengineering/sdl) OWASP SAMM: https://owasp.org/www-project-samm/ (https://owasp.org/www-project-samm/) CALMS: https://www.atlassian.com/devops/frameworks/calms-framework (https://www.atlassian.com/devops/frameworks/calms-framework)

26 Aug 2021
9 - Pulumi med Tomas Jansson
I denne episoden prater jeg med Tomas Jansson om infrastruktur som kode rammeverket Pulumi. Pulumi gjør det mulig å definere infrastruktur gjennom kjente språk som C#, TypeScript eller Golang. Tomas forteller om hvordan Pulumi fungerer og hvordan de tar det i bruk i Elkjøp. Ukas gjest: Tomas Jansson - Arkitekt i Elkjøp Twitter: https://twitter.com/TomasJansson (https://twitter.com/TomasJansson) LinkedIn: https://www.linkedin.com/in/tomasjansson/ (https://www.linkedin.com/in/tomasjansson/) Temaer i episoden: - Hva er Pulumi - Hvorfor gikk valget på Pulumi - Gjennomgang av konsepter - Statehåndtering - Håndtering av hemligheter - Eksempler fra Elkjøp - Pulumi Automation Ressurser: Tackling organization project complexity using Pulumi Automation: https://ndcoslo.com/agenda/tackling-organization-project-complexity-using-pulumi-automation-0bd5/0leox8f5ato (https://ndcoslo.com/agenda/tackling-organization-project-complexity-using-pulumi-automation-0bd5/0leox8f5ato) Pulumi: https://www.pulumi.com/ (https://www.pulumi.com/) Pulumi Automation: https://www.pulumi.com/docs/guides/automation-api/ (https://www.pulumi.com/docs/guides/automation-api/)

8 Jul 2021
8 - Automatisere seg fra on-prem til AWS hos GoDaddy med Jan-Erik Carlsen
I denne episoden prater jeg med Jan-Erik Carlsen om hvordan han jobber med å flytte GoDaddy fra on-prem til AWS. I Cloud Automation avdelingen jobber Jan-Erik med å flytte on-prem applikasjoner til AWS ved bruk av blant annet AWS CloudFormation templates og Python APIer. Hør om det og mer i ukas episode av Utviklerpodden! Ukas gjest: Jan-Erik Carlsen - Principal Software Engineer i GoDaddy Twitter: https://twitter.com/janerikcarlsen (https://twitter.com/janerikcarlsen) LinkedIn: https://linkedin.com/janerikcarlsen (https://linkedin.com/janerikcarlsen) GitHub: https://github.com/janerikcarlsen (https://github.com/janerikcarlsen) Noen temaer i ukas episode: - Hva driver GoDaddy med? - Verktøy de lager i GoDaddy for å automatisere opprettelse og vedlikehold av miljøer i AWS - Terraform vs AWS CloudFormation Ressurser: Artikkel (2018) - GoDaddy goes All In on AWS: https://www.businesswire.com/news/home/20180328005408/en/GoDaddy-Goes-All-In-on-AWS (https://www.businesswire.com/news/home/20180328005408/en/GoDaddy-Goes-All-In-on-AWS) AWS-blogg (2021) om GoDaddy og migreringen til AWS: https://aws.amazon.com/blogs/mt/godaddys-journey-to-the-cloud-and-their-standard-cloud-platform/ (https://aws.amazon.com/blogs/mt/godaddys-journey-to-the-cloud-and-their-standard-cloud-platform/) GoDaddy Engineering Blog om temaet: https://www.godaddy.com/engineering/2021/05/07/godaddys-journey-to-the-cloud/ (https://www.godaddy.com/engineering/2021/05/07/godaddys-journey-to-the-cloud/) Amazon Builders’ Library: https://aws.amazon.com/builders-library (https://aws.amazon.com/builders-library) AWS Well Architected Framework: https://aws.amazon.com/architecture/well-architected (https://aws.amazon.com/architecture/well-architected) GoDaddy Open Source: https://github.com/godaddy (https://github.com/godaddy)

1 Jul 2021
7 - Applikasjonsplattformen NAIS med Johnny Horvi og Audun Strand
Lær om applikasjonsplattformen NAIS bygd på Kubernetes som gjør det mulig for NAV IT å flytte til skya, med Johnny Horvi og Audun Strand. Johnny er en del av teamet som bygger NAIS og forteller om hvordan denne fungerer. Audun jobber som Principal Engineer i NAV IT og skriver seg inn i historiebøkene som første gjest til å dukke opp to ganger i Utviklerpodden! .Ukas gjester: Johnny Horvi - Utvikler i NAV IT en del av teamet som utvikler NAIS Twitter: https://twitter.com/j_hrv (https://twitter.com/j_hrv) Audun Strand - Principal Engineer i NAV IT Twitter: https://twitter.com/audunstrand (https://twitter.com/audunstrand) Temaer i episoden: - Hva er en applikasjonsplattform og hvorfor lage en egen? - Hvordan man bruker Custom Resource Definitions til å lage egne operators. For eksempel til deployment av applikasjoner - Ulike operators og verktøy som brukes i NAIS - Sikkerhet og tilgangskontroll - Hvordan utviklere jobber med NAIS - Verdens korteste primer på hva en service mesh er - Mye annen morro Ressurser: Den viral-ishe blogposten om å gå fra Istio til Linkerd: https://nais.io/blog/posts/2021/05/changing-service-mesh.html (https://nais.io/blog/posts/2021/05/changing-service-mesh.html) NAIS på GitHub: http://github.com/nais (http://github.com/nais) NAIS: https://nais.io/ (https://nais.io/)

24 Jun 2021
6 - Mikrotjenester, teknoglogiradar og kultur I NAV IT med Audun Strand og Truls Jørgensen
Litt mindre fokusert episode enn vanlig, men med mye moro. Jeg prater med Audun Strand og Truls Jørgensen fra NAV IT om blant annet mikrotjenester, teknologiradar og kultur. De to har vært drivere for NAVs digitale transformasjon. Ukas gjester: Truls Jørgensen - Principal Engineer i NAV IT Twitter: https://twitter.com/trulsjor (https://twitter.com/trulsjor) Audun Strand - Principal Engineer i NAV IT Twitter: https://twitter.com/audunstrand (https://twitter.com/audunstrand) Temaer i episoden: - Hvordan de gikk fram med å lage nytt system for sykepenger - Fred George, mikrotjenestenes bestefar - Rapids and rivers - Kotlin - Teknologiradar - Teknisk retning i NAV IT Ressurser: Rapids and rivers bilbotek: https://github.com/navikt/rapids-and-rivers (https://github.com/navikt/rapids-and-rivers) Det som betyr noe: http://detsombetyrnoe.no/ (http://detsombetyrnoe.no/) Teknisk retning i NAV IT: https://app.mural.co/t/navdesign3580/m/navdesign3580/1623333104763/96479833c9c123df7825fa633a2eaa1bb... (https://app.mural.co/t/navdesign3580/m/navdesign3580/1623333104763/96479833c9c123df7825fa633a2eaa1bb956ffb7) Martin Fowler - Testing av mikrotjenester. https://martinfowler.com/articles/microservice-testing/ (https://martinfowler.com/articles/microservice-testing/)

17 Jun 2021
5 - Lage og teste robuste tjenester med Bjørn Einar Bjartnes
I denne episoden prater jeg med Bjørn Einar Bjartnes om hvordan de lager og tester robuste tjenester i NRK. Hvis du vil lære mer om å lage robuste tjenester i .NET bør du sjekke ut Bjørn Einar sin workshop på NDC Oslo (lenke i bunn av beskrivelsen). Ukas gjest: Bjørn Einar Bjartnes → Principal Engineer i NRK Twitter → https://twitter.com/bjartnes (https://twitter.com/bjartnes) Teamer i episoden: Vi finner ut hva det vil si å ha robuste tjenester Bjørn Einar kommer med noen eksempler fra NRK om hvor kjipt det er når viktige tjenester ikke er robuste (nok) Hvordan finner man ut hvor robust en tjeneste er? Hvordan finner man ut hvor robust den bør være? Vi snakker om en haug av ulike strategier for å robustifisere tjenester: prøv på nytt, gi opp, del opp tjenester, caching, med mer. Nødvendigheten av eksperimentering Introduksjon av kaosaper for teste/forbedre robusthet Ressurser: How complex systems fail: (https://how.complexsystems.fail/)https://how.complexsystems.fail/ (https://how.complexsystems.fail/) Bjartnes GitHub workshop: (https://github.com/bjartwolf/bounded-disturbances)https://github.com/bjartwolf/bounded-disturbances (https://github.com/bjartwolf/bounded-disturbances) NDC workshop (desember 2021): (https://ndcoslo.com/workshops/building-and-testing-resilient-services/dbb2ed362bcc)https://ndcoslo.com/workshops/building-and-testing-resilient-services/dbb2ed362bcc (https://ndcoslo.com/workshops/building-and-testing-resilient-services/dbb2ed362bcc)

10 Jun 2021
4 - Infrastruktur som kode og Terraform med Hans Kristian Flaatten
I denne episoden prater Hans Kristian Flaatten om infrastruktur som kode og Terraform. Vi snakker om fordeler og bruksområder for IaC, og hvordan man kan bruke Terraform for å sette opp alt fra små miljøer til infrastruktur for organisasjoner. Ukas gjest: Hans Kristian Flaatten - Site Reliability Engineer Team Lead i TietoEVRY Twitter -> https://twitter.com/starefossen (https://twitter.com/starefossen) Temaer i ukas episode Hvordan man kan bruke IaC verktøy for å sette opp infrastruktur innad i en organisasjon. Hvilke fordeler det har framfor scripting og andre typer verktøy som f.eks Ansible og Chef. Vi ser på Terraform, et verktøy som gjør det mulig å lage templates som kan definere infrastruktur. Dette kan være alt fra sky-løsninger til tabeller i en database.

3 Jun 2021
3 - Smittestopp 2 arkitektur og personvern med Johannes Brodwall
I denne episoden prater Johannes Brodwall fra Sopra Steria om Smittestopp 2 appen, som han satt i fagrådet for. Johannes går blant annet gjennom arkitekturen, og hvordan man har håndtert personvern med GAEN og anonyme tokens. Ukas gjest: Johannes Brodwall - Principle software engineer i Sopra Steria Twitter -> https:///twitter.com/jhannes (https:///twitter.com/jhannes) Teamer i ukas episode: Fagrådets rolle i utviklingen av Smittestopp 2. Smittestopp 2 appens arkitektur. Bestående av et backend API, et verifiserings API og en Xamarin applikasjon. Google/Apple Exposure Notification System (GAEN) - som blir brukt for å spore smitte, har høyt fokus på anonymitet og personvern. Anonyme tokens - Metode basert på Privacy Pass som sørger for fullstendig anonymitet også når man har meldt smitte gjennom verifiserings APIet. Utviklet av Martin Strand, Tjerand Silde og Henrik Walker Moe. Ressurser Smittestopp 2 GitHub: https://github.com/folkehelseinstituttet?q=Smittestopp&type=&language=&sort= (https://github.com/folkehelseinstituttet?q=Smittestopp&type=&language=&sort=) (https://github.com/folkehelseinstituttet?q=Smittestopp&type=&language=&sort=) Smittestopp 1 GitHub: https://github.com/smittestopp/ (https://github.com/smittestopp/) Anonyme tokens PR: https://github.com/folkehelseinstituttet/Fhi.Smittestopp.Backend/pull/25 (https://github.com/folkehelseinstituttet/Fhi.Smittestopp.Backend/pull/25) (https://github.com/folkehelseinstituttet/Fhi.Smittestopp.Backend/pull/25) (https://github.com/folkehelseinstituttet/Fhi.Smittestopp.App/pull/150) Bekks julekalender: https://security.christmas/2020/22 (https://security.christmas/2020/22) Golang impl: https://github.com/tjesi/anonymous-tokens (https://github.com/tjesi/anonymous-tokens) C# impl: https://github.com/HenrikWM/anonymous-tokens (https://github.com/HenrikWM/anonymous-tokens)

27 May 2021
2 - Kvalitet i systemutvikling med Espen Limi
I denne episoden prater jeg med Espen Limi fra Semine om hvordan man sørger for å skape programvare med kvalitet. Vi snakker om testing, metodikk, kultur, automatisering og annet snadder! Ukas gjest: Espen Limi - Tech lead i Semine Twitter -> @EspenLimi Temaer vi snakker om: - Testing på flere nivåer - Automatisering - CI/CD av applikasjoner og infrastruktur - Kultur hvor utviklere har eierskap og ønsker å skape gode systemer - Samarbeide tett med kunde for å lage det som faktisk bør lages - Domenekunnskap kan hjelpe deg å ta de rette(ish) valgene - Vedlikehold systemet ditt, ikke la koden forfalle på grunn av noen knuste vinduer - Ha korte tilbakemeldingskanaler -> feedback-loops som noen også kaller dem Ressurser: Boka som jeg absolutt ikke husket hva het: The Challenger Launch Decision Clean Code av Bob Martin

19 May 2021
1 - Feature Flags og Unleash med Fredrik Oseberg
I denne episoden av Utviklerpodden prater jeg med Fredrik Oseberg om feature flags og open source systemet Unleash. Ukas gjest: Fredrik Oseberg - Principal Software Developer i Unleash Twitter -> @foseberg Fredrik Oseberg Coding Lessons -> https://www.youtube.com/channel/UCZTeUahnA2GMoo_YpTBFo9A (https://www.youtube.com/channel/UCZTeUahnA2GMoo_YpTBFo9A) Hva er Unleash? Unleash er et open source feature flag system. Ble laget Ivar Østhus når han jobbet i Finn.no. Tilgjenglig som en SaaS gjennom unleash-hosted. Hva er et feature flags? Et feature flag er ganske enkelt noe man bruker for å skru en egenskap av eller på, ofte ved hjelp av en if-statement. Flagget kan bli styrt av f.eks en appsetting/JSON eller en sentral server som unleash. Ulike type feature flag? - Release toggle - Ekspriment toggle - Operasjonell - Kill switch - Permission Grupperinger og strategier Strategier gjør det mulig å ha spesifisere hvilke brukere eller grupper som feature toggles skal gjelde. Egendefinerte grupper kan lages ved hjelp av feature toggle context. Hvordan håndtere teknisk gjeld som feature flags bringer? Rydd opp etter deg! Unleash har et teknisk gjeld dashboard som kan hjelpe deg her. Best practices Minimer antall feature flags i koden din. Rydd opp titt og ofte Følg Utviklerpodden eller meg på twitter @Utviklerpodden @OysteinVest Ressurser Mer om Unleash: https://getunleash.io (https://getunleash.io/) Martin Fowler om FeatureToggle: https://martinfowler.com/bliki/FeatureToggle.html (https://martinfowler.com/bliki/FeatureToggle.html) Unleash på GitHub: https://github.com/unleash (https://github.com/unleash)

17 May 2021
0 - Hello World fra Utviklerpodden
Utviklerpodden er podkasten for deg som ønsker å vite mer om alt innenfor programmering og utvikling. Hver torsdag kommer det ny episode hvor jeg prater med interessante gjester om temaer som engasjerer dem. Det kan være programmeringsspråk, arkitektur, metodikk eller andre utviklings-relaterte tema. Kunne du tenke deg å være gjest eller komme med ideer er det bare å ta kontakt på mail oystein@utviklerpodden.no eller @OysteinVesth på Twitter.
Host of Utviklerpodden?
Claim your podcast to manage its listing and keep your show details accurate.
Pod Engine is an independent podcast discovery and analytics service and is not affiliated with or endorsed by this podcast. Artwork and show content belong to their owners. Full legal notice.