News for hackers. Stuff that matters.

mcartyem

Re:Real-Time Garbage Collection Is Real on Thursday June 06, 2013 @07:56AM (#5831810)
I can see how closures would take some work. Thanks.

There's evidence garbage collection was not the desired solution but a plan B. McCarthy writes the reason reference counting was not implemented was a hardware limitation [1]:

"Since there were only six bits left in a word, and these were in separated parts of the word, reference counts seemed infeasible without a drastic change in the way list structures were represented. (A list handling scheme using reference counts was later used by Collins (1960) on a 48 bit CDC computer).

The second alternative is garbage collection..."

[1] - http://www-formal.stanford.edu/jmc/history/lisp/node3.html#S...

Re:Real-Time Garbage Collection Is Real on Tuesday June 04, 2013 @10:18PM (#5823306)
(thank you for the willingness to write such a detailed response)

There exists a point on the memory management continuum where management starts being more automatic (gc) than manual (malloc/free). I would like to understand the forces surrounding this specific point, right before the scale tips towards automatic.

If you tried to build a dynamic language without automatic management, what would break and why?

Re:Real-Time Garbage Collection Is Real on Tuesday June 04, 2013 @07:26PM (#5822748)
There have been a lot of posts related to garbage collection lately but none of them touched upon what I see as a crucial issue: why is garbage collection needed to begin with?

Could you do without it? What is the key point that made it necessary?

I'm aware of it being introduced by McCarthy in the original Lisp paper in 1960 of course. But I suspect what McCarthy originally meant is not what garbage collection turned out to be. What I suspect he meant was that there needs to be a way for memory to be managed. malloc/free offer a way for memory to be managed, and presumably they weren't invented until C was nine years later. What McCarthy might have meant is what became malloc/free in C, which doesn't need garbage collection.

C isn't the only flag here. Was there any OS on the IBM 704 used to implement the original Lisp? Did the OS support multiprocessing? Because if it didn't (UNIX wasn't invented until 1969 either) it would make sense for memory to be available for a single process. And it would mean when people said garbage collection they were envisioning malloc/free.

(Also, databases and operating systems can live without whatever makes garbage collection necessary, since they don't use it, and those are pretty complex and fast pieces of software.)

So, what makes garbage collection different than malloc/free, and why is it necessary? I'd love to learn more about that.

Ask HN: NoSQL or flat files?

I suspect a lot of companies use complicated tech for no reason. When using a database, even with the simpler case of not needing table joins at all, people shard databases and use caching on the front-end machines. This complicates their design, with a recent example being the blog post about Pinterest.What does that offer that flat files on a shared filesystem don't?

( Read More... | 6 comments | 8 points | on HN )
What about it is a nightmare?

Isn't storing, tracking, and managing billions of entries done directly in a database anyway?

This might be a silly thing to ask, but why don't they save their data in flat files on a shared filesystem?

They wouldn't need Memcached, since the OS caches files anyway; replication with rsync becomes easy; they don't need transactions anyway; and they wouldn't have so much software to manage.

Re:Why innovators get better with age on Saturday March 30, 2013 @11:32PM (#5467591)
This is great research, thank you.
Re:Why innovators get better with age on Saturday March 30, 2013 @10:17PM (#5467421)
The word innovator might be ill-suited to support the argument that mastery generally takes time.

For example physicists and mathematicians do their best work in their early twenties. Arguably they get worse with age.

Re:Why so many jobs are crappy on Saturday March 30, 2013 @05:14PM (#5466681)
Many jobs are crappy because companies want guarantees. They would rather have peace of mind that things are moving at a known rate compared to any risk of uncertainty.

The jobs are not necessarily crappy because companies are interested in keeping wages down. Companies are more interested in boosting profits compared to keeping wages down.

The humorous part is so many jobs continue to remain crappy even when you make a boss look good by generating orders of magnitude more value than he bargained for when hiring you.

Even if you explained to the boss how you could generate such value at the time of hire, they still wouldn't be able to assimilate it's possible. They don't see how one can generate such much value, even when you present plans on how it can be done.

It's as if the boss is trying hard not to let you generate more value than expected.

Re:What is the best language to learn at this moment? on Thursday March 28, 2013 @12:00AM (#5453287)
Perhaps unbeknownst to you, you suggested that languages can be ranked, and that one of them stands out on top as best.

You are almost right. There is one language that is the best, though it's so young it doesn't stand out yet. This might be the only time in history people still have the chance to contribute to the best language.

That is, Arc: http://arclanguage.org

How about: what's the most important thing people refuse to accept?
Re:What's your favorite computer science topic? on Wednesday March 27, 2013 @11:48PM (#5453262)
Mine is compilers. Which is another way of saying: automating; reducing the work I have to do manually.
Re:Plan 9 from Bell Labs on Monday March 25, 2013 @10:12PM (#5441001)
I have a question about it: can anyone tell how it deals with redundancy?

It seems to be distributed. If you are running Plan 9 on 3 machines, and one goes down, what happens to the rest of the system. Does it become unavailable?

An important variable not considered by this solution is who the author of a comment is.
Re:Deaf & blind people sue over web shopping on Friday March 22, 2013 @08:24AM (#5422495)
Catering to people with special needs like the deaf & blind has to be one of the most untapped opportunities for a startup.

The angle in is to build something the blind can use that frees them from the difficulty of browsing company websites. Maybe a meta-browser. Maybe something else.

Re:The madness of the bailout in Cyprus on Saturday March 16, 2013 @11:16PM (#5387943)
Re:If you're busy, you're doing something wrong on Saturday March 16, 2013 @06:18PM (#5387031)
On free time, it may be that the body assimilates what was learned during practicing. One accomplished musician believes:

"Relaxation is necessary tension. Tension is unnecessary tension."

http://www.dgmlive.com/aphorisms.html

Re:Show HN: My 5-year basement Plan 9 project on Saturday March 16, 2013 @06:03PM (#5386984)
Can you say in one sentence what it is that you built that doesn't already exist, and why it is important?
Re:Amoeba (operating system) on Friday March 08, 2013 @07:24PM (#5346674)
One challenge is to load balance programs that are not written in MPI, but instead written in your favorite language. i.e. to load balance a web app.

RAMCloud is a way to bring back Moore's law at this time:

https://ramcloud.stanford.edu/wiki/display/ramcloud/RAMCloud

Re:Amoeba (operating system) on Friday March 08, 2013 @07:02PM (#5346582)
Yes!
Re:Why Use Make on Sunday February 24, 2013 @05:09PM (#5276135)
Inevitably, any build system becomes part of the software. With make this means you are now using a far more inferior language to build software.
Start working on a project, and when you have a problem, only then go look for a solution.
Re:The Serenity of a 5pm Bedtime on Saturday February 23, 2013 @08:34PM (#5272317)

Older »