From Tek-X Cross Platform interoperability with PHP including history lesson, a bit about each category of operating systems, and gotchas related to PHP
This is the sixth set of slightly updated slides from a Perl programming course that I held some years ago.
I want to share it with everyone looking for intransitive Perl-knowledge.
A table of content for all presentations can be found at i-can.eu.
The source code for the examples and the presentations in ODP format are on https://github.com/kberov/PerlProgrammingCourse
PECL Picks - Extensions to make your life betterZendCon
One of the biggest strengths of PHP is its "glue" power. Take any C library and with a little magic and a compiler you have a fantastic extension. These extensions hide in PECL, but few people can tell the good from the unmaintained or just plain broken. Find the best extensions for your project, learn about PECL, and find out how to become a part of the PECL developer community.
This is the first set of slightly updated slides from a Perl programming course that I held some years ago for the QA team of a big international company.
I want to share it with everyone looking for intransitive Perl-knowledge.
The updates after 1st of June 2014 are made with the kind support of Chain Solutions (http://chainsolutions.net/)
A table of content for all presentations can be found at i-can.eu.
The source code for the examples and the presentations in ODP format are on https://github.com/kberov/PerlProgrammingCourse
This is the fourteenth (and last for now) set of slides from a Perl programming course that I held some years ago.
I want to share it with everyone looking for intransitive Perl-knowledge.
A table of content for all presentations can be found at i-can.eu.
The source code for the examples and the presentations in ODP format are on https://github.com/kberov/PerlProgrammingCourse
PHP 5.3 was released in 2009 and is the newest version of PHP. Bradley Holt will talk about the new features available including namespaces, closures (lamdba/anonymous functions), and late static binding. Learn how these new features might be useful to you and why the next major version of the big PHP frameworks will require PHP 5.3.
This is the sixth set of slightly updated slides from a Perl programming course that I held some years ago.
I want to share it with everyone looking for intransitive Perl-knowledge.
A table of content for all presentations can be found at i-can.eu.
The source code for the examples and the presentations in ODP format are on https://github.com/kberov/PerlProgrammingCourse
PECL Picks - Extensions to make your life betterZendCon
One of the biggest strengths of PHP is its "glue" power. Take any C library and with a little magic and a compiler you have a fantastic extension. These extensions hide in PECL, but few people can tell the good from the unmaintained or just plain broken. Find the best extensions for your project, learn about PECL, and find out how to become a part of the PECL developer community.
This is the first set of slightly updated slides from a Perl programming course that I held some years ago for the QA team of a big international company.
I want to share it with everyone looking for intransitive Perl-knowledge.
The updates after 1st of June 2014 are made with the kind support of Chain Solutions (http://chainsolutions.net/)
A table of content for all presentations can be found at i-can.eu.
The source code for the examples and the presentations in ODP format are on https://github.com/kberov/PerlProgrammingCourse
This is the fourteenth (and last for now) set of slides from a Perl programming course that I held some years ago.
I want to share it with everyone looking for intransitive Perl-knowledge.
A table of content for all presentations can be found at i-can.eu.
The source code for the examples and the presentations in ODP format are on https://github.com/kberov/PerlProgrammingCourse
PHP 5.3 was released in 2009 and is the newest version of PHP. Bradley Holt will talk about the new features available including namespaces, closures (lamdba/anonymous functions), and late static binding. Learn how these new features might be useful to you and why the next major version of the big PHP frameworks will require PHP 5.3.
PHP is a server-side scripting language designed for web development but also used as a general-purpose programming language. As of January 2013, PHP was installed on more than 240 million websites (39% of those sampled) and 2.1 million web servers.[4] Originally created by Rasmus Lerdorf in 1994,[5] the reference implementation of PHP (powered by the Zend Engine) is now produced by The PHP Group.[6] While PHP originally stood for Personal Home Page,[5] it now stands for PHP: Hypertext Preprocessor, which is a recursive backronym
Modern website design has expanded beyond the traditional page model. "The movies" are a source of inspiration for a new generation of websites such as interactive music videos. Discover the cinematic language used by filmmakers to deliver emotional experiences, and see code that makes it work. The examples, including JQuery effects, CSS3 animations, and the HTML5 Canvas, will demonstrate how to deliver content for maximum emotional impact.
Identifying Web Servers: A First-look Into the Future of Web Server Fingerpri...Jeremiah Grossman
Many diligent security professionals take active steps to limit the amount of system specific information a publicly available system may yield to a remote user. These preventative measures may take the form of modifying service banners, firewalls, web site information, etc.
Software utilities such as NMap have given the security community an excellent resource to discover what type of Operating System and version is listening on a particular IP. This process is achieved by mapping subtle, yet, distinguishable nuances unique to each OS. But, this is normally where the fun ends, as NMap does not enable we user's to determine what version of services are listening. This is up to us to guess or to find out through other various exploits.
This is where we start our talk, fingerprinting Web Servers. These incredibly diverse and useful widespread services notoriously found listening on port 80 and 443 just waiting to be explored. Many web servers by default will readily give up the type and version of the web server via the "Server" HTTP response header. However, many administrators aware of this fact have become increasingly clever in recent months by removing or altering any and all traces of this telltale information.
These countermeasures lead us to the obvious question; could it STILL possible to determine a web servers platform and version even after all known methods of information leakage prevention have been exhausted (either by hack or configuration)?
The simple answer is "yes"; it is VERY possible to still identify the web server. But, the even more interesting question is; just how much specific information can we obtain remotely?
Are we able to determine?
* Supported HTTP Request Methods.
* Current Service Pack.
* Patch Levels.
* Configuarations.
* If an Apache Server suffers from a "chunked" vulnerability.
Is really possible to determine this specific information using a few simple HTTP requests? Again, the simple answer is yes, the possibility exists.
Proof of concept tools and command line examples will be demonstrated throughout the talk to illustrate these new ideas and techniques. Various countermeasures will also be explored to protect your IIS or Apache web server from various fingerprinting techniques.
Prerequisites:
General understanding of Web Server technology and HTTP.
Presents:
Introduction and Using jQuery
Selectors and Attributes
Events
Height and Width
DOM Manipulation and Modification
Effects and Animation
Store arbitrary data and add your functions.
Ajax
HTML5 & WAI-ARIA Forms with jQuery Validationpauljadam
Connecting labels to inputs is easy! But what about required fields, error messages, and keyboard focus? Make accessible forms with HTML5, WAI-ARIA, and jQuery Validation.
History of Linux
Brain behind development
Why Linux
GNU
Why GNU ?
Where can you find Linux?
Linux is Best!!
Core components of Linux
File system
Drive letter’s
Security
Facts about Linux
I Am Linux-Introductory Module on LinuxSagar Kumar
This module covers Introduction to Linux, History of Linux, Features of Linux, Advantage of Linux, File System Hierarchy Standard, Knowing root, Linux Commands, Working with Files and Directories, etc.
our application is great – and popular. You have translation efforts underway, everything is going well – and wait a minute, what’s the report of strange question mark characters all over the page? Unicode is pain. UTF-32, UTF-16, UTF-8 and then something else is thrown in the mix … Multibyte and codepoints, it all sounds like greek. But it doesn’t have to be so scary. PHP support for Unicode has been improving, even without native unicode string support. Learn the basics of unicode is and how it works, why you would add support for it in your application, how to deal with issues, and the pain points of implementation.
How to train the next generation of Masters One of the best ways to move yourself forward as a developer is to have mentors who can help improve your skills, or to be a mentor for a newer developer. Mentoring isn’t limited to just ‘hard’ or technical skills, and a mentoring relationships can help in all aspects of any career – be it open source, a day job, or something else entirely. Learn some skills and tips from people who make mentoring an important aspect of their lives. From how to choose a mentor and what you should expect from a relationship as a padawan, to how to deal with the trials and successes of the person you are mentoring as they grow in their career. Also learn about setting up mentorship organizations, from the kind inside a company to one purely for the good of a community.
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
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
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:
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.
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/
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
4. FACTS ARE BETTER THAN WHINING
Operating systems are different
Being different is not a bad thing
Operating systems have a lot of similarities
Learning the key differences is easy
5. UNIX BASICS
What is UNIX?
Been around a LONG time
Must conform to Single UNIX specification
UNIX is the trademark
6. UNIX DISTRIBUTIONS
Proprietary Open Source
Solaris OpenSolaris
HP-UX OpenDarwin (OS X)
AIX
OS X
BSD
OpenBSD
FreeBSD
NetBSD
7. USING UNIX
Kernel Everything is a
Shell File or
Programs Process
Filesystem
/
Case Sensitive
CLI based
/home
Can have GUI on top (using X)
/tmp
/usr
/var
8. UNIX AND SHARED LIBRARIES
ELF Mach-O
Most Linux and UNIX Mac OS X
.so files .dylib files
9. SO WHAT ABOUT LINUX?
Linux is just a kernel
Linux is usually consumed through distributions
Distributions build GNU utilities and GUI on top
Most the functionality is identical to UNIX
There are some differences
10. LINUX VS. UNIX
Linux Unix
Multiple Vendors Single Vendor
Kernel Complete System
Open Source Mixed
Usually ext3 and ext4 jfs, gpfs (AIX), jfs, gpfs
(HP-UX), jfs, gpfs
(Solaris)
11. WINDOWS BASICS
Case Insensitive
You can make it sensitive in NTFS
The problem is half your windows programs don’t
know how to do this
GUI Based (except for Server core – that’s a
whole nother story)
Filesystem
Backends are FAT and NTFS
If you’re using FAT – get out
Drive letter abstraction (C:/)
12. WINDOWS LIBRARIES
DLL HELL
SxS is the fix – two people on earth know how to use it
(documentation …. Sigh)
What do you need to know about dlls?
What is my search path
The directory where the executable module for the current
process is located.
The current directory.
The Windows system directory. The GetSystemDirectory
function retrieves the path of this directory.
The Windows directory. The GetWindowsDirectory
function retrieves the path of this directory.
The directories listed in the PATH environment variable.
13. THE HORRIBLE ERROR
This does not mean what you think it means
This is passed from the OS (why, I have NO
CLUE)
This means “I want a C function from a DLL, I
can’t find the DLL or the C function – I can’t do
this, have a nice day”
16. HOW DISTRIBUTIONS SCREW IT UP
Patches beyond backporting security fixes
Additional extensions that change behavior
Altering header files
Stripping binaries of symbols
Experimental Flags on
Turning off default extensions (--disable-all)
Take forever to update versions
--enable-maintainer-zts
Using system libraries instead of bundled
versions
17. HOW DISTRIBUTIONS HELP
Simple installs for newcomers
Binaries with locations tailored to the
environment
Support
(Marginally) Sane default settings
Lots of extensions available
18. HOW TO DECIDE
Is this a production box?
Is this a staging box?
Is this a development machine?
Will some crazy person decide to put this live
from this box for everyone in the company?
19. WINDOWS
Windows is the only system for which PHP
currently provides binaries
Use PHP’s binaries – we do not screw with the
source… or
Use the WebPI installer – they use PHP binaries
Compile your own, if you’re brave
20. ON TO THE CODE
Issues that PHP just can’t do for you
21. ENVIRONMENTAL DIFFERENCES
$_SERVER contents
Information about the system
You can use COM to get information about windows
Environment information can be different
Don’t hard code anything
Make this your mantra
22. SERVER DIFFERENCES
IIS
Apache
Real difference is in the SAPI not the server
Fastcgi
Mod_php
Isapi (ewww – run away)
Nsapi
Etc…
23. STUPID CODING ISSUES
Be careful with streams and sockets
stream_select and stream_set_blocking
Process spawning (com can help in some cases
with wscript.shell stuff)
Using platform specific stuff (pcntl, etc)
BUT: I see no problem filing a bug if the function
does not work the same on multiple platforms!
24. BATCH FILES WON’T KILL YOU
@echo off
dir "C:Program Files" > C:list_of_program_files.txt
dir %1*.mp3 > %2
xcopy %1 %2 /d /s
Different Commands
You can stick a bunch of linux command line tools in
your PATH to make things work better
http://gnuwin32.sourceforge.net
25. NEITHER WILL BASH (I PROMISE)
#!/bin/bash
tar -cZf /var/my-backup.tgz /home/me/
grep da * 2> grep-errors.txt
More like batch files then you think
26. DIFFERENT IS NOT WRONG
Why knowing the pitfalls leads to more robust code
27. THANKS!
Elizabeth M Smith auroraeosrose@gmail.com
http://www.ee.surrey.ac.uk/Teaching/Unix/
http://tldp.org/HOWTO/Bash-Prog-Intro-
HOWTO.html
http://www.computerhope.com/batch.htm
http://iis.net/php