For the first time, a meaningful number of developers are openly questioning the web platform. Here’s a representative article and discussion. Here’s another. Yet another. I could list more but if you’re interested enough in programming to be reading this you’ve already read at least one hilarious rant this year about the state of modern web development. This is not one of those articles. I can’t do a better job of mocking the status quo than the poor people who have to live it every day. This is a different kind of article.

Simon Sinek has a simple but powerful model for inspirational leadership -- starting with a golden circle and the question "Why?" His examples include Apple, Martin Luther King, and the Wright brothers ...

In industrial design, preferred numbers (also called preferred values, preferred series or convenient numbers[1]) are standard guidelines for choosing exact product dimensions within a given set of constraints. Product developers must choose numerous lengths, distances, diameters, volumes, and other characteristic quantities. While all of these choices are constrained by considerations of functionality, usability, compatibility, safety or cost, there usually remains considerable leeway in the exact choice for many dimensions.

I have a private basic income – a small, regular cash income without means test or work requirement. It’s probably large enough to meet my basic needs. And I got it thanks to privilege, nepotism, and two big lucky breaks.

Character Strengths and Virtues is a groundbreaking handbook that was created built on reports from a prestigious group of researchers who have attempted to create a systematic classification and measurements of widely valued positive traits. The aim was to present a measure of humanist ideals of virtue in an empirical and scientific way.

What do you need to be happy? If you’ve read a few articles about the roots of happiness, you are probably–and correctly–resisting the urge to say “more money.” Despite our intuition that being richer would doubtlessly make us happier, additional wealth actually does not bring much additional happiness. It’s due to acclimation; we simply adjust to a new norm.

I’m curious to know how a shell (like bash, csh, etc.) works internally. So, I implemented one called yosh (Your Own SHell) in Python to answer my own curiosity. The concept I explain in this article can be applied to other languages as well.

So, your Scrum Master (or product owner or some line manager) is out of office. She cancels the daily standup meeting, a.k.a "Daily Scrum". Did that ever happen to you? Does it happen all the time? If yes, stop doing daily standup meetings. Yes, completely stop them.

A key principle of programming that we all learn is Don’t Repeat Yourself (DRY). In a way, that’s the entire point of programming: To automate a task that we keep repeating manually. Who wants to keep artisanally sorting text files each morning when we could have a program do it for us faster and more reliably? Similarly, why should we keep writing some code pattern over and over when we should be able to abstract it away into some terser syntax?

In the final days of writing Developer Hegemony and throughout launch preparation, I wrestled with an elevator pitch. As regular readers know, you wouldn’t find “brevity” listed on my resume, even if making resumes was something I did. And so I struggled. But I think I have it now.

In software development, we have a lot of planning and design methods that should help us in creating a vision of a final product. However, as it usually is, they are designed with commercial products created by full and paid teams in mind. What if we are doing our personal project in spare time? We could try to employ those methods too, but they would usually be an overkill and even complicate things more. So, what instead?

A handbook for making programming languages. This book contains everything you need to implement a full-featured, efficient scripting language. You’ll learn both high-level concepts around parsing and semantics and gritty details like bytecode representation and garbage collection. Your brain will light up with new ideas, and your hands will get dirty and calloused. It’s gonna be a blast.

mini.css aims to provide as much functionality as possible in less than 7KB gzipped. This very small footprint means that your websites and web applications will load faster, while still looking great utilising the modern components we provide!

Welcome everyone to the third and last part of this series, dedicated to the retirement of oldIE and the changes this event has in the field of front-end development. So far we covered the obsolete techniques that can be safely discarded and the HTML5 and CSS3 properties that now have full native support along the mainstream browsers. Today we will focus on native JavaScript techniques and anything else that didn’t fit in the categories mentioned before.

The Model Binding feature takes away most of the burden from developers by taking the responsibility of model instantiation from the information available in the request. Sometimes we meet cases where we need to trigger the model binding process explicitly inside a controller. MVC provides two methods for rescue: UpdateModel and TryUpdateModel. Both these methods perform the same operation, that is they update the model from the value providers. The difference between them is the UpdateModel throws an exception if the model state is not valid while TryUpdateModel not. Though both these methods are generic and we don't need to explicitly specify the generic parameter.

Python is a general-purpose interpreted, interactive, object-oriented, and high-level programming language. It was created by Guido van Rossum during 1985- 1990. Like Perl, Python source code is also available under the GNU General Public License (GPL). This tutorial gives enough understanding on Python programming language.

Do not worry. If you stick around and work through the series and build an interpreter and a compiler with me you will know how they work in the end. And you will become a confident happy camper too. At least I hope so.

These are some notes on how I generate the placenames in my Twitter bot @unchartedatlas, which is based on a generator I originally produced during NaNoGenMo 2015. There's JavaScript code for the generator on Github here, and the original messy Python generator code can be seen here.

This is a tutorial on how to implement a programming language. If you ever wrote an interpreter or a compiler, then there is probably nothing new for you here. But, if you're using regexps to “parse” anything that looks like a programming language, then please read at least the section on parsing. Let's write less buggy code!

The ToC on the right is in “simple-to-advanced” order. I'd recommend you not to skip forward, unless you know the subject well. You can always refer back if you don't understand something. Also, questions and feedback are very much appreciated!

Want to make sure your database loses data, duplicates records, and can only handle 5 transactions a minute? Want to make your application developers curse you, your sysadmin hate you, and get yourself fired without a reference? These ten database design techniques will set you on the road to downtime perdition and maintenance hell.

In this column I’ll try applying the principle to one example of renewable energy — wind power. Why, when it comes to windmills, wind turbines, wind generators — whatever you want to call them — why are things done the way they are? The answers may surprise you.

Buoy is a toolkit for creating user interfaces in Java programs. You can think of it as a replacement for Swing and AWT, although that is not entirely correct. Buoy is built on top of Swing, so when you use Buoy to create a user interface, Swing components are still being created behind the scenes. A better description might be to say that Buoy is a replacement for the Swing API, although it is really more than just that.

The All-In-One Software for Remote Support and Online Meetings. Remote control any computer or Mac over the internet within seconds or use TeamViewer for online meetings. Find out why TeamViewer has been activated on more than a billion devices.