skysight-inc/HackerNews huggingface dataset:
I read the headline, thought to myself "that can't be right, Linus is too smart for that" — then read the article. And the headline is wrong. So are most of the comments.

He explicitly says "Parallel code makes sense in the few cases I mentioned, where we already largely have it covered, because in the server space, people have been parallel for a long time" — so most of that rant is about desktop and mobile computers, often called "client-side". Where indeed four cores seem to be more than enough for most needs.

On the "server" side, though (I hate the outdated name), the story is quite different. I can easily make use of many cores, especially with tools like Clojure, that make writing correct concurrent programs much easier.
> I've heard this sentiment many times but I've wondered if there's an economic fallacy there.

There is, it's a confusion between money and capacity. That money is an option, the possibility of getting people to do things for you. Unused money is paper.

> Would the economy be better off if lots of companies stopped hoarding cash and hired lots of new employees?

The economy is an abstraction. It can't be better off. But if the companies that have the money had productive ways to spend it they would be doing so. The fact that there aren't that many productive ways to use the money is why the interest rate is so low. The interest rate is the cost of renting money.
Very little down side. People with more income spend more which grows the economy. In a two person economy, your expenditure is my income and my expenditure is your income. If one of us hoards then both of us lose eventually.
Also moderate inflation is a good thing. It disincentivises hoarding of cash.
Another thing is how many of these threads are not blocked waiting for something to happen.
Yes, although the graphics card version (which was to be the first product based on the design) got cancelled, they persevered with the chip design itself.
Same here, but as a non-native speaker fairly common expressions (in the US) such as "I should've went" and "I should've came" sound way worse!
I can't remember if it was pg's writings that I got this from, but this week I remembered reading a few years ago that recessions are a good time to start a startup, because the established players are less likely to spend on new risky things and because skills are easier to find. Both those things are feeling quite different right now, with the increasing trouble of attracting skills and the cash piles companies are increasingly confident on spending again.
this is a famous topic for having arguments. you either believe in determinism so that if you know all the variables and the laws (I am not talking about specific variables such as location etc but ALL of them and ALL the rules that govern them) then you can predict ALL of the future.
Quantum mechanics add a random variable so that makes it impossible.
Einstein was deeply troubled by this and his initial reaction to quantum mechanics was " I don't believe god plays dice) " but then changed his mind.
Site seems down. Umm... should have run some parallel instances and loadbalanced?
It would be nice if this app allowed regular expression searches of tags and spaces in tag names.
>Due to C there is no way to declare both an int and that in the loop preamble so you'd need at least one more line

In C99 it's allowed to declare in the loop preamble. True for ANSI-C.
"Four cores ought to be enough for anybody!"
I understand Linux position.

We have used parallel computing quite extensively for:
1-3D, 2D vector graphics.
2-Audio processing
3-Image processing
4-All of the above(video).

We could parallelize something to be more than 100 times more efficient(ops per Watt) than on the CPU(). But proper parallelization comes at a cost: Efficient memory management is hell.

I mean, people are afraid of c manual memory management, that is nothing compared with the complexity of parallel memory management. You need semaphores or mutexes to access common memory, but the most important thing is that you need to make independent as much memory as you can from each other, replace sequential steps, etc...

So if the reason for making the kernel parallel is a 10% THEORETICAL increase, forget about it, 10% is nothing with the complexity you have to add.

() Power consumption normally increases with the square of frequency, so using more cores instead of higher frequency you get very efficient. The brain itself runs very slow but with a high amount of cores(neuron clusters).
I tag all of my Firefox bookmarks. I've been meaning to export them out of Firefox and use some other kind of bookmark manager or write my own (perhaps integrating it in to Emacs).

Something like this might help, if I make each bookmark in to a separate file.
Why do you feel the distinction between client and server is outdated?

It seems pretty clear-cut to me... A "client" computer is one that's designed around single-user interaction sessions. It has human interface devices (display, input) on fast interfaces with prioritized OS-level support (interrupts, graphics acceleration, etc).

A "server" computer is one where interaction happens over a network connection, and multiple sessions are typically taking place simultaneously.
You might like this: http://en.wikipedia.org/wiki/XBEL
If I may take this unique opportunity, does anybody know of a command line tool (say "past") such as wn [1] that could output something like the following?

$ past go
go went gone

I'm talking about a stand-alone program that would work offline. Thanks!

[1] https://wordnet.princeton.edu/wordnet/man/wn.1WN.html
His argument is that running each of those 400 threads on its own tiny simple core will be a lot slower than splitting them up over 2-4 really fast cores. Even assuming a generous power budget of 100W that leaves only 0.25W pr core and that doesn't give you much processing power. It's probably a better use of time to focus on writing better context switching and multitasking algorithms for 2-4 core CPUs.
@vegedor you are hellbaned I think. I can't respond to you and your post is grey.

I wrote the OO game in C++, but I avoided multiple inheritance, because there were warnings everywhere: "don't use multiple inheritance". And I don't think it would be much help in the end.

Another thing inheritance doesn't solve - when you want to choose which logic should run on your "object" depending on dynamic conditions.

For example I had ParticleEffect abstract class, Smoke and Fire derived from it. Fire reacted differently to collisions with stuff, than smoke. Fire partices were smaller with each frame to simulate flames, smoke was getting bigger and more transparent with each frame to simulate, well, smoke.

Then I wanted to make fire that turns into smoke after a couple of frames.

Solution 1 - merge both classes, make enum field inside, switch it after a couple of frames [not OO design - behaviour depends on fields not on classes]

Solution 2 - destroy fire object after a couple of frames and create new smoke object in its place [unnessesary allocation and deallocation is bad in games, also this complicates identity - for fire and smoke it doesn't matter, but for player and bullets it's important - I need to ensure player isn't hit by bullets he shoot, that's achieved by keeping "parent" pointer in each object, when the player is recreated because he got new behaviour - all the pointers are wrong and need to be updated].

I can't change class of object dynamicaly, so all the OO divisions are static in time, I have to workaround class hierarchy to model my problem correctly.

Another thing - in collision detection, the logic to run should depend on both colliding objects types, and some of their fields. With OO I have to workaround this again (because most OO languages are single-dispatch).

Another thing - OO data is much harder to serialize. Structural data allows banal serialization. This is solved in some languages (like Python or Java) by providing serialization in the core language, but in C++ or javascript serializing arbitrary object graph correctly is nontrivial. Serializing list of records was trivial even in Turbo Pascal ;)
To your comment, (I haven't read the article) every endpoint should have server functionality. Even if it's a phone. That's how the internet should work, IMO.
The "clockwise spiral rule" is wrong in general, as Linus Torvalds helpfully explains here:

http://webcache.googleusercontent.com/search?q=cache:V51nbJE...

(Cache link since original post is 500.)
Hmm site is down, must have needed moar coars.
No, it's not a huge waste. Maybe it is in the short run (<5 years), but there isn't any other way forward (quantum computing is not something we can count on for a while). Yes, with the current architectures and state of compilers it it kind of hopeless, but it doesn't mean we should give up on it.
RHEL 7.1 Beta
I think what people seems to not understand about neuron networks is the memory locality. Neurons pass messages directly between each other, so they always retain their own memory state, which is very different from a CPU or a GPU. CPU and GPU have a shared memory architecture, and thus memory access is generally slower overall, because of how they are designed for programming simplicity. Don't ever forget that computer speed is never about calculation, but always about memory access. A computer speed is always limited by its L1 and L2 cache size.

If you want to draw one image, GPUs are fine, but they are not really able to simulate neuron networks because they don't have as much parallelism or memory locality a neuron network needs. GPU are more parallized than a CPU, yes, thanks to OpenCL. But they're still specialized towards image blitting, not towards massively parallelism.

Neuron networks are not very hard to understand, but if you think about simulating one, you quickly understand that most hardware is just not adequate and unable to run a neuron network properly, it will be just too slow. Computers were never designed and intended to simulate something like a brain.

Also don't forget most algorithm we use today are not parallelizable, most are sequential. We could rethink many algorithms and adapt them, but parallelism is often a huge constraint. Sequentiality is a specialized case of computability if you think about it.
Brussels seeks Uber ban, wants app removed from Apple and Google app stores
Actual quotes, but out of context. Make the title "Linus: Parallelize everything is a huge waste of everybody's time", and that's what he's actually talking about.
Since it's using FUSE, it would be nice if it had lazy initial syncing. I.e. on empty filesystem slave it would serve/sync accessed files even if they are not synced yet. That's at least until full sync is completed.
Millions of files or GB's of data can take long time for initial sync. And lazy sync would allow to start serving clients with no delay.
my thought exactly. Unless we see some big breakthrough in Ghz for single cores, more cores will come, and be properly used, in time.
And I was wondering in the morning, who broke RWT :)
'a lot more mathematical sense'?
No, it'll only make more sense if/when it is able to make testable predictions different from the usual QM predictions.
We can scale horizontally (more machines) as well as vertically (faster machines). If reasoning about more machines is easier than imagining faster machines (implicitly here: ones with more cores), then going the other route could be better
The excerpt talks about widespread beliefs about how parallelizing everything is supposed to be good. OP's title suggests parallel computing in general. How's that not out of context?
Actually, I just say "sorry, I don't do Windows anymore"
I like the simplicity and the better Windows support. Many things in git rely on you having a powerful shell, which is not the case on Windows (who wants to use cygwin all the time?).

In Mercurial I never lost a commit, even as a beginner. In git I managed to accidentally make commits unreachable (yes, I know how to recover, but still, it tooks a bit of googling and trying).

I very rarely need git's "remotes" feature. There's rarely a need for me to know where someone else's master is at the moment. I understand why git is doing this and I get that it's pretty flexible, but most of the time Mercurial's simple branching model is enough for me (I don't like bookmarks, they confuse the hell out of me).

Also, my repositories are usually small enough that I don't notice the Python overhead compared to Git. My ultra slow old disk is more of a problem in that case.

Mercurial's help is MUCH better than git's. Git's manpages are so famous for being mostly useless that people even write joke tools that generate gibberish manpages. Mercurial has a very clean documentation, with `hg help ...` just showing you what you need to know instead of (on Windows) using your browser to render an HTML manpage.

And lastly: Will git 2.0 ever come out for Windows? Seems like nobody is working on that, so we Windows users still get some preview version 1.9.4 at the moment. That doesn't look to me as if Windows was a first-class citizen in git.

Fun fact: Converting from git to mercurial is the easiest thing in the world (`hg convert my-git-repo new-hg-repo`), but the other way around is weird and complicated to setup (talking about hg-git).
Hope next release will be more like Snow Leopard, that was a release with good focus on performance.
ty.But a site down for so long in these days?Sort of unusual
The source you're linking is mentioned in the first 3 words of the article he linked. The MotherJones.com article is a direct response to the article you linked.
The JavaScript internationalization api
The site was down, the pastebin mirror was just a email message I assumed lkml. I think the point still stands though.
That's an awesome graph. I mean, we could say some things like that the thickness of the gray bit is not so clear, or that it might be better if smoothed, perhaps the legend would be better elsewhere than in the coloured areas, but... it is still a totally expressive and elegant graphic.
> more cores will come, and be properly used

This is usually not possible; see Amdahl's law :(
To create a wheel that use its mass to move its gravity center and turn for ever
Absolutes are dumb. Practically, a CPU is throttled on memory access, but it is not hard to imagine scenarios where the computation is the bottle neck. For instance, if most of the program is run in tight loops, where cache misses are few, and the whole loop can fit in L1, almost the whole overhead would be in computation.
The other end is anywhere but here, that will be a happier place regardless of the money. As for the plan, I am looking for a new job, I know I am damm good at what I do so its just a matter of finding the right company, while working on a startup. (ill need the job to float me, until I know I have a product worth jumping into the deep end with)
Lightweight Integration with Java EE and Camel
Maybe if his database had some kind of parallelism...
Totally agree with you on principle. As a person that has always been ultra full stack, jack of all trades developer (lots of browsers, hundreds of tabs, IDEs, servers and the occasional WoW window). The huge benefit of multi core was jump from 1 to 2 (mostly to fix the annoying 100% cpu usage with no way to kill). The benefits from 2 to 4 were marginal at best. So we just don't have to climb much more from there. And for really parallelizable loads we have the GPU.
He simply has to be talking about the kernel, not parallelism in general.
No, human rights legislation, or more precisely the British nature of gold plating things, has led to human rights law becoming a source of authority in that it frequently compels action from the state.

Rather than being a "you can't do that" like many constitutions it is instead become a "you must do that" to the state.

It was only very recently that the EU court explicitly said that national courts can look at the intent and not the explicit ruling when using their judgements on other countries. All too often previously the UK has directly implemented rulings that were addressing concerns in countries that didn't have other safeguards that the UK had.
If you like irregular verbs so much learn a Slavic language :)
Can I self-host this? If not, then how can I be sure that your server is running the version of the software in the open-sourced repo?
why would you a 2 element array of int here instead of defining a struct of 2 ints?
The difference between client and server can be a bit grey, but I agree, the distinctions are important. A client is about mobility (small size), low power use (low heat, small battery), and very low latency, focus on human-computer interaction experience.

A server has fewer power concerns, and is all about throughput. Heat, size, are not as relevant (but not irrelevant).

iPhone and iPad are obviously clients. A Mac Pro is a Server. A macbook air is probably a client (though, ironically, it is far more powerful than the $10K servers I had in 1999). A MacBook Pro falls somewhat in the middle, but leans towards client. An iMac is also in the middle, but leans towards server.

I think the angst (which I have to some degree as well) about the distinction between Client vs Server, is because it's not completely clear how to position the Mac Pro and iMac. In some benchmarks, the iMac meets, or exceeds the MacPro. But, in terms of sheer throughput for bulk tasks (Video Rendering), you can get a higher top-line performance from the MacPro. And, for day-day interaction, the 5K Display of the iMac (human-computer interaction), beats out the MacPro.

[edit: 99.99% of the time, downvotes are immaterial to me, but I'm genuinely intrigued in what the contrary opinion is here - I expect to learn something, please share!]
I don't like predicting the future.

> So give up on parallelism already. It's not going to happen.

> End users are fine with roughly on the order of four cores,

> and you can't fit any more anyway without using too much

> energy to be practical in that space.

End users was fine with a single core Pentium 4 on their workstation. We progressed. How would even Linus know that we won't find a way to make parallel work en masse?
Why do you have a problem with the comment? Do you spent $100 on a lock to protect a $10 object? Of course it is just a business decision. The problem is the cost is much much greater than they thought.
Personal availability of risk capital. I mean, if I make a mistake with my cashflow stream, I don't eat. It has happened three times in my life, and not in twelve years.

This means that I make decisions differently to somebody who has a buffer of parental emergency capital injection. For example, I would love passionately to quit my job right now. I would love to set up a consultancy specialising in data analysis for capital management for insurance companies, and have more than the required skill set, but if I take too much risk my family could be hungry. That would be decidedly uncool.
I don't know how it works in other countries, but in Spain you're liable for any leak of 3rd party's personal information you hold: National ID, Driving license, name, phone number, address, etc: https://es.wikipedia.org/wiki/Ley_Orgánica_de_Protección_de_... and it is actually enforced by the Spanish Agency of Data Protection.
You still can:
http://www.heavens-above.com/IridiumFlares.aspx?lat=0&lng=0&...

(you'll probably need to set your location)
Kickstarter, disrupting the laws of physics since...
We’re all part of the social experiment
How to tweet a video form a mobile phone
Does that mean that more Indians are unemployed, or that the reservations were placed in the greatest economic crapholes that could be found?
Line-Up - http://lineupnow.com
London - Full-time, permanent.

Python Developer and Junior Python Developer

==============

About Us

Line-Up powers event discovery. Our World-leading automated event listings technology powers our iPhone app and ‘what’s on’ for global media brands.

- Over 25 million API requests per month across our growing network
- One of the UK’s top events apps, launched in May 2014 and featured in Apple’s ‘Best New Apps’ 4 times
- Our technology powers ‘what’s on’ for over 70 titles including household names: Magic FM, London24, Manchester Evening News, Irish Mirror and Daily Record
- Seedcamp London winners and funded by top angel investors
- Based at Warner Yard in Clerkenwell
- We eat cake and drink beer on Fridays

==============

What we're looking for:

Maker Mentality
Are you focused on the ‘doing’; the creation of new software that you have designed and developed to engage and delight the end user?

Best in Show
Does the thought of the next release being used by millions keep you striving for higher standards? Are you keen to learn and flex your Python muscles?

Team Player
Sure, you love to code. Do you also seek and expect critical review of your work from your teammates? Will you be equally generous with praise and guidance for your talented peers?

==============

Skills & Experience we're looking for:

Python Developer / Junior Python Developer

1 – 2+ years of experience in Python development / Knowledge and experience of Python
Strong Knowledge of HTML/CSS
Strong knowledge of SQL
Degree in Computer Science or equivalent
Strong knowledge of web technologies
A passion for processes and best practice
Strong, analytical approach to problem solving

Nice to haves:

Knowledge of Flask framework
Knowledge of Elastic Search
Experience working on REST APIs
Experience with AWS

==============

How to apply

Send a CV, your Github details and links to projects you’ve worked on to: info(at)lineupnow.com
dict is installable locally and can use a dict server on localhost to look up words offline/
When Your Resume Isn't Working for You
@davexunit you’re absolutely right. We’re preparing the next list of download options:
* SVG (optimized sprite)
* Sketch
* Illustrator CC
* Illustrator CS

Non-proprietary SVG will be available soon.
Exactly. Why people try to write code in less lines of code? More lines == better readability, better debugging, easier to move around, easier to fix single parts and so on.
3D printed dress ready for catwalk [video]
So this seems bold. I just cloned all the repos, thinking I'll try and dockerize the server end to see what it's like.
Could not install this in Ubuntu 12.04 - basic commands are failing. I think they tested only in BSD?

ln -s -f -r /tmp/install/lib64/libmdbm.so.4 /tmp/install/lib64/libmdbm.so
ln: invalid option -- 'r'
Try `ln --help' for more informatio
Look great!
Could you explain the differences to SeaFile whose code you built upon?
Not differing types
But we cannot produce more, because the unemployed don't consume. So we lay of people. It is a death spiral.
China’s Baidu Set to Partner with Uber and Reportedly Invest Up to $600M
He means those that belong to "privileged classes" usually don't have liabilities such as student loans to pay off and therefore have the freedom to pursue endeavors such as startups which don't pay the bills upfront. Furthermore, their support network is also a significant factor.
Graph everything with Graphite
Because the abstract concept of "some inherent mind's ability to usefully process information", and an innate one, distinguished from the mind's acquired performance (which could be a result of training, education etc.) is much more complex than height or working hours.
I'm using disconnect.me
The problem is exactly that we can't scale vertically. Look at single threaded performance charts -- they're already far below Moore's Law. STP/watt is increasing quickyl, but peak performance per core isn't really. (It is, but the second derivative of performance vs time is already negative.)
Welcome to PHP. The Zend Engine 2 is basically the spec, even though Facebook has recently (couple of weeks ago) started writing a spec to make sure their HHVM is compatible.