News for hackers. Stuff that matters.

thepicard

Re:Systems Past: The software innovations we actually use on Saturday March 15, 2014 @07:21AM (#7404285)
A modern OS is definitely a virtual machine, where each process perceives that it is running on a single CPU with its own single contiguous bank of memory. Threads are a bit of a leaky abstraction but whatever.

What is interesting is that the operating system virtualizes a machine that doesn't actually exist: fake "hardware" that can execute syscalls like read/write/exit. A VM in the contemporary sense has the exact same functionality, with a different interface. Rather than read/write as syscalls, you have to send SATA commands to disk, or commands to a network card, or whatever. Instead of an exit system call as an interface you work with a hardware interface that powers down the physical machine.

Containerization is actually a logical next step from this. Why virtualize a REAL hardware interface only to virtualize a fake one on top of it? The only reason to do that is if you want multiple fake interfaces, eg Linux and Windows. When virtualizing a bunch of Linux machines, mostly you really just want isolation of your processes. Virtualizing real hardware is a hack because Linux was not capable of isolating processes on its own, so you had to run multiple copies of Linux! Now with cgroups and other resource namespacing in the kernel, it can isolate resources by itself.

Re:64 Terabyte RAM computer from SGI on Wednesday February 26, 2014 @02:10AM (#7303471)
If you have 16GB, which is normal for high-end laptops these days, then you already can.
Re:Chrome Is The New C Runtime on Saturday January 18, 2014 @02:19AM (#7080418)
>If the profession ever wants to produce anything reliable in C++

This has already been done, so you are obviously wrong.

Exceptions are cute for small amounts of code. But as soon as you get a sizeable codebase, you have zillions of functions just waiting to explode your call stack in ways you could never expect.

Documentation doesn't fix it either. Even if you could somehow guarantee that every single function has detailed descriptions of its possible throws, you won't get devs to read all the documentation for every function in some piece of code that needs a small fix.

Re:Chrome Is The New C Runtime on Saturday January 18, 2014 @02:12AM (#7080409)
Because that server was not that important?
Re:Toward A Database URI Standard on Thursday December 12, 2013 @02:34PM (#6896513)
The different examples are all pretty much just different ways of writing the same thing. And then another different way of writing the same thing is presented, with "db:" prepended. Huh.

The only thing that is substantially different between any of these is the engine/protocol/adapter/whatever section. Perhaps that field should always refer to the protocol type and not the driver, but I consider that problem pretty negligible.

Re:The origin of zero-based array indexing on Tuesday December 10, 2013 @04:03AM (#6879687)
Because it's more than that. It wasn't originally to speed up run time, but compile time. That history is wildly fascinating to me. We tend to take compile time for granted, unless we are bitching about Scala, or compiling C++ at Google.

The author also addresses the importance of history. Voodoo knowledge _does_ pervade modern computer science, and I for one am happy to see something different.

But your contact book and location?
Definitely. I was going to say, was this not obvious when the app requests every permission related to your personal info?
Re:A Testament to X11 Backwards Compatibility on Thursday December 05, 2013 @05:40PM (#6857918)
If you ask the average 1st world human being "What are Macs good at?" They usually say something about ease of use and multimedia stuff. It's just what people think.

Now, on my Mac, I do exactly zero multimedia related things. So I agree that the multimedia thing isn't necessarily true, but that's what I hear about Macs from not-technicals.

Re:A Testament to X11 Backwards Compatibility on Wednesday December 04, 2013 @05:31PM (#6850893)
Okay that's seriously metal.
Re:We Should Ditch Nginx on Tuesday November 26, 2013 @12:03AM (#6799260)
https://en.wikipedia.org/wiki/Poe's_law

"Poe's law, named after its author Nathan Poe, is an Internet adage reflecting the idea that without a clear indication of the author's intent, it is difficult or impossible to tell the difference between an expression of sincere extremism and a parody of extremism."

Edit: excerpt

Re:That's a fun trick Google on Monday November 25, 2013 @01:18PM (#6795776)
I agree on some level, but you also can't say that this is a great thing. All these extreme opinions...

Can't we all just agree that Google is pretty great, but going through an annoying phase right now? Google _is_ taking advantage of the fact that most users won't leave, and I don't appreciate that. But at the same time, we are all slowly losing our patience, and in the long run this behaviour could hurt Google. I hope for everyone's sakes that this all settles down.

Re:Show HN: My new project - ask.io on Monday November 18, 2013 @01:34PM (#6755934)
Or she was referencing this username... https://news.ycombinator.com/user?id=tokenadult
Re:SparkFun's migration from MariaDB to PostgreSQL on Wednesday November 13, 2013 @12:28AM (#6723535)
I also have this question. There are technical reasons that PostgreSQL is better than MySQL, especially when it comes to features, but none are mentioned here.

> From the development perspective Postgres was a necessity. Not a slam dunk but objectively a better tool for our use case.

In what way?

> And if we have countless reasons, all good, but they’re nuanced and technical and tricky to impart to a non-technical audience, where does that leave us?

HN would be interested in those reasons, I know I am.

> The vast majority of the company probably still doesn’t get why we went through this painful contortion at the expense of doing, well, a lot of other things.

Neither do I, since none are given.

Though I also understand that the point of the post was about trust. It's great that there is that trust within SparkFun, I would love such an environment.

Re:Show HN: Hosted Docker-as-a-Service on SSDs for $5 on Thursday November 07, 2013 @04:32PM (#6692547)
Speaking of digitalocean, are you guys affiliated at all? Because I get a digitalocean vibe from your pricing/terminology/etc. for some reason.
Re:Nexus 5 on Thursday October 31, 2013 @04:17PM (#6649496)
My nexus 4 is still an excellent phone, but I want to buy the 5 anyway...

Brain... brain stahp...

Re:Why Meteor will kill Ruby on Rails on Wednesday October 30, 2013 @08:37PM (#6644566)
I'm tempted to say: "unless mongoDB gets a lot better, this is not going to be true." However, a minute fraction of the rails community is large sites, so it doesn't matter.

I also think a lot of people like rails because they find ruby extraordinarily beautiful. As much as I like JS, beautiful syntax is not its strong suit.

Re:Here's how I deal with users who steal on Monday October 28, 2013 @07:42PM (#6630649)
They do, it's just a complex and involved process. I don't recall exactly but I believe it might also need an upfront investment as a music publisher or something? I too am lazy.

Distrokid also does multiple services in one go.

Re:Deep C and C++ (2011) on Wednesday October 23, 2013 @12:14PM (#6599623)
Again, I think one with deep understanding would know that leaving it unset would result in zero, but also know that initializing it declares intent of the original author, and is thus useful.
Re:Deep C and C++ (2011) on Wednesday October 23, 2013 @02:56AM (#6597322)
Arguably if people have such strong understanding of things they will be better programmers too. I would prefer the person who knew what they were doing, because they also know _why_ weird things are weird, and have a better real understanding of what to do and not do.

A person who just knows it's "bad code"--but not why--is almost certainly going to leave other bad code from lack of understanding. To pull an example from the slides, the virtual destructor: making that class virtual when it shouldn't is a waste of CPU cycles _and_ bad documentation for future developers.

Re:Duck Duck Go is blowing up again on Thursday September 12, 2013 @11:08PM (#6378338)
Can you whine some more?
Re:Nginx Plus on Thursday August 22, 2013 @02:45PM (#6259151)
Riak.
Well also, a government has a responsibility to act in the best interests of its people. While shafting the banks with a gigantic legal dick would be kind of funny, it could hurt or inconvenience a lot of people.

If this works, people all over Russia will likely try stuff like this. Banks will have to check every contract with every customer ridiculously carefully until they can roll out a global solution. While fine print is sub-optimal and irritating, forced mass reform has serious short-term repercussions.

Your example is ridiculously contrived.

I would imagine the rule is not used extensively in practice because it exists as a preventive measure should such a thing ever come up.

Re:JS-Git on Wednesday August 07, 2013 @01:48PM (#6174357)

    #include <Python.h>
    int main() {
        Py_Initialize();
        PyImport_ImportModule("necromancy");
Re:A response to Linus Torvalds on C++ (2007) on Thursday June 06, 2013 @07:11PM (#5835853)
Aren't namespaces a C++ feature?
Re:Fun.js – Just a sketch on Thursday June 06, 2013 @07:01PM (#5835797)
Actually, I think the original intent regarding greater than was:

    greaterThan(100, 5);
    //=> true
That is, l is greater than r, and to then properly curry the arguments do need to be flipped such that maybeGT(5) results in a function that returns whether the argument is greater than 5.
Re:Fun.js – Just a sketch on Thursday June 06, 2013 @06:11PM (#5835495)
A lot of these examples are wrong...

    function double(n) { return 2*n; }
    map(double, [1,2,3])
    //=> [1, 4, 9]
should be => [2, 4, 6]

    function greaterThan(l, r) {
      return l > r;
    }
    greaterThan(5, 100);
    //=> true
should be => false

    maybeGT(5)(10000000);
    //=> false
Based on your earlier declaration of greaterThan this result is actually correct. The curried application ordering is also correct and flip is unneeded.

    schonfinkel(function(a1,a2) {return [a1,a2];})(1)(2);
    //=> [1, 2]
I would proofread the rest but I am about to be late for class! =O

Edit: since i'm going to complain I might as well say something nice as well. I did like this article example correctness aside, and I hadn't seen that implementation of pipeline before! Much awesome. =)

Re:The GNOME developers removed it. on Saturday May 18, 2013 @02:42PM (#5729865)
I think you mean http://mate-desktop.org/
Re:Indie game Haunts unable to compile its Go code on Wednesday May 15, 2013 @01:09AM (#5710275)
Unlikely, I would go with. It's unlikely that it couldn't be done. Based on the level of understanding in that thread, I'm not terribly surprised.

Older »