This presentation discusses PHP and argues that it does not inherently suck. While PHP has some flaws in its early design and inconsistent naming conventions, the quality of code depends more on the programmer than the language. The presentation provides tips for writing better PHP such as learning the language thoroughly, testing code, using version control, sharing and reusing quality code from others, adopting a clear coding style, and using frameworks to enforce best practices. It acknowledges PHP is improving with new features in version 5.4 and that the overall quality of PHP programming depends more on how developers utilize tools and techniques than criticisms of the language itself.
Existing blockchain apps (e.g. Bitcoin, Ethereum) are mostly "antidiscretionary". Ideally nodes merely verify changes of state initiated by users. Discretion by the nodes themselves is a form of attack. An alternative vision, a "discretionary" blockchain, would recognize each nodes of a consensus networks as representatives of people with diverse preferences, and embody the process of consensus formation as a kind of politics. Discretionary blockchains, "made of people".
This document provides an agenda and guidance for improving PowerPoint presentations. It begins with an icebreaker game called PowerPoint Karaoke. It then discusses common problems with PowerPoint such as [1] including all text from the presenter's script on slides, [2] overusing bullet points and cluttered designs, and [3] distracting backgrounds. The document recommends designing simple slides with few words following the "10/20/30 rule" and provides tips for using images, fonts, videos, and templates. It also introduces tools for sharing presentations like SlideShare and alternatives to PowerPoint like Keynote and Prezi. The overall message is about engaging audiences with concise, visually appealing slide designs.
Power Point Karaoke Slides - Love Relationshipspampf
The Love & Relationships deck from PowerPoint karaoke, sponsored by iMation. Makes watching me deliver these slides without any preparation funnier. Vote for me (Pam) at http://powerpointkaraoke2009.com/bracket
PowerPoint Karaoke Slides from DrupalCorn 2014Rob Green
I built this for our Friday Night social a recent conference, and it was a big hit. Just google "powerpoint karaoke" to find lots of descriptions of how this game works. It helps to also have an open bar beforehand. :)
This slide deck has 15 slides per presenter, for a total of 5 presenters. The second-to-last slide reads "In Conclusion..." to help the presenters know to wrap up their speech. At DrupalCorn 2014 (Iowa's Drupal conference) we allowed each presenter about 5 minutes, and advanced the slides for them at our whim... it might be good to let the presenters SAY when to go to the next slide, to give them better timing.
Many of these slides were either taken from other presentations around the internet, or inspired by them. No money was made from this, so I hope the original creators don't mind. If so, just let me know what slides to pull out and I'll replace them.
Feel free to steal or hack up this presentation as you see fit. :)
PowerPoint Karaoke (Sample Presentation)Amber Case
This is an example PowerPoint Karoke Presentation. This one does not have text, in order to increase the narrative flexibility of the speaker. The format of the PowerPoint Karaoke creation process was that everyone had 10 minutes to create and submit a slideshow to a centralized database. Then we randomized the speakers and PowerPoints and each gave a random 10 minute presentation on the slides.
This ia a great version of Toastmasters which teaches how to give presentations on the fly. It is a fun and enjoyable practice that was first started in 2005 by a group of German artists. Now, the practice and experience of PowerPoint Karaoke is ubiquitous across many geek gatherings, and is increasingly a part of Unconference proceedings such as BarCamp and CyborgCamp (http://cyborgcamp.com).
PowerPoint Karaoke is often best played with a slightly inebriated group of 6-8 interesting people.
The document appears to be a series of random phrases and words with the repeated header of "SXSW REGIONAL CHAMPIONSHIPS". There is no clear meaning or narrative across the phrases.
The format of the PowerPoint Karaoke creation process was that everyone had 10 minutes to create and submit a slideshow to a centralized database. Then we randomized the speakers and PowerPoints and each gave a random 10 minute presentation on the slides.
This is a great version of Toastmasters which teaches how to give presentations on the fly. It is a fun and enjoyable practice that was first started in 2005 by a group of German artists. Now, the practice and experience of PowerPoint Karaoke is ubiquitous across many geek gatherings, and is increasingly a part of Unconference proceedings such as BarCamp and CyborgCamp (http://cyborgcamp.com).
PowerPoint Karaoke is often best played with a slightly inebriated group of 6-8 interesting people.
This is an example PowerPoint Karoke Presentation. This one does not have text, in order to increase the narrative flexibility of the speaker.
Use this deck of 66 slides with transitions between speakers to hold your own game of Powerpoint Karaoke! Best for a party with beer.
Existing blockchain apps (e.g. Bitcoin, Ethereum) are mostly "antidiscretionary". Ideally nodes merely verify changes of state initiated by users. Discretion by the nodes themselves is a form of attack. An alternative vision, a "discretionary" blockchain, would recognize each nodes of a consensus networks as representatives of people with diverse preferences, and embody the process of consensus formation as a kind of politics. Discretionary blockchains, "made of people".
This document provides an agenda and guidance for improving PowerPoint presentations. It begins with an icebreaker game called PowerPoint Karaoke. It then discusses common problems with PowerPoint such as [1] including all text from the presenter's script on slides, [2] overusing bullet points and cluttered designs, and [3] distracting backgrounds. The document recommends designing simple slides with few words following the "10/20/30 rule" and provides tips for using images, fonts, videos, and templates. It also introduces tools for sharing presentations like SlideShare and alternatives to PowerPoint like Keynote and Prezi. The overall message is about engaging audiences with concise, visually appealing slide designs.
Power Point Karaoke Slides - Love Relationshipspampf
The Love & Relationships deck from PowerPoint karaoke, sponsored by iMation. Makes watching me deliver these slides without any preparation funnier. Vote for me (Pam) at http://powerpointkaraoke2009.com/bracket
PowerPoint Karaoke Slides from DrupalCorn 2014Rob Green
I built this for our Friday Night social a recent conference, and it was a big hit. Just google "powerpoint karaoke" to find lots of descriptions of how this game works. It helps to also have an open bar beforehand. :)
This slide deck has 15 slides per presenter, for a total of 5 presenters. The second-to-last slide reads "In Conclusion..." to help the presenters know to wrap up their speech. At DrupalCorn 2014 (Iowa's Drupal conference) we allowed each presenter about 5 minutes, and advanced the slides for them at our whim... it might be good to let the presenters SAY when to go to the next slide, to give them better timing.
Many of these slides were either taken from other presentations around the internet, or inspired by them. No money was made from this, so I hope the original creators don't mind. If so, just let me know what slides to pull out and I'll replace them.
Feel free to steal or hack up this presentation as you see fit. :)
PowerPoint Karaoke (Sample Presentation)Amber Case
This is an example PowerPoint Karoke Presentation. This one does not have text, in order to increase the narrative flexibility of the speaker. The format of the PowerPoint Karaoke creation process was that everyone had 10 minutes to create and submit a slideshow to a centralized database. Then we randomized the speakers and PowerPoints and each gave a random 10 minute presentation on the slides.
This ia a great version of Toastmasters which teaches how to give presentations on the fly. It is a fun and enjoyable practice that was first started in 2005 by a group of German artists. Now, the practice and experience of PowerPoint Karaoke is ubiquitous across many geek gatherings, and is increasingly a part of Unconference proceedings such as BarCamp and CyborgCamp (http://cyborgcamp.com).
PowerPoint Karaoke is often best played with a slightly inebriated group of 6-8 interesting people.
The document appears to be a series of random phrases and words with the repeated header of "SXSW REGIONAL CHAMPIONSHIPS". There is no clear meaning or narrative across the phrases.
The format of the PowerPoint Karaoke creation process was that everyone had 10 minutes to create and submit a slideshow to a centralized database. Then we randomized the speakers and PowerPoints and each gave a random 10 minute presentation on the slides.
This is a great version of Toastmasters which teaches how to give presentations on the fly. It is a fun and enjoyable practice that was first started in 2005 by a group of German artists. Now, the practice and experience of PowerPoint Karaoke is ubiquitous across many geek gatherings, and is increasingly a part of Unconference proceedings such as BarCamp and CyborgCamp (http://cyborgcamp.com).
PowerPoint Karaoke is often best played with a slightly inebriated group of 6-8 interesting people.
This is an example PowerPoint Karoke Presentation. This one does not have text, in order to increase the narrative flexibility of the speaker.
Use this deck of 66 slides with transitions between speakers to hold your own game of Powerpoint Karaoke! Best for a party with beer.
The document describes a game called PowerPoint Karaoke. It involves volunteers giving an impromptu 3-minute presentation on randomly assigned PowerPoint slides they have not seen before. Participants have to be creative in coming up with a coherent presentation. The slides will rotate without regard for the presenter. A jury then judges the presentations. The game is meant to be fun and test participants' public speaking skills under pressure.
This document contains a collection of random quotes, images, and short passages on various topics ranging from mimes and bears to cats and health books. It jumps between different sections with no clear overall theme or narrative.
Great presentation outlining the proper way to use Powerpoint during presentations.
Author,
Alexei Kapterev
Offshore presentation
design & consulting
ak@realtimestrategy.ru
This document discusses the children's cartoon My Little Pony: Friendship is Magic. It summarizes that the show follows 6 main characters and teaches lessons about friendship in each episode through its animation quality, voice acting, and lovable characters. It notes that the show has generated hype from evoking nostalgia for when cartoons were good, including references for fans, and has developed a large fan base of adult male fans called "bronies" who create fan art and music.
The document discusses open government and open data, defining key terms like 'data', 'open data', and 'government data'. It references the importance of making government data accessible to the public in databases for information and potential commercial use, while maintaining the truth and integrity of the information. The document also includes poems about open government and data.
This document outlines a karaoke contest with 10 contestants presenting on various lighthearted topics. The contestants' presentations covered failing to drink diet coke leading to kitten deaths, damaging the ozone layer mutating pets, physicists being inherently evil, basketball ending war, organizing more meetings, animals trying to defeat humans, Batman being the best superhero, defeating Godzilla, smart people being sad, and aliens landing and hating humans. The document concludes by saying that was all the contestants.
Contestant #5's submission focuses on smart fashion through the integration of technical solutions and everyday objects. It presents concepts for keeping the body warm through outfits and hats, personalizing jewelry, and introducing accessories. The direction of fashion is described as where high-end design meets technical innovation. Current research areas are listed as non-emissive displays and soft computation.
Have you ever felt trapped in a bad PowerPoint presentation? Ever listen to a speaker drone on like a zombie? Do boring uninspiring slides leave you feeling like the walking dead? Don’t be a PowerPoint zombie! Here are 6 tips to avoid Death by Powerpoint!
This document contains a collection of slides on various topics including:
1. A slide on PowerPoint Karaoke and driving innovation through social media and transparency.
2. A slide on loss functions and continuous improvement in reducing deviations from normal.
3. A slide on customer relationship management and identifying the most valuable versus marginal customers.
The document provides snippets of information on diverse topics in an assortment of slide formats and without any clear overarching theme or narrative to connect them.
The document discusses PowerPoint karaoke, an educational technique where students create and present PowerPoint presentations on academic content such as vocabulary terms. Key elements of the approach include using presentation software to encourage speaking skills, incorporating visual imagery for memorability, and providing opportunities for independent practice and daily reps through tools like Quizlet. The approach aims to have students own their learning by building and interacting with the content.
The document provides five design principles for creating slides that effectively communicate messages to audiences:
1. Focus on the main message you want the audience to remember.
2. Keep designs simple with less text and only 1 main point per slide.
3. Use interesting fonts instead of boring standard ones to engage audiences.
4. Include high quality images that visually represent the message.
5. Choose a color scheme that fits the theme and works cohesively.
Science of Achievement & Art of Fulfillment | Tony Robbins Tony Robbins
What does it mean to live an extraordinary life? It means living life on your own terms. And to do that, you must master two skills: The science of achievement and the art of fulfillment. Hear Tony explain why success without fulfillment is the ultimate failure.
Your Keys to an Extraordinary Life of Fulfillment:
Health, Time, Wealth, Business, Mind & Spirit, Relationships
For more insights, strategies and tools, visit: http://tonyr.co/1Ol6IJH
Visit Tony Robbins' websites:
https://www.tonyrobbins.com/
http://humanelevation.tonyrobbins.com/
https://moneymasterthegame.com/
Follow Tony Robbins @:
Facebook: https://www.facebook.com/TonyRobbins
Twitter: https://twitter.com/tonyrobbins
LinkedIn: https://www.linkedin.com/in/ajrobbins
Google+: https://plus.google.com/+TonyRobbins
Instagram: https://instagram.com/tonyrobbins/
Tony Robbins is a #1 New York Times best-selling author, entrepreneur, and philanthropist. For more than 37 years, millions of people have enjoyed the warmth, humor and dynamic presentation of Mr. Robbins' corporate and personal development events. As the nation's #1 life and business strategist, he¹s called upon to consult and coach some of the world¹s finest athletes, entertainers, Fortune 500 CEOs, and even presidents of nations.
Incorporating photos and videos into your PowerPoint decks can greatly enhance a presentation. Learn how illustrating concepts with meaningful imagery can make your presentation great.
Learn more: http://www.lynda.com/Photography-training-tutorials/70-0.html
Boring to Bold: Presentation Design Ideas for Non-DesignersMichael Gowin
This document provides presentation design ideas for non-designers to make their presentations more engaging. It recommends having a clear plan and purpose, telling a story with three acts, minimizing text, using powerful images, choosing fonts and slide layouts wisely, rehearsing, and delivering with confidence. Presenters should know their audience, brainstorm their key message, and make slides beautiful yet simple while focusing on one idea per slide. Rehearsing and dressing professionally can also boost delivery, and providing handouts reinforces the content. The overall goal is to make audiences feel something rather than just informing them.
This document provides a top 10 list of tips for creating effective presentations. The tips include structuring the presentation for clarity even if it's not aesthetically pleasing, limiting each slide to one main thought, using visual tools like pictures and gestures to enhance understanding, paying attention to proportions, and avoiding certain slide navigation arrows. The document is authored by Alexei Kapterev and it provides his contact information.
How to Really Connect With Your Audience! It's not your slides! It's the value you bring to your audience.
Understand the ABC of really connecting with your audience. Without them, you are NOTHING!
What Would Steve Do? 10 Lessons from the World's Most Captivating PresentersHubSpot
The document provides 10 tips for creating captivating presentations based on lessons from famous presenters like Steve Jobs, Scott Harrison, and Gary Vaynerchuk. The tips include crafting an emotional story with a beginning, middle, and end; creating slides that answer why the audience should care, how it will improve their lives, and what they must do; using simple language without jargon; using metaphors; ditching bullet points; showing rather than just telling through images; rehearsing extensively; and that excellence requires hard work with no shortcuts.
The document discusses advantages and techniques for unit testing PHP code. Key advantages include tests running faster than manual testing, preventing recurring bugs, and finding bugs before users. Challenges include needing to write tests to see benefits and difficulty retrofitting tests for existing code. The document provides guidance on writing simple, isolated tests and describes common PHPUnit methods and patterns for testing. It also discusses how to address inherently hard to test code structures and writes testable code through practices like dependency injection.
This random PowerPoint document contains 3 slides that do not seem to relate to each other. The first slide states that reading this is a waste of time. The second is blank. The third slide mentions SlideShare and has the text "Illuminati Confirmed", though there is no other context or explanation provided.
The document describes a game called PowerPoint Karaoke. It involves volunteers giving an impromptu 3-minute presentation on randomly assigned PowerPoint slides they have not seen before. Participants have to be creative in coming up with a coherent presentation. The slides will rotate without regard for the presenter. A jury then judges the presentations. The game is meant to be fun and test participants' public speaking skills under pressure.
This document contains a collection of random quotes, images, and short passages on various topics ranging from mimes and bears to cats and health books. It jumps between different sections with no clear overall theme or narrative.
Great presentation outlining the proper way to use Powerpoint during presentations.
Author,
Alexei Kapterev
Offshore presentation
design & consulting
ak@realtimestrategy.ru
This document discusses the children's cartoon My Little Pony: Friendship is Magic. It summarizes that the show follows 6 main characters and teaches lessons about friendship in each episode through its animation quality, voice acting, and lovable characters. It notes that the show has generated hype from evoking nostalgia for when cartoons were good, including references for fans, and has developed a large fan base of adult male fans called "bronies" who create fan art and music.
The document discusses open government and open data, defining key terms like 'data', 'open data', and 'government data'. It references the importance of making government data accessible to the public in databases for information and potential commercial use, while maintaining the truth and integrity of the information. The document also includes poems about open government and data.
This document outlines a karaoke contest with 10 contestants presenting on various lighthearted topics. The contestants' presentations covered failing to drink diet coke leading to kitten deaths, damaging the ozone layer mutating pets, physicists being inherently evil, basketball ending war, organizing more meetings, animals trying to defeat humans, Batman being the best superhero, defeating Godzilla, smart people being sad, and aliens landing and hating humans. The document concludes by saying that was all the contestants.
Contestant #5's submission focuses on smart fashion through the integration of technical solutions and everyday objects. It presents concepts for keeping the body warm through outfits and hats, personalizing jewelry, and introducing accessories. The direction of fashion is described as where high-end design meets technical innovation. Current research areas are listed as non-emissive displays and soft computation.
Have you ever felt trapped in a bad PowerPoint presentation? Ever listen to a speaker drone on like a zombie? Do boring uninspiring slides leave you feeling like the walking dead? Don’t be a PowerPoint zombie! Here are 6 tips to avoid Death by Powerpoint!
This document contains a collection of slides on various topics including:
1. A slide on PowerPoint Karaoke and driving innovation through social media and transparency.
2. A slide on loss functions and continuous improvement in reducing deviations from normal.
3. A slide on customer relationship management and identifying the most valuable versus marginal customers.
The document provides snippets of information on diverse topics in an assortment of slide formats and without any clear overarching theme or narrative to connect them.
The document discusses PowerPoint karaoke, an educational technique where students create and present PowerPoint presentations on academic content such as vocabulary terms. Key elements of the approach include using presentation software to encourage speaking skills, incorporating visual imagery for memorability, and providing opportunities for independent practice and daily reps through tools like Quizlet. The approach aims to have students own their learning by building and interacting with the content.
The document provides five design principles for creating slides that effectively communicate messages to audiences:
1. Focus on the main message you want the audience to remember.
2. Keep designs simple with less text and only 1 main point per slide.
3. Use interesting fonts instead of boring standard ones to engage audiences.
4. Include high quality images that visually represent the message.
5. Choose a color scheme that fits the theme and works cohesively.
Science of Achievement & Art of Fulfillment | Tony Robbins Tony Robbins
What does it mean to live an extraordinary life? It means living life on your own terms. And to do that, you must master two skills: The science of achievement and the art of fulfillment. Hear Tony explain why success without fulfillment is the ultimate failure.
Your Keys to an Extraordinary Life of Fulfillment:
Health, Time, Wealth, Business, Mind & Spirit, Relationships
For more insights, strategies and tools, visit: http://tonyr.co/1Ol6IJH
Visit Tony Robbins' websites:
https://www.tonyrobbins.com/
http://humanelevation.tonyrobbins.com/
https://moneymasterthegame.com/
Follow Tony Robbins @:
Facebook: https://www.facebook.com/TonyRobbins
Twitter: https://twitter.com/tonyrobbins
LinkedIn: https://www.linkedin.com/in/ajrobbins
Google+: https://plus.google.com/+TonyRobbins
Instagram: https://instagram.com/tonyrobbins/
Tony Robbins is a #1 New York Times best-selling author, entrepreneur, and philanthropist. For more than 37 years, millions of people have enjoyed the warmth, humor and dynamic presentation of Mr. Robbins' corporate and personal development events. As the nation's #1 life and business strategist, he¹s called upon to consult and coach some of the world¹s finest athletes, entertainers, Fortune 500 CEOs, and even presidents of nations.
Incorporating photos and videos into your PowerPoint decks can greatly enhance a presentation. Learn how illustrating concepts with meaningful imagery can make your presentation great.
Learn more: http://www.lynda.com/Photography-training-tutorials/70-0.html
Boring to Bold: Presentation Design Ideas for Non-DesignersMichael Gowin
This document provides presentation design ideas for non-designers to make their presentations more engaging. It recommends having a clear plan and purpose, telling a story with three acts, minimizing text, using powerful images, choosing fonts and slide layouts wisely, rehearsing, and delivering with confidence. Presenters should know their audience, brainstorm their key message, and make slides beautiful yet simple while focusing on one idea per slide. Rehearsing and dressing professionally can also boost delivery, and providing handouts reinforces the content. The overall goal is to make audiences feel something rather than just informing them.
This document provides a top 10 list of tips for creating effective presentations. The tips include structuring the presentation for clarity even if it's not aesthetically pleasing, limiting each slide to one main thought, using visual tools like pictures and gestures to enhance understanding, paying attention to proportions, and avoiding certain slide navigation arrows. The document is authored by Alexei Kapterev and it provides his contact information.
How to Really Connect With Your Audience! It's not your slides! It's the value you bring to your audience.
Understand the ABC of really connecting with your audience. Without them, you are NOTHING!
What Would Steve Do? 10 Lessons from the World's Most Captivating PresentersHubSpot
The document provides 10 tips for creating captivating presentations based on lessons from famous presenters like Steve Jobs, Scott Harrison, and Gary Vaynerchuk. The tips include crafting an emotional story with a beginning, middle, and end; creating slides that answer why the audience should care, how it will improve their lives, and what they must do; using simple language without jargon; using metaphors; ditching bullet points; showing rather than just telling through images; rehearsing extensively; and that excellence requires hard work with no shortcuts.
The document discusses advantages and techniques for unit testing PHP code. Key advantages include tests running faster than manual testing, preventing recurring bugs, and finding bugs before users. Challenges include needing to write tests to see benefits and difficulty retrofitting tests for existing code. The document provides guidance on writing simple, isolated tests and describes common PHPUnit methods and patterns for testing. It also discusses how to address inherently hard to test code structures and writes testable code through practices like dependency injection.
This random PowerPoint document contains 3 slides that do not seem to relate to each other. The first slide states that reading this is a waste of time. The second is blank. The third slide mentions SlideShare and has the text "Illuminati Confirmed", though there is no other context or explanation provided.
The document summarizes the major organs of the digestive system, including the esophagus, stomach, small intestine, pancreas, and large intestine. It describes the structure and function of each organ. The document also discusses the relationship between the digestive and excretory systems, healthy and unhealthy foods that affect digestion, common digestive diseases, and some interesting facts about the digestive process.
The document discusses WWE wrestler John Cena, describing his entrance, fighting style which includes his signature moves the STF submission hold and Attitude Adjustment finishing maneuver, and victories over opponents like Alex Riley, The Miz, and The Rock. It encourages the reader to leave a comment about John Cena.
Essentials of corr med presentation -understanding the legal enviroment in co...Zoey Lovell
This document summarizes a presentation on correctional medicine given by Deana Johnson. The presentation covered important differences between medical malpractice and civil rights claims, the increasing need for correctional provider testimony in criminal and quasi-criminal cases, and real life scenarios involving these issues. It discussed topics like why lawsuits are brought in federal court, constitutional amendments often cited, expert witness requirements, and how to handle requests to testify or provide opinions in criminal and quasi-criminal matters.
The digestive system has several major organs that break down and absorb food, including the esophagus, stomach, small intestine, and large intestine. The esophagus transports food to the stomach, which kills bacteria and breaks food down. The small intestine, around 20 feet long, absorbs most nutrients. The large intestine absorbs water and electrolytes. The digestive system works with the circulatory system to break down food for absorption into blood. Coffee and fruits/vegetables are good for digestion, while smoking can cause diseases. Common digestive issues include Crohn's disease, irritable bowel syndrome, and hemorrhoids.
SharingEconomy: The Buzzword of the MomentSimone Cicero
This presentation covers the diversity behind the so called sharingeconomy: a word that lately and increasingly is being used as a buzzword without the necessary understanding of the complexity and meaning that it represents.
This presentation and talk was given in Pisa, during the Internet Festival on October the 10th 2013.
The document provides an overview of secret societies throughout history, with a focus on the Bavarian Illuminati founded in 1776 by Adam Weishaupt. The Illuminati sought to establish a New World Order through controlling governments, religions, and the press. While the Bavarian chapter was exposed and abolished in 1788, the Illuminati's influence spread through other secret societies across Europe and into the United States. Some believe the Illuminati bloodlines and agenda to establish a one-world government continue today through various organizations and powerful family dynasties.
The industrial policy of a country aims to encourage development of the manufacturing sector and other parts of the economy. Major objectives of India's industrial policy include rapid industrial development, balanced growth across industries, preventing concentration of economic power, and balanced regional development. The industrial policy has evolved over time through various resolutions and statements starting in 1948, with recent policies in 1991 focusing on liberalization, enhancing small businesses, and making industries more competitive.
Brought to you by the premier app blog, the app store chronicle: We recreated a generic version and template of Apple's famed keynote presentation and product launch system they have devised for presenting. We discuss the strategies used to launch products such as the Macintosh, imac, macbook air, ipod, iphone, and ipad, and we even left specific elements from Steve Jobs- Jony Ive- Tim Cook presentations. Enjoy.
The document discusses theories about the Illuminati and their alleged goals of establishing a New World Order through controlling the media and pop culture. It claims the Illuminati symbolism of the all-seeing eye can be found throughout entertainment and aims to dumb down minds to make people more susceptible to control. While no official truths are known, the document warns people not to believe everything they see in the media.
Buzzword Bingo is a collection of new words and colorful slang chosen to educate and inspire. Here are our favorites curated in 2017. You are welcome to adapt and reuse with the attribution-sharealike license. We welcome your interaction -- comments, questions, suggestions, shares, clips, favorites, likes and hearts.
Planeta.com
http://planeta.com/buzzwords2017
http://planeta.com/buzzwordbingo
Wiki
http://planeta.wikispaces.com/buzzwordbingo
http://planeta.wikispaces.com/woty
Flickr Album
https://www.flickr.com/photos/planeta/albums/72157675227164173
This document discusses how startup entrepreneurs find ideas and think like a startup. It suggests that startup founders look for problems to solve, such as shortages in their market. It also recommends moving quickly to build minimum viable products and iterate based on feedback, as well as embracing failure and pivoting ideas that do not work. The document advocates for creating a culture that encourages creativity, breaks rules, and moves at a rapid pace to stay ahead of competition.
Here is a draft clause to address the issue of bogus Khadi units operating in India and claiming rebates from the Government of India under the existing Industrial Policy of India:
To promote authentic Khadi production and curb the operation of bogus Khadi units, the following measures shall be introduced:
1. The Khadi and Village Industries Commission (KVIC) will establish strict criteria for Khadi production units to be recognized as authentic producers eligible for Government rebates and incentives. These may include parameters around raw material sourcing, production processes, record keeping, etc.
2. All existing and new Khadi production units must register with KVIC and satisfy the recognition criteria to be able to claim any
This document contains 25 quotes from Steve Jobs on a variety of topics. Some of the key themes that emerge are Jobs' focus on excellence and innovation, his belief that quality should take priority over quantity, and his vision that technology could be used to change people's lives. He also expressed confidence in Apple's future leadership and his ongoing connection to the company even if he wasn't present at all times.
How to run system administrator recruitment process? By creating platform based on open source parts in just 2 nights! I gave this talk in Poland / Kraków OWASP chapter meeting on 17th October 2013 at our local Google for Entrepreneurs site. It's focused on security and also shows how to create recruitment process in CTF / challenge way.
This story covers mostly security details of this whole platform. There's great chance, that I will give another talk about this system but this time focusing on technical details. Stay tuned ;)
What does the future look like? Is it a dark space where we’re suffering from varying degrees of techamphetamine or are we heading towards a Utopian fantasy of abundance and harmony?
Understanding that our basic human needs and wants barely change, we explore the future state of a range of topics; from our need for physical sustenance through to our age-long fascination of transcending the limitations of our biology.
Looking at the future from a human perspective, our potential for greatness is teetering on a fine line between darkness and hope. We’re banking on the latter.
Artificial intelligence (AI) is everywhere, promising self-driving cars, medical breakthroughs, and new ways of working. But how do you separate hype from reality? How can your company apply AI to solve real business problems?
Here’s what AI learnings your business should keep in mind for 2017.
The document is an introduction to PHP programming written by Dr. Perl. It defines PHP as a widely-used scripting language suited for web development. It provides an example of a simple PHP script embedded in HTML to output "Hi, I'm a PHP script!". It then discusses how PHP is used to power many popular websites and introduces the reader to using PHP for tasks like printing dates, comments, subscriptions. It explains how to set up a local development environment using XAMPP and provides some simple PHP code examples to get started.
This document provides an introduction to PHP with 8 sections: 1) PHP stands for Hypertext Preprocessor and is a scripting language; 2) PHP can be used on Stanford servers or free web hosts but functionality may be limited; 3) A "Hello World" example is presented using print() to output text; 4) Syntax guidelines are outlined including file saving, comments, and case sensitivity; 5) Conditional statements like if/else are demonstrated; 6) Variables are introduced and basic math operations shown; 7) Forms processing with GET and POST variables is explained; 8) Further PHP topics are mentioned like cookies, games, and data parsing.
This document provides an introduction to PHP with 8 sections: 1) PHP stands for Hypertext Preprocessor and is a scripting language; 2) PHP can be used on Stanford servers or free web hosts; 3) A "Hello World" example is presented using print(); 4) Syntax guidelines are outlined; 5) If/else conditional statements are covered; 6) Variables are introduced; 7) Forms processing with GET and POST variables is demonstrated; 8) More advanced PHP topics are mentioned to explore further.
Josh Butts will be teaching a class on the LAMP stack, including PHP variables, control structures, functions, MySQL, forms, and basic security. The class will not meet on October 20th as Josh will be speaking at Zendcon. Resources for the class include a Google group and sample code on GitHub. PHP versions 5.2 or higher can be used for the class, with XAMPP and Zend Server CE recommended for local development. The instructor emphasizes using a good code editor like Komodo IDE, Eclipse PDT, or PHPStorm. Homework will be optional to help students explore topics covered in class.
This document provides an overview of PHP, including what it is, how it works, and what it can be used for. PHP is an open source scripting language suited for web development that allows embedding code into HTML. PHP code is placed between <?php ?> tags and is executed on the server to generate HTML sent to the client. PHP can be used for server-side scripting, command line scripting, and writing desktop applications. It supports many databases and operating systems and can be used for tasks like collecting form data and generating dynamic web page content.
PHP is a server-side scripting language used for web development. To run PHP code, it needs to be processed by a web server like Apache. XAMPP is a package that contains Apache, MySQL, and PHP and allows users to run PHP locally. The document provides examples of PHP syntax including variables, data types, arrays, and classes. It also shares links to code demos from chapters 5, 12, and 13 that demonstrate various PHP features like conditions, functions, and object-oriented programming concepts.
The document provides an introduction and overview of PHP including:
- PHP is a widely-used open source scripting language especially for web development.
- It was created by Rasmus Lerdorf in 1995 and is free to use.
- PHP typically runs on web servers and is installed on over 20 million websites.
- Features include being free, easy to learn, supporting databases and object-oriented programming.
- Common tools for PHP development include XAMPP, Notepad++, and Eclipse IDE.
This document provides a tutorial on PHP (Hypertext Preprocessor), a programming language used for web development. It discusses:
- PHP allows developers to create dynamic content that interacts with databases. It is commonly used with MySQL.
- The tutorial is designed for programmers new to PHP concepts with basic computer programming skills.
- It provides an overview of PHP syntax and variable types, and how to set up a PHP development environment on different platforms like Linux, Windows, and MacOS.
This document provides an introduction and overview of PHP. It begins by explaining that PHP is a server-side scripting language used for web development and interacting with databases. It then discusses prerequisites for understanding PHP and provides an introduction to basic PHP syntax and concepts like variables, data types, and embedding PHP code in HTML. The document concludes by explaining how to set up a PHP development environment and configure servers like Apache to run PHP code.
This document provides an introduction and overview of PHP. It begins by explaining that PHP is a server-side scripting language used for web development and interacting with databases. It then discusses prerequisites for understanding PHP and provides an introduction to basic PHP syntax and concepts like variables, data types, and embedding PHP code in HTML. The document concludes by explaining how to set up a PHP development environment and configure servers like Apache to run PHP code.
This document provides an introduction and overview of PHP (Hypertext Preprocessor), a popular open source scripting language used for web development. It discusses how PHP allows developers to create dynamic content that interacts with databases, its common uses like form handling and restricting user access, and its key characteristics like simplicity, efficiency and flexibility. The document then provides instructions on setting up a PHP development environment and includes examples of basic PHP syntax like comments, escaping tags and whitespace handling.
This document provides an introduction to PHP and MySQL for educational purposes. It discusses PHP basics like syntax, variables, operators, control structures, and functions. It also covers server-side dynamic web programming approaches like CGI, ASP, Java Servlets and JSP. The document explains what PHP is, how it works, and what is needed to use it. It provides examples of PHP code for scalars, operators, control structures, arrays and date functions. The goal is to provide basic PHP knowledge and code examples but not teach everything about PHP.
This document provides an introduction and overview of PHP:
1. PHP is a scripting language used for web development that allows developers to dynamically generate web pages. It is embedded within HTML and processed by the server before the page is sent to the browser.
2. The tutorial aims to teach PHP basics so readers can customize scripts, understand PHP's working model, and gain skills valuable for employment.
3. PHP syntax is similar to C, Java, and Perl. All PHP code must be contained within opening and closing PHP tags.
This document provides an introduction and overview of PHP for beginners. It teaches the basics of PHP so readers can customize PHP scripts, design their own PHP projects, and become more valuable to employers with PHP skills. The tutorial explains that PHP is a scripting language embedded in HTML pages that allows dynamically generated web pages. It covers PHP syntax, variables, functions like echo, strings, and basic operators. The goal is to teach PHP fundamentals while not rushing through the material too quickly.
This document provides an introduction and overview of PHP:
1. PHP is a scripting language used for web development that allows developers to dynamically generate web pages. It is embedded within HTML and processed by the server before the page is sent to the browser.
2. The tutorial aims to teach PHP basics so readers can customize scripts, understand PHP's working model, and gain skills valuable for employment.
3. PHP syntax is similar to C, Java, and Perl. All PHP code must be contained within opening and closing PHP tags.
This document provides an introduction and overview of PHP:
1. PHP is a scripting language used for web development that allows developers to dynamically generate web pages. It is embedded within HTML and processed by the server before the page is sent to the browser.
2. The tutorial aims to teach PHP basics so readers can customize scripts, understand PHP's working model, and gain skills valuable for employment.
3. PHP syntax is similar to C, Java, and Perl. All PHP code must be contained within opening and closing PHP tags.
This document provides an introduction and overview of PHP for beginners. It teaches the basics of PHP so readers can customize PHP scripts, design their own PHP projects, and become more valuable to employers with PHP skills. The tutorial explains that PHP is a scripting language embedded in HTML pages that allows dynamically generated web pages. It covers PHP syntax, variables, functions like echo, strings, and basic operators. The goal is to teach PHP fundamentals while not rushing through the material too quickly.
This document provides an introduction and overview of PHP for beginners. It teaches the basics of PHP so readers can customize PHP scripts, design their own PHP projects, and become more valuable to employers with PHP skills. The tutorial explains that PHP is a scripting language embedded in HTML pages that allows dynamically generated web pages. It covers PHP syntax, variables, functions like echo, strings, and basic operators. The goal is to teach PHP fundamentals while not rushing through the material too quickly.
The document provides an introduction to PHP, covering topics such as:
- PHP is a scripting language embedded in HTML code and used to add dynamic content to web pages. It ignores browser specifications.
- To use PHP, you need it installed on your server. PHP code is placed between <?php ?> tags in HTML files with a .php extension.
- The document demonstrates basic PHP functions like echo and variables. It also discusses forms, classes, database connections, and platforms for PHP development.
CAKE: Sharing Slices of Confidential Data on BlockchainClaudio Di Ciccio
Presented at the CAiSE 2024 Forum, Intelligent Information Systems, June 6th, Limassol, Cyprus.
Synopsis: Cooperative information systems typically involve various entities in a collaborative process within a distributed environment. Blockchain technology offers a mechanism for automating such processes, even when only partial trust exists among participants. The data stored on the blockchain is replicated across all nodes in the network, ensuring accessibility to all participants. While this aspect facilitates traceability, integrity, and persistence, it poses challenges for adopting public blockchains in enterprise settings due to confidentiality issues. In this paper, we present a software tool named Control Access via Key Encryption (CAKE), designed to ensure data confidentiality in scenarios involving public blockchains. After outlining its core components and functionalities, we showcase the application of CAKE in the context of a real-world cyber-security project within the logistics domain.
Paper: https://doi.org/10.1007/978-3-031-61000-4_16
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxSitimaJohn
Ocean Lotus cyber threat actors represent a sophisticated, persistent, and politically motivated group that poses a significant risk to organizations and individuals in the Southeast Asian region. Their continuous evolution and adaptability underscore the need for robust cybersecurity measures and international cooperation to identify and mitigate the threats posed by such advanced persistent threat groups.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
Generating privacy-protected synthetic data using Secludy and MilvusZilliz
During this demo, the founders of Secludy will demonstrate how their system utilizes Milvus to store and manipulate embeddings for generating privacy-protected synthetic data. Their approach not only maintains the confidentiality of the original data but also enhances the utility and scalability of LLMs under privacy constraints. Attendees, including machine learning engineers, data scientists, and data managers, will witness first-hand how Secludy's integration with Milvus empowers organizations to harness the power of LLMs securely and efficiently.
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceIndexBug
Imagine a world where machines not only perform tasks but also learn, adapt, and make decisions. This is the promise of Artificial Intelligence (AI), a technology that's not just enhancing our lives but revolutionizing entire industries.
OpenID AuthZEN Interop Read Out - AuthorizationDavid Brossard
During Identiverse 2024 and EIC 2024, members of the OpenID AuthZEN WG got together and demoed their authorization endpoints conforming to the AuthZEN API
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.
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
4. PHP Sucks
Low Barrier To Entry
Weak Community
Google-Copy-Paste
NIH
“In the end I think you will find that your homegrown
small framework has saved you time and aggravation
and you end up with a better product.” - Rasmus
http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html
PHP Doesn't Suck
5. I can write
terrible code in
any language.
- Me
PHP Doesn't Suck
6. Making It Not Suck
Learn the Language
http://php.net/manual
PHP Doesn't Suck
7. Making It Not Suck
Test Your Code
http://www.simpletest.org/
http://www.phpunit.de/
http://qa.php.net/write-test.php
PHP Doesn't Suck
8. Making It Not Suck
NO LIVE EDITS
(mostly)
CAPISTRANO WORKS FINE WITH PHP
PHP Doesn't Suck
9. Making It Not Suck
Share & Be shared
Github
PSR-0 (http://tinyurl.com/yh6jydd)
PHP Doesn't Suck
10. Making It Not Suck
Have A Style
http://www.mediawiki.org/wiki/Manual:Coding_conventions
PHP Doesn't Suck
11. Making It Not Suck
Try The REPL
jmhobbs@Cordelia:~$ phpsh
Starting php
type 'h' or 'help' to see instructions & features
php> echo "Oh hai!";
Oh hai!
php> include "test.php";
php> whoa();
lol, functions!1!
php>
jmhobbs@Cordelia:~$
http://www.phpsh.org/
PHP Doesn't Suck
12. Making It Not Suck
Read Code
(Including other languages!)
PHP Doesn't Suck
13. USE
A
FRAMEWORK
(Hint: Not Zend)
PHP Doesn't Suck
14. Use A Framework
- HMVC
- Useful helpers
- Super flexible
- Great modules system
- Great modules
http://kohanaframework.org/
PHP Doesn't Suck
15. Use A Framework
namespace appcontrollers;
class PostsController extends lithiumactionController {
public function index() {
return array('foo' => 'bar', 'title' => 'Posts');
}
}
http://lithify.me/
PHP Doesn't Suck
16. Use A Framework
Skunk
// Initialize
$s = new Skunk();
// Add a route
$s->get(
'/hi(/<name>)',
function ( &$s, $name = “world” ) {
$s->body = “Hello $name!";
}
);
// Run it!
$s->run();
https://github.com/jmhobbs/Skunk
PHP Doesn't Suck
20. PHP Doesn't Suck
This is a presentation about PHP.
If you are looking for a fight, leave now.
21. Who are you?
John Hobbs
- Developer at What Cheer
- @jmhobbs
- https://github.com/jmhobbs
- http://velvetcache.org/
PHP Doesn't Suck
I'm John Hobbs.
I make fancy websites at What Cheer.
I have a twitter and a github and I blog but no one
reads it.
If I'm known for anything on the Internet it's Beef Taco.
Just google Beef Taco and it's the top item.
I kid you not.
22. PHP Sucks
T_PAAMAYIM_NEKUDOTAYIM
get_class() => gettype()
PHPE9568F34-D428-11d2-A769-00AA001ACF42
sort( &$array )
www.phpsadness.com
PHP Doesn't Suck
PHP Sucks.
The language itself has some fundamental flaws that
crept in early in it's life and have not been excised
yet, mostly for compatibility issues.
Crappy error messages.
Inconsistent naming conventions.
Stupid “features”
In place array sorts.
There is a decent chunk of these, phpsadness.com is
a good place to read and track them.
PHP has a weird history of full rewrites, but it's held
onto backwards compatibility through a lot of them.
Zend (4/5) is a decent engine, but the old cruft is lame.
23. PHP Sucks
Low Barrier To Entry
Weak Community
Google-Copy-Paste
NIH
“In the end I think you will find that your homegrown
small framework has saved you time and aggravation
and you end up with a better product.” - Rasmus
http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html
PHP Doesn't Suck
Why else does PHP suck?
Well, it runs everywhere. It's billed as an easy
language to learn, fast. And it is, if you want to write
crappy code.
The community is, compared to Python and Ruby,
fragmented and not sophisticated. Testing is a big
problem here. Ever used a phpt?
Because PHP is everywhere, you can Google for
anything and get some code. Too often people don't
read it, they just copy-paste. So they lose a chance
to learn and also integrate crappy code.
There also seems to be a serious not-invented-here
syndrome in PHP. This includes Rasmus. Don't
listen to Rasmus.
24. I can write
terrible code in
any language.
- Me
PHP Doesn't Suck
I can write terrible code in any language.
The point is that the quality of the code has a lot to do
with who is writing it, and how much they
understand.
Don't blame everything on the language.
So how can we write better PHP?
25. Making It Not Suck
Learn the Language
http://php.net/manual
PHP Doesn't Suck
Learn the language.
It sounds simple, but I bet there is lots of stuff that even
good PHP programmers don't know about PHP.
Has anyone here ever written a __clone method?
How much of the manual have you read?
Have you ever compiled an extension? Written one?
26. Making It Not Suck
Test Your Code
http://www.simpletest.org/
http://www.phpunit.de/
http://qa.php.net/write-test.php
PHP Doesn't Suck
Test your code.
This is a huuuuge deal. There are good testing tools
for PHP, use them. I like SimpleTest, but it's a
personal choice, and an easy one.
TDD makes you think, something PHP doesn't always
make you do.
Something else that unit testing does is force you to
separate code. PHP is it's own template language,
so it's super easy to mix business logic with
presentation. Don't. Testing will help.
27. Making It Not Suck
NO LIVE EDITS
(mostly)
CAPISTRANO WORKS FINE WITH PHP
PHP Doesn't Suck
No live edits. Stay off of production.
I admit, I don't use version control on some stuff. One
off tools and pages, wordpress blogs, stuff that
doesn't really matter.
If you are writing an app or a library, you should be
using version control and running deployments after
all your tests pass.
Capistrano gets along fine with PHP, and if you would
rather you can use phing and other tools.
PHP tempts you to edit live in production. Resist.
28. Making It Not Suck
Share & Be shared
Github
PSR-0 (http://tinyurl.com/yh6jydd)
PHP Doesn't Suck
Share your code, and use shared code.
You don't have to come up with your own version of a
lot of things.
But don't just blindly copy code or use any old module.
Look at the code and make a judgment call. It's okay
to fork or rewrite if it's in bad shape, but then share it
back to the community!
If you are writing a library, be compatible. If it's
generic, there are naming conventions like PSR-0.
(I admit I am bad at being compatible)
29. Making It Not Suck
Have A Style
http://www.mediawiki.org/wiki/Manual:Coding_conventions
PHP Doesn't Suck
Have a style you stick to.
Being clear and consistent in your code is essential, no
sloppy formatting.
Bad style is endemic of google-copy-paste code.
If you are working on someone else's project, use their
style before you make a pull request.
It's polite, it's clean it's essential.
I use a variant of MediaWiki's conventions.
30. Making It Not Suck
Try The REPL
jmhobbs@Cordelia:~$ phpsh
Starting php
type 'h' or 'help' to see instructions & features
php> echo "Oh hai!";
Oh hai!
php> include "test.php";
php> whoa();
lol, functions!1!
php>
jmhobbs@Cordelia:~$
http://www.phpsh.org/
PHP Doesn't Suck
Other languages have a great REPL.
PHP, not so much.
Luckily we have a good one from Facebook, written
mostly in Python actually.
Get it and give it a shot.
When you forget argument ordering it's often easier to
try it in the shell than to go look it up on php.net.
31. Making It Not Suck
Read Code
(Including other languages!)
PHP Doesn't Suck
Actually READ the code you use.
This one is a big one. Read other people's code, the
good and the bad.
Identify what you like and what you don't like about
other people's code.
Try out new things you find in other peoples code.
And don't be just a PHP programmer.
Read and write some other languages, Python, Ruby,
whatever.
I am convinced the more well read you are, in any
language, the better you will be as a programmer.
32. USE
A
FRAMEWORK
(Hint: Not Zend)
PHP Doesn't Suck
Use a framework.
A framework will make you organize your code within a
set of conventions. Which conventions don't matter
as much as the fact that they exist.
I recommend not Zend because it frightens me.
Learn your framework well.
Read it's core, submit patches, be involved.
Here are few examples of frameworks:
33. Use A Framework
- HMVC
- Useful helpers
- Super flexible
- Great modules system
- Great modules
http://kohanaframework.org/
PHP Doesn't Suck
I'm a Kohana user.
It's not all roses though, there are no migrations either,
which is gross.
Development moves fast, and breaks api a lot. It's
managed with versioning though, and there is plenty
of backporting and bug fixes.
34. Use A Framework
namespace appcontrollers;
class PostsController extends lithiumactionController {
public function index() {
return array('foo' => 'bar', 'title' => 'Posts');
}
}
http://lithify.me/
PHP Doesn't Suck
Another cool one is Lithium.
It's very “leading edge” and uses namespaces like they
are going out of style.
35. Use A Framework
Skunk
// Initialize
$s = new Skunk();
// Add a route
$s->get(
'/hi(/<name>)',
function ( &$s, $name = “world” ) {
$s->body = “Hello $name!";
}
);
// Run it!
$s->run();
https://github.com/jmhobbs/Skunk
PHP Doesn't Suck
Finally I included a Sinatra and Bottle style framework
that I wrote.
I wouldn't necessarily recommend using Skunk, but it's
a good example a little, single file framework with an
interesting API and feel.
36. So...
PHP Doesn't Suck
So.
Those are my thoughts on how to write better PHP.
As for the language itself...
37. It's Getting Better
5.4
- http://www.php.net/manual/en/language.oop5.traits.php
(Traits => Mixins)
- http://svn.php.net/viewvc?view=revision&revision=313641
(Short Array Syntax: [ “a” => “b” ])
- http://news.php.net/php.internals/55293
(SVN => git)
PHP Doesn't Suck
It's getting better.
5.4 is on it's way and it's bringing some fixes for major
pain points.
38. Discussion
Questions?
Comments?
PHP Doesn't Suck
Please be gentle.