Figma is powered by WebAssembly
Because our product is written in C++, which can easily be compiled into WebAssembly, Figma is a perfect demonstration of this new format’s power.
Topics /
The most popular blog posts about software engineering on Hacker News. 21,845 posts.
Because our product is written in C++, which can easily be compiled into WebAssembly, Figma is a perfect demonstration of this new format’s power.
The more I write code and design systems, the more I understand that many times, you can achieve the desired functionality simply with clever reconfigurations of the basic Unix tool set. After all, functionality is an asset, but code is a liability . This is the opposite of a trend of nonsense called DevOps, where…
Note: The gzipped and Zopflinated file sizes refer to the total byte size of the file after compressing it using gzip or Zopfli with the default settings . For gzip, this boils down to gzip -6 file.js — the default compression level is 6 on a scale from 1 (fastest, but less compression) to 9 (slowest, but best…
Stack Overflow – like most online communities I’ve studied – naturally trends toward increased strictness over time. It’s primarily a defense mechanism, an immune system of the sort a child develops after first entering school or daycare and being exposed to the wide, wide world of everyday sneezes and coughs
In Chapter 7 I briefly discussed the extended LOOP macro. As I mentioned then, LOOP provides what is essentially a special-purpose language just for writing iteration constructs.
All hotels in Mallorca. The best selection of Mallorca hotels with reviews and maps. Book in advance and save.
Update Jun 18, 2014: I have made some corrections since the original version of this post.
We’ve been doing significant testing lately with video out using various iOS devices for an upcoming project. In doing so, we waded right in the middle of a strange video out mystery. It’s time to unravel that mystery. (Chung-chung!)
I think the only serious gripe is what you call your biggest gripe, and I must say that I envy this in Haskell. As you know, in the eager world we tend to write out our own recursive functions, rather than use combinators. You give part of the reason; the other part is that deforestation and related transformations…
Look at this incredible thing Ian Baker created. Look at it! What you’re seeing is not Photoshopped. This is an actual photo of a real world, honest to God double-clawed hammer. Such a thing exists. Isn’t that amazing? And also, perhaps, a little disturbing? That wondrous hammer
deltaDistX = sqrt(1 + (rayDirY * rayDirY) / (rayDirX * rayDirX)) deltaDistY = sqrt(1 + (rayDirX * rayDirX) / (rayDirY * rayDirY))
PowerShell is a spiced up command line shell made by Microsoft. According to some people, it is a really useful and good shell alternative. Already a long time ago, we got bug reports from confused users who couldn't use curl from their PowerShell prompts and it didn't take long until we figured out that Microsoft ……
Does JavaScript use UCS-2 or UTF-16 encoding? Since I couldn’t find a definitive answer to this question anywhere, I decided to look into it. The answer depends on what you’re referring to: the JavaScript engine, or JavaScript at the language level.
Master Foo once said to a visiting programmer: “ There is more Unix-nature in one line of shell script than there is in ten thousand lines of C. ”
The Unicode string type is changed to support multiple internal representations, depending on the character with the largest Unicode ordinal (1, 2, or 4 bytes). This will allow a space-efficient representation in common cases, but give access to full UC...
Every programmer ever born thinks whatever idea just popped out of their head into their editor is the most generalized, most flexible, most one-size-fits all solution that has ever been conceived. We think we’ve built software that is a general purpose solution to some set of problems,
In the first of this series of articles, I'll look at how a CPU can be emulated through JS, and start building an emulation core for the GameBoy console.
NCEES will discontinue the Principles and Practice of Engineering (PE) Software Engineering exam after the April 2019 exam administration. Since the original offering in 2013, the exam has been administered five times, with a total population of 81 candidates. Only 19 candidates registered for the April 2018…
I’ve more or less kept my mouth shut about some of the dumb and plain evil stuff that goes on in the Rails community. As things would happen though I’d take notes, collect logs, and started writing this little essay. As soon as I was stable and didn’t need Ruby on Rails to survive I told myself I’d revamp my blog and…
UPDATE: I've recorded a 30 min video with developers from the project as well ...
There are lots of à la carte software environments in this world. Places where in order to eat, you must first carefully look over the menu of options to order exactly what you want. I want this for my ORM, I want that for my template language, and let's finish it off with this routing library. Of course, you're going…
The current method for transforming functions and methods (for instance, declaring them as a class or static method) is awkward and can lead to code that is difficult to understand. Ideally, these transformations should be made at the same point in the...
Eric Lippert notes the perils of programming in C++: I often think of C++ as my own personal Pit of Despair Programming Language. Unmanaged C++ makes it so easy to fall into traps. Think buffer overruns, memory leaks, double frees, mismatch between allocator and deallocator, using freed memory, umpteen dozen
Recognized shorthand on the Usenet group comp.std.c for any unexpected behavior of a C compiler on encountering an undefined construct. During a discussion on that group in early 1992, a regular remarked “ When the compiler encounters [a given undefined construct] it is legal for it to make demons fly out of your nose…
New AI agent evolves algorithms for math and practical applications in computing by combining the creativity of large language models with automated evaluators
Unicode can be confusing. Here’s a “just the facts I need” presentation about how to handle it correctly.
Explaining the Dependency Injection pattern, by contrasting it with Service Locator. The choice between them is less important than the principle of separating configuration from use.