This document contains a presentation on embedding in Go. Some key points covered include: embedding allows re-using existing structs and interfaces via composition rather than inheritance; embedding differs from classical inheritance in that it does not imply a base/super class relationship; promotion determines which embedded fields and methods are accessible from the embedding type; embedding multiple types or interfaces can result in ambiguous selectors; and promoted methods are always called on their original receiver type rather than the embedding type. Examples are provided for using embedding in view models and extending generated code.
If you've ever wondered just what happens when you run go test, this talk is for you. Covering flags, pre-checks, incompatible options, and even a few interesting tricks, this talks goes deep into the test tool, but avoids going so deep that the talk turns into a session on how builds actually work - it treads somewhere in the middle.
How hard could it be to take 1-1 communication with Go Channels and turn it into 1-many to enable fanout?
As hard as you want to make it! In this talk, i'll walk through the problem space, how I solved it, and demonstrate some code showing how simple (or not) it can be.
https://github.com/StabbyCutyou/spub
This is a very quick talk about code comments. The aim is to make you aware of the importance of comments, but also to give you the impression that you should be commenting WHY something was done, not just WHAT
A talk on how to think about choosing a distributed messaging technology, and some notes on how to avoid locking yourself into a single choice, keeping your platform able to grow as needs change.
A talk on how to think about choosing a distributed messaging technology, and some notes on how to avoid locking yourself into a single choice, keeping your platform able to grow as needs change.
If you've ever wondered just what happens when you run go test, this talk is for you. Covering flags, pre-checks, incompatible options, and even a few interesting tricks, this talks goes deep into the test tool, but avoids going so deep that the talk turns into a session on how builds actually work - it treads somewhere in the middle.
How hard could it be to take 1-1 communication with Go Channels and turn it into 1-many to enable fanout?
As hard as you want to make it! In this talk, i'll walk through the problem space, how I solved it, and demonstrate some code showing how simple (or not) it can be.
https://github.com/StabbyCutyou/spub
This is a very quick talk about code comments. The aim is to make you aware of the importance of comments, but also to give you the impression that you should be commenting WHY something was done, not just WHAT
A talk on how to think about choosing a distributed messaging technology, and some notes on how to avoid locking yourself into a single choice, keeping your platform able to grow as needs change.
A talk on how to think about choosing a distributed messaging technology, and some notes on how to avoid locking yourself into a single choice, keeping your platform able to grow as needs change.
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesChristina Lin
Traditionally, dealing with real-time data pipelines has involved significant overhead, even for straightforward tasks like data transformation or masking. However, in this talk, we’ll venture into the dynamic realm of WebAssembly (WASM) and discover how it can revolutionize the creation of stateless streaming pipelines within a Kafka (Redpanda) broker. These pipelines are adept at managing low-latency, high-data-volume scenarios.
Using recycled concrete aggregates (RCA) for pavements is crucial to achieving sustainability. Implementing RCA for new pavement can minimize carbon footprint, conserve natural resources, reduce harmful emissions, and lower life cycle costs. Compared to natural aggregate (NA), RCA pavement has fewer comprehensive studies and sustainability assessments.
6th International Conference on Machine Learning & Applications (CMLA 2024)ClaraZara1
6th International Conference on Machine Learning & Applications (CMLA 2024) will provide an excellent international forum for sharing knowledge and results in theory, methodology and applications of on Machine Learning & Applications.
A review on techniques and modelling methodologies used for checking electrom...nooriasukmaningtyas
The proper function of the integrated circuit (IC) in an inhibiting electromagnetic environment has always been a serious concern throughout the decades of revolution in the world of electronics, from disjunct devices to today’s integrated circuit technology, where billions of transistors are combined on a single chip. The automotive industry and smart vehicles in particular, are confronting design issues such as being prone to electromagnetic interference (EMI). Electronic control devices calculate incorrect outputs because of EMI and sensors give misleading values which can prove fatal in case of automotives. In this paper, the authors have non exhaustively tried to review research work concerned with the investigation of EMI in ICs and prediction of this EMI using various modelling methodologies and measurement setups.
We have compiled the most important slides from each speaker's presentation. This year’s compilation, available for free, captures the key insights and contributions shared during the DfMAy 2024 conference.
2024 State of Marketing Report – by HubspotMarius Sescu
https://www.hubspot.com/state-of-marketing
· Scaling relationships and proving ROI
· Social media is the place for search, sales, and service
· Authentic influencer partnerships fuel brand growth
· The strongest connections happen via call, click, chat, and camera.
· Time saved with AI leads to more creative work
· Seeking: A single source of truth
· TLDR; Get on social, try AI, and align your systems.
· More human marketing, powered by robots
ChatGPT is a revolutionary addition to the world since its introduction in 2022. A big shift in the sector of information gathering and processing happened because of this chatbot. What is the story of ChatGPT? How is the bot responding to prompts and generating contents? Swipe through these slides prepared by Expeed Software, a web development company regarding the development and technical intricacies of ChatGPT!
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesChristina Lin
Traditionally, dealing with real-time data pipelines has involved significant overhead, even for straightforward tasks like data transformation or masking. However, in this talk, we’ll venture into the dynamic realm of WebAssembly (WASM) and discover how it can revolutionize the creation of stateless streaming pipelines within a Kafka (Redpanda) broker. These pipelines are adept at managing low-latency, high-data-volume scenarios.
Using recycled concrete aggregates (RCA) for pavements is crucial to achieving sustainability. Implementing RCA for new pavement can minimize carbon footprint, conserve natural resources, reduce harmful emissions, and lower life cycle costs. Compared to natural aggregate (NA), RCA pavement has fewer comprehensive studies and sustainability assessments.
6th International Conference on Machine Learning & Applications (CMLA 2024)ClaraZara1
6th International Conference on Machine Learning & Applications (CMLA 2024) will provide an excellent international forum for sharing knowledge and results in theory, methodology and applications of on Machine Learning & Applications.
A review on techniques and modelling methodologies used for checking electrom...nooriasukmaningtyas
The proper function of the integrated circuit (IC) in an inhibiting electromagnetic environment has always been a serious concern throughout the decades of revolution in the world of electronics, from disjunct devices to today’s integrated circuit technology, where billions of transistors are combined on a single chip. The automotive industry and smart vehicles in particular, are confronting design issues such as being prone to electromagnetic interference (EMI). Electronic control devices calculate incorrect outputs because of EMI and sensors give misleading values which can prove fatal in case of automotives. In this paper, the authors have non exhaustively tried to review research work concerned with the investigation of EMI in ICs and prediction of this EMI using various modelling methodologies and measurement setups.
We have compiled the most important slides from each speaker's presentation. This year’s compilation, available for free, captures the key insights and contributions shared during the DfMAy 2024 conference.
2024 State of Marketing Report – by HubspotMarius Sescu
https://www.hubspot.com/state-of-marketing
· Scaling relationships and proving ROI
· Social media is the place for search, sales, and service
· Authentic influencer partnerships fuel brand growth
· The strongest connections happen via call, click, chat, and camera.
· Time saved with AI leads to more creative work
· Seeking: A single source of truth
· TLDR; Get on social, try AI, and align your systems.
· More human marketing, powered by robots
ChatGPT is a revolutionary addition to the world since its introduction in 2022. A big shift in the sector of information gathering and processing happened because of this chatbot. What is the story of ChatGPT? How is the bot responding to prompts and generating contents? Swipe through these slides prepared by Expeed Software, a web development company regarding the development and technical intricacies of ChatGPT!
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
The realm of product design is a constantly changing environment where technology and style intersect. Every year introduces fresh challenges and exciting trends that mold the future of this captivating art form. In this piece, we delve into the significant trends set to influence the look and functionality of product design in the year 2024.
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
Mental health has been in the news quite a bit lately. Dozens of U.S. states are currently suing Meta for contributing to the youth mental health crisis by inserting addictive features into their products, while the U.S. Surgeon General is touring the nation to bring awareness to the growing epidemic of loneliness and isolation. The country has endured periods of low national morale, such as in the 1970s when high inflation and the energy crisis worsened public sentiment following the Vietnam War. The current mood, however, feels different. Gallup recently reported that national mental health is at an all-time low, with few bright spots to lift spirits.
To better understand how Americans are feeling and their attitudes towards mental health in general, ThinkNow conducted a nationally representative quantitative survey of 1,500 respondents and found some interesting differences among ethnic, age and gender groups.
Technology
For example, 52% agree that technology and social media have a negative impact on mental health, but when broken out by race, 61% of Whites felt technology had a negative effect, and only 48% of Hispanics thought it did.
While technology has helped us keep in touch with friends and family in faraway places, it appears to have degraded our ability to connect in person. Staying connected online is a double-edged sword since the same news feed that brings us pictures of the grandkids and fluffy kittens also feeds us news about the wars in Israel and Ukraine, the dysfunction in Washington, the latest mass shooting and the climate crisis.
Hispanics may have a built-in defense against the isolation technology breeds, owing to their large, multigenerational households, strong social support systems, and tendency to use social media to stay connected with relatives abroad.
Age and Gender
When asked how individuals rate their mental health, men rate it higher than women by 11 percentage points, and Baby Boomers rank it highest at 83%, saying it’s good or excellent vs. 57% of Gen Z saying the same.
Gen Z spends the most amount of time on social media, so the notion that social media negatively affects mental health appears to be correlated. Unfortunately, Gen Z is also the generation that’s least comfortable discussing mental health concerns with healthcare professionals. Only 40% of them state they’re comfortable discussing their issues with a professional compared to 60% of Millennials and 65% of Boomers.
Race Affects Attitudes
As seen in previous research conducted by ThinkNow, Asian Americans lag other groups when it comes to awareness of mental health issues. Twenty-four percent of Asian Americans believe that having a mental health issue is a sign of weakness compared to the 16% average for all groups. Asians are also considerably less likely to be aware of mental health services in their communities (42% vs. 55%) and most likely to seek out information on social media (51% vs. 35%).
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
This article is all about what AI trends will emerge in the field of creative operations in 2024. All the marketers and brand builders should be aware of these trends for their further use and save themselves some time!
A report by thenetworkone and Kurio.
The contributing experts and agencies are (in an alphabetical order): Sylwia Rytel, Social Media Supervisor, 180heartbeats + JUNG v MATT (PL), Sharlene Jenner, Vice President - Director of Engagement Strategy, Abelson Taylor (USA), Alex Casanovas, Digital Director, Atrevia (ES), Dora Beilin, Senior Social Strategist, Barrett Hoffher (USA), Min Seo, Campaign Director, Brand New Agency (KR), Deshé M. Gully, Associate Strategist, Day One Agency (USA), Francesca Trevisan, Strategist, Different (IT), Trevor Crossman, CX and Digital Transformation Director; Olivia Hussey, Strategic Planner; Simi Srinarula, Social Media Manager, The Hallway (AUS), James Hebbert, Managing Director, Hylink (CN / UK), Mundy Álvarez, Planning Director; Pedro Rojas, Social Media Manager; Pancho González, CCO, Inbrax (CH), Oana Oprea, Head of Digital Planning, Jam Session Agency (RO), Amy Bottrill, Social Account Director, Launch (UK), Gaby Arriaga, Founder, Leonardo1452 (MX), Shantesh S Row, Creative Director, Liwa (UAE), Rajesh Mehta, Chief Strategy Officer; Dhruv Gaur, Digital Planning Lead; Leonie Mergulhao, Account Supervisor - Social Media & PR, Medulla (IN), Aurelija Plioplytė, Head of Digital & Social, Not Perfect (LI), Daiana Khaidargaliyeva, Account Manager, Osaka Labs (UK / USA), Stefanie Söhnchen, Vice President Digital, PIABO Communications (DE), Elisabeth Winiartati, Managing Consultant, Head of Global Integrated Communications; Lydia Aprina, Account Manager, Integrated Marketing and Communications; Nita Prabowo, Account Manager, Integrated Marketing and Communications; Okhi, Web Developer, PNTR Group (ID), Kei Obusan, Insights Director; Daffi Ranandi, Insights Manager, Radarr (SG), Gautam Reghunath, Co-founder & CEO, Talented (IN), Donagh Humphreys, Head of Social and Digital Innovation, THINKHOUSE (IRE), Sarah Yim, Strategy Director, Zulu Alpha Kilo (CA).
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
The search marketing landscape is evolving rapidly with new technologies, and professionals, like you, rely on innovative paid search strategies to meet changing demands.
It’s important that you’re ready to implement new strategies in 2024.
Check this out and learn the top trends in paid search advertising that are expected to gain traction, so you can drive higher ROI more efficiently in 2024.
You’ll learn:
- The latest trends in AI and automation, and what this means for an evolving paid search ecosystem.
- New developments in privacy and data regulation.
- Emerging ad formats that are expected to make an impact next year.
Watch Sreekant Lanka from iQuanti and Irina Klein from OneMain Financial as they dive into the future of paid search and explore the trends, strategies, and technologies that will shape the search marketing landscape.
If you’re looking to assess your paid search strategy and design an industry-aligned plan for 2024, then this webinar is for you.
5 Public speaking tips from TED - Visualized summarySpeakerHub
From their humble beginnings in 1984, TED has grown into the world’s most powerful amplifier for speakers and thought-leaders to share their ideas. They have over 2,400 filmed talks (not including the 30,000+ TEDx videos) freely available online, and have hosted over 17,500 events around the world.
With over one billion views in a year, it’s no wonder that so many speakers are looking to TED for ideas on how to share their message more effectively.
The article “5 Public-Speaking Tips TED Gives Its Speakers”, by Carmine Gallo for Forbes, gives speakers five practical ways to connect with their audience, and effectively share their ideas on stage.
Whether you are gearing up to get on a TED stage yourself, or just want to master the skills that so many of their speakers possess, these tips and quotes from Chris Anderson, the TED Talks Curator, will encourage you to make the most impactful impression on your audience.
See the full article and more summaries like this on SpeakerHub here: https://speakerhub.com/blog/5-presentation-tips-ted-gives-its-speakers
See the original article on Forbes here:
http://www.forbes.com/forbes/welcome/?toURL=http://www.forbes.com/sites/carminegallo/2016/05/06/5-public-speaking-tips-ted-gives-its-speakers/&refURL=&referrer=#5c07a8221d9b
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
Everyone is in agreement that ChatGPT (and other generative AI tools) will shape the future of work. Yet there is little consensus on exactly how, when, and to what extent this technology will change our world.
Businesses that extract maximum value from ChatGPT will use it as a collaborative tool for everything from brainstorming to technical maintenance.
For individuals, now is the time to pinpoint the skills the future professional will need to thrive in the AI age.
Check out this presentation to understand what ChatGPT is, how it will shape the future of work, and how you can prepare to take advantage.
A brief introduction to DataScience with explaining of the concepts, algorithms, machine learning, supervised and unsupervised learning, clustering, statistics, data preprocessing, real-world applications etc.
It's part of a Data Science Corner Campaign where I will be discussing the fundamentals of DataScience, AIML, Statistics etc.
Time Management & Productivity - Best PracticesVit Horky
Here's my presentation on by proven best practices how to manage your work time effectively and how to improve your productivity. It includes practical tips and how to use tools such as Slack, Google Apps, Hubspot, Google Calendar, Gmail and others.
The six step guide to practical project managementMindGenius
The six step guide to practical project management
If you think managing projects is too difficult, think again.
We’ve stripped back project management processes to the
basics – to make it quicker and easier, without sacrificing
the vital ingredients for success.
“If you’re looking for some real-world guidance, then The Six Step Guide to Practical Project Management will help.”
Dr Andrew Makar, Tactical Project Management
2. OBLIGATORY OPENING SLIDES
WHAT AM I HERE TO TALK ABOUT?
▸ Embedding!
▸ What is it, and how does it work?
▸ Useful ways to apply embedding for fun and profit!*
▸ *Neither fun nor profit guaranteed.
▸ A few ways you can’t use embedding, and why.
▸ Sweet pictures of my awesome dog!
5. EMBEDDING IS NOT BETTER THAN
“CLASSICAL” INHERITANCE. IT’S A DIFFERENT
TOOL FOR A DIFFERENT PROBLEM
Me
FUN QUOTE FOR YOU TO DISAGREE WITH
6. WHAT IS EMBEDDING?
DEFINING EMBEDDING AND COMPOSITION
▸ Embedding is a way to re-use existing structs and interfaces via composition
▸ Think more behavior over lineage
▸ Embedding to define structure is perfectly valid, though
▸ Sideways Inheritance
▸ Embed to define the API of a struct or interface
7. WHAT IS EMBEDDING?
HOW DOES IT DIFFER FROM “CLASSICAL” INHERITANCE?
▸ It does not set up or even imply a “base class / super class” relationship.
▸ “Is a” VS “Has a” style relationship
▸ Method dispatch mostly works as you think it would
▸ There are some interesting edge regarding “where” the method gets called
from
▸ The embedding type cannot be exchanged for the embedded type
▸ You can’t pass in a Corgi to a method which wants a Dog
8. WHAT IS EMBEDDING?
CLASSICAL INHERITANCE
▸ Kingdom - Animalia
▸ Phylum - Chordata
▸ Class - Mammalia
▸ Order - Carnivora
▸ Family - Canidae
▸ Genus - Canis
▸ Species - Canis Lupus
▸ Subspecies - Canis Lupus Familiaris
▸ Breed - Pembroke Welsh Corgi
11. WHAT IS EMBEDDING?
WELL, WHAT DOES THE SPEC SAY?
▸ Not a whole lot!
▸ “A field declared with a type but no explicit field name is an anonymous field, also called an
embedded field or an embedding of the type in the struct. An embedded type must be
specified as a type name T or as a pointer to a non-interface type name *T, and T itself may
not be a pointer type. The unqualified type name acts as the field name.”
▸ “An interface T may use a (possibly qualified) interface type name E in place of a method
specification. This is called embedding interface E in T; it adds all (exported and non-
exported) methods of E to the interface T. An interface type T may not embed itself or any
interface type that embeds T, recursively.”
▸ It defines a series of rules for determining how promotion works, but is light on examples.
17. HOW DOES EMBEDDING WORK?
SELECTORS
▸ Selectors are expressions that denote
fields or methods available on an object
▸ “For a value x of type T or *T where T is
not a pointer or interface type, x.f denotes
the field or method at the shallowest
depth in T where there is such an f. If there
is not exactly one f with shallowest depth,
the selector expression is illegal.”
▸ Example: t.F is a simple selector
18. HOW DOES EMBEDDING WORK?
METHODSETS
▸ MethodSets are the collection of all
available methods with a receiver of
type T.
▸ For an interface, the interface is it’s own
MethodSet
▸ Keyword: Set
19. HOW DOES EMBEDDING WORK?
PROMOTION
▸ Promotion occurs when type E is embedded
into type T, such that a field or method on E
can be accessed at the shallowest depth of an
instance of T.
▸ If E has field or method X, and T embeds E, X
is promoted if T doesn’t already contain X
▸ Promoted methods and fields are called on
their original receiver
▸ If T already contains X, X is called on T, never E
21. PROMOTION COMMOTION
EMBEDDING MULTIPLE STRUCTS
▸ You can embed more than one type into another type
▸ You can even nest embeddings
▸ You cannot embed the same type more than once
▸ What happens when you embed multiple types that result in ambiguous
selectors?
▸ The compiler lets you do it!
▸ However, it does not let you invoke those selectors!
24. PROMOTION COMMOTION
EMBEDDING EXPORTED TYPES
▸ You can embed any exported type from any package
▸ You cannot embed types from different packages with the same name
▸ What happens to un-exported fields and methods from exported types?
▸ There is a long standing “bug” in the reflect package about this!
▸ It’s currently managed via a comment in the standard lib
▸ “Broken as intended”
25. PROMOTION COMMOTION
EMBEDDING INTERFACES IN STRUCTS
▸ You can do it
▸ Embed abstract behaviors instead of
concrete behaviors
▸ Don’t panic!
▸ What about embedding 2 or more
interfaces…
▸ With duplicate methods?
30. PROMOTION COMMOTION
MARSHALING AND UNMARSHMALING
▸ You can expose and receive data for embedded types
▸ You can add tags to embedded types
▸ This changes the behavior of marshaling, be careful
▸ You can override and block out the marshaling behavior of embedded types
▸ Lots of examples, but little time to cover them all
▸ TL;DR;
31. WAYS I HAVE USED
EMBEDDING
FOR BETTER, OR WORSE
32. FUN EXAMPLE TIME
VIEW MODELS
▸ Don’t send your database models over REST
▸ Don’t bind request data to them blindly either
▸ That’s a different talk
▸ Embed them in a ViewModel
▸ Use promotion semantics to hide private information
▸ Watch out for the marshal and unmarshal behaviors called out in the samples!
34. FUN EXAMPLE TIME
EXTENDING GENERATED CODE
▸ If you produce generated code which contains type T
▸ You can product a write-once user-editable file which defines CustomT - (CT)
▸ Users can extend T however they see fit via CustomT and CustomT.go
▸ Re-generating the code should never touch CustomT.go, only T.go
▸ Unless the user wants to!
▸ Users can upgrade your code, while keeping their changes intact
35. NOT FUN EXAMPLE TIME
REMEMBER: PROMOTED METHODS ARE CALLED ON THEIR ORIGINAL RECEIVER
▸ Here is a thing I got really really wrong
▸ Ported code from Ruby to Go
▸ Expected embedding to work similar to inheritance since “It’s better™”
▸ Didn’t
▸ If T embeds E, promoted method M1 will always call M2 on E
▸ Even if T includes method M2
37. ROUNDUP
EMBEDDING
▸ It’s not better than inheritance
▸ It’s different
▸ The spec is light on details, examples
▸ Also refers to it by two names!
▸ Selectors and MethodSets are pretty simple
▸ Promotion is where it gets tricky
▸ You can embed interfaces, but it gets weird
38. ROUNDUP
EMBEDDING
▸ Don’t touch the embedded type, only the
embedding type
▸ Methods and Fields are always called relative
to their original receiver
▸ Once you go down the embedded receiver
chain, you can only go sideways, or further
down
▸ Lots of ways to use embedding, not just as a
replacement for inheritance
39. ROUNDUP
EMBEDDING
▸ Once you embed a value, don’t touch it
again
▸ Only interact with embedded types via the
promotion exposed by their embedding type
▸ It’s too easy to inadvertently use the wrong
value otherwise
▸ Or, throw caution to the wind
▸ I’m not the Go police