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,
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
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?
The article works for anything really, starting a business is hard. So sit tightly and work on creating that reach.
One person in a garage making millions online. Any business is tough at the best of times. Really, it is. That’s not a cliché I use lightly. I hate clichés but this one is spot on. At the best times in your business you’ll still be fighting for your position, fighting to grow and fighting to stay alive. Just ask Kodak, Polaroid or VW.
Then ecommerce arrived and with it, many myths.
Myths so vast and so widely and blindly believed that they haven’t gone away.
I’d liked to dispel some of the myths around ecommerce and this article will try to do just that.
My experiences at Nic Harry — The luxury sock company — have taught me some long and hard lessons about ecommerce (and retail) as a business. Nothing has been easy or simple and almost everything has come with an immense amount of work.
Here are the lies we believe and the truth behind them.
Ecommerce is passive income.
I have never been more active in my entire life.
Since I started Nic Harry I have worked more, thought longer, built aggressively, and hustled harder than I have on anything else. Ever.
Ecommerce is not for the lazy. Retail is not for weak.
If you are selling a digital product, fine, maybe you’ll get away with less work.
Sharing this not because Ghost is WordPress competitor but because more and more companies based around remote work are probably facing this same challenge.
In the next couple of months we’ll be reincorporating the Ghost Foundation in Singapore and closing down all operations in the UK. This is easily the biggest business change we've made to Ghost since it started, and will hopefully give us a much easier time trading internationally! This was a huge decision which represents the conclusion of a full year of research, planning and hard work. So, we wanted to take a moment to share exactly how and why we’re doing it.
Let’s start with a simple question: Where should any business legally incorporate?
For a regular business, the answer is typically synonymous with the location of the business’ premises, staff, customers or investors. In most cases, they’re actually all in the same place.
But, of course, Ghost has never been a regular business.
We’re a distributed company: we have no business premises, and our staff are all over the world
We’re an online company: thanks to the power of the internet, our customers are all over the world
We’re a non-profit organisation: we have no investors, and don’t need to optimise for their legal needs
So: Where should Ghost be incorporated?
We don’t really know.
In the early days, we just went with what
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
Content and links. Comes as no surprise really :) Also shows that best SEO is organic SEO.
When Google originally announced RankBrain, they confirmed that it was now the third most important ranking signal. And while many speculated about what the top two ranking signals were, Google wouldn’t explicitly confirm what those two most important ranking factors were… until now. During yesterday’s WebPromo.Expert Google Q&A, Andrey Lipattsev, Search Quality Senior Strategist at Google, confirmed those two ranking signals, and they are content and links.
“I can tell you what they are. It is content. And it’s links pointing to your site,” Lipattsev said.
He was then asked which order those two ranking factors were in. “There is no order,” he replied.
While this matches what about 99% of webmasters felt were the top two ranking factors, with these being the obvious two choices (and leading to some people pondering if it could be something else as the top two), it definitely raises the question about why Google did not confirm these two ranking factors in the first place. It could have been so the focus of the story at the time was RankBrain, rather than throwing two other ranking signals into the mix. This does make sense in some ways, since RankBrain is a pretty complicated factor
FB Notes may not be the best polished product in the world but it was one that will get preferential exposure to one of the largest user bases. It would not be Syed if he did not also include a few early mover advantage tips.
SHARE THIS 16
Last week during a conversation with few friends, we started talking about the NEW Facebook Notes feature that could be coming soon. We talked about how it could impact our blog traffic, what are some possible ways we could potentially exploit it, and the overall impact of it in the advertising space.
So what is this Facebook Notes thing?
From just looking at the preview, it looks a lot like the blogging network, Medium.
You have a clean layout with cover photos (aka featured images). TheNextWeb reports that it’ll have features like user tagging, hashtags, and other standard features such as ability to add links, resize photos, etc.
You can also choose who sees your notes (public, friends, friends and extended network, etc).
So why is Facebook trying to get into the blogging space?
Same reason why they added native videos.
Facebook wants to expand it’s advertising business!
According to SimilarWeb: from February to July of 2015, Facebook sent more than 49.1 million visitors every month to WordPress.com, over 7 million to Medium, and about 914,000 to Blogger. That’s ONLY on Desktop.
It’s also important to note that for WordPress and Medium, Facebook was the primary
"I swear every other website I visit uses React, for the stupidest stuff". A funny and interesting read.
Random thoughts on web development Going to shit
2015 is when web development went to shit. Web development used to be nice. You could fire up a text editor and start creating JS and CSS files. You can absolutely still do this. That has not changed. So yes, everything I’m about to say can be invalidated by saying that.
At times, I think where web development is at this point is some cruel joke played on us by Ryan Dahl. You see, to get into why web development is so terrible, you have to start at Node.
By definition I was a magpie developer, so undoubtedly I used Node, just as everyone should. At universities they should make every developer write an app with Node.js, deploy it to production, then try to update the dependencies 3 months later. The only downside is we would have zero new developers coming out of computer science programs.
You see the Node.js philosophy is to take the worst fucking language ever designed and put it on the server. Combine that with all the magpies that were using Ruby at the time, and you have the
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
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
Attempting to kickstart the new Pro category at ManageWP.org with this amazing guide for front-end devs.
This is a guide that anyone could use to learn about the practice of front-end development. It broadly outlines and discusses the practice of front-end engineering: how to learn it and what tools are used when practicing it. It is specifically written with the intention of being a professional resource for potential and currently practicing front-end developers to equip themselves with learning materials and development tools. Secondarily, it can be used by managers, CTO's, instructors, and head hunters to gain insights into the practice of front-end development.
The book should not be considered a comprehensive outline of all resources available to a front-end developer. The value of the book is tied up in a terse, focused, and timely curation of just enough categorical information so as not to overwhelm anyone on any one particular subject matter.
The intention is to release an update to the content yearly.
We are using Mandrill for Themeisle transactional emails, however not MailChimp for email marketing, know that probably some of you are doing the same and thought this might be interesting .
TL;DR: Mandrill wanted to raise their prices 4x. They found a way to do that by merging with MailChimp. Here are some Mandrill alternatives. I know I know … I sound like a click-baity BuzzFeed headline, sorry.
But that’s, more or less, the case.
Mandrill is was probably the perfect solution for sending transactional email. For instance, if you have a website that needs this sort of functionality (e.g an eCommerce store) or an app, you can use Mandrill for one-to-one communication with your customers.
Think, reminding people of their passwords, sending info regarding their purchases, etc.
All of a sudden, Mandrill has decided to merge back with MailChimp (originally, Mandrill was a startup within MailChimp, but operating independently, with their own model, databases, prices, etc.), and while doing so, they’ve basically forced their users to start spending up to 4x as much for the service.
Here’s how it plays out:
The standard plan with Mandrill used to be $9.95 / month, which allowed you to send up to 25,000 transactional emails.
After the merge, Mandrill will only be available as a paid add-on for paid MailChimp accounts. The cheapest MailChimp account is $20 (which
This is how every agency should tell stories. I am only mildly concerned that people prefer to tell these kind of stories using Medium instead of WP.
A story about a Laravel developer and WordPress So you’ve got a new client. You signed them on for a discovery session to define the requirements for their new website. You call them into the office and outline the process and start diving into their website requirements. It’s a clean slate.
In the middle of the meeting, seemingly out of nowhere, they bring up WordPress.
“We really would like you to build the new site on WordPress,” they explain.
Your heart instantly sinks.
“But I just completed a series of Laracasts, teaching me everything I need to make the most cutting edge Laravel site, complete with live data binding and easy-to-create data models!”
You try to convince your client to trust in your newfound skillz with this “Laravel” framework but the client insists, it must be WordPress. You begin to seethe with hate. You begin to turn to the dark side.
“But WordPress is not secure and it’s slow and our team hates it!” you exclaim, pointing out every flaw as if they were glaringly obvious to even a newborn child who hasn’t even opened her eyes yet.
The client looks at you and calmly says, “Our old website was on WordPress, our whole team already knows it, and we don’t want a custom
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
You never know who you are interviewing and what effect they can have down the line to your company.
(If you feel like you have all these great ideas but no one will listen, check out my in-progress book: Convincing Coworkers) One day, I went into an interview, and I was humiliated.
I used to think very highly of myself. This was early on in the TDD craze, and I was one of the best I knew at it. I knew interfaces, classes, mocking frameworks, and best practices. I’d been taught all the tricks from some very smart people, and my confidence was high. Not only that, but I’d just finished at work the restoration of an abandoned legacy codebase to a bug-free, fully tested state completely on my own.
I’d shipped Java, PHP, Perl, C#, and VB.NET, and I hadn’t been programming more than a couple years. My first job, they’d made me a team lead over some very senior developers within a year of my hire date. I was learning Clojure and Common Lisp, and had just shipped an Android game I made entirely alone (including the 2D physics engine).
I thought I was incredible. Yet, due to an overwhelming sense of Imposter Syndrome, I keenly knew that there were things I didn’t know. I’m mostly self taught, so a lot of common CS concepts felt alien. I was waking up before work and teaching myself
Brian Krogsgard is announcing CommerceNotebook, which will follow a similar-ish model of PostStatus.
Commerce Notebook is a new site aimed to inform, educate, and provide resources for eCommerce professionals, store owners, and enthusiasts. Welcome to Commerce Notebook!
The goal for this project is to cater to people that know and love eCommerce, so they can do what they do better and more informed.
Who’s behind Commerce Notebook?
Commerce Notebook is brought to you by the same team that’s behind Post Status — a preeminent website geared specifically for WordPress professionals.
My name is Brian Krogsgard (here’s my personal website and Twitter, where I share most stuff). I’m a writer, developer, eCommerce store owner, and entrepreneur. With this site, I’ll share the stories of others in the trenches of eCommerce, as well as my own journeys.
Prior to running my own content-centric business, I was a developer and web consultant. My first eCommerce website build was in 2011. I have worked on — in some capacity or another — a few dozen eCommerce stores since.
Post Status launched on January 21st, 2013 — four years to the day prior to Commerce Notebook. I cover eCommerce within the WordPress landscape on Post Status, and will continue
I bet you knew everything about isset() and empty() before this article.
PHP has two very similar functions that are essential to writing good PHP applications, but whose purpose and exact function is rarely well explained: isset and empty. The PHP manual itself doesn't have a simple explanation that actually captures their essence and most posts written around the web seem to be missing some detail or other as well. This article attempts to fill that gap; and takes a broad sweep of related topics to do so. About PHP's error reporting
To explain what these functions are needed for to begin with, it's necessary to talk about PHP's error reporting mechanism. PHP is an interpreted language that lacks a compilation step separate from the actual runtime.1 That is, you don't typically compile PHP source code into an executable, then run that executable. PHP code is simply executed straight from the source and it either works or dies halfway through. The PHP interpreter and runtime can only complain about errors while the code is in full motion. Since there is no separate compilation step, certain types of errors that could be caught by a compiler can only surface at runtime.
There is now the dilemma between letting programs crash completely for every little mistake,
Ready made templates to use with your client. Remember, your time should be worth much more than a cup of coffee.
If you’ve been in the design business for a while, you’ve likely heard this from potential clients before, “you’re too expensive!” or something to that effect, anyhow. So what do you do?
You’ve got a few options! Here are some handy-dandy email scripts I’ve created that you can copy+paste, and tweak to send to those potential clients!
Note: These scripts are not intended to be used verbatim, but to be edited to fit your own situation and level of professionalism. Use these scripts as a starting point, but tweak them to work for you!
Option One – Educate Her on Why You’re Awesome
I realize that this is a large investment, but I can assure you that I am delivering top-notch service that you won’t receive with a low-cost alternative. My clients have seen results such as ____ and ____ because I work with you to really make sure that you’re receiving a design that works for you and your brand. I’m not just creating a _____, I’m helping you achieve your goals.
If you don’t have the funds available at this time, I understand. Please keep me in mind for the future. If you are able and willing to invest
A great piece about pricing and dealing with insecurities about setting you prices. As always with Chris Lema, some real gems in there! "Because pricing is where our insecurities show up."
The formulas aren’t the hard part The formula for profit is simple: make more than your costs. It’s not hard to think about. Just like losing weight is pretty simple to think about: eat less than the calories you burn. Right? The math on both of these things is pretty simple.
But when you look at companies that fail, and when you read articles that sum up all the reasons that they fail, you often see one item on every list. Sure, there are tons of reasons, but the underlying dynamic is all the same.
Whether the market wasn’t big enough.
Or if the pricing was wrong.
Or if they’re marketing approach failed.
The simple reality was that they cost more than they made.
But let’s be honest, it’s not the fault of a fundamental misunderstanding of a formula. We get the formula. It’s not the hard part.
The hard part is tracking data. Understanding it. And then reacting – even when it’s emotionally hard to make certain decisions.
Pricing is where our insecurities show up
If you are insecure at all, even if you’re mostly not insecure, the place where it will mess with you the most is when you’re setting a price.
I don’t care if you’re selling your own services, or trying to price a
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?
Fascinating story how this community driven framework for managing zsh config grew.
This wouldn’t be my first foray into open source software; nor my last. It was the summer of 2009. I found myself helping a coworker debug something in their terminal. As I attempted to type in a few command lines, I noticed that the prompt wasn’t responding to the shortcuts that my brain had grown accustomed to. Frustrated, I exclaimed, “when are you finally going to switch over to Zsh?!”
(yeah, I was one of the type of annoying coworker that would constantly point out that X was better than Y when given the chance. In hindsight, I don’t know how they put up with me…but between you and me, I had a point.)
At that point in time, I had been a daily Zsh user for a little over three years.
Some of my #caboose friends shared a few of their .zshrc configurations within our IRC channel. After a few years, my .zshrc file grew into a tangled rat's nest. Honestly, I didn’t know what ~30% of the configuration did. I trusted my friends enough to run with it, though. What I did know was that I had some git branch and status details, color highlighting for a few tools (i.e., grep), autocompleting file paths over SSH connections, and a handful of shortcuts for Rake and Capistrano. Working on a machine
PHP7 almost twice as fast than HHVM in these generic tests. Would love to see latest WordPress related tests.
PHP 7.0 vs. HHVM 3.10 Performance Tests With PHP 7.0 RC7 being the final development version of PHP 7, which is expected to be officially release at the end of the month, I've carried out some fresh benchmarks of PHP using our in-house benchmarking software. Compared in this latest PHP 7 benchmarking comparison is PHP 5.5 as packaged on Ubuntu 14.04 LTS and then comparing fresh builds of PHP 5.6.15 and PHP 7.0.0 RC7. On the HHVM side was using Facebook's HHVM 3.10.1 release as packaged for Ubuntu 14.04 LTS.
These PHP and HHVM benchmarks were done on two distinctly different systems: an Intel Ivy Bridge laptop and an Intel Xeon Haswell-E workstation. Both systems were running Ubuntu 14.04 LTS 64-bit.
The benchmark being run is the Phoronix Test Suite own built-in self-test of its PHP hot code paths. The work mostly comes down to a lot of file read/writes, basic math, PHP DOM interactions when it comes to generating XML SVG graphs, etc. Those wishing to reproduce the testing can grab Phoronix-Test-Suite from GitHub and run phoronix-test-suite debug-self-test to run it straight-forward or once installed running phoronix-test-suite benchmark pts-self-test will wrap it in a self-hosting
I soon qualify :) A fun read to end the day at work.
(This is the talk I have given at App Builders Switzerland on April 25th, 2016. The slides are available on SpeakerDeck and at the bottom of this article.) Hi everyone, I am a forty-two years old self-taught developer, and this is my story.
A couple of weeks ago I came by the tweet below, and it made me think about my career, and those thoughts brought me back to where it all began for me:
I started my career as a software developer at precisely 10am, on Monday October 6th, 1997, somewhere in the city of Olivos, just north of Buenos Aires, Argentina. The moment was Unix Epoch 876142800. I had recently celebrated my 24th birthday.
The World In 1997
The world was a slightly different place back then.
Websites did not have cookie warnings. The future of the web were portals like Excite.com. AltaVista was my preferred search engine. My e-mail was firstname.lastname@example.org, which meant that my first personal website was located in http://sc2a.unige.ch/~kosmacze. We were still mourning Princess Lady Diana. Steve Jobs had taken the role of CEO and convinced Microsoft to inject 150 million dollars into Apple Computer. Digital Equipment Corporation was suing Dell. The remains of Che Guevara had