SlideShare une entreprise Scribd logo
1  sur  21
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
Musketeers.me AIGA Blue Ridge Essentials • 2015-03-192
Who am I?
Kevin Bruce
•  Designer (Print & Web)
•  PHP Developer
•  Community Advocate
•  Business Cofounder
Musketeers.me AIGA Blue Ridge Essentials • 2015-03-193
musketeers.me
(a short history)
Musketeers.me AIGA Blue Ridge Essentials • 2015-03-194
“PSST!
Hey, buddy!
Want a media company?”
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
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
Musketeers.me AIGA Blue Ridge Essentials • 2015-03-197
a Helpful Editor
Beth Tucker Long
•  Developer
•  Community Leader
•  Editor
•  Writer
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 |
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>
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
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/
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
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!
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)
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
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
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
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
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
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
Musketeers.me AIGA Blue Ridge Essentials • 2015-03-1921
Thank You
Kevin Bruce
•  kevin@musketeers.me
•  kevinbruce.com
•  @kevinbruce
•  www.phparch.com

Contenu connexe

Tendances

Service-Oriented Design and Implement with Rails3
Service-Oriented Design and Implement with Rails3Service-Oriented Design and Implement with Rails3
Service-Oriented Design and Implement with Rails3
Wen-Tien Chang
 

Tendances (20)

Practical IronRuby
Practical IronRubyPractical IronRuby
Practical IronRuby
 
A web app in pure Clojure
A web app in pure ClojureA web app in pure Clojure
A web app in pure Clojure
 
Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuning
 
improving the performance of Rails web Applications
improving the performance of Rails web Applicationsimproving the performance of Rails web Applications
improving the performance of Rails web Applications
 
2010 11 pubcon_hendison_wordpress
2010 11 pubcon_hendison_wordpress2010 11 pubcon_hendison_wordpress
2010 11 pubcon_hendison_wordpress
 
Service-Oriented Design and Implement with Rails3
Service-Oriented Design and Implement with Rails3Service-Oriented Design and Implement with Rails3
Service-Oriented Design and Implement with Rails3
 
Be faster then rabbits
Be faster then rabbitsBe faster then rabbits
Be faster then rabbits
 
Windy cityrails performance_tuning
Windy cityrails performance_tuningWindy cityrails performance_tuning
Windy cityrails performance_tuning
 
WCM-7 Surfing with CMIS
WCM-7 Surfing with CMISWCM-7 Surfing with CMIS
WCM-7 Surfing with CMIS
 
Big Data! Great! Now What? #SymfonyCon 2014
Big Data! Great! Now What? #SymfonyCon 2014Big Data! Great! Now What? #SymfonyCon 2014
Big Data! Great! Now What? #SymfonyCon 2014
 
Deployment Nirvana
Deployment NirvanaDeployment Nirvana
Deployment Nirvana
 
Different ways of integrating React into Rails - Mikhail Bortnyk
Different ways of integrating React into Rails - Mikhail BortnykDifferent ways of integrating React into Rails - Mikhail Bortnyk
Different ways of integrating React into Rails - Mikhail Bortnyk
 
DrupalCon 2011 Highlight
DrupalCon 2011 HighlightDrupalCon 2011 Highlight
DrupalCon 2011 Highlight
 
從零開始的爬蟲之旅 Crawler from zero
從零開始的爬蟲之旅 Crawler from zero從零開始的爬蟲之旅 Crawler from zero
從零開始的爬蟲之旅 Crawler from zero
 
UT on Rails3 2010- Week 4
UT on Rails3 2010- Week 4 UT on Rails3 2010- Week 4
UT on Rails3 2010- Week 4
 
Coscup
CoscupCoscup
Coscup
 
Markup languages and warp-speed documentation
Markup languages and warp-speed documentationMarkup languages and warp-speed documentation
Markup languages and warp-speed documentation
 
[Rakuten TechConf2014] [C-2] Big Data for eBooks and eReaders
[Rakuten TechConf2014] [C-2] Big Data for eBooks and eReaders[Rakuten TechConf2014] [C-2] Big Data for eBooks and eReaders
[Rakuten TechConf2014] [C-2] Big Data for eBooks and eReaders
 
Cloud native Continuous Delivery
Cloud native Continuous DeliveryCloud native Continuous Delivery
Cloud native Continuous Delivery
 
UT on Rails3 2010- Week 1
UT on Rails3 2010- Week 1UT on Rails3 2010- Week 1
UT on Rails3 2010- Week 1
 

En vedette (10)

Leo y agus 6
Leo y agus 6Leo y agus 6
Leo y agus 6
 
Celia Aragon Salinas celebra su natividad 21 06 1016
Celia Aragon Salinas celebra su natividad 21 06 1016Celia Aragon Salinas celebra su natividad 21 06 1016
Celia Aragon Salinas celebra su natividad 21 06 1016
 
Empresa ron damon
Empresa ron damonEmpresa ron damon
Empresa ron damon
 
Позитив с Мариной Ли_15 лет в эфире
Позитив с Мариной Ли_15 лет в эфиреПозитив с Мариной Ли_15 лет в эфире
Позитив с Мариной Ли_15 лет в эфире
 
Radio video web (i)
Radio video web (i)Radio video web (i)
Radio video web (i)
 
Masonic regalia Jewel
Masonic regalia JewelMasonic regalia Jewel
Masonic regalia Jewel
 
Présentation1 (2)
Présentation1 (2)Présentation1 (2)
Présentation1 (2)
 
Presentacio christofer larroza
Presentacio christofer larrozaPresentacio christofer larroza
Presentacio christofer larroza
 
Vittoz
VittozVittoz
Vittoz
 
Joan scabino vosa y edison molina
Joan scabino vosa y edison molinaJoan scabino vosa y edison molina
Joan scabino vosa y edison molina
 

Similaire à I Can Magazine- and YOU CAN, TOO! (A Case Study of a Boutique Designer)

Project Tools in Web Development
Project Tools in Web DevelopmentProject Tools in Web Development
Project Tools in Web Development
kmloomis
 
Rapid Development with Schemaless Data Models
Rapid Development with Schemaless Data ModelsRapid Development with Schemaless Data Models
Rapid Development with Schemaless Data Models
MongoDB
 

Similaire à I Can Magazine- and YOU CAN, TOO! (A Case Study of a Boutique Designer) (20)

Project Tools in Web Development
Project Tools in Web DevelopmentProject Tools in Web Development
Project Tools in Web Development
 
Building Responsive Applications Using XPages
Building Responsive Applications Using XPagesBuilding Responsive Applications Using XPages
Building Responsive Applications Using XPages
 
A tale of 3 databases
A tale of 3 databasesA tale of 3 databases
A tale of 3 databases
 
MariaDB Server Compatibility with MySQL
MariaDB Server Compatibility with MySQLMariaDB Server Compatibility with MySQL
MariaDB Server Compatibility with MySQL
 
Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?
 
Advanced Schema Design Patterns
Advanced Schema Design PatternsAdvanced Schema Design Patterns
Advanced Schema Design Patterns
 
Rapid Development with Schemaless Data Models
Rapid Development with Schemaless Data ModelsRapid Development with Schemaless Data Models
Rapid Development with Schemaless Data Models
 
IBM Connect 2016 - AD1548 - Building Responsive XPages Applications
IBM Connect 2016 - AD1548 - Building Responsive XPages ApplicationsIBM Connect 2016 - AD1548 - Building Responsive XPages Applications
IBM Connect 2016 - AD1548 - Building Responsive XPages Applications
 
7 Apache Process Cloudstack Developer Day
7 Apache Process Cloudstack Developer Day7 Apache Process Cloudstack Developer Day
7 Apache Process Cloudstack Developer Day
 
OSDC 2013 | Introduction into Chef by Andy Hawkins
OSDC 2013 | Introduction into Chef by Andy HawkinsOSDC 2013 | Introduction into Chef by Andy Hawkins
OSDC 2013 | Introduction into Chef by Andy Hawkins
 
Skroutz redesign - How to approach card-based design & SASS content - specifi...
Skroutz redesign - How to approach card-based design & SASS content - specifi...Skroutz redesign - How to approach card-based design & SASS content - specifi...
Skroutz redesign - How to approach card-based design & SASS content - specifi...
 
Mongodb, our Swiss Army Knife Database
Mongodb, our Swiss Army Knife DatabaseMongodb, our Swiss Army Knife Database
Mongodb, our Swiss Army Knife Database
 
Untangling spring week1
Untangling spring week1Untangling spring week1
Untangling spring week1
 
Notes From Velocity Conference Europe
Notes From Velocity Conference EuropeNotes From Velocity Conference Europe
Notes From Velocity Conference Europe
 
Connecting Intelligent Content with Micropublishing and Beyond
Connecting Intelligent Content with Micropublishing and BeyondConnecting Intelligent Content with Micropublishing and Beyond
Connecting Intelligent Content with Micropublishing and Beyond
 
HTML5, just another presentation :)
HTML5, just another presentation :)HTML5, just another presentation :)
HTML5, just another presentation :)
 
Plone for Education: Bibliographies
Plone for Education: BibliographiesPlone for Education: Bibliographies
Plone for Education: Bibliographies
 
Code for Startup MVP (Ruby on Rails) Session 1
Code for Startup MVP (Ruby on Rails) Session 1Code for Startup MVP (Ruby on Rails) Session 1
Code for Startup MVP (Ruby on Rails) Session 1
 
Untangling - fall2017 - week 9
Untangling - fall2017 - week 9Untangling - fall2017 - week 9
Untangling - fall2017 - week 9
 
SEO for Large Websites
SEO for Large WebsitesSEO for Large Websites
SEO for Large Websites
 

Plus de Kevin Bruce

Building html5 sites that don't suck
Building html5 sites that don't suck Building html5 sites that don't suck
Building html5 sites that don't suck
Kevin Bruce
 
Web Design Trends - the Do's and Don'ts of using HTML5
Web Design Trends - the Do's and Don'ts of using HTML5Web Design Trends - the Do's and Don'ts of using HTML5
Web Design Trends - the Do's and Don'ts of using HTML5
Kevin Bruce
 

Plus de Kevin Bruce (6)

Design for Developers SunshinePHP 2017
Design for Developers  SunshinePHP 2017Design for Developers  SunshinePHP 2017
Design for Developers SunshinePHP 2017
 
News From the Front Lines - an update on Front-End Tech
News From the Front Lines - an update on Front-End TechNews From the Front Lines - an update on Front-End Tech
News From the Front Lines - an update on Front-End Tech
 
Design trends - from html tables to semantic html5
Design trends - from html tables to semantic html5Design trends - from html tables to semantic html5
Design trends - from html tables to semantic html5
 
Responsive Development (ZendCon 2012)
Responsive Development (ZendCon 2012)Responsive Development (ZendCon 2012)
Responsive Development (ZendCon 2012)
 
Building html5 sites that don't suck
Building html5 sites that don't suck Building html5 sites that don't suck
Building html5 sites that don't suck
 
Web Design Trends - the Do's and Don'ts of using HTML5
Web Design Trends - the Do's and Don'ts of using HTML5Web Design Trends - the Do's and Don'ts of using HTML5
Web Design Trends - the Do's and Don'ts of using HTML5
 

Dernier

Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
instagramfab782445
 
➥🔝 7737669865 🔝▻ dharamshala Call-girls in Women Seeking Men 🔝dharamshala🔝 ...
➥🔝 7737669865 🔝▻ dharamshala Call-girls in Women Seeking Men  🔝dharamshala🔝  ...➥🔝 7737669865 🔝▻ dharamshala Call-girls in Women Seeking Men  🔝dharamshala🔝  ...
➥🔝 7737669865 🔝▻ dharamshala Call-girls in Women Seeking Men 🔝dharamshala🔝 ...
amitlee9823
 
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard ...
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard  ...Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard  ...
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard ...
nirzagarg
 
Jigani Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bangal...
Jigani Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bangal...Jigani Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bangal...
Jigani Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bangal...
amitlee9823
 
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
kumaririma588
 
Abortion Pills in Oman (+918133066128) Cytotec clinic buy Oman Muscat
Abortion Pills in Oman (+918133066128) Cytotec clinic buy Oman MuscatAbortion Pills in Oman (+918133066128) Cytotec clinic buy Oman Muscat
Abortion Pills in Oman (+918133066128) Cytotec clinic buy Oman Muscat
Abortion pills in Kuwait Cytotec pills in Kuwait
 
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
amitlee9823
 
➥🔝 7737669865 🔝▻ Bokaro Call-girls in Women Seeking Men 🔝Bokaro🔝 Escorts S...
➥🔝 7737669865 🔝▻ Bokaro Call-girls in Women Seeking Men  🔝Bokaro🔝   Escorts S...➥🔝 7737669865 🔝▻ Bokaro Call-girls in Women Seeking Men  🔝Bokaro🔝   Escorts S...
➥🔝 7737669865 🔝▻ Bokaro Call-girls in Women Seeking Men 🔝Bokaro🔝 Escorts S...
amitlee9823
 
How to Build a Simple Shopify Website
How to Build a Simple Shopify WebsiteHow to Build a Simple Shopify Website
How to Build a Simple Shopify Website
mark11275
 
ab-initio-training basics and architecture
ab-initio-training basics and architectureab-initio-training basics and architecture
ab-initio-training basics and architecture
saipriyacoool
 

Dernier (20)

Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
 
Sweety Planet Packaging Design Process Book.pptx
Sweety Planet Packaging Design Process Book.pptxSweety Planet Packaging Design Process Book.pptx
Sweety Planet Packaging Design Process Book.pptx
 
Call Girls Jalgaon Just Call 8617370543Top Class Call Girl Service Available
Call Girls Jalgaon Just Call 8617370543Top Class Call Girl Service AvailableCall Girls Jalgaon Just Call 8617370543Top Class Call Girl Service Available
Call Girls Jalgaon Just Call 8617370543Top Class Call Girl Service Available
 
➥🔝 7737669865 🔝▻ dharamshala Call-girls in Women Seeking Men 🔝dharamshala🔝 ...
➥🔝 7737669865 🔝▻ dharamshala Call-girls in Women Seeking Men  🔝dharamshala🔝  ...➥🔝 7737669865 🔝▻ dharamshala Call-girls in Women Seeking Men  🔝dharamshala🔝  ...
➥🔝 7737669865 🔝▻ dharamshala Call-girls in Women Seeking Men 🔝dharamshala🔝 ...
 
UI:UX Design and Empowerment Strategies for Underprivileged Transgender Indiv...
UI:UX Design and Empowerment Strategies for Underprivileged Transgender Indiv...UI:UX Design and Empowerment Strategies for Underprivileged Transgender Indiv...
UI:UX Design and Empowerment Strategies for Underprivileged Transgender Indiv...
 
Jordan_Amanda_DMBS202404_PB1_2024-04.pdf
Jordan_Amanda_DMBS202404_PB1_2024-04.pdfJordan_Amanda_DMBS202404_PB1_2024-04.pdf
Jordan_Amanda_DMBS202404_PB1_2024-04.pdf
 
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard ...
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard  ...Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard  ...
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard ...
 
call girls in Vasundhra (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Vasundhra (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...call girls in Vasundhra (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Vasundhra (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
 
Sector 104, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 104, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 104, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 104, Noida Call girls :8448380779 Model Escorts | 100% verified
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Jigani Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bangal...
Jigani Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bangal...Jigani Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bangal...
Jigani Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bangal...
 
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
 
8377087607, Door Step Call Girls In Kalkaji (Locanto) 24/7 Available
8377087607, Door Step Call Girls In Kalkaji (Locanto) 24/7 Available8377087607, Door Step Call Girls In Kalkaji (Locanto) 24/7 Available
8377087607, Door Step Call Girls In Kalkaji (Locanto) 24/7 Available
 
Abortion Pills in Oman (+918133066128) Cytotec clinic buy Oman Muscat
Abortion Pills in Oman (+918133066128) Cytotec clinic buy Oman MuscatAbortion Pills in Oman (+918133066128) Cytotec clinic buy Oman Muscat
Abortion Pills in Oman (+918133066128) Cytotec clinic buy Oman Muscat
 
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
 
➥🔝 7737669865 🔝▻ Bokaro Call-girls in Women Seeking Men 🔝Bokaro🔝 Escorts S...
➥🔝 7737669865 🔝▻ Bokaro Call-girls in Women Seeking Men  🔝Bokaro🔝   Escorts S...➥🔝 7737669865 🔝▻ Bokaro Call-girls in Women Seeking Men  🔝Bokaro🔝   Escorts S...
➥🔝 7737669865 🔝▻ Bokaro Call-girls in Women Seeking Men 🔝Bokaro🔝 Escorts S...
 
The hottest UI and UX Design Trends 2024
The hottest UI and UX Design Trends 2024The hottest UI and UX Design Trends 2024
The hottest UI and UX Design Trends 2024
 
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...
 
How to Build a Simple Shopify Website
How to Build a Simple Shopify WebsiteHow to Build a Simple Shopify Website
How to Build a Simple Shopify Website
 
ab-initio-training basics and architecture
ab-initio-training basics and architectureab-initio-training basics and architecture
ab-initio-training basics and architecture
 

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
  • 3. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-193 musketeers.me (a short history)
  • 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