How to Run a Successful Free Software Project. The Open Source specialist Karl Fogel has released the 2nd edition of his comprehensive book that covers the many facets of Open Source software projects.
The second edition of Karl Fogel‘s “Producing Open Source Software: How to Run a Successful Free Software Project” is now available for download. Fogel, a partner at Open Tech Strategies and OSS contributor since 1997, was a founding developer in the Subversion project. He has worked for more than a decade as an open source specialist, helping businesses and organizations evaluate, launch, and manage open source projects. Producing Open Source Software version 2 was released for free this week under the Attribution-ShareAlike 4.0 International license. The first edition was published in 2005 but the landscape of OSS has changed drastically over the past 12 years. In 2013, Fogel successfully raised $15,376 towards his $10,000 Kickstarter goal to fund the revision.
The book includes topics like ‘Free’ Versus ‘Open Source,’ choosing a license, version control, social and political infrastructure, the economics of open source, culture, and communication. It was written for managers and software developers but can also be informative for newcomers to open source projects.
Fogel originally planned on finishing the second edition by the end of 2013
I am currently building SaaS product for WP with JS and this article represents 99% of my feelings while choosing a framework — the one which will be there once the project is complete.
Hey, I got this new web project, but to be honest I haven’t coded much web in a few years and I’ve heard the landscape changed a bit. You are the most up-to date web dev around here right?
-The actual term is Front End engineer, but yeah, I’m the right guy. I do web in 2016. Visualisations, music players, flying drones that play football, you name it. I just came back from JsConf and ReactConf, so I know the latest technologies to create web apps.
Cool. I need to create a page that displays the latest activity from the users, so I just need to get the data from the REST endpoint and display it in some sort of filterable table, and update it if anything changes in the server. I was thinking maybe using jQuery to fetch and display the data?
PHP conditionals are so common and easy to use that most of us ignore how easy it is to develop bad habits around them. Luckily, we have Carl Alexander to remind us that "easy to learn" is not always equal to "easy to master".
No set of control structures is more pervasive in programming than if, elseif and else. With a few exceptions, you’ll use at least one per function or method that you write. There’s just no way around it. But conditionals (that’s what we call these control structures) fit in the “easy to learn, hard to master” category. In fact, they’re so easy to use that you can develop some bad habits around them. (This is also a problem with loops.) This can lead to code that’s complex and hard to read or even test.
That said, it’s possible to develop good programming habits with conditionals. This is what this article will try to help you with. We’ll go over some programming techniques that can help make conditionals more manageable.
First, let’s take a look at how PHP evaluates conditionals. This is so often misunderstood when using conditionals. But knowing how PHP evaluates them lets you remove and/or combine conditionals. This, in turn, makes your code simpler.
Evaluation order of a conditional
The first thing that you should always keep in mind is the order that conditionals get evaluated. Most programming languages evaluate conditionals
Interesting article on the slow adoption rate of PHP 7 by web hosts, and some of the reasons why most WordPress sites are still running on PHP 5.x.
TAGS: PHP5, Programming, Webhosting, Wordpress You may be thinking: "Wait, don't you mean what happened to PHP6?"
But no, I am actually referring to PHP7, This may seem quite strange since PHP6 was the version that was skipped, not PHP7.
A QUICK SUMMARY FOR THOSE THAT DO NOT KNOW
PHP6 was proposed sometime back in 2010, but was eventually suspended and never reached production phase. This was mostly due to the core features of PHP6 being deemed too technically difficult to implement; this in combination with multiple other reasons meant the development unfortunately reached a standstill.
Many of the features included in PHP6 were instead back-ported into the PHP5.x branch; explaining why we saw so many new features added with the release of PHP5.3.
The version name PHP6 was omitted by the php.net developers due to the fact that it was a very well established and documented project. There are still vast amounts of information available on the web regarding the PHP6 project; and many conferences were held by the php.net developers in the community regarding the project.
It made very little sense to reuse PHP6 as the name for the next PHP version seeing as the next version was
Thought this was an inspirational comeback story that many could identify with.
Tell us about yourself and what you're working on. Hi, I'm Chris Chen. I created Instapainting.com, a website that lets you turn a photo into a painting hand-made by an artist in real life.
For the first two years I was operating purely from earned income, making about $30-$50k of profit to support both myself and the business (in expensive San Francisco, no less). Now the business is in its third year and doing over $400,000 in annual revenue. I'm still bootstrapped.
How did you get started with Instapainting?
I did YC in Winter 2011 as a solo founder working on a social music site that was a clone of Last.fm. I was fresh out of a 6 month hiatus from college, which I've yet to go back and finish. (I'd only completed 3 semesters of a physics major.) I survived on the money I raised from YC and my various ideas and pivots for about 3 years.
Then I ran out of money.
Luckily, by this point I had already been testing more and more random ideas that deviated from "social music", and I had gotten pretty good at throwing up MVPs. I had a friend who bought paintings from China and sold them in the US, and she wanted me to build a website for her to sell art reproductions. Instead,
Sean takes us through a few key takeaways from this useful book on business management / teams.
I recently finished reading a book called Extreme Ownership. It’s a business book by two Navy SEALs who led the most highly-decorated combat units in the Iraq War in which they share key battlefield lessons, distill them into core principles and map them to specific business scenarios to show how they apply in the boardroom. I had a handful of interesting takeaways from reading this book and noticed a fair amount of idea overlap with another military business book that’s a bit of a North Star at Pagely, Turn the Ship Around. I’ll distill the key Extreme Ownership principles of the book below and share how we’ve implemented some of this thinking at Pagely with the hope that it gives you some ideas on how to apply these concepts in your venture. The Concept of Extreme Ownership
The book is divided into three parts. The first section lays the groundwork of the philosophy of Extreme Ownership and presents a compelling argument that quality of leadership is the primary determinant for team effectiveness (trumping even team composition). Put simply, Extreme Ownership is the opposite of “it’s not my job,” it’s taking ownership of all aspects
A funny take on all the pitfalls of client communication, wrapped up in a pirate infographic. What's not to like? :)
You can’t blame your clients for not knowing that negative space is supposed to be empty, or that comic sans is an abomination. But you can't forgive them for assuming that your time is free. Here is our rundown of the worst offenders:
How do you protect yourself against these fiendish customers? Because your time is your most precious resource, you need to track every minute to see where it's going.
Toggl was actually built for doing just that - just follow this link to sign up and give it a try. You'll like it (and your accountant will too).
Once you've got an idea of where your time is really going, you'll be in a much better position to deal with clients who try to steal it.
Below, we've picked out some common client problems agencies run into, and a few solutions we’ve learned along the way.
So who's giving you trouble?
My client won’t stop calling/emailing/talking to me
My client thinks everything is urgent
My client is asking for impossible things
1. My client is really good at haggling!
Every argument they make seems like it's coming from a Harvard economist (and probably is), while your arguments come off as “I like money”.
The reason why people
I knew my way around it, but this would be fun. Great news! Responsive email designs are fun :)
In the early morning hours of September 30th, Gmail started rolling out changes to support what the email world has been clamoring for for so long: embedded styles and responsive design. What are we talking about?
Gmail has not historically supported classes or id’s in the <head> of an email, which forced email designers to use inline CSS to style their emails. Now, Gmail will support embedded CSS with classes and id’s, which removes the need for inline CSS in Gmail. This also means Gmail will finally support media queries—and responsive email.
Just catching up on the news? Follow along our updates in the Live Ticker as we monitor the roll-out, or read a summary of all expected changes and what they mean for email marketers below.
The Gmail Update Live Ticker
September 30, 8:00am EDT
Changes were rolled out to the Gmail App on Android as well. Classes and id’s are being picked up in the head of the email. We also see media query support for some Android Gmail App accounts, but support is not consistent across all accounts we’ve tested. Support might be rolling out gradually across regions.
Updates are now also rolling out to Inbox by Gmail, with support
Tough News: We’ve Made 10 Layoffs. How We Got Here, the Financial Details and How We’re Moving Forward
Ouch! Hate hearing that. Poor judgment affected lives. Happens often of course, but I hate seeing it nevertheless.
Tough News: We’ve Made 10 Layoffs. How We Got Here, the Financial Details and How We’re Moving Forward
The last 3 weeks have been challenging and emotional for everyone at Buffer. We made the hard decision to lay off 10 team members, 11% of the team. I’d like to share the full details of how we got here, and the way we have chosen to handle this situation to put Buffer in a healthier position. I believe most startup founders are, by nature, optimistic. We want to solve problems and we believe in going from nothing to something. The attitude of most successful founders is that something previously unproven can be made a reality. Most of us have experienced doubt and skepticism and have pushed through it.
Optimism has seen us through a lot of mistakes at Buffer, like the countless new features and products we spent months building only to realize we need to scrap them. Content suggestions and our Daily iOS app are just a couple.
But after a certain point in a company, the mistakes we make don’t just affect the product features. They affect people’s lives.
And no amount of optimism could prepare Buffer for last Monday, when we had to tell 10 talented teammates that their journey with us was over.
It’s the result of the biggest mistake I’ve made in my career
A great article indeed. Makes a lot of sense for communities like ours.
I’m going to ask you two questions. Pause for a minute and think deeply about your answers before reading further:
What are the best software companies in the world?
Who are the best software engineers in the world?
Did you come up with a list of names? If so, how many names are on that list? Three? Five? Maybe ten, at most? There are thousands of software companies and software engineers doing incredible things, but when I ask you for the best, I bet only a select few names pop into your head. Why these names and not others?
It’s because these companies and developers not only do great work, but also spend time telling you that they do great work. I’d bet that for every company and programmer on your list, you’ve read their writing (e.g., blogs, papers, books), seen their presentations (e.g., talks, conferences, meetups), and/or used their code (e.g., open source).
For example, if your list of programmers included Linus Torvalds, it’s probably because you’re familiar with Linux or Git, both of which he developed as free, open source projects. If you had Dennis Ritchie on your list, it’s probably because he was one of the people responsible
Great satire. What makes it so good is that at first glance it is so believable.
Am I being paranoid? Maybe. Am I overestimating the hard work that goes into running an open source project? Most likely. Was I kicked off my ZogSports team because I “make sports less fun for everyone involved”? Yes
I decided to document my experiences in auditing my projects’ dependencies, and I hope you find the following information useful.
$ tree node_modules/ | count
With left-pad removed from NPM, applications and widely used bits of open-source infrastructure were unable to obtain the dependency, and thus fell over. Thousands, worldwide. Left-pad was fetched 2,486,696 downloads in just the last month, according to NPM. It was that popular. To 'fix the Internet', Laurie Voss, CTO and cofounder of NPM, took the unprecedented step of restoring the unpublished left-pad 0.0.3 that apps required.
And so the internet broke.
People confirmed their biases:
And people got angry:
Everyone involved here has my sympathy. The situation sucks for everyone, not least Azer (who owes none of you ingrates a damn thing!). But reading the GitHub thread should leave you thoroughly exasperated, because this problem is very easily solved.
Bundle your code, even if it’s not for the browser
Just to recap:
left-pad was unpublished
Babel uses fixed versions of its dependencies, one of which (transitively) was left-pad
When you install Babel, you also install all its dependencies (and their dependencies)
Therefore all old versions of Babel were hosed (until left-pad was un-unpublished)
People blame Azer
The key item here is number 3. Suppose that instead of listing all those dependencies in package.json,
This is sad indeed. Especially if you intend to use it on a Buddypress project.
Your license is also revoked if you have any legal disputes if you have legal disputes with any other company using React. This is the reason why both Google and Microsoft employees are not allowed to use React.js in their work - according to Rob Eisenberg, creator of the Aurelia framework and a former member of the Angular 2 development team.
While this may be a theoretical impact for most implementation projects, it's certainly worth remembering and can limit some other projects like WordPress Calypso which have built a deep coupling to the library. Automattic, the company behind WordPress, is no stranger to petty litigation,
Great article. PHP Is similar to WordPress in this respect, lacking good reputation while easy to get things done.
I think PHP sucks, but not for the obvious reasons. Today I got into a mild discussion on twitter, sparked by the following tweet: Every time someone says "PHP sucks" an elephpant laughs and keeps counting their money earned from getting things done
— (((Chris Hartjes))) (@grmpyprogrammer) June 15, 2016
It’s a nice sentiment, and worth analyzing a bit, but first… a little bit of context:
I’m a PHP developer. I originally started with PHP in the early 2000’s. At that point my main exposure to programming was Pascal, and I started learning C.
Then somebody told me to take a look at PHP, and was immediately sold on how easy it was to get a dynamic, mysql-backed website out into the world.
The code I wrote back in the day was as awful as you might expect, but I kept going, and here we are, writing PHP nearly half my life. I’m pretty good at it, and used it as the main technology for perhaps a 100 projects, some of which never leaving my computer and others that have turned into successful businesses, with millions of users and one of which resulted in an exit.
I’m active in the PHP community, as a blogger and, (ex-)member
Good post about the current state of SEO, why people despise SEO and online marketing in general and how hard it is (but still doable) to do an honest, hard work regarding one's web marketing.
On my way home tonight my Twitter notifications started to chime. Apparently there was some chatter about SEO being similar to “nasty oil salesman, slimy tactics” and I was being brought into the conversation. For the last year I have been a very loud advocate for SEO within the WordPress community and I’ve really tried my best to remove the remove SEO lies and other BS discussions from SEO conversations, blog posts, and webinars.
Today’s Chatter on SEO Lies and BS
Here is how the Twitter conversation started and why I couldn’t help but write a quick post about it.
The original tweets from @jeffr0:
My disgust for SEO is a psychological thing that is hard to get over.
I equate SEO to nasty oil salesman, slimy tactics that aren’t necessary to get results, you can get results without resorting to that though.
Oh bless Jeff. I love him and his big heart.
This was followed by a reply by @corymiller303:
@jeffr0 yep – this is one reason I love @rebeccagill – she’s none of that BUT gets results #truestory
Cory and I are friends and he and I have had many discussions on SEO and what it really takes to win on search.
While I’ve never
A Podcast: -Why Matt thinks domain names are more important than ever. -Why he thinks they're undervalued. -Why WordPress Foundation goes after certain cybersquatters. -How many .blog domains Matt thinks can be registered in 2017.
A transcript of my in-depth conversation about domain names with the creator of WordPress. Two weeks ago I had Matt Mullenweg, creator of WordPress and CEO of Automattic, on the Domain Name Wire Podcast to talk about domain names. It was one of the most interesting podcasts I’ve published (and already the most downloaded), in part because Matt brings an outside-the-industry view to domain names.
I encourage you to listen to the podcast. But for those that prefer reading, I’ve published the transcript below.
Why Matt thinks domain names are more important than ever
Why he thinks domain names are undervalued
How you can get a .blog domain before everyone else
Why WordPress Foundation goes after certain cybersquatters
How many .blog domains Matt thinks can be registered in 2017
Andrew Allemann: My guest today is Matt Mullenweg. He is the creator of WordPress and the CEO of Automattic, the company behind WordPress.com. Matt, welcome to the program.
Matt Mullenweg: Honored to be here. Glad to talk.
Andrew Allemann: Matt, I want to talk about a number of things today, including .blog, which is obviously very relevant to my audience, as well as trademark
All sorts of information re funding open source projects, neatly in one place
A handy guide to financial support for open source. "I do open source work, how do I find funding?"
Below I've listed every way I know of that people get paid for open source work, roughly ordered from small to large. Each funding category links to several real examples. (Wherever possible, I've tried to link to a useful article or page instead of just a homepage.)
The categories are not mutually exclusive. For example, a project might have a foundation but also use crowdfunding to raise money. Someone else might do consulting and also have a donation button. Etc. The purpose of this guide is to provide an exhaustive list of all the ways you can get paid, so that you can figure out what works best for you.
Table of Contents
Books and merchandise
Advertising & sponsorships
Get hired by a company to work on project
Start a project while currently employed
Consulting & services
Foundations & consortiums
APPENDIX: Contributing to this guide // License & attribution
*"personal effort" notes when a funding effort was led by an individual,
What do the different status codes mean? This can be helpful when you manage a lot of sites and servers.
HTTP status codes are like a short note from the web server that gets tacked onto the top of a web page. It’s not actually part of the web page. Instead, it’s a message from the server letting you know how things went when the request to view the page was received by the server. These sorts of messages are returned every time your browser interacts with the server, even if you don’t see them all that often. If you’re a website owner or developer understanding HTTP status codes is critical. Because when they do crop up, HTTP status codes are an invaluable tool for diagnosing and fixing website configuration errors.
This article introduces the most common server status and error codes and explains what they reveal about what’s happening on the server behind the scenes.
Where Do They Come From? Where Do They Go?
Every time you click on a link or type in a URL and press “Enter” your browser sends a request to a web server. The web server receives and processes the request, and then sends back the requested resources along with an HTTP header.
HTTP status codes are delivered to your browser in the HTTP header. While status codes are returned every
Employees are accountable and held responsible for outcomes, yet no authority to act. WTF. A take away from a solid book I recently read.
A take-away from this great book. A year ago my long time friend Sean Tierney joined our company as our Dir. of Sales. After a few weeks he hands me a book and said “whether you know it or not, this is how you run the company”. I read most of it quickly, then finished it a few months later. Highly recommend, buy it.
Of late, we have been growing at a good clip at Pagely, new faces at the weekly standup’s. A focus of mine as we have grown is to reinforce the culture that has made us successful.
A core tenant of that culture is that our team members are responsible for managing themselves on a day to day basis and are fully accountable to the team as whole. They are also given our complete trust to make and execute decisions within their universe of responsibility. Our team(s) excel within this framework.
Do less of this.
In a typical company structure you have a strict hierarchy of top down leadership. The Authority (and mission planning) resides in the C Suite and carved up among VP’s and various Directors. However the responsibility of executing against the mission goals resides at the department, team, and individual which collectively are accountable for success
Not everyone is meant to be a freelancer. It all sounds great, but there are a few things to consider before making the leap that one should be real about themselves with.
Working from the beach; not having a boss; being able to set my own hours. These are just some reasons folks choose freelancing. These are also the end results of deliberate exercise and hard work that a freelancer puts into their business to achieve. Not everyone is meant to be a freelancer. It’s not for the faint of heart. There was a time in my career that I questioned if it was something I was meant to do. There are many reasons why you should not choose freelancing as a career. I’d like to share some of these with you in this article. These are not just from my own experience, but from other freelancers I’ve spoken with over the years as well.
not organized or easily distracted
Deliver what you say you are going to, when you say you are going to!
If possible, deliver more than what you say you are going to deliver, earlier than when you say you are going to!
Bottom line here is, if you think you are organized, you aren’t! Being a freelancer means being organized to the 100th degree. To the point of being maniacal.
If your family isn’t looking at you like you have completely lost your mind when you say things like “let me check my calendar”
Carl Alexander walks you through designing a basic Class for WordPress queries. Useful for theme and plugin authors alike, this really helps level up your knowledge not only of WordPress but best practice coding standards as well.
In a previous article, we looked at how you could create a class to manage WordPress posts. We ended creating a class who’s job it was to interact with the WordPress database. And it did that quite well! As part of its job, our class also had to be able to query the WordPress database. To do that, we made it easier to reuse code around the WP_Query class. We achieved that by creating methods that used predefined query arguments.
But have you ever looked at the codex page for WP_Query? Holy Moley, there are a lot of query parameters in there! It’s pretty intimidating and not always easy to use in practice.
That’s the problem that we’re going to look at in this article. We’ll design a class to simplify how we build WP_Query objects. It’ll handle all the complexity around WP_Query query parameters for you. The result should be an easier way for you for you to create WordPress queries.
Before we proceed any further, we should take a moment to answer this question. Now, we know that the job of the WP_Query class is to do just that. It lets you query the database without the need for you to know any SQL. You just need to fill an array with query arguments
The WordPress version of the Joel Test. A series of questions to ask when deciding whether a software team is worth joining
The Joel Test has largely stood the test of time, yet there isn’t a WordPress specific version to help WordPress developers judge job opportunities. The Jorbin Test is the Joel Test, updated for the WordPress engineers of today. Editors Note: This is a Guest Post by Aaron Jorbin. Aaron is a polyhistoric man of the web. Currently CTO of Happytables, Aaron is working on empowering restaurant operators to make smarter data driven decision. He is also a WordPress Core Committer that focuses on improving developer happiness and making the internet usable and enjoyable by everyone. He tweets at @aaronjorbin and writes regularly at daily.jorb.in.
Sixteen years ago, Joel Spolsky put together the Joel Test, 12 questions that aim to help people identify if a software team is worth working with. While the Joel Test has largely stood the test of time, there isn’t a WordPress specific version to help WordPress developers judge job opportunities. So here are the questions I think every job searching WordPress developer should ask about a potential job.
Does the organization contribute at least Five For the Future?
Does the development team control either scope or timelines for projects?
An amazing post about hiring in tech. Using wit and patience Haseeb managed to double his initial offer from $105k to $250k. More on that here: http://haseebq.com/farewell-app-academy-hello-airbnb-part-i/ http://haseebq.com/farewell-app-academy-hello-airbnb-part-ii/ I also admire the earning to give concept described here: http://haseebq.com/why-ive-decided-to-devote-my-career-to-earning-to-give/
I recently completed a job search for my first role as a software engineer. Despite having first learned how to code almost a year before, having a background as an English major and former professional poker player, I was able to land a total of 8 offers including Google, Uber, Yelp, and Airbnb (where I ultimately joined). In this three-part blog post I’m going to describe my advice to a job-seeker trying to break into the tech industry.
If you haven’t read the story of my job search, you can read about it here. It provides some of the backdrop for this post.
First, several caveats.
I have a weird background, but make no mistake—I both worked my ass off and got very lucky. When I got my job offers, I was working as an instructor and Director of Product of App Academy, and had been studying (and teaching) this stuff for a little under a year.
In light of that, some people have interpreted this as a “get rich quick” sort of thing. It’s not. It’s more of a a “go into a cave for six months and hopefully get a job when you emerge” sort of thing. Subtle difference, but an important one.
Note that my advice here draws not just from my
Excellent article explainng how the world's most popular protocol developed.
It has been quite some time since I last wrote through my blog and the reason is not being able to find enough time to put into it. I finally got some time today and thought to put some of it writing about HTTP. HTTP is the protocol that every web developer should know as it powers the whole web and knowing it is definitely going to help you develop better applications.
In this article, I am going to be discussing what HTTP is, how it came to be, where it is today and how did we get here.
What is HTTP?
First things first, what is HTTP? HTTP is the TCP/IP based application layer communication protocol which standardizes how the client and server communicate with each other. It defines how the content is requested and transmitted across the internet. By application layer protocol, I mean it’s just an abstraction layer that standardizes how the hosts (clients and servers) communicate and itself it depends upon TCP/IP to get request and response between the client and server. By default TCP port 80 is used but other ports can be used as well. HTTPS, however, uses port 443.
HTTP/0.9 - The One Liner (1991)
The first documented version of HTTP was HTTP/0.9 which was put forward in 1991.