"In computer science, syntactic sugar is syntax within a programming language that is designed to make things easier to read or to express. It makes the language "sweeter" for human use: things can be expressed more clearly, more concisely, or in an alternative style that some may prefer." -- https://en.wikipedia.org/wiki/Syntactic_sugar
When I was first introduced to quantum computing, the thought of quantum computers alone was mindblowing; it seemed more science fiction than reality. But what if I told you that real quantum…
SQL is a programming language used for querying and managing data in databases and has become the backbone of modern analytics. Yet, there is no one go-to place for advance analytics using SQL. In…
Rob Pike, one of the creators of the Go language, stated that he expected the language to be adopted by C++ programmers, a prediction that hasn't been realised. Recently however at the HFT firm where I work, the success of a team's move from Python to Go for some pieces of non-speed-critical infrastructure led to…
Like most people who’ve played it, I love Tetris. I still remember playing it for the first time on a friend’s Nintendo Game Boy. You may already have the theme song stuck in your head. Not only is…
Today we’ll look at the implementation of a data structure wl_list, it belongs to the wayland library and demonstrates a very clever use of the C preprocessor.
Disclaimer: this post is sort of a motivating post for students. Professional programmers may find it uninteresting or painful (especially if you code in C# or Java or JavaScript). C++ is the hardest…
Itchio has become the go-to digital storefront for weird, personal and raw games — largely because it’s willing to go where Steam can’t. But as the platform grows bigger, can Itchio maintain its core values?
This tutorial aims to encourage creative coders to consider Blender as a platform for creating 3D artworks. Blender can be daunting to learn, so this primer is written for those who’ve tried their…
I sat in a coffee shop reflecting on my journey in Haskell today. It was spurred on by briefly seeing the whole “monads are pipes” thing and some responses to it. I don’t involve myself in these…
Note: You can find the source code for the optimized version of poly2tri on Github.I needed a fast and robust mesh triangulation solution for Metric Panda Engine and after some ...
In the Beginning... ...there was no inheritance and no composition, only code. And the code was unwieldy, repetitive, blocky, unhappy, verbose, and tired. Copy and Paste were the primary mechanisms of code reuse. Procedures and functions were rare, newfangled gadgets viewed with suspicion. Calling a procedure was expensive! Separating pieces of code from the main logic caused confusion! It was a Dark Time.
Programmers think dynamic languages like Python are easier to use than static ones, but why? I look at uniquely dynamic programming idioms and their static alternatives, identifying a few broad trends that impact language usability.
Ben Nadel discusses database index design, including Primary and Secondary indexes, surrogate and natural keys, uniqueness constraints, foreign keys, covering indexes, and even cow-path paving. His hope here is write the article on database index design that he wishes he had had access to way earlier in his web development career.
Beautiful example of websites that use responsive web design. It's different version than traditional web designing, and developers must know. Being fully adaptive doesn’t mean solely being mobile and tablet friendly, it also involves proper display on huge desktop and notebook screens.
Let’s face it, if you’re a web developer, you deal with APIs. Whether you write your own or use someone else’s, it’s just part of the job. REST APIs in particular are very common place. Unfortunately…
This post is part of a series - go here for the index. Welcome back! The previous post gave us a lot of theoretical groundwork on triangles. This time, let's turn it into a working triangle rasterizer. Again, no profiling or optimization this time, but there will be code, and it should get us set…
The good news about Erlang can be summed up at this: Erlang is the culmination of twenty-five years of correct design decisions in the language and platform. Whenever I've wondered about how something in Erlang works, I have never been disappointed in the answer. I almost always leave with the impression that the designers did the “right thing”. I suppose this is in contrast to Java, which does the pedantic thing, Perl, which does the kludgy thing, Ruby, which has two independent implementations of the wrong thing, and C, which doesn't do anything.
While the modern programming language Haxe is well-known in some circles, many developers have never heard of it. Yet since it first appeared in 2005, it's been battle-tested by its loyal---if rather quiet---following. It boasts a pragmatic and mature combination of features for development in business, gaming, and even academic contexts.
- a professional IT technology community and developer service platform in China
- Has 50 million registered users and 600,000 registered companies and partners
I have a major pet peeve that I need to confess. I go insane when I hear programmers talking about statistics like they know shit when it’s clearly obvious they do not. I’ve been studying it for years and years and still don’t think I know anything. This article is my call for all programmers…
Do you think of yourself as a Python programmer, or a Ruby programmer? Are you a front-end programmer, a back-end programmer? Emacs, vim, Sublime, or Visual Studio? Linux or macOS? If you think of yourself as a Python programmer, if you identify yourself as an Emacs user, if you know you’re better than those vim-loving Ruby programmers: you’re doing yourself a disservice. You’re a worse programmer for it, and you’re harming your career. Why? Because you are not your tools, and your tools shouldn’t define your skillset.
Have you tried using software from way off the beaten path? Maybe you tried to make software for your graphing calculator and realized that you were one of five people to ever try that and there was…
China drives 1 out of every 3 app downloads. But Chinese apps have strikingly unique design customs & features. This blog introduces Chinese app design.
I was working on an university project with some course mates when I had this conversation. My course mate said: “I don’t understand this design with APIs; why don’t we just make life easier for them…
My earlier posts about using Vim were well received and it’s about time for an update. I’ve been doing a lot more work with Vim lately and have spent some time configuring my workflow for peak efficiency, so here’s a snapshot of my current state.
On my previous team at Google, I spent 3 months writing C (working on the Linux Kernel Library), before we suddenly found ourselves needing C++ — we wanted to write a testing tool that could…