With Launchers and Choosers in Windows Phone, 3rd party apps integrate more closely into the underlying operating system while allowing end-users to perform common tasks. With Launchers and Choosers you will provide more functionality to your end-users while still maintaining that consistent user experience that will make your app feel like a native app. In this session we’ll cover how to use Windows Phone resources including camera, video and Bing maps. We’ll also cover accessing contacts and calendar as well as sensors (including accelerometer, compass, gyroscope and motion).
With Launchers and Choosers in Windows Phone, 3rd party apps integrate more closely into the underlying operating system while allowing end-users to perform common tasks. With Launchers and Choosers you will provide more functionality to your end-users while still maintaining that consistent user experience that will make your app feel like a native app. In this session we’ll cover how to use Windows Phone resources including camera, video and Bing maps. We’ll also cover accessing contacts and calendar as well as sensors (including accelerometer, compass, gyroscope and motion).
The Metaverse and AI: how can decision-makers harness the Metaverse for their...Jen Stirrup
The Metaverse is popularized in science fiction, and now it is becoming closer to being a part of our daily lives through the use of social media and shopping companies. How can businesses survive in a world where Artificial Intelligence is becoming the present as well as the future of technology, and how does the Metaverse fit into business strategy when futurist ideas are developing into reality at accelerated rates? How do we do this when our data isn't up to scratch? How can we move towards success with our data so we are set up for the Metaverse when it arrives?
How can you help your company evolve, adapt, and succeed using Artificial Intelligence and the Metaverse to stay ahead of the competition? What are the potential issues, complications, and benefits that these technologies could bring to us and our organizations? In this session, Jen Stirrup will explain how to start thinking about these technologies as an organisation.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Enhancing Performance with Globus and the Science DMZGlobus
ESnet has led the way in helping national facilities—and many other institutions in the research community—configure Science DMZs and troubleshoot network issues to maximize data transfer performance. In this talk we will present a summary of approaches and tips for getting the most out of your network infrastructure using Globus Connect Server.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
2. public class ChatForm extends Form {
private ChatContact contact;
private final int DAY = 24 * 60 * 60000;
private final SimpleDateFormat DAY_FORMAT =
new SimpleDateFormat("MMMMMM dd, yyyy");
private boolean todayAdded;
public ChatContact getContact() {
return contact;
}
public ChatForm(ChatContact contact, Form parent) {
super(contact.name.get(), BoxLayout.yLast());
setUIID("ChatForm");
this.contact = contact;
Toolbar tb = getToolbar();
tb.setBackCommand("", Toolbar.BackCommandPolicy.AS_ARROW,
ChatForm
3. public class ChatForm extends Form {
private ChatContact contact;
private final int DAY = 24 * 60 * 60000;
private final SimpleDateFormat DAY_FORMAT =
new SimpleDateFormat("MMMMMM dd, yyyy");
private boolean todayAdded;
public ChatContact getContact() {
return contact;
}
public ChatForm(ChatContact contact, Form parent) {
super(contact.name.get(), BoxLayout.yLast());
setUIID("ChatForm");
this.contact = contact;
Toolbar tb = getToolbar();
tb.setBackCommand("", Toolbar.BackCommandPolicy.AS_ARROW,
ChatForm
4. public class ChatForm extends Form {
private ChatContact contact;
private final int DAY = 24 * 60 * 60000;
private final SimpleDateFormat DAY_FORMAT =
new SimpleDateFormat("MMMMMM dd, yyyy");
private boolean todayAdded;
public ChatContact getContact() {
return contact;
}
public ChatForm(ChatContact contact, Form parent) {
super(contact.name.get(), BoxLayout.yLast());
setUIID("ChatForm");
this.contact = contact;
Toolbar tb = getToolbar();
tb.setBackCommand("", Toolbar.BackCommandPolicy.AS_ARROW,
ChatForm
5. public class ChatForm extends Form {
private ChatContact contact;
private final int DAY = 24 * 60 * 60000;
private final SimpleDateFormat DAY_FORMAT =
new SimpleDateFormat("MMMMMM dd, yyyy");
private boolean todayAdded;
public ChatContact getContact() {
return contact;
}
public ChatForm(ChatContact contact, Form parent) {
super(contact.name.get(), BoxLayout.yLast());
setUIID("ChatForm");
this.contact = contact;
Toolbar tb = getToolbar();
tb.setBackCommand("", Toolbar.BackCommandPolicy.AS_ARROW,
ChatForm
6. public class ChatForm extends Form {
private ChatContact contact;
private final int DAY = 24 * 60 * 60000;
private final SimpleDateFormat DAY_FORMAT =
new SimpleDateFormat("MMMMMM dd, yyyy");
private boolean todayAdded;
public ChatContact getContact() {
return contact;
}
public ChatForm(ChatContact contact, Form parent) {
super(contact.name.get(), BoxLayout.yLast());
setUIID("ChatForm");
this.contact = contact;
Toolbar tb = getToolbar();
tb.setBackCommand("", Toolbar.BackCommandPolicy.AS_ARROW,
ChatForm
7. public class ChatForm extends Form {
private ChatContact contact;
private final int DAY = 24 * 60 * 60000;
private final SimpleDateFormat DAY_FORMAT =
new SimpleDateFormat("MMMMMM dd, yyyy");
private boolean todayAdded;
public ChatContact getContact() {
return contact;
}
public ChatForm(ChatContact contact, Form parent) {
super(contact.name.get(), BoxLayout.yLast());
setUIID("ChatForm");
this.contact = contact;
Toolbar tb = getToolbar();
tb.setBackCommand("", Toolbar.BackCommandPolicy.AS_ARROW,
ChatForm
8. public ChatContact getContact() {
return contact;
}
public ChatForm(ChatContact contact, Form parent) {
super(contact.name.get(), BoxLayout.yLast());
setUIID("ChatForm");
this.contact = contact;
Toolbar tb = getToolbar();
tb.setBackCommand("", Toolbar.BackCommandPolicy.AS_ARROW,
e -> parent.showBack());
tb.addCommandToLeftBar("", contact.getSmallIcon(), e -> {});
tb.addMaterialCommandToRightBar("", FontImage.MATERIAL_VIDEOCAM,
e -> {});
tb.addMaterialCommandToRightBar("", FontImage.MATERIAL_PHONE,
e -> {});
tb.addCommandToOverflowMenu("View contact", null, e -> {});
ChatForm
9. public ChatContact getContact() {
return contact;
}
public ChatForm(ChatContact contact, Form parent) {
super(contact.name.get(), BoxLayout.yLast());
setUIID("ChatForm");
this.contact = contact;
Toolbar tb = getToolbar();
tb.setBackCommand("", Toolbar.BackCommandPolicy.AS_ARROW,
e -> parent.showBack());
tb.addCommandToLeftBar("", contact.getSmallIcon(), e -> {});
tb.addMaterialCommandToRightBar("", FontImage.MATERIAL_VIDEOCAM,
e -> {});
tb.addMaterialCommandToRightBar("", FontImage.MATERIAL_PHONE,
e -> {});
tb.addCommandToOverflowMenu("View contact", null, e -> {});
ChatForm
10. this.contact = contact;
Toolbar tb = getToolbar();
tb.setBackCommand("", Toolbar.BackCommandPolicy.AS_ARROW,
e -> parent.showBack());
tb.addCommandToLeftBar("", contact.getSmallIcon(), e -> {});
tb.addMaterialCommandToRightBar("", FontImage.MATERIAL_VIDEOCAM,
e -> {});
tb.addMaterialCommandToRightBar("", FontImage.MATERIAL_PHONE,
e -> {});
tb.addCommandToOverflowMenu("View contact", null, e -> {});
tb.addCommandToOverflowMenu("Media", null, e -> {});
tb.addCommandToOverflowMenu("Search", null, e -> {});
tb.addCommandToOverflowMenu("Mute notifications", null, e -> {});
tb.addCommandToOverflowMenu("Wallpaper", null, e -> {});
final Component cc = createInputContainer();
add(cc);
ChatForm
11. tb.setBackCommand("", Toolbar.BackCommandPolicy.AS_ARROW,
e -> parent.showBack());
tb.addCommandToLeftBar("", contact.getSmallIcon(), e -> {});
tb.addMaterialCommandToRightBar("", FontImage.MATERIAL_VIDEOCAM,
e -> {});
tb.addMaterialCommandToRightBar("", FontImage.MATERIAL_PHONE,
e -> {});
tb.addCommandToOverflowMenu("View contact", null, e -> {});
tb.addCommandToOverflowMenu("Media", null, e -> {});
tb.addCommandToOverflowMenu("Search", null, e -> {});
tb.addCommandToOverflowMenu("Mute notifications", null, e -> {});
tb.addCommandToOverflowMenu("Wallpaper", null, e -> {});
final Component cc = createInputContainer();
add(cc);
if(contact.chats.size() > 0) {
Date time = contact.chats.get(0).time.get();
long currentDay = time.getTime() / DAY;
ChatForm
12. tb.addCommandToLeftBar("", contact.getSmallIcon(), e -> {});
tb.addMaterialCommandToRightBar("", FontImage.MATERIAL_VIDEOCAM,
e -> {});
tb.addMaterialCommandToRightBar("", FontImage.MATERIAL_PHONE,
e -> {});
tb.addCommandToOverflowMenu("View contact", null, e -> {});
tb.addCommandToOverflowMenu("Media", null, e -> {});
tb.addCommandToOverflowMenu("Search", null, e -> {});
tb.addCommandToOverflowMenu("Mute notifications", null, e -> {});
tb.addCommandToOverflowMenu("Wallpaper", null, e -> {});
final Component cc = createInputContainer();
add(cc);
if(contact.chats.size() > 0) {
Date time = contact.chats.get(0).time.get();
long currentDay = time.getTime() / DAY;
addDay(time, currentDay);
for(ChatMessage m : contact.chats) {
time = m.time.get();
ChatForm
13. tb.addCommandToOverflowMenu("Mute notifications", null, e -> {});
tb.addCommandToOverflowMenu("Wallpaper", null, e -> {});
final Component cc = createInputContainer();
add(cc);
if(contact.chats.size() > 0) {
Date time = contact.chats.get(0).time.get();
long currentDay = time.getTime() / DAY;
addDay(time, currentDay);
for(ChatMessage m : contact.chats) {
time = m.time.get();
long c = time.getTime() / DAY;
if(c != currentDay) {
currentDay = c;
addDay(time, currentDay);
}
addMessageToUINoAnimation(m);
}
}
addShowListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
ChatForm
14. tb.addCommandToOverflowMenu("Mute notifications", null, e -> {});
tb.addCommandToOverflowMenu("Wallpaper", null, e -> {});
final Component cc = createInputContainer();
add(cc);
if(contact.chats.size() > 0) {
Date time = contact.chats.get(0).time.get();
long currentDay = time.getTime() / DAY;
addDay(time, currentDay);
for(ChatMessage m : contact.chats) {
time = m.time.get();
long c = time.getTime() / DAY;
if(c != currentDay) {
currentDay = c;
addDay(time, currentDay);
}
addMessageToUINoAnimation(m);
}
}
addShowListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
ChatForm
15. tb.addCommandToOverflowMenu("Mute notifications", null, e -> {});
tb.addCommandToOverflowMenu("Wallpaper", null, e -> {});
final Component cc = createInputContainer();
add(cc);
if(contact.chats.size() > 0) {
Date time = contact.chats.get(0).time.get();
long currentDay = time.getTime() / DAY;
addDay(time, currentDay);
for(ChatMessage m : contact.chats) {
time = m.time.get();
long c = time.getTime() / DAY;
if(c != currentDay) {
currentDay = c;
addDay(time, currentDay);
}
addMessageToUINoAnimation(m);
}
}
addShowListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
ChatForm
16. tb.addCommandToOverflowMenu("Mute notifications", null, e -> {});
tb.addCommandToOverflowMenu("Wallpaper", null, e -> {});
final Component cc = createInputContainer();
add(cc);
if(contact.chats.size() > 0) {
Date time = contact.chats.get(0).time.get();
long currentDay = time.getTime() / DAY;
addDay(time, currentDay);
for(ChatMessage m : contact.chats) {
time = m.time.get();
long c = time.getTime() / DAY;
if(c != currentDay) {
currentDay = c;
addDay(time, currentDay);
}
addMessageToUINoAnimation(m);
}
}
addShowListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
ChatForm
17. tb.addCommandToOverflowMenu("Mute notifications", null, e -> {});
tb.addCommandToOverflowMenu("Wallpaper", null, e -> {});
final Component cc = createInputContainer();
add(cc);
if(contact.chats.size() > 0) {
Date time = contact.chats.get(0).time.get();
long currentDay = time.getTime() / DAY;
addDay(time, currentDay);
for(ChatMessage m : contact.chats) {
time = m.time.get();
long c = time.getTime() / DAY;
if(c != currentDay) {
currentDay = c;
addDay(time, currentDay);
}
addMessageToUINoAnimation(m);
}
}
addShowListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
ChatForm
18. addDay(time, currentDay);
for(ChatMessage m : contact.chats) {
time = m.time.get();
long c = time.getTime() / DAY;
if(c != currentDay) {
currentDay = c;
addDay(time, currentDay);
}
addMessageToUINoAnimation(m);
}
}
addShowListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
removeShowListener(this);
getContentPane().scrollComponentToVisible(cc);
}
});
}
private void addDay(Date d, long currentDay) {
ChatForm
19. addDay(time, currentDay);
for(ChatMessage m : contact.chats) {
time = m.time.get();
long c = time.getTime() / DAY;
if(c != currentDay) {
currentDay = c;
addDay(time, currentDay);
}
addMessageToUINoAnimation(m);
}
}
addShowListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
removeShowListener(this);
getContentPane().scrollComponentToVisible(cc);
}
});
}
private void addDay(Date d, long currentDay) {
ChatForm
20. addDay(time, currentDay);
for(ChatMessage m : contact.chats) {
time = m.time.get();
long c = time.getTime() / DAY;
if(c != currentDay) {
currentDay = c;
addDay(time, currentDay);
}
addMessageToUINoAnimation(m);
}
}
addShowListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
removeShowListener(this);
getContentPane().scrollComponentToVisible(cc);
}
});
}
private void addDay(Date d, long currentDay) {
ChatForm
21. }
private void addDay(Date d, long currentDay) {
String text;
long t = System.currentTimeMillis() / DAY;
if(t == currentDay) {
text = "Today";
todayAdded = true;
} else {
if(t - 1 == currentDay) {
text = "Yesterday";
} else {
text = DAY_FORMAT.format(d);
}
}
Label day = new Label(text.toUpperCase(), "Day");
addComponent(getContentPane().getComponentCount() - 1,
FlowLayout.encloseCenter(day));
}
private Container createInputContainer() {
ChatForm
22. }
private void addDay(Date d, long currentDay) {
String text;
long t = System.currentTimeMillis() / DAY;
if(t == currentDay) {
text = "Today";
todayAdded = true;
} else {
if(t - 1 == currentDay) {
text = "Yesterday";
} else {
text = DAY_FORMAT.format(d);
}
}
Label day = new Label(text.toUpperCase(), "Day");
addComponent(getContentPane().getComponentCount() - 1,
FlowLayout.encloseCenter(day));
}
private Container createInputContainer() {
ChatForm
23. }
private void addDay(Date d, long currentDay) {
String text;
long t = System.currentTimeMillis() / DAY;
if(t == currentDay) {
text = "Today";
todayAdded = true;
} else {
if(t - 1 == currentDay) {
text = "Yesterday";
} else {
text = DAY_FORMAT.format(d);
}
}
Label day = new Label(text.toUpperCase(), "Day");
addComponent(getContentPane().getComponentCount() - 1,
FlowLayout.encloseCenter(day));
}
private Container createInputContainer() {
ChatForm
24. }
private void addDay(Date d, long currentDay) {
String text;
long t = System.currentTimeMillis() / DAY;
if(t == currentDay) {
text = "Today";
todayAdded = true;
} else {
if(t - 1 == currentDay) {
text = "Yesterday";
} else {
text = DAY_FORMAT.format(d);
}
}
Label day = new Label(text.toUpperCase(), "Day");
addComponent(getContentPane().getComponentCount() - 1,
FlowLayout.encloseCenter(day));
}
private Container createInputContainer() {
ChatForm
25. }
private void addDay(Date d, long currentDay) {
String text;
long t = System.currentTimeMillis() / DAY;
if(t == currentDay) {
text = "Today";
todayAdded = true;
} else {
if(t - 1 == currentDay) {
text = "Yesterday";
} else {
text = DAY_FORMAT.format(d);
}
}
Label day = new Label(text.toUpperCase(), "Day");
addComponent(getContentPane().getComponentCount() - 1,
FlowLayout.encloseCenter(day));
}
private Container createInputContainer() {
ChatForm
26. }
private void addDay(Date d, long currentDay) {
String text;
long t = System.currentTimeMillis() / DAY;
if(t == currentDay) {
text = "Today";
todayAdded = true;
} else {
if(t - 1 == currentDay) {
text = "Yesterday";
} else {
text = DAY_FORMAT.format(d);
}
}
Label day = new Label(text.toUpperCase(), "Day");
addComponent(getContentPane().getComponentCount() - 1,
FlowLayout.encloseCenter(day));
}
private Container createInputContainer() {
ChatForm