132 karma · joined January 4, 2013
Generics operate entirely at the Type level. For instance (using java)
List<Integer> list = new ArrayList<Integer>();
list.add(1);
Integer i = list.get(0);
is under the hood equivalent to List<Object> list = new ArrayList<Object>();
list.add(new Integer(1));
Integer i = (Integer)list.get(0);
The differences between the two snippets are entirely at the type level - they compile to the exact same bytecode. Templates are strictly more powerful - they allow you to generate different code for each instantiation. The most obvious place where this is useful is when dealing with primitives that take up different sizes in memory. This is why you can't use generics in Java with primitives - you need Objects, because pointers to objects are always the same size. But if you want performance, so you want to be able to represent collections of primitives generically, then you need the power of templates because you need your code to compile to different things depending on the template parameters.I wish that unions pursued more contracts of the form "we get X percent of revenue/profits" and then distributed those profits amongst their membership the way they saw fit. This way decreasing the amount of work per person does not decrease the amount of money per person and business and union interests are aligned. I'm sure there are practical reasons why that's difficult though.
The fact that the kidney goes to the person at the top of the list solves the potential issues of the rich getting better health outcomes because they can pay. Also, we as a society have already accepted these benefits as being acceptable reward for risking life in order to (ostensibly) save American lives in a military context - this simply extends the concept.
There are many states that allow private prisons. There have been multiple articles about how awful these prisons are. Why not try to open a non-profit prison where gov't funds are supplemented with donations and focusing on rehabilitation and humane living conditions. Then we both improve the lives of some inmates, and can more effectively compare outcomes.
-- Who we are --
We're a small startup (<20 people) focused on making heavy industry safer, cleaner and more efficient. To that end we're applying machine learning techniques to sensor data in industries from energy, transportation, and manufacturing, to mining and more. We're solving hard problems for our customers by putting their data to work for them.
-- Hiring process --
You will do a phone screens (about an hour) to make sure there's a good fit, then and 1/2 day onsite where we talk about engineering problems and make sure you know what kind of problems you’d be working on with us. Offers will be extended within 1 day of the onsite interview.
-- Our stack --
We run on linux in Azure, our APIs are primarily implemented using Scala (on Spray), the frontend is written with React.js, and we use python in some machine learning applications as well as for systems programming. Our data processing/machine learning is done in either Scala or python on Spark. Our service infrastructure is docker containers running on DCOS across multiple tenants (both our customers' and our own).
-- What you would do --
We are currently hiring tech leads in both systems, full-stack, and backend engineering. If you are at the top of your game and want to work on a small team solving hard problems, send an email to - sean at elementanalytics dot com
1. http://www.renaissancecapital.com/ipohome/pricings/priced.as...
Even if we assume that software is patentable, the bounce back effect should not be patentable. The reason is that all the novelty is in coming up with the feature itself. I don't know whether I could come up with the bounce back effect by myself. I know for a fact that I could implement it, and so could any sufficiently strong software engineer. There is no novelty in the implementation that is worthy of patent protection.
This is trade dress all over again hiding under a different name. It should be given a different status (just like business patents), and different time frames of protection. This way we still protect truly novel research in algorithms (pagerank for example), while eliminating 95% of the patents we as software engineers find so objectionable.