Recent submissions

Comment · 3 years ago
Yeah, check out the audiobook, it is great and was worth the wait. I have the physical book but it has so many pages and is so heavy that it is hard to hold and read, especially lying down. It probably should be sold in a box set.
Comment · 9 years ago
I had the same thought and am wondering about the economic reality of doing this.

Does anyone have an idea of the cost increase for using ECC RAM in a mobile device for instance? Are there also power usage concerns to worry about?

AFAIK there are basically zero consumer devices using ECC RAM.

Comment · 9 years ago
This. I've been trying to put together a small home lab xeon e3 system that can theoretically support nvme+gpu+infiniband. It's tough.

Typically you get something like 3 full length PCIe slotson a xeon e3 board (c236 chipset). BUT they can't all run full speed at 16x (16/16/16). You have to then choose between 16/8/8 and 16/16/0 due to the lack of PCI lanes.

Comment · 9 years ago
Comment · 10 years ago
I find that the only reasonable complaint that can be made about Lua is the from-1 indexing. Like: "I found this really awesome language and it's ONLY wart is that it doesn't index arrays like every other programming language in the world".

Yet, I still admire the Lua creators for making this bold choice. Why should we use from-0 indexing for all eternity? Just because it's always been that way? This is a real question if you have the answer.

Comment · 10 years ago
I would not be surprised if designing a GPU requires more lawyers than engineers.

I also cannot conceive of many industries where the barriers to entry are higher.

Comment · 10 years ago
It isn't linked to in the article, but if you're interested in this please do check out luvit by tim caswell (https://luvit.io/). It's a very impressive system.

At a very high level luvit looks like node.js for Lua, with some extra goodies thrown in like being able to bake your apps into single binaries. This is awesome in itself and the article discusses these things.

That said, I think the major innovation over using javascript is that it allows the support for coroutine-based I/O. This means you can get the performance benefits of non-blocking node.js without the headache of callbacks/promises. I think the linked article only touches on coroutines briefly but they are a major piece of Lua's awesomeness that you shouldn't miss.

Though you aren't required to use coroutines, the package management server which hosts packages for luvit is called "lit" and it seems to demonstrate this ability nicely:

"Lit is written in lua and uses the same system platform as the luvit project, but is has a very different I/O style. Instead of using callbacks and event emitters, it uses coroutines so that code can be written with simple blocking I/O, but still maintain the abilities of a non-blocking event loop." (from the README on https://github.com/luvit/lit)

Comment · 11 years ago
Thank You. Paul Graham says:

'Louis Brandeis said "We may have democracy, or we may have wealth concentrated in the hands of a few, but we can't have both." That sounds plausible. But if I have to choose between ignoring him and ignoring a polynomial curve that has been operating for thousands of years, I'll bet on the curve.'

You mention a very important argument which Mr. Graham seems to have missed, or simply written off: Democracy can be destroyed by wealth inequalities which then create power inequalities. At this point the "polynomial curve" which was made possible by democracy begins to turn down or flatten as we return to corruption, graft, and cronyism.

In other words: We have to baby-sit the growth of this enormously beneficial polynomial curve, for if it gets out of control it will destroy itself (by destroying democracy).

Comment · 11 years ago
How can you make the claim "It doesn't work". By what metrics?

Both Linus and Bill Gates were extremely successful. Are you claiming they could be more successful with a softer style?

I have another conundrum. Assume both these individuals would have to to do some real amount of work to change their personal style. This translates to time spent not doing the other things they are perhaps excellent at.

Wrapping your argument in nice words all the time is actually really hard. It takes time. Frankly it is not always necessary depending on the relationships between individuals.

Let's say you and I start an open source project and we both find it really hard to say things nicely, but we have X hours a day to contribute and get stuff done. So I propose to you: "Hey, let's get in the habit of saying what we feel. We'll remember and accept that humans aren't always rational and we're going to hurt each others feelings sometimes. We'll remember that we all say and do dumb things all the time, so it's no big deal to call somebody out for it. But we think this will save us time in the long run, since we suck at sugar coating our words and feelings."

What stops us from building a highly successful project of like-minded individuals? What do we lose when somebody comes along and says "hey, you have to be nice now!"? Should we refuse to work with such people?

These are real questions and I don't think they have clear answers.

Comment · 11 years ago
You're right. The biggest news for operating systems is the fact that the hardware virtualization features on modern processors allow breaking free from the old model.

A modern intel/amd processor lets you virtualize the CPU, MMU, and I/O. Network cards and HBAs can be partitioned into virtual NICs.

Two primary functions of a classic OS are process isolation (i.e. virtual memory) and hardware sharing. But now that these two primary functions have been pushed down into hardware, it has changed the way we think about operating systems considerably.

There isn't much left for a classic OS to do other than provide a common set of APIs for programs to talk through. Yet these days we can statically link even the largest libraries into our exokernels. And hypervisors are capable of using techniques like same-page merging to reduce the memory burden of running many large (exo)kernels at once.

I don't expect the the classic one-OS-running-many-processes model to go away overnight, or possibly ever. But the exokernel model is very compelling for large-scale high performance software services and it will continue to catch on.

Comment · 11 years ago
economic incentives typically lead firms to look for new sources of revenue. they hope to achieve this extra revenue with minimal cost, ideally by not creating new products or developing new customer relationships. the natural side-effect of this situation for software companies is that they add feature-upon-feature to existing products in an endless quest for growth. at the very end of the road this situation doesn't usually work out well for the product, the user, or the company.

on the other hand there are plenty of services/applications that keep stable interfaces for many years at a time. they do not extend themselves too far beyond solving the problem they originally tried to solve. we can all imagine what craigslist would look like in the hands of short-term profiteers, endlessly tweaking the interface for more ad clicks and "user engagement".

the success of sites like the original google search, craigslist, and HN proves that the "do one thing, keep it simple" model is successful and can often be very profitable in the long term. sadly, it is very easy to forget about such ideals when people are constantly dangling fresh money in your face and/or you have salaries to pay. while page rank might be considered the key element to google's genesis and explosion, we also owe much respect to the people that decided and continually insisted that the UI stay clean and minimal.

Comment · 11 years ago
Comment · 11 years ago
Comment · 11 years ago
I donated too. If you're sitting on the side lines: remember that that the Software Freedom Conservancy is a non-profit while VMware is multi-billion dollar corporate entity with very deep pockets and high-priced lawyers.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton