One month I was a web designer, the next I co-owned an existing tech media company. php[architect] is a boutique publishing brand that is well known in the PHP developer world. When our newly-minted four person company was asked to take over the brand (because the founder wanted to move on), we jumped at the opportunity. We took over a monthly magazine, tech books, training and two national conferences. As the sole designer in a band of developers, I was the most concerned. After several months, we worked out a content workflow (that ended in both digital and print) that made it possible for just four people to run a thriving boutique media company. This is how we did it.
A walkthrough of various application performance tuning tools and a good workflow for where to start, from a presentation at WindyCityRails 2011 in Chicago, IL.
See the video, and more Web and Ruby/Rails Performance info at www.RailsPerformance.com
-John McCaffrey
Becoming a more productive Rails DeveloperJohn McCaffrey
A presentation by John McCaffrey of RailsPerformance.com on how to manage technical information, ask technical questions, expand Ruby and Rails knowledge, and work on interesting side projects for open source, non-profits or as a freelancer
This is my deck from Cloud Conference Torino 2013 (http://www.cloudconf.it). I was the post-lunch speaker, so this one is more silly and there was a lot of off-deck riffing, so this is here only for posterity.
I initially planned to speak on cloud-specific stuff, this turned into an intro to MongoDB though.
A walkthrough of various application performance tuning tools and a good workflow for where to start, from a presentation at WindyCityRails 2011 in Chicago, IL.
See the video, and more Web and Ruby/Rails Performance info at www.RailsPerformance.com
-John McCaffrey
Becoming a more productive Rails DeveloperJohn McCaffrey
A presentation by John McCaffrey of RailsPerformance.com on how to manage technical information, ask technical questions, expand Ruby and Rails knowledge, and work on interesting side projects for open source, non-profits or as a freelancer
This is my deck from Cloud Conference Torino 2013 (http://www.cloudconf.it). I was the post-lunch speaker, so this one is more silly and there was a lot of off-deck riffing, so this is here only for posterity.
I initially planned to speak on cloud-specific stuff, this turned into an intro to MongoDB though.
IronRuby has been around for a while. This presentation is about the practical uses of IronRuby. It contains several different use cases that you can immediately go and use to enhance your everyday work.
A chronicle of my attempt to create a real time web app using pure clojure at every layer of the stack, from the client to the styles to the web server
Web Performance tuning presentation given at http://www.chippewavalleycodecamp.com/
Covers basic http flow, measuring performance, common changes to improve performance now, and several tools and techniques you can use now.
improving the performance of Rails web ApplicationsJohn McCaffrey
This presentation is the first in a series on Improving Rails application performance. This session covers the basic motivations and goals for improving performance, the best way to approach a performance assessment, and a review of the tools and techniques that will yield the best results. Tools covered include: Firebug, yslow, page speed, speed tracer, dom monster, request log analyzer, oink, rack bug, new relic rpm, rails metrics, showslow.org, msfast, webpagetest.org and gtmetrix.org.
The upcoming sessions will focus on:
Improving sql queries, and active record use
Improving general rails/ruby code
Improving the front-end
And a final presentation will cover how to be a more efficient and effective developer!
This series will be compressed into a best of session for the 2010 http://windycityRails.org conference
There is a high demand for companies to publish and promote their content on the web. To accommodate this demand Alfresco has provided a number of solutions covering editorial to web tier. As an example of this demand Ixxus was commissioned by a leading business information publisher to produce a microsite for ‘teaser’ content to increase subscriptions of their main site. To deliver this Ixxus utilized a number of features provided by Alfresco, such as services like the Transfer Service, the web scripts framework, and Surf. The majority of these features now make up the mainstay of Alfresco’s Web Quick Start WCM solution. The goal of this session is to demonstrate a real world example of how the combination of Alfresco, Surf and CMIS offers a great platform for developers to produce content-rich websites quickly. The session will cover: Using Spring Roo to construct a Surf application, Benefits of using Spring Surf, Using the Transfer Service, OpenCMIS in Surf, Varnish your Surf application, and What’s next
Big Data! Great! Now What? #SymfonyCon 2014Ricard Clau
Big Data is one of the new buzzwords in the industry. Everyone is using NoSQL databases. MySQL is not cool anymore. But... do we really have big data? Where should we store it? Are the traditional RDBMS databases dead? Is NoSQL the solution to our problems? And most importantly, how can PHP and Symfony2 help with it?
This series introduces students to ruby on rails 3 through the book "Agile Web Development with Rails" with accompanying lecture videos found at http://www.thinkbohemian.com/tag/rails-summer-of-code/
You know that adopting Continuous Delivery is key to a high-performance company. You’ve read the books and are ready to build microservices in the cloud. Great! Let’s go back to the principles and see how to apply them in a cloud native environment. What used to be about shipping code to static servers, is now about quickly creating decoupled pipelines for new services that are readily wired up into the platform, and everything is driven by code. This talk will give concrete guidance for a world where autonomous teams continuously deploy many independent services and containers into an infrastructure that is dynamically created via APIs. Release without staging environment, but with confidence.
Learn how to apply cloud native concepts to the delivery pipeline itself and how the concepts of continuous delivery need to be adjusted for microservices in the cloud. Hear real world examples, including how to QA in production.
This series introduces students to ruby on rails 3 through the book "Agile Web Development with Rails" with accompanying lecture videos found at http://www.thinkbohemian.com/tag/rails-summer-of-code/
IronRuby has been around for a while. This presentation is about the practical uses of IronRuby. It contains several different use cases that you can immediately go and use to enhance your everyday work.
A chronicle of my attempt to create a real time web app using pure clojure at every layer of the stack, from the client to the styles to the web server
Web Performance tuning presentation given at http://www.chippewavalleycodecamp.com/
Covers basic http flow, measuring performance, common changes to improve performance now, and several tools and techniques you can use now.
improving the performance of Rails web ApplicationsJohn McCaffrey
This presentation is the first in a series on Improving Rails application performance. This session covers the basic motivations and goals for improving performance, the best way to approach a performance assessment, and a review of the tools and techniques that will yield the best results. Tools covered include: Firebug, yslow, page speed, speed tracer, dom monster, request log analyzer, oink, rack bug, new relic rpm, rails metrics, showslow.org, msfast, webpagetest.org and gtmetrix.org.
The upcoming sessions will focus on:
Improving sql queries, and active record use
Improving general rails/ruby code
Improving the front-end
And a final presentation will cover how to be a more efficient and effective developer!
This series will be compressed into a best of session for the 2010 http://windycityRails.org conference
There is a high demand for companies to publish and promote their content on the web. To accommodate this demand Alfresco has provided a number of solutions covering editorial to web tier. As an example of this demand Ixxus was commissioned by a leading business information publisher to produce a microsite for ‘teaser’ content to increase subscriptions of their main site. To deliver this Ixxus utilized a number of features provided by Alfresco, such as services like the Transfer Service, the web scripts framework, and Surf. The majority of these features now make up the mainstay of Alfresco’s Web Quick Start WCM solution. The goal of this session is to demonstrate a real world example of how the combination of Alfresco, Surf and CMIS offers a great platform for developers to produce content-rich websites quickly. The session will cover: Using Spring Roo to construct a Surf application, Benefits of using Spring Surf, Using the Transfer Service, OpenCMIS in Surf, Varnish your Surf application, and What’s next
Big Data! Great! Now What? #SymfonyCon 2014Ricard Clau
Big Data is one of the new buzzwords in the industry. Everyone is using NoSQL databases. MySQL is not cool anymore. But... do we really have big data? Where should we store it? Are the traditional RDBMS databases dead? Is NoSQL the solution to our problems? And most importantly, how can PHP and Symfony2 help with it?
This series introduces students to ruby on rails 3 through the book "Agile Web Development with Rails" with accompanying lecture videos found at http://www.thinkbohemian.com/tag/rails-summer-of-code/
You know that adopting Continuous Delivery is key to a high-performance company. You’ve read the books and are ready to build microservices in the cloud. Great! Let’s go back to the principles and see how to apply them in a cloud native environment. What used to be about shipping code to static servers, is now about quickly creating decoupled pipelines for new services that are readily wired up into the platform, and everything is driven by code. This talk will give concrete guidance for a world where autonomous teams continuously deploy many independent services and containers into an infrastructure that is dynamically created via APIs. Release without staging environment, but with confidence.
Learn how to apply cloud native concepts to the delivery pipeline itself and how the concepts of continuous delivery need to be adjusted for microservices in the cloud. Hear real world examples, including how to QA in production.
This series introduces students to ruby on rails 3 through the book "Agile Web Development with Rails" with accompanying lecture videos found at http://www.thinkbohemian.com/tag/rails-summer-of-code/
Building Responsive Applications Using XPagesTeamstudio
Let Connect come to you! In this webinar, Brian Gleeson and Martin Donnelly from the IBM Development Team present their Connect 2016 session.
Bootstrap was integrated into the XPages Extension Library in 2014 and has continued to rapidly evolve ever since. This responsive design capability empowers you to build the slickest Domino Web applications ever - where the user experience dynamically adapts for the desktop, tablet, or smaller mobile devices. Brian and Martin will show you how to quickly and easily transform your old applications into something that will impress your end users (and your boss)!
MariaDB Server Compatibility with MySQLColin Charles
At the MariaDB Server Developer's meeting in Amsterdam, Oct 8 2016. This was the deck to talk about what MariaDB Server 10.1/10.2 might be missing from MySQL versions up to 5.7. The focus is on compatibility of MariaDB Server with MySQL.
IBM Connect 2016 - AD1548 - Building Responsive XPages Applicationsbeglee
Session AD1548 from IBM Connect 2016 in Orlando. Brian Gleeson and Padraic Edwards from the IBM XPages team presented a session on building responsive XPages applications. Utilise Bootstrap 3 or experiment with Bootstrap 4 Alpha to build impressive XPages applications that work well and look great across all devices.
OSDC 2013 | Introduction into Chef by Andy HawkinsNETWAYS
This presentation will give an overview about what Chef is and how to access it. It will describe the typical use cases and architecture as well as Cookbooks, data bags and other concepts and will explain how to implement your CM solution. Finally it will show how to drive a successful Chef project.
Skroutz redesign - How to approach card-based design & SASS content - specifi...Skroutz S.A.
On the occasion of the 2016 DEVIT conference (http://devitconf.org/) in Thessaloniki, George Katsiampas, front-end developer at Skroutz.gr, hosted a workshop about the process of the redesign of our website.
Specifically, he demonstrated the challenges and needs the front-end team tried to solve through the application of Card design, the solutions suggested and finally how they managed to implement these solutions in HTML & CSS, keeping our codebase clean and maintainable.
This workshop was about front-end developers and designers who are familiar with basic design & Web UX terms, responsive design, and those able to understand SASS usage.
Experience feedback on 10 monthes of happy mongodb usage at fotopedia.
You may also checkout: http://www.slideshare.net/octplane/mongodb-vs-mysql-a-devops-point-of-view
The O'Reilly Velocity Conference Europe was held in London from 13th to 15th November 2013. In a few days I shared my notes with my fellow webspeeders at the Web Performance Barcelona Meetup. These are the slides I used.
Connecting Intelligent Content with Micropublishing and BeyondDon Day
This presentation will describe and demonstrate a grand unified vision for pulling together different kinds of single-page products for the Web, for print, and more. Lessons from this model can give you an edge in market-leading adoption of the next great thing after micropublishing, the current trend.
I based my presention on the great "HTML5 for Web designers" by Jeremy Keith. Awesome and pragmatic book, the way I like it. Get your copy on: http://books.alistapart.com/products/html5-for-web-designers
Learn about bibliographic content in the Plone CMS, and how to easily control the style of your bibliographies with integration of the citationstyles.org project into Plone.
Code for Startup MVP (Ruby on Rails) Session 1Henry S
First Session on Learning to Code for Startup MVP's using Ruby on Rails.
This session covers the web architecture, Git/GitHub and makes a real rails app that is deployed to Heroku at the end.
Thanks,
Henry
While there is some truth to “some amount of innate talent is required to be a true artist”, it’s not necessarily so in learning how to design. And as developers, we’ve all found ourselves struggling when called on to be both the designer and developer of a website. There are processes and techniques you can use to create a well designed site. From “hierarchy of content” to “font usage” to “proximity of elements”, I will teach you how to develop an eye for design that will carry you through any task, and may even alter how you see the world as you learn related patterns are everywhere.
News From the Front Lines - an update on Front-End TechKevin Bruce
What's the current state of your front end programming? With the html5 stack, responsive design methods, and browsers constantly updating their support for new tech, it's hard to keep up. We will touch on the current spec and adoption of html5 standards, css standards, less, responsive techniques as well as discussing browser support. You'll be aware of the options that are available today and what will be available in the near future.
Responsive Design is the buzz in design, but as we all know, design is only part of the story. With the arrival of the HTML5, CSS3 and javascript triumvirate we can no make truly immersive mobile and desktop browser experiences. Coupled with modern PHP web application practices, your web app will feel and act closer to a native app, at a fraction of the cost. In this presentation, we'll dive into designing your modern web application to take advantage of as much of the platforms' limitations and advantages. Sure, you can't use the camera, but in many cases can use the accelerometer, and it'll always be granted to look right, any angle you look at it! These days, there's no excuse for not having a "mobile version" when all you need is one site that can transform itself to suit the device!
Unleash Your Inner Demon with the "Let's Summon Demons" T-Shirt. Calling all fans of dark humor and edgy fashion! The "Let's Summon Demons" t-shirt is a unique way to express yourself and turn heads.
https://dribbble.com/shots/24253051-Let-s-Summon-Demons-Shirt
Can AI do good? at 'offtheCanvas' India HCI preludeAlan Dix
Invited talk at 'offtheCanvas' IndiaHCI prelude, 29th June 2024.
https://www.alandix.com/academic/talks/offtheCanvas-IndiaHCI2024/
The world is being changed fundamentally by AI and we are constantly faced with newspaper headlines about its harmful effects. However, there is also the potential to both ameliorate theses harms and use the new abilities of AI to transform society for the good. Can you make the difference?
You could be a professional graphic designer and still make mistakes. There is always the possibility of human error. On the other hand if you’re not a designer, the chances of making some common graphic design mistakes are even higher. Because you don’t know what you don’t know. That’s where this blog comes in. To make your job easier and help you create better designs, we have put together a list of common graphic design mistakes that you need to avoid.
Transforming Brand Perception and Boosting Profitabilityaaryangarg12
In today's digital era, the dynamics of brand perception, consumer behavior, and profitability have been profoundly reshaped by the synergy of branding, social media, and website design. This research paper investigates the transformative power of these elements in influencing how individuals perceive brands and products and how this transformation can be harnessed to drive sales and profitability for businesses.
Through an exploration of brand psychology and consumer behavior, this study sheds light on the intricate ways in which effective branding strategies, strategic social media engagement, and user-centric website design contribute to altering consumers' perceptions. We delve into the principles that underlie successful brand transformations, examining how visual identity, messaging, and storytelling can captivate and resonate with target audiences.
Methodologically, this research employs a comprehensive approach, combining qualitative and quantitative analyses. Real-world case studies illustrate the impact of branding, social media campaigns, and website redesigns on consumer perception, sales figures, and profitability. We assess the various metrics, including brand awareness, customer engagement, conversion rates, and revenue growth, to measure the effectiveness of these strategies.
The results underscore the pivotal role of cohesive branding, social media influence, and website usability in shaping positive brand perceptions, influencing consumer decisions, and ultimately bolstering sales and profitability. This paper provides actionable insights and strategic recommendations for businesses seeking to leverage branding, social media, and website design as potent tools to enhance their market position and financial success.
7 Alternatives to Bullet Points in PowerPointAlvis Oh
So you tried all the ways to beautify your bullet points on your pitch deck but it just got way uglier. These points are supposed to be memorable and leave a lasting impression on your audience. With these tips, you'll no longer have to spend so much time thinking how you should present your pointers.
Between Filth and Fortune- Urban Cattle Foraging Realities by Devi S Nair, An...Mansi Shah
This study examines cattle rearing in urban and rural settings, focusing on milk production and consumption. By exploring a case in Ahmedabad, it highlights the challenges and processes in dairy farming across different environments, emphasising the need for sustainable practices and the essential role of milk in daily consumption.
I Can Magazine- and YOU CAN, TOO! (A Case Study of a Boutique Designer)
1. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-191
I Can Magazine—
And YOU CAN,
TOO!
(a Case Study of
a Boutique Publisher)
Kevin Bruce
musketeers.me,LLC
2. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-192
Who am I?
Kevin Bruce
• Designer (Print & Web)
• PHP Developer
• Community Advocate
• Business Cofounder
4. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-194
“PSST!
Hey, buddy!
Want a media company?”
5. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-195
php|architect
• Geared towards PHP
developers
• monthly magazine
• online and onsite training
• online summits
• 2 national conferences
• a library of over 20 tech
books
6. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-196
The Magazine
• Started in December 2001
• In print until 2009, where it
went to digital-only
• Up to 2500 subscribers
PHPA AUG 09.indd 1
8/22/09 3:22:06 PM
7. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-197
a Helpful Editor
Beth Tucker Long
• Developer
• Community Leader
• Editor
• Writer
8. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-198
Processes
SVN
Article in
Ceres
Article in
Ceres
command-line
tool binds issues
to subscribers
accounts on
phparch.com |
Author
(various)
Editing
(Beth)
Layout
(Kevin)
PDF, ePub and
mobi files pushed
to site from SVN
Proofing
Rounds
Proofing
Rounds
All proofing and file
exchange are managed
with the help of Subversion
Imported
into
InDesign
command-line
tool used to
export epub &
mobi |
9. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-199
• A special inhouse markup.
• Authors wrotebooks and
articles in it.
• A commandline program
exported it into epub and
mobi ebook formats.
• Imported into inDesign
with a custom plugin.
Ceres
=t=Chapter Title=t=
Some Text Here, in **bold**, //italics//, //**italic bold**//, **//bold italic//**,
//’’monospaceCode()’’//. ‘’monospaceCode()’’.
=1=A sub-header=1=
- A list
- list item 2
{{figure figure1.jpg}}
{{sidebar something
More stuff here
}}
<code php>
<?php echo “Hello World”; ?>
</code>
<code sql>
SELECT “Hello World” as greeting;
</code>
<code xml>
<?xml version=”1.0” encoding=”UTF-8” ?>
<hello><world /></hello>
</code>
<code html>
<!DOCTYPE html>
<html>
<head><title>Hello World</title></head>
<body><p>Hello World</p></body>
</html>
</code>
<code javascript>
alert(new String(“Hello World”));
</code>
10. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-1910
• http://wikipedia.org/
wiki/Markdown
• An open standard simple
format that is slowly
getting embraced by
the digital publishing
community.
Markdown
Markdown Syntax - Headings
• One or more #
• Provide document structure
# Heading 1
## Heading 2
### Heading 3
#### Heading 4
##### Heading 5
<h1>Heading 1</h1>
<h2>Heading 2</h2>
<h3>Heading 3</h3>
<h4>Heading 4</h4>
<h5>Heading 5</h5>
Markdown Syntax - Text Blocks
• Paragraphs are separated by a new line.
• Block Quotes begin with a >.
I should have used lorem ipsum here as an example of text
> And here is another paragraph
I should have used lorem ipsum here as an example of text
And here is another paragraph
Markdown Syntax - Formatting
*italic* _italic_
**bold**__bold__
‘monospace‘
italic italic
bold bold
monospace
Markdown Syntax - Unordered Lists
• Bullets can be +, -, *
• Nested lists are indented by 4 spaces.
- One
* Sub One
- Two
- Three
11. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-1911
Converts markup in
one format to another
From
• Markdown
• HTML
• LaText, and more
To
• PDF
• Latex,
• ePub and more...
PanDoc
Pandoc
Read the Instructions for
Installing Pandoc on Windows,
Mac OS X, Linux, BSD
http://pandoc.org/
12. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-1912
command-line
tool binds issues
to subscribers
accounts on
phparch.com |
PDF, ePub and
mobi files pushed
to site from SVN
Updated Process
SVN
12 | March 2015 www.phparch.com
12 | March 2015 www.phparch.com
Today, many programmers focus on
their application, not their database.
They think about code—after all, most
of what they do is solving programming
problems, not database problems.
Dry! Theoretical lectures on relational
database theory have little bearing on
modern-day web applications—or so
many seem to think!
FEATURE
Practical Database Design
David Berube
DisplayInfo()
Related URLs:
• Boyce–Codd normal form -
http://en.wikipedia.org/wiki/Boyce%E2%80%93Codd_normal_form
20 | March 2015 www.phparch.com
Consolidating Doctrine
Migrations
Patrick Schwisow
Doctrine Migrations are a great way to manage changes in your
database structure, but over time migration files can pile up and turn
into an unmaintainable mess. Migration usage is well-documented, but
developers are left to their own devices when it comes to long-term
maintenance. This article outlines a process for cleaning up the mess
and starting fresh with a new base migration with minimal impact on
existing database instances.
FEATURE
DisplayInfo()
Requirements:
• PHP: 5.3.3+
• Doctrine ORM: 2.0+ -
http://www.doctrine-project.org/projects/orm.html
• Doctrine Migrations -
http://www.doctrine-project.org/projects/migrations.html
Other Software:
• MySQL / PgSQL / Oracle / Sqlite
• DoctrineMigrationsBundle -
https://github.com/doctrine/DoctrineMigrationsBundle
Related URLs:
• The Art of Doctrine Migrations (presentation by Ryan Weaver) -
http://www.slideshare.net/weaverryan/the-art-of-doctrine-migrations
4 | March 2015 www.phparch.com
Database Versioning with Liquibase
I think it’s safe to say that database versioning is a subject that
every software developer in the industry will have to deal with
sooner or later. Most development teams have found a way to
deal with schema changes using a tool they either found or built
themselves, which most of the time simply executes all patch files
(or ‘deltas’) that were added since the last time they ran the tool.
This works, and some tools even have some extra-fancy features
like rolling back revisions or tagging certain versions.
Database Versioning
with Liquibase
Harrie Verveer
FEATURE
So people kind of know how to deal with it, but when version numbers collide or conflicts on a
database schema level need to be resolved (especially when merging branches), things get nasty.
We now suddenly have to manually fix our own broken database to a state where it makes sense
again, and we have to open the patch files ourselves and see how we can combine them into
something that works for everybody else, taking into account that some of our users, colleagues,
or environments might already be on a different version number. We have to manually fix it, and it
feels dirty for some reason.
So a while ago, I decided I was going to solve this problem. We did database versioning for our
projects. It kind of worked most of the time, but the manual intervention that was required every
once in a while made it feel like a hack. I decided to go and investigate what solutions were out
there because surely, there must be some sort of magical tool that solves all of our problems once
and for all, right? And if not, I was sure we could look into the problem and build this magical tool
ourselves!
So I took my knapsack and my battle axe +8STR +4DEX, and I went on a quest—the quest to find
the silver bullet solution for database versioning.
Article in
Markdown
Article in
Markdown
PANDOC used to export edited articles to
epub and mobi formats
Author
(various)
Editing
(Oscar)
Layout
(Kevin)
Pandoc
Proofing
Rounds
Proofing
Rounds
All proofing and file
exchange are managed
with the help of Subversion
Imported
into
InDesign
13. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-1913
• August 2013, LSI approached us with a
pilot journal program.
• They use their existing book print system
for magazines and journals.
• Program is print on demand with direct
shipping.
Print is dead. Long live Print!
14. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-1914
• LSI printed php|architect’s old books. We
had changed to CreateSpace for printing
any new books under musketeers.
• After much research, we had come to the
conclusion that print was just too risky
to try to bring back because no one was
doing POD for journals..
Back Up
(a brief history)
15. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-1915
Some adjustments needed to be made for
going to print.
1. Styles (colors) updated for CMYK
2. Font license checks (meaning I finally get
to clean out any old fonts still hanging
around).
3. Considerations for bleeds
4. Facing pages and spreads.
Rerigging
16. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-1916
• Gloss vs Matte Cover
• Interior Pages were thin
• A difference with
standard magazines
was the interior was
matte and a bit faded.
The First Test
17. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-1917
• Well received
• Many old subscribers
that remembered print
immediately signed up.
• A few “old guard” balked
at the $149/year rate but
most changed their minds
as soon as they had it in
their hands.
Rollout
18. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-1918
Revised Process Flow
SVN
12 | March 2015 www.phparch.com
12 | March 2015 www.phparch.com
Today, many programmers focus on
their application, not their database.
They think about code—after all, most
of what they do is solving programming
problems, not database problems.
Dry! Theoretical lectures on relational
database theory have little bearing on
modern-day web applications—or so
many seem to think!
FEATURE
Practical Database Design
David Berube
DisplayInfo()
Related URLs:
• Boyce–Codd normal form -
http://en.wikipedia.org/wiki/Boyce%E2%80%93Codd_normal_form
20 | March 2015 www.phparch.com
Consolidating Doctrine
Migrations
Patrick Schwisow
Doctrine Migrations are a great way to manage changes in your
database structure, but over time migration files can pile up and turn
into an unmaintainable mess. Migration usage is well-documented, but
developers are left to their own devices when it comes to long-term
maintenance. This article outlines a process for cleaning up the mess
and starting fresh with a new base migration with minimal impact on
existing database instances.
FEATURE
DisplayInfo()
Requirements:
• PHP: 5.3.3+
• Doctrine ORM: 2.0+ -
http://www.doctrine-project.org/projects/orm.html
• Doctrine Migrations -
http://www.doctrine-project.org/projects/migrations.html
Other Software:
• MySQL / PgSQL / Oracle / Sqlite
• DoctrineMigrationsBundle -
https://github.com/doctrine/DoctrineMigrationsBundle
Related URLs:
• The Art of Doctrine Migrations (presentation by Ryan Weaver) -
http://www.slideshare.net/weaverryan/the-art-of-doctrine-migrations
4 | March 2015 www.phparch.com
Database Versioning with Liquibase
I think it’s safe to say that database versioning is a subject that
every software developer in the industry will have to deal with
sooner or later. Most development teams have found a way to
deal with schema changes using a tool they either found or built
themselves, which most of the time simply executes all patch files
(or ‘deltas’) that were added since the last time they ran the tool.
This works, and some tools even have some extra-fancy features
like rolling back revisions or tagging certain versions.
Database Versioning
with Liquibase
Harrie Verveer
FEATURE
So people kind of know how to deal with it, but when version numbers collide or conflicts on a
database schema level need to be resolved (especially when merging branches), things get nasty.
We now suddenly have to manually fix our own broken database to a state where it makes sense
again, and we have to open the patch files ourselves and see how we can combine them into
something that works for everybody else, taking into account that some of our users, colleagues,
or environments might already be on a different version number. We have to manually fix it, and it
feels dirty for some reason.
So a while ago, I decided I was going to solve this problem. We did database versioning for our
projects. It kind of worked most of the time, but the manual intervention that was required every
once in a while made it feel like a hack. I decided to go and investigate what solutions were out
there because surely, there must be some sort of magical tool that solves all of our problems once
and for all, right? And if not, I was sure we could look into the problem and build this magical tool
ourselves!
So I took my knapsack and my battle axe +8STR +4DEX, and I went on a quest—the quest to find
the silver bullet solution for database versioning.
Article in
Markdown
Article in
Markdown
lightningsource.com Issue prints and ships
to individual addresses
uploaded to LSI
PANDOC used to export edited articles to
epub and mobi formats
command-line
tool binds issues
to subscribers
accounts on
phparch.com |
Author
(various)
Editing
(Oscar)
Layout
(Kevin)
Pandoc
Designer loads print
files on LSI’s site
PDF, ePub and
mobi files pushed
to site from SVNProofing
Rounds
Proofing
Rounds
All proofing and file
exchange are managed
with the help of Subversion
Imported
into
InDesign
19. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-1919
• LSI now has a UK print facility to enable
faster and cheaper shipping to europe.
We have a seperate upload account at
LSI’s site for uploading files to print at
that facility. This also allowed us to lower
international subscription price!
• We have decided on giving a year’s
subcription to attendees of php[tek] and
php[world]..
Updates
20. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-1920
1. Demand stays flat
• Cultivate advertisers where we can to
suppliment low subscription numbers
• Stay with POD
2. Demand increases
• Use a higher end printer that requires
minimums
• Go to a model where we use more
advertisers, cheaper subscription
3. Demand Dwindles...
Future of Print
21. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-1921
Thank You
Kevin Bruce
• kevin@musketeers.me
• kevinbruce.com
• @kevinbruce
• www.phparch.com