skysight-inc/HackerNews huggingface dataset:
This might be a bit of a tangent, but "learning styles" have very little supporting evidence (if any): http://www.danielwillingham.com/learning-styles-faq.html

Just to be clear: I have absolutely no doubt that having ADHD will impact your ability to sit through lectures -- I'm just commenting on the generalisation to "learning styles".

And, yes: CS has very little to do with actual programming unless you actively work towards that in terms of your chosen niche of programming.
This is an oft-repeated lie. The point of patents, as stated in the US constitution, is to incentivize inventors by giving them a monopoly for a limited time. It says nothing about disclosure.

Promoting disclosure doesn't make sense anyway since once an invention is commercialized it can usually be reverse-engineered.

I don't understand where this idea comes from or why people always bring it up.
You should probably figure out if you are even capable of learning CS and programming.
In my experience, even many CS degree graduates never really learn to code.
Where are you guys having these bad experiences? I don't use Uber much, but I have used Sidecar in SF about once a week for around two years without a single bad experience, and I would have thought Uber had an even higher standard.
As far as I know, Huawei was the only real employee-coshared company on the planet issuing dividends attached 'virtual' stocks to their employees where virtual means stock ownership validity tied to the employment.

Engineers working in Huawei bought shares priced at net asset value with salary or bank loans and gain dividends at a yearly ROI around 17%~75%.

This unique 'communist' capital structure was created due to lack of venture capital and outside financing. It's also an experiment before China fully adopting western style corporation law.

Huawei has a complicated capital structure of founder (1.42%) + employee union (98.58%) which scared many big investors away and hindered it from IPO.

Recently, Huawei adjusted the virtual stock policy to freeze its capital structure because the structure complexity incurred a lot of accusations from the US government and harmed its growth in several major markets.

Alibaba also failed to request change of Hongkong IPO rules to apply employee-partnership to protect its senior employees.

Therefore, employee equity isn't merely about internal profit sharing or fairness at all. Investors or traditional capital markets don't like the 'communist' flavored capital structure.

Employee option is the only viable solution before some one totally disrupt the current capital market.
Yeah but the Wrights invented a method to solve the lateral instability problem. They shouldn't be able to patent all solutions to a problem, just the solution they invented, surely?
Disagree with the characterization of CSP. CSP as I understand it has channels as the main building block for interprocess communication. Channels can be synchronous or asynchronous, and bounded or unbounded. The important point is that a channel is a value (you can pass it to a method, return it from a method) and usually has a type.

Actors are like a simplified CSP where each (lightweight) thread has a single input channel. In the case of Akka this mean you lose type information because control messages are mingled with data messages and you can't assign any useful type of them.

Disruptor is mainly a pattern and implementation for high efficiency -- big queues, minimum number of threads, and some tricks using CAS operations and the like. I wouldn't call it a model of concurrency -- it's basically a particular implementation of CSP.
Even if that stuff eventually happens, there will still likely be genuine competition, making it almost certainly more efficient than the taxi system.
You can also follow those people on for example http://www.nou.nl/hn/user/cperciva
I'm confused by your terminology. My impression of the word "renter" is that it refers to monopolies, but Uber has several very well-known competitors, at least in major cities.
Reactive UIs with React and Bacon
It is like literature - one have to read the best books of the best guys (roughly, Nobel prize winners and nominees).

Similarly, one have to study physics with Feynman lectures, etc.

One have to study concepts and ideas, not the "tricks" or "classes", so, Smalltalk and ideas of Alan Kay behind it (message passing, not the cryptic syntax), Erlang, and Armstrong thesis it is based upon, all the great ideas behind Scheme - SICP, Brian Harvey's course, and CL - pg's books, especially On Lisp. Big ideas behind Haskell (syntax and semantics). Philosophy behind Python[3] and how it was followed. Dynamic, Lisp-like nature of Ruby (methods could be added and shadowed at run-time, "true OO" is of last importance). Go, and design decisions it was built upon.

One has to read parts of standard libraries of [great] languages. At least of Haskell (list functions) and of CL (usage of macros).

There is also Arc as a great example of bootstrapping of a language (and Clojure, but it is cluttered and messy compared to Arc). So at least try to understand arc.arc and core.clj

Algorithms and Data structures is the must. At least introduction to these topics, as they been taught by Brian Harvey's CS61A. Then one could use a thick book (from MIT Press) as a reference.

This is so-called high level. There is also one in the middle.

The "basic goodness" of C (with asm snippets when needed), how executables (binaries) and shared libraries were created from "object files", how dynamic linking works, and how FFIs are implemented.

One has to understand the process and thread abstractions (in terms of an OS), what is a syscall and an interrupt, etc.

There is also a machine level. One has to understand what is a machine word, what is an address (and pointer), what different encodings for different [machine] data types are (such as integers and floats) what are registers and how different machine instructions designed for different [machine] data types.

One must be able to follow and understand how a high-level code, such as in Lisp or Haskell is to be transformed into a machine code, and how C code is transformed into an executable file or a shared library for this or that particular OS and CPU architecture (EABI).

btw, these are just the very basics.)
The interesting question I have for you is what do you think is complicated?

1. The algorithm you spent 1/2 a day writing and designing that took me a day using google and common sense

2. The 20k LOC program we then spend a few months writing that contains that single algo in it but yours keeps falling over because you spent all that time learning algos instead of learning how to program

Swings both ways!

Managing complexity, practical experience and the 'art' of programming are things that are not taught in a degree and far more fundamental and used far more frequently.
It's sufficiently well-veiled that I don't see the link to Apple at all. I don't know the detailed history you're referring to but if you're determined to see things through this lens then everything this author writes can be taken as a snipe at Apple (no matter how stretched). In other words, he'll never be able to redeem himself in your eyes. Is that reasonable?
Time is a Line
You'll likely never have to implement a linked list in C in the real world…Any company that puts a bigger emphasis on linked lists and sorting algorithms in the hiring process than on OS and networking fundamentals is a good sign to start running away.

Not true.

Networking and operating system fundamentals are important, no doubt. But there's also ample documentation, and it's relatively easy to find practical examples about how to work with (say) multithreaded code.

But you'll be better at exploiting your knowledge in this area if you're familiar with the underlying tools and algorithms. For example, how are you going to write good multithreaded code unless you understand semaphores and mutexes? How are you going to parse and search data rom your network service, unless you know when it's appropriate to store it in a doubly-linked list, or maybe a skip list…

I've known programmers to do preposterously inefficient things because they don't understand the underlying constraints and rules of the system they are working with. In particular, developers I've worked with who don't have a formal CompSci background tend to be more likely to implement complex ad-hoc solutions to problems where there are well-understood general classes of implementation (sometimes included in whatever stdlib or framework they are using!) which will solve the problem for them.

Understanding the principles underneath it all is something that all great programmers I've known share in common. That doesn't mean that it's impossible to be a good programmer without a CompSci degree, and it doesn't mean that software engineering is any less important to an actual deliverable product. But writing it off in the way you do isn't really justified.
Yes. But more importantly, I've worked on code, written by people without formal education, that could clearly have benefited from a different algorithm or data structure. I'm talking really simple stuff, like using a dict instead of a list for a lookup.
well, now you get a better perspective of how bad the US ones are I guess, because it didnt take me much longer when i lived in germany (for many years) past the first year / reading how it works. sure maybe i could have saved 20eur more, but not anything sensible.

you guys have it good in comparison, you just dont realize how bad it is elsewhere.
"The idea that you will learn more in industry than in a CS degree only applies if A) you are in a shitty CS program or B) you aren't trying hard enough to learn anything."

Disagree. If you learn more in 3 years of college than you do 3 years on the job, you are a shitty employee.
No, the Wright brothers' patents did not hold up the US aviation industry:

http://papers.ssrn.com/sol3/papers.cfm?abstract_id=2355673

Although the introduction reads something like a conspiracy theory, this paper does a decent job of providing historical industrial data and references as evidence that despite the various patents at play, the aviation industry in the years leading up to and during WW1 was actually doing well.
Ask HN: Is there an open source project for geoIP visualization?
I searched but only thing I found was this SaaS:

http://batchgeo.com/

If there is nothing out there, I would like to build one and make it open source. I'm thinking to use MaxMind db and Google Maps. Any other ideas?
If by 'learning styles' you mean the formalized definitions of the term by educational theorists, sure those lack evidence...

I think the parent comment was using the literal definition though; that is to say he meant that people learn in different ways.

Are you saying that you think there's little supporting evidence that people have different styles in which they learn? I would assume not as that would be a pretty ludicrous world-view; especially considering the article you linked even concedes that kids learn differently. The only point of that article really was to point out the flaws in forming groups of children based on learning style; not because people don't learn differently, but because any 'learning style' categorizations thus far haven't been proven sufficiently meaningful.

In summary, you have no reason to call him out on something he isn't even promoting.
It's not for FPS's (although it's been used for that), but Starcraft 2 has really impressive modding features. I've been third person action games, arcade shooters, 2D platformers, and tower defense titles. There's even a popular soccer game where each player is a unit from Starcraft.
Maynard: a Wayland desktop shell for the Raspberry Pi
good luck but when i read something like "Our tax engine is built using artificial intelligence." it doesn't exactly make me think "this is a legit product"
But how do they benefit from the fact that they realized lateral instability is a problem that needs solving to achieve stable flight ?
If you want protection for an invention, you have to disclose what that invention is.
I don't like whiteboard exercises either, but I definitely have to agree with this. Three interview questions that I've found do a great job of determining how effective an engineer will be:

1. Describe the principles of a linked list. What properties does it have that are useful, and in what situations will using one cause a problem?

2. What's the difference between this and a doubly-linked list? What are the benefits and downsides of using the latter?

3. How would you represent a tree in a SQL database? What are the properties of your representation?

(I especially like the last one, because it's totally open-ended. Engineers come up with everything from naïve adjacency lists through to nested intervals and closure tables, and their ability to describe the tradeoffs is a really strong indicator of their programming ability. Of course, it's not a suitable question for all positions.)
Most people aren't good enough at backups for me to consider that enough to mitigate the risks.

The data needs to go somewhere other than ES before you considered it "saved".
PLEASE HELP:Streamlined Career Pathway for Aspiring Programmer
First of all I would like to thank the contributors of this website for being very credible and thoroughly comprehensive in many aspects. Which is why I am asking for your help and advice for the following questions. These may seem juvenile however I feel like I am at a crucial point in my life and wish to make the best of my time. My background:US citizen.HS graduate(if that even matters)
I have now finished taking a C++ course and will join a .Net or Java course, then go more advanced in whichever field. Right now I have about 1 year before my college starts(I've taken a year off after highschool since I was put in a gifted program and skipped a grade). I am planning on getting bs in Computer Science and minor in Mathematics.
My question is the following: Should I take Java or .NET.During this year off what would be extremely beneficial to learn? If I want to make a very high salary, what would be the best process... As in after college or during college where should I apply or what more academics should I pursue. Relocation after college is not a problem. It's not about the salary(cliche)but about being a leading expert in the field.

*This may seem very abstract and immature, as well as missing lots of holes, but like all of us I wish to utilize my time efficiently and become the best at what I pursue.
Set-up Docker on OS X, the no-brainer way
Homebrew Cask, install OS X apps from the console
Majority of games never break even, and that's ok: it's a high-risk, high-reward business. $90k isn't even close to an adequate 3d mobile game budget of average+ quality, so if you gross so little , you're fucked anyway, or you never had a serious product at your hands to begin with.
Ask HN: Startup lawyer conflicts (with another startup?)
Is it bad if your startup lawyer is representing another startup in the same space? Consider the following example: imagine Uber and Lyft are both in pre-launch stealth mode and independently developing the same products. What kind of problems could arise from the two companies both using the same lawyer?
Does Unity have its equivalent (however immature) of Apache Flex?
Any news on Mono version update? May be these AOT bugs that make Linq unusable will be fixed at least, or compiler won't crash at guessing generic parameters that often?
The US Constitution didn't invent patents; it enabled them based on an earlier tradition. That tradition had come to include a descriptive/disclosure requirement, as part of the mechanism by which the patent promoted technological progress.

The US Constitution's language is sufficiently open-ended –"promote the progress of science and useful arts" – that it covers not just incentivized conception but also the 'progress' of knowledge-diffusion (disclosure). Also, in that era, before mass-manufactured products or even a proper understanding of elements and molecules, it was far less likely that the delivered product itself embodied enough information to reverse-engineer the processes that made it.

So:

• not a lie;

• the significance of disclosure is brought up because it was familiar to the authors of the US Constitution;

• the Constitution's language is generic enough to include 'disclosure' as one aspect of the 'progress' it describes;

• modern reasoning about the supposed ease of reverse-engineering doesn't apply to the early patent systems.

See, for example, https://en.wikipedia.org/wiki/History_of_patent_law#Developm...
this was my reaction after reading this article as well.
OP didn't say that "degree" increases the ability to learn! He said that the process of studying in an academic setting has some benefits especially since the curriculum is often designed to give a broad coverage on many important subjects. That does not in any way imply that some could learn well on their own as you have experienced.

Disclaimer: MSc in Computer Science
(never really liked lectures myself, but I highly respect the process of forcing oneself to learn by completing a degree)
The way to explore a bunch of codes is really dependent to how much time and effort one can pour into:

- To grep it

- To debug it

- To read over it

- To rewrite it
Hi, I'm from Seznam.cz and I'm in charge of Mapy.cz. Let me explain a couple of things and correct some misinformation:

1) As was already said above, Seznam.cz is not a startup, it's been here longer than Google, and it's one of the biggest Czech companies (over 1000 employees). In terms of monthly user counts, it is still number one on Czech internet, in front of Google.

2) the imagery is not taken by drones, nor helicopters, but airplanes. Nobody is able to take imagery of large areas (hundreds of kilometres) by drones, it is only possible by airplanes, in today's state of technologies. We have our own imagery, not bought from anyone.

3) the 3D model is computed from the aerial imagery (ortofoto + oblique). No manual work is performed. It is a highly demanding computation, consuming months even on huge cloud of top-notch supercomputers - which is why it is not easy even for Google, to do it on large areas around the whole globe. The computation will run for almost one year, to create 3D model of thousands of square kms, which we plan to publish this year.

4) our maps earn money by selling our primary data, which we produce (ortofoto, oblique, Panorama, etc.), for commercial professional users (not only in Czech rep., but also abroad). The company as a whole earns money from selling media space on its 20-30 web sites (seznam.cz, firmy.cz, sreality.cz, novinky.cz, etc.). The company is highly innovative in terms of technologies (as I describe above), as well as in user interface (our GUI never copies other designs, we constantly create and test newer and newer GUIs).

Howgh :)
By preventing people from simply copying their solution with a patent on their method, which puts up a nice big barrier to entry to everyone except innovators such as Curtiss.
Thing is, as the courts and the USPTO found time and again, pretty much all subsequent solutions to that problem were non-significant variations of the Wrights' patent. Even Curtiss' own aileron patent was invalidated because the Wright patent was prior art.
Unity is good leap forward in getting game dev to a higher level of abstraction, but what you mention is not there yet. This sort of asset store for reusable components is a long standing goal in sw dev in general.
I doubt that many startups have dedicated HR people. If they do it's probably a mistake.

I've met quite a few HR folks with rather poor social skills. It's often the place where the worst business majors get "parked"
Mt. Gox CEO Refuses to Come to the U.S. in Financial Crimes Probe
I am still waiting for the public release of their NPUs :)
Maybe I am not getting it, but to me react.js seems like a bad way of wrapping your view html in javascript.

What can you do easier using react.js (and backbone) that you can't already do using knockout and plain html or whatever markup you prefer?

To me, there is a reason to abstract javascript and similar logic outside the plain html -- however the workflow of including script sources inside html that in turn include html that gets rendered is backwards.
Innoveracy: Misunderstanding Innovation |
Is your site up? Automated monitoring for your site and domains
We automate uptime monitoring with direct notification at first sign of any problems.

We also track latency over time and put it in pretty graphs.
In my country, it's illegal to leave the keys in your car when you're not in it (a child could get in it to play and hurt themselves or others)
Telerik Open Sources World’s Largest Library of UI Tools
Edward Snowden defends decision to question Vladimir Putin on surveillance
Chlorine: From toxic chemical to household cleaner
maybe i didn't get it but: why this is a physical card instead of an app on a smartphone? what's its advantage?
With all due respect, you are not going to get a valid answer here in HN. What you will get is a lot of answers trying to help but resulting in a lot of noise.

Programming is a very wide field. You can choose a lot of different things to learn and specialize. You don't need to learn everything now. You have all your life.

Now my quota of noise :D

Focus on getting a solid background, forget about the languages. Languages come and go. Operating systems too. With a good background you can learn any programming language in "almost" no time. From higher to lower level I would learn:

- Algebra (vectors, boolean, sets, etc.).

- Algorithms (recursion, tree/graph handling, etc.)

- Operating systems theory (resources, I/O, memory and process management).

OK, too generic. So, you will need to learn some language to practice your theoretical knowledge. This is what I'd like to suggest:

- At least one systems language (C, etc.) even if you never have to use it.

- At least one OO language (C++, Java, Ruby, ...).

- An interpreted scripting language is always good to know (Perl, Python, shell, ...).

- Bonus: A functional language (Lisp, Haskell, ...). It will make you a better programmer but it will alienate you to the point of seeing other non-functional programmers as low skilled blue-collar workers :P

There ain't no such things as a "best language". A programming language suits well to some tasks and not so well to others. Don't be a language racist.

I will add some non-technical subject to the pack:

- Learn how to deal with people. Not everybody is skilled in this field and it is always useful. People is very different and you will have coworkers. Try to create a smooth relationship with them. It will make your life and your coworkers' life better. A lot of techie guys underestimate this.
Louis Vuitton Sunglasses,Louis Vuitton Outlet 2014
Show HN for something that was made 3 years ago and hasn't been updated since?

https://github.com/josscrowcroft/MotionCAPTCHA
Because both CPU and GPU are generally on the same bus in mobile devices, maybe you could use those extra CPU cores as fragment/pixel shaders, if memory and cache architecture doesn't prevent it.

On PCs that is not feasible, because of bandwidth and latency issues over PCIe. On mobile SoCs, who knows, maybe it'd work.

Just like in current PS3 titles, that offload shading from GPU to SPUs.
TheFoolsProduction1965:Ugly and Truly
https://www.youtube.com/watch?v=npbuH9E5Yew
Code is, however, considerably more tree-like than stories or sheet music. Sheet music has something resembling minimal control structures, to be sure, and there are examples of kinds of stories that are more non-linear than usual (and are usually considered mind-benders for that reason).

I think that's what the GP is getting at. Even with domain knowledge, really understanding a code almost always requires diverging into other parts of the 'text'. You can defer it if your thought process is structured enough, but you still have to do it eventually.