Betting on the Web – Why I Build PWAs
Note: I just spoke at Coldfront 2017 about why I’m such a big proponent of the Web. What follows is essentially that talk as a blog post (I’ll add a link to the video once it is published).
The latest blog posts to take off on Hacker News. 14,544 posts.
Note: I just spoke at Coldfront 2017 about why I’m such a big proponent of the Web. What follows is essentially that talk as a blog post (I’ll add a link to the video once it is published).
There's a ton of interest these days in 'CSS in JS'. The premise is simple: CSS operates in a global namespace, which can result in undesirable side effects, spaghetti code, and extremely difficult to maintain codebases. JavaScript used to do this, and we fixed it by encapsulating everything in modules and using tools…
My current "investment thesis" is that what we call web frameworks are transforming from runtime libraries into optimizing compilers. When it comes to eking performance out of hand-authored JavaScript and accompanying runtime libraries, we've reached the point of diminishing returns.
As software developers, I think we can agree that open-source 1 code has transformed the world . Its public nature tears down the walls that prevent some pieces of software from becoming the best they can be. The problem is that too many valuable projects stagnate, with burned-out leaders:
A startup founder and ex-Facebook engineer’s story of the BSD+Patents license. Disclaimer: I’m not a lawyer, nor is this legal advice.
QR codes are 2-dimensional bar codes that encode arbitrary text strings. A common use of QR codes is to encode URLs so that people can scan a QR code (for example, on an advertising poster, building roof , volleyball bikini , belt buckle , or airplane banner ) to load a web site on a cell phone instead of having to…
I myself was not on the famous C3 (Chrysler Comprehensive Compensation System) project in 1996-2000 that is pivotal to ‘Extreme Programming’ (XP). That project used Smalltalk, and team contribution was provided by Object Technology International’s ENVY version control system. I wanted to know more about that so I…
Any software engineer who has ever looked for a job has had the interview experience: being locked in a small room for an hour, asked to write code to solve some arbitrary programming task, while being grilled by one or two interviewers whether or why the code they've written is correct.
Created 18 years ago by Peter Kankowski Last changed 17 years ago Contributors : Dap and Adam Messinger Filed under Low-level code optimization
Gap buffers are a common data structure for representing a text buffer in a text editor. Emacs famously uses gap buffers — long-standing proof that gap buffers are a perfectly sufficient way to represent a text buffer.
I am pleased to announce that the Game Engine Black Book about Wolfenstein 3D has shipped. It is 316 pages, full color and made of three parts describing the hardware of 1991, id Software tools, and the game engine internals. You can read a preview on Google Books and buy it here:
JSX react in depth - an interactive tutorial
As we all (hopefully) know by now, Python 3 made a significant change to how strings work in the language. …
For over twenty years the Java SE Platform and the JDK have evolved in large, irregular, and somewhat unpredictable steps. Each feature release has been driven by one or a few significant features, and so the schedule of each release has been adjusted as needed — sometimes more than once! — in order to accommodate the…
Using the right tool for the right job
HTML Components (HTC), introduced in Internet Explorer 5.5, offers a powerful new way to author interactive Web pages. Using standard DHTML, JScript and CSS knowledge, you can define custom behaviors on elements using the “behavior” attribute. Let’s create a behavior for a simple kind of “image roll-over” effect. For…
Node string encoding is all over the place. Let's try to straighten out how it works.
The relative performance of C and C++ is the stuff of folk legends and Very Strong Opinions. There are microbenchmarks that can prove differ...
When an experiment with existing open source technology just cherry-picks results to make it look good
A list of youtube channels that talks about programming
JavaScripters often complain about the complexity of React. But to ClojureScripters, React is very nice. What's the difference? In this article, we explore 6 mistakes Reacters make, including mutable state everywhere, Lifecycle Methods and, non-reusable components.
What are threads? Every modern operating system has support for threads, and most programming environments provide some level of support for...
Using Haskell, GTK+, GStreamer, xlib, and the haskell-gi bindings, we build a video player complete with seek and volume controls.
We build a shell in the style of the Bourne shell, Bash, zsh, etc. It supports (1) running commands with arbitrarily many arguments, (2) quoting those arguments, and (3) combining the commands into arbitrarily long pipelines where the output of one command becomes the input of the next. This requires writing a parser…