The perils, pitfalls and advantages of moving to IP telephony
Four years ago I needed a new four-line phone system for my home business and the choices were astonishingly limited. After finding that the only reasonable four-line cordless phone system cost over $2000,I discovered Asterisk, a Linux based open source PBX and decided to risk that path. Along the way I've learned a few things I think are worth knowing before jumping in.
Podcasting advice from a veteran podcast creator and host.
Got an idea to share or a story to tell? Got a computer with a microphone? You have enough to record, edit, produce and publish a professional quality podcast. Your podcast doesn't have to be about Linux or open source software to use the technology to make it happen. This session will provide you with suggestions for the applications you'll need to do it for free - using Linux and open source software. You'll also get valuable podcasting advice from a veteran podcast creator, host and producer. * The preparation - Learn how to * Recording the podcast - Connecting the hardware and getting it done * Editing the podcast - Tips and techniques * Producing the podcast - Adding flair and professionalism * Podcast themes and music - Where and how to find it * Getting the word out - Publicize and networking * Publishing the podcast - Hosting * The show notes - What do they contain? * The website/blog - Which is right? * The feed - How to do it * The software - What do I need? * The hardware - From minimal to professional, it's your choice * Avoiding "podfading" - Plan ahead record ahead * Improving your sound - Techniques to maximize your impact
Perl's recent renaissance has produced amazing tools that you too can use today.
This talk explains the philosophy of language design apparent in Perl 5 along the two fundamental axes of the language: lexical scoping and pervasive value and amount contexts. It also discusses several important pragmas and language extensions to improve Perl 5's defaults, to reduce the chance of errors, to allow better abstractions, and to encourage the writing of great code.
This talk will guide the beginner Perl user through they whys and hows of code profiling. Attendees will be introduced to some of the profiling tools available, with demonstration of speeding up a single call by 85%. Attendees will learn simple techniques
Whenever a Perl program or script is not working as quickly as we think it should, we're all tempted to start pointing at the obvious issue. It's because you're using a four line block to get that hash, you should use ?map?. *That's* your problem. The database is slow, it takes forever to run the query. You're not caching that response, you need to optimize! Ok, so that last one might actually be right. But how do we know? Even if we should optimize, what should we optimize? Where are the real slow downs, and where can we get the biggest wins? The answer to these questions comes from Profiling. At Dyn Inc. we've been writing enterprise grade web applications and software in Perl for over a decade. We think we?re pretty good at. And yet, when we started to experience slow downs on a new system as the user-base grew we spent a lot of time trying to make the code faster.? It wasn't until we took the time to run some of the suspected problematic libs through a profiler that we finally were able to gain some significant speed ups. An 85% speed up in one call alone. We became profiling fools. Maybe more illuminating than where we needed to optimize was where we did not have to. Many assumptions were dashed in the face of data. This talk will guide the beginner Perl user through they whys and hows of code profiling. Attendees will be introduced to the profiling tool Devel::NYTProf, in the context of how Dyn Inc. engineers found a significant speed up based on an inefficient sub routine in a popular CPAN module. Attendees will be shown the tool, and associated output, along with a walk-through of how to interpret the data for best optimization candidates. They will be shown simple techniques for benchmarking and profiling scripts and sub-routines.
Scripting Basics What Makes Python Special? Magic - shebang Where is Python? Comments Execution Debugging Python -d Python Interactive Shell IPython help() dir() pdb Objects and Methods Bools Strs Ints Lists Tuples Dicts What Are Iterators? Functions Also Objects Code Segregation Using a main() Function Classes Also Objects Writing a Class Instantiating a Class Modules Also Objects Importing Modules Installing Modules Some Cool Modules sys os re time socket httplib subprocess json Other Resources
Learn about Redis and how you can use it with your applications.
Explaining Redis is tough, it’s easy to say “a data structures server” or “memcached on steroids” or something more jargon filled. It’s not exactly a key value store, it’s definitely not a relational or document-oriented database. Usually as programmers we have to bend our data into a table or document to save it, but with Redis we can persist data as we conceptually visualize it. You may have heard that Redis is super fast, is being used for everything from analytics to job queues, and even on large sites such as Craigslist. Learn about the basics of Redis and we'll cover some use cases so you can see how to integrate with your applications. Tasty!
A presentation covering common attack methods and how to secure web applications when altering the code is not an option.
The ever growing pool of neglected web applications is a breeding ground for malicious activity on the web, and is a concern for web hosting providers whose customers tend to leave no time for security updates after updating their blogs, forums or CMS sites. This talk will cover some basic information on 3 common attack methods as well a 3 easy ways system administrators can address each type of threat and some other details regarding security best practices. Attack: XSS, SQL Injection and insecure upload forms. Defense: mod_security, IDS/IPS (snort/snortsam), and file system monitoring.
Ganeti is an open source project which offers many solutions to simplify a clustered virtual machine environment. This session will walk through Ganeti covering its basic design goals/features, installation architecture, and production implementation.
Whether you need a simple scalable development virtual machine environment or need to deploy a large cloud production environment, you need a tool that is easy to use, deploy, and maintain. Ganeti is a clustered virtual server management software tool built on top of existing virtualization technologies such as Xen or KVM. It is similar to libvirt in many aspects, but different in others such as its built-in cluster support using DRBD. The focus will be on a use case at the Oregon State University Open Source Lab (OSUOSL) where we were faced with scaling, performance, and reliability issues with our existing VM infrastructure. I’ll cover the overall design and features of Ganeti along with the basics of installing it. Additionally I’ll walk through some of the basic operations you may encounter (deployment, failover, expansion, hardware failures, etc). I'll also cover some tools that we are using to help manage our clusters.